DECS stands for Domino Enterprise Connection Services. This product was introduced in Release 4.63 of Notes, and grew out of a need for real-time access to external data sources on a field-by-field basis. Due to the fact that many applications and data reside in databases that aren't Domino based, it's important to most companies to be able to gain access to this data in their Domino applications.
Real-time access to this data was first made available in Notes Pump, which is mainly used for exchanging large quantities of information between Domino and back-end systems. Lotus Enterprise Integrator is the new name for Notes Pump. In its current version, it contains the capabilities for moving large quantities of data, as opposed to the real-time feature of DECS.
The purpose of DECS is to provide a Notes application with the capability to access, create, update, and delete data from an external database. The major restriction of DECS is that it's incapable of providing a Notes application with ongoing synchronization of data that has been added to or deleted from the back-end database through processes other than the Notes application. For that, you must provide an external method of synchronizing the data using Lotus Enterprise Integrator, a third-party tool, or the LotusScript: DataObject (LS:DO).
The engine for DECS is a separate server task. This process runs on a Domino server, intercepting requests for the external data and fulfilling those requests. The client can be either a Notes client or a Web browser, and the client does not need a local connection to the data source that contains the back-end information being retrieved. However, because this is a server task, the requests cannot be fulfilled if the client is a Notes client and the user is running the application from a local replica unless the client has access to the back-end data from the server through a defined data source. This is an important fact to consider when developing applications that could potentially run on a standalone client or for a disconnected user .
You can create a document and replicate it to the running server with a DECS connection. The DECS server task then sends any changes that you make to the back end, including the addition of new documents. So, one-way data flow is possible, even if disconnected. Additionally, if you select the Leave Real-Time Fields in Document option, you can perform full data exchange when you replicate, but you'll encounter replication and synchronization issues.
DECS is not only a server process; it also contains a Domino database for setting up and administering the connections and retrieval of data. This database is known as the DECS Administrator database, and it's created when you install DECS.
Prior to running DECS, your Domino administrator must set it up to run on the server. Installation of DECS is an option when installing or upgrading the server. If installed at one of those times, it automatically creates the DECS Administrator database and starts the DECS task on the server. If DECS has not been installed at the time of a server installation or upgrade, it can be easily started by the server administrator adding the DECS task to the Notes.ini file in the ServerTasks= line, or it can be manually started using the Load DECS server command. If DECS is installed separately, you have to create the DECS Administrator database manually from the template. Additionally, you might have to add EXTMGR_ADDINS=decsext to the Notes.ini file.
For DECS to operate , the DECS task must be running on the server. To test DECS, there must also be a DECS Administrator database on the server with a valid connection document and an activity document that the DECS task is running.
When installed, the process for using DECS is fairly easy, with wizards that guide you through the process. Three basic steps are involved:
There are a few things to consider when deciding to run an application with DECS: Will the application be installed on multiple servers? Will clients store a replica locally? Will the back-end data change and need to be refreshed within the Notes application? We'll look at each of these separately.
If the application is installed on multiple servers, you must either have DECS installed on each server or store the data from the external data source in the document. By default, all data other than the key fields is retrieved by DECS each time the document is opened and is not stored with the document. Therefore, it would be unavailable from a server that is not running DECS and the appropriate activity. However, if you store the data in the document, it also means that the data would not be changed in the document if it's accessed from a server that does not run DECS nor has a connection to the back-end data source. Also, if mobile users keep a local copy of the data, you have to store the data in the document.
When you've initiated the keys for an activity, the data in the Notes database is never refreshed by the back-end database if the keys change, are deleted, or new keys are added through a method on the back end. Therefore, you must provide a method for propagating the changes. Lotus Enterprise Integrator can be used for this purpose (although it's an add-on product that you have to pay for), or you could write your own routine using the LS:DO.
Part I. Introduction to Release 6
Whats New in Release 6?
The Release 6 Object Store
The Integrated Development Environment
Part II. Foundations of Application Design
Advanced Form Design
Using Shared Resources in Domino Applications
Using the Page Designer
Adding Framesets to Domino Applications
Automating Your Application with Agents
Part III. Programming Domino Applications
Using the Formula Language
Real-World Examples Using the Formula Language
Writing LotusScript for Domino Applications
Real-World LotusScript Examples
Writing Java for Domino Applications
Real-World Java Examples
Enhancing Domino Applications for the Web
Part IV. Advanced Design Topics
Accessing Data with XML
Accessing Data with DECS and DCRs
Security and Domino Applications
Creating Workflow Applications
Analyzing Domino Applications
Part V. Appendices
Appendix A. HTML Reference
Appendix B. Domino URL Reference