The term integration has become extremely popular and it has been used to mean many things. Webster's dictionary defines Integrating as "to form, coordinate, or blend into a functioning or unified whole", "to unite with something else", "to incorporate into a larger unit", and finally "to end the segregation of and bring into equal membership in society or an organization". In computer applications, the term has been widely used to indicate that information can be shared, in some way, between applications.
Integration between applications can take many forms. Some are seamless while others require significant data manipulation by the user.
Level 1 Integration - Information Transfer Between Applications
This is the lowest and most common form of Integration used. It is often used when two or more application vendors allow their applications to exchange data. This integration often involves exporting data from one application and importing it into the other. The information may need to be manipulated by the user in order to "transform" it from the format exported by the first application into the format required by the second application. Some applications allow for scheduled transfers where all steps in the transfer process are automated. Other vendors have automated the transfer process in both directions between the applications.
Since most applications offer some type of import/export facility, this level of integration is least expensive in the short-term. Enormous time savings are realized by eliminating manual re-keying of data, but it still does exhibit considerable time lags in information transfer between applications. If a customer enters an order over the web and then immediately calls the accounts payable department s/he may be disappointed to hear that they don't have updated information yet and that s/he should call back the next day (or week).
Level 2 Integration - Automatic Information Exchange Using APIs
This level of integration requires considerable foresight by the vendors of the applications. When information is entered, changed, or deleted in one application, the program automatically calls application program interfaces (APIs) in the other application to update its database. This integration level offers great advantages. The information exchange is immediate and no manual process is required. This level of integration is typically offered by the larger, more established and popular vendors and applications. In many cases, the vendors supply the APIs but the customer must write their own custom programs to complete the link between the applications. This may be a costly endeavor but often yields good results.
Some vendors use APIs to eliminate the export/import method used in level 1 integration but still require user intervention to initiate the process. A common example is the integration between some hand-held devices and Microsoft Outlook where a single push of a button causes data to be exchanged between the two applications.
It is also important to understand that different applications may have very different data models. This may make automated integration much more difficult. For example, one application may store an employee's work address with the employer account whereas the other application may store the address with each individual employee. Integrating such applications may be costly and may be subject to data errors. Similarly, the two databases may not have the same validation rules. For example, the address in one system may not validate the postal code whereas the other database does. This means that the latter system may reject data and lead to serious discrepancies between systems.
Level 3 Integration - Shared Database
Level 3 Integration is very unique in that the same database is used by both applications. This level of integration is often only available when both applications are supplied by the same vendor. A common example is where a vendor supplies both "Accounts Payable" and "Accounts Receivable" applications. In these applications, a "payable/vendor", ABC Company, could also be a "receivable/customer". In this example, ABC Company would have one single account in the database shared by both applications. A change of address entered through one application would not necessitate any data exchange with the other application since the single data item is shared by both applications. The change would immediately be live in both applications.
Another advantage of level 3 integration when the same vendor supplies both applications is that the user interfaces are often the same. That is, the application screens often have the same "look-and-feel" and follow the same usability standards. In fact, many such integrated applications share many of the same screens making the user think that there is in fact only one application. Training costs are often significantly lower.
Another variation of level 3 integration is where a web application shares the same database as the desktop application. The staff uses a more powerful and flexible Windows based application to perform business functions while the customers use a web browser to access a limited set of functions that interacts with the same database. Again, changes made by customers through the web browser are immediately available by the Windows based application because of the shared database.
Andar implements Level 3 Integration for all of its modules, including optional modules. All modules share a common database and user interface.