<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://knouen.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Knouen OfficeSync</title><subtitle type="html" /><id>http://knouen.com/blogs/officesync/atom.aspx</id><link rel="alternate" type="text/html" href="http://knouen.com/blogs/officesync/default.aspx" /><link rel="self" type="application/atom+xml" href="http://knouen.com/blogs/officesync/atom.aspx" /><generator uri="http://communityserver.org" version="4.0.30417.1769">Community Server</generator><updated>2008-05-17T08:34:00Z</updated><entry><title>Knouen OfficeSync Architecture</title><link rel="alternate" type="text/html" href="/blogs/officesync/archive/2008/05/17/knouen-officesync-architecture.aspx" /><id>/blogs/officesync/archive/2008/05/17/knouen-officesync-architecture.aspx</id><published>2008-05-17T13:34:00Z</published><updated>2008-05-17T13:34:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;&lt;a class="null" href="http://knouen.com/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/NetworkLayout.png" target="_blank"&gt;&lt;img src="http://knouen.com/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/NetworkLayout.png" width="548" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Outlook&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Microsoft Outlook now becomes an integral part of the CRM process. By putting significant pieces of CRM functionality (Activity Creation, Opportunity Management, etc.) into the Outlook interface user productivity is significantly increased.&lt;/p&gt; &lt;p&gt;Knouen OfficeSync supports all supported versions of Microsoft Outlook.&lt;br /&gt;&amp;nbsp;&lt;/p&gt; &lt;div id="OutlookAddIn"&gt; &lt;p&gt;&lt;strong&gt;Outlook Add-In&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Using a sophisticated add-in allows us to provide a deep integration with Microsoft Outlook. The Knouen OfficeSync Add-In monitors your Outlook items and provides contextual access to CRM information based on the active item. Contextual information displays put necessary information at the fingertips of our users when they need it.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt; &lt;div id="PollingApp"&gt; &lt;p&gt;&lt;strong&gt;Knouen Client Application&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The OfficeSync Client Application is a tray application, similar to an anti-virus application, that monitors both your local information store and your main CRM store and keeps the information in sync. This application runs behind the scenes and updates your information when you connect to the corporate network. In addition to monitoring your information the polling application also displays alerts based on items of interest to proactively notify our users when something important has changed.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt; &lt;div id="Widgets"&gt; &lt;p&gt;&lt;strong&gt;OfficeSync Widget User Interfaces&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The OfficeSync interface is comprised almost completely of a flexible widget framework. A Widget is a single piece of functionality. We we take this to the next level by putting a communication backbone behind the widgets so they can communicate and coordinate with each other. Having the widgets respond to both external and internal actions add a significant level of sophistication and utility to the OfficeSync widgets.&lt;/p&gt; &lt;p&gt;In addition to the Widgets provided by Knouen, our customers can create and publish their own Widget items. The Knouen API is completely extensible for both partners and customers.&lt;/p&gt;&lt;/div&gt; &lt;div id="ClientAPI"&gt; &lt;p&gt;&lt;br /&gt;&lt;strong&gt;OfficeSync Client API&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Under the covers of the Knouen Architecture is our Application Programming Interface layer (API). Our API allows both customers and partners to extend the OfficeSync application to meet additional needs. Need a new widget? No problem, all of our existing widgets are built on top of our public API. Want to add additional functionality to the communication between the Client application and the Server? Easily done. Our communication is pipeline based so you can override a single step or implement a completely custom pipeline to meet your needs.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt; &lt;div id="FileStore"&gt; &lt;p&gt;&lt;strong&gt;Local File Store&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A local file store is present to hold attachment files. These attachments can be items added by the current user or even files that have been posted by other users. To keep our interface light-weight we do not pull down attachments uploaded by other users unless the user requests the download. Once that occurs they will have their own copy locally they can view at their leisure.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt; &lt;div id="DataStore"&gt; &lt;p&gt;&lt;strong&gt;OfficeSync Client Data Store&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;One of the keys to OfficeSync is the light-weight local data store on the client. This is what gives our users the offline capabilities they demand. After trying several databases we have standardized on Microsoft SQL Compact Edition (CE) as the local client database. This database holds all the user CRM information and makes it available to the other user interfaces.&lt;/p&gt; &lt;p&gt;This local database is one of the keys that sets OfficeSync apart from our competitors. Most of the people who build an Outlook integration make the mistake of putting the information into the Outlook data store, the PST file. However, the PST file was never intended to be a store for anything other than typically outlook items. They are also traditionally unstable and a bit slow. By keeping the information in a local database instead of a PST file we are completely flexible on the information we store and put no additional load on Outlook.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt; &lt;div id="MgmtApp"&gt; &lt;p&gt;&lt;strong&gt;OfficeSync Management Console&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The OfficeSync Management Console provides centralized management of the entire application. Everything from User Management to Configuration to Service management can be accomplished through the Management Console. &lt;/p&gt;&lt;/div&gt; &lt;div id="WebService"&gt; &lt;p&gt;&lt;strong&gt;OfficeSync Web Service&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Knouen OfficeSync uses a web service interface to provide a standardized method of communication for all client applications. All client communication occurs through the web service interface, not against the Siebel system. By putting a web service between the clients and the Siebel system the load is buffered and any additional load placed on the Siebel system is kept to a minimum. &lt;/p&gt;&lt;/div&gt; &lt;div id="WindowsService"&gt; &lt;p&gt;&lt;strong&gt;OfficeSync Processing Service&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Knouen OfficeSync Host Service is a Windows Service that monitors Siebel for information changes. When changes are detected flags are set which notify the OfficeSync client of the change. Using this system allows the load to be shifted from the Siebel system to the OfficeSync system as clients do not request record updates unless a change has actually occurred. &lt;/p&gt; &lt;p&gt;The Host Service is a generic Windows Service that hosts Service &amp;quot;Functions&amp;quot;. Functions are isolated units of work that are targeted towards a specific purpose. For example, OfficeSync ships with Functions which monitor the Siebel database for changes as well as Functions which keep a running update of the users visible item list. Using Service Functions allows the OfficeSync service architecture maximum flexibility and scalability &lt;/p&gt;&lt;/div&gt; &lt;div id="ServerFileStore"&gt; &lt;p&gt;&lt;strong&gt;OfficeSync Central File Store&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A centralized file store is located in the middle-tier to hold attachment files posted by users. It is from this store that other users can request file downloads to see the original files. &lt;/p&gt;&lt;/div&gt; &lt;div id="MgmtDB"&gt; &lt;p&gt;&lt;strong&gt;OfficeSync Management Database&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The OfficeSync Management Database is the core piece of the middle-tier. All state is kept in the Management database, leaving the web service and windows services completely stateless. This allows the OfficeSync architecture to scale as high as necessary by adding additional web service and windows processing services. It also allows for a simple disaster recovery mechanism. By utilizing database maintenance best practices, regular backups and transaction log outputs, the OfficeSync environment can be restored to full functionality by simply restoring the database and turning the services back on. &lt;/p&gt;&lt;/div&gt; &lt;div id="SiebelAPI"&gt; &lt;p&gt;&lt;strong&gt;Siebel API&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;All data writes are posted to Siebel through the Siebel COM API interfaces. Knouen choose these interfaces because they allow us to support a maximum number of Siebel versions and they have been around for years so are well tested and stable. &lt;/p&gt;&lt;/div&gt; &lt;div id="SiebelDB"&gt; &lt;p&gt;&lt;strong&gt;Siebel Database&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The Siebel Database acts as the master store for all the information used in the system. This is the ultimate repository and it will win all conflicts and decisions. OfficeSync was designed specifically to prevent any data corruption from occurring in the Siebel system. No deletions of Siebel information are allowed in the OfficeSync interfaces, protecting your information from possible removal. As mentioned, the Siebel database wins all conflicts so data overwrites are not going to occur. &lt;/p&gt; &lt;p&gt;Knouen OfficeSync supports all the major database platforms that Siebel runs on -- SQL Server, Oracle, and DB2. &lt;/p&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://knouen.com/aggbug.aspx?PostID=8" width="1" height="1"&gt;</content><author><name>shawnlee</name><uri>http://knouen.com/members/shawnlee/default.aspx</uri></author></entry></feed>