No single information system can solve all the company’s tasks. There is a need to exchange data between different applications, which is difficult and time-consuming to do manually. It is necessary to integrate automatically using such technologies as SOAP, REST, or ready-made connectors. We will tell you about integration technologies and their application in SimpleOne in our article.
Integrations in enterprise applications
Enterprise applications receive, process, and transmit data. Often, a company uses multiple information systems to perform a single business process, and data is exchanged between them. One system receives information from the user and transmits it to the others through integration channels. For example, to authorize on a service portal, a user does not create a new account: the system receives data from Active Directory, and the access control application loads the employee directory from the SAP ERP database.
Integration speeds up problem solving, improves quality by eliminating the human factor, reduces the cost of ownership of information systems without intermediaries and reduces costs.
The simplest ways of integration are file and message sharing or accessing a common database. These methods have many disadvantages, especially in the era of proliferation of web applications. File formats can vary, and uploading, downloading, and converting have the added impact of human error and labor. Giving everyone access to the same database and controlling whether different applications use it correctly is a serious risk to the integrity and security of data storage.
These archaic and inconvenient integration methods have been replaced by modern technologies that use APIs (application programming interfaces) to connect web applications. Developers are building their information systems with APIs so that applications can communicate and transfer data to each other. There are two main styles of APIs, SOAP and REST, and they have different architectures but mostly use a common transport, the HTTP protocol.
Integration Technologies
SOAP and REST solve the same problem: they allow developers to customize data exchange between applications using APIs. But while SOAP is a protocol for exchanging information, REST is a style or set of guidelines that a developer must follow in order to provide a web service that is RESTful, i.e., designed with REST requirements in mind and does not violate the restrictions it imposes.
SOAP (Simple Object Access Protocol) is a perfectly standardized and long-used protocol. This is one of the reasons why it is chosen as an enterprise application API. It works on top of HTTP, SMTP, TCP or UDP protocols, but only transfers data in XML format. For legacy systems and those that perform complex transactions and have high security requirements, SOAP is still a good option. It is widely used in banking and other financial applications, CRM, utilities, and telecommunications services. Where data stability and integrity are important, SOAP is used, for example, traffic lights, sewerage and city power supply must always run smoothly and predictably. The possibility of asynchronous data transfer via SMTP makes this protocol indispensable for integration in systems with unstable communication channel.
REST (REpresentational State Transfer) is a rather young but very popular architectural style for creating integration APIs. It gained popularity among developers in 2018, and currently most online services use it as a public API interface. Twitter, WordPress, Google Maps and other well-known applications have REST APIs to interact with other web services and custom websites.
For data exchange, REST uses only HTTP as a transport protocol, but message formats can be any – HTML, JSON, XML, YAML or plain text. The universal format is JSON (JavaScript Object Notatio): it is easy to analyze, it has a simple syntax and it does not depend on the programming language. JSON uses fewer words, it is easier to write and read, such messages have less weight, so the speed of their transmission is higher than with XML.
REST is a simple, convenient and universal way to integrate enterprise applications, in most cases RESTful web services can interact with any other services.
SOAP vs REST. REST is faster and development of RESTful services is simpler. SOAP interacts with transactions, so it is better suited for implementing transactions and complex logic. In addition, SOAP can work with any transport layer protocol instead of HTTP and is used in most legacy information systems that may need to be integrated with.
Why connectors are needed
In order to simplify the configuration of communication between information systems, the administrator can use connectors. A connector is a ready-made solution for interaction with a certain application, for example, a monitoring system, SAP, SharePoint, 1C and others. It is enough to specify the address of the external system and set the data exchange parameters, and the connector itself will be responsible for interaction, conversion and verification of transmitted messages.
The Connectors are configured by the administrator using a graphical application interface (GUI) without the need for programming, an approach that fits perfectly into the No Code concept.
An example of connector implementation is the interaction of ITSM system and monitoring system. To configure their integration, the ITSM administrator enters the address of the external system, configures a set of events to be received by the connector and the rules of their processing. Thus, the ITSM-system promptly receives information from the monitoring system – the connector processes the incoming data and in accordance with the specified rules performs actions with the data of the ITSM-system.
Methods of integration in SimpleOne
Integration of SimpleOne with other corporate applications is configured through REST API, the interface allows you to create, read and update data in the platform tables.
REST client
To link a third-party application to SimpleOne, the administrator must create a request to an external service (REST Request) in the REST Request Editor (REST Client) and schedule its regular execution. In the administration panel, a REST request is created, its header, additional request methods and their parameters, if necessary, as well as authentication profiles are specified.
REST requests and REST Bot Engine can be configured by the platform administrator using GUI without deep API knowledge and programming skills.
Connectors
A separate connector for integration with messengers and artificial intelligence systems – REST Bot Engine – is implemented in SimpleOne. It allows you to customize interaction with chatbots and transfer information about events occurring in the system to the messengers of responsible employees. For example, when a user creates an incident, members of the technical support group will receive a message about it directly to their messenger.
REST API
The ESM platform SimpleOne offers a documented set of out-of-the-box data operations for third-party systems to interact with our platform via REST APIs.
Scripted REST API
When ready-made methods for a third-party system to work with SimpleOne data are not enough, you can create your own request processing scripts using the Scripted REST API tool. To do this, just create a new API module, use low-code-tool to customize actions and parameters, and then bind API request parameters to the created modules and actions.
This will allow you to customize the complex logic of handling REST requests from external systems.
Conclusion
Having an API for a web application is a common standard for enterprise integration. It allows business platforms solving different tasks to interact without additional development. SimpleOne implements no-code-tools for configuring requests to external systems, REST API with the ability to extend it through the system interface, as well as universal and specialized connectors to popular information systems. All this allows you to quickly customize interaction with third-party services, messengers and other applications. The main settings are made using a graphical interface that does not require deep knowledge of programming languages from the administrator.