Types of Application Integration
This Howto describes how to integrate external applications with ]project-open[. It is based on practical experience from a considerable number of integration projects including applications like SAP, Navision, Nagios, OCS-Intventory, LDAP & Active Directory, GanttProject, OpenProj, Trados, Idiom and many more.
The Spider in the Net
When integrating with external applications, ]project-open[ tends to be the "central application" or "backend applications" most of the times, meaning that data are consolidated and linked with other information on the ]po[ side, while the external applications tend to work in the perepherics of the overall application landscape. This configuration is typical for ERP type application, whose main value is based on integration of information.
Looking through the great number variety of data exchange formats and protocols, there exists only a very limited number of formats for transporting business data between computers:
- CSV Format:
In the past decades, CSV (Comma Separated Values) used to be the most popular format for data exchange. CSV is a plain text format representing tabular structures, usually using a New Line to speparate table rows and tabls, commas or similar characters to separate column values.
- XML Format:
XML format uses a markup language to add meta-information to data values. XML has become the de-facto standard for computer-to-computer data exchange.
Popular "styles" of XML data transfer include table-like structures effectively simulating CSV format and "document" style encoding, allowing to represent nested object structures.
- Database Exchange:
Sometimes entire databases can be transferred between system via a database dump or a database-to-database transport tools like DB-Convert .
- SOA-Style Web-Service Integration using REST, XML-RPC or SOAP:
Web-service type integration do not copy data between systems, but request information from the integrated system in real-time. Data are usually encoded using XML. In contrast to the other formats above, a Web-Service integration usually transfers only a single business object per interaction.
Types of Integration Interfaces
Based on the types of data transport in the section above, we can identify several types of integration interfaces, depending on the direction and type of data transfer:
- CSV Export
- CVS Import
- XML Export
- XML Import
- Database Export
- Database Import
- Web-Services Server
- Web-Services Client