Integration of IBM Lotus Notes/Domino
By Dmitry Irtegov
The Architecture of Lotus Notes/Domino
Lotus Notes/Domino represents the most successful non-relational DBMS among those offered in the market. This success is ensured by a number of factors, such as record level security, replication, close integration with mailing and Web systems, and integrated infrastructure for using public key and private key encryption and digital signature. Record level security means that each document in the database has its own access control list. It allows to create for each user his own data subset to work with, or even two subsets: the first one could be modified by the user, and the second one could be seen.
Replication means the possibility to synchronize copies of databases located on different servers, or on the server and the client computer. Each field of each document includes a time mark, and the replication is conducted using the last time value. As the replication is carried out at the separate fields level, it allows to avoid picking out a master replica and other restrictions peculiar to replication in relational DB.
In combination with record level security, replication provides unique flexibility in developing distributed systems, for example, for connecting remote offices and subdivisions in the other cities. Owing to the combination of these features, Lotus Notes enables access to all application functions without connecting to server. A user makes changes to the local replica of the DB and then replicates them to server, when connection with server is set. Importantly, even if an outside user finds the way to make changes to local replica, which are not matching up the application's business logic, it will be impossible for him to replicate those changes to the server, if security was designed properly.
The most successful ERP systems are developed on top of relational DBMSs, because relational DBMSs are capable of effective processing of complex queries. Typical ERP system, such as SAP/R3, operates through a centralized server and centralized data warehouse. Access control to these data is centralized as well. A R3 user can see all application data, though his ability to modify the data is restricted by the business logic. As a rule, to divide the whole R3 into several small parts or independent subdivisions without destroying the integrity proves to be a difficult task.
Possible integration scenarios
Based on the information above, we could draw a conclusion that Lotus and ERP are not competing systems, but rather complementary ones. One of the possible integration strategies could be to use Notes as an environment for collecting and entering data for ERP system. Primary data entry into the system could represent proposals of subdivisions and even employees, or be the reports on current performance.
Such architecture makes possible for all or almost all of the company employees to use an ERP system in their work. Apart helpful record level security, replication and encryption tools, this architecture is also attractive because a client license for Notes is priced much lower than the one for SAP/R3.
Furthermore, it is also possible to preliminarily process the data passing through Notes, for example, to screen and approve various employee activity reports by their respective subdivision managers.
The second architecture implicates a looser relationship of systems. It uses Notes/Domino as a knowledge base and a system of preliminary assessment of the proposals, which are not ready for being processed by the standard SAP/R3 business processes. As a proposal stored in the "knowledge base" reaches a certain required level of readiness, it initiates the business process in the ERP system.
From a technology point of view, these architectures could be divided according to the following. In the first approach, ERP system and Notes work with the same data, but in different phases of the data lifecycle. In the second architecture different data are used in Notes and ERP system. Obviously, a real application can have a hybrid architecture, where some modules are closer to the first architecture, while the other modules have the second architecture type.
For the interaction within the second model, SAP provides a specific module LSX (Lotus Software Extension, a plug-in standard for Lotus Script, built-in programming language Lotus Notes/Domino). By using that module Notes application can check the state of SAP/R3 objects, and initiate some operations in R3. However, this technology is inconvenient for a mass data exchange between systems, which is critical for the first approach.
The best results within the first approach are achieved using LEI (Lotus Enterprise Integrator - separately delivered Domino server module), which provides high-speed data exchange between Notes/Domino and other relational and non-relational DBMSs. Data exchange could be accompanied by data transformation and filtering. LEI contains a dedicated connector to exchange data with SAP/R3.
To sum up, in this article we have considered only relatively simple scenarios of two-sided integration of ERP systems with Notes. More complicated scenarios, which involve the other data sources (for example, transaction servers and application servers, such as IBM WebSphere), will be reviewed in a separate article later.