Today, in the interconnected world people need information to get knowledge and act anytime and anywhere. This can be accomplished by mobile application based on PROCE55® Mobile which is integrated with the back-end services and data. In fact, you can abstract the world information system as consisting of two main components:
- Back End Super System or Internet which evolves to a universal information and transaction system of cloud based resources (with data and transaction integration with the Enterprise Information systems)
- Front End Clients (particularly Mobile Devices) which allow for data access and data modifications as well as for transaction control in context of the above mentioned Back End Super System
If you want to access the data associated with the Internet resources and central databases you can use the APIs and access them using the Representational State Transfer (REST) protocol.
If you want to process the transactions in context of the back-end servers (e.g. Enterprise Information Systems) the Simple Object Access Protocol (SOAP) protocol can be used.
PROCE55® Mobile is equipped with the enhanced integration capabilities according to the principles of the Service Oriented Architecture (SOA) and Web services (WS) using both REST as well as SOAP approach.
REST
REST is optimal when you are exposing a public API over the internet to handle create, read, update, and delete (CRUD) operations on data. REST is very simple, it uses standard HTTP (GET or POST) and it permits various data formats. The Internet is full of resources, you can access the data associated with them using APIs. Typically REST accesses the named resources through the associated URI using the HTTP GET with a query string or HTTP POST with the XML data in the body of the request. The response contains the data in different formats (e.g. JSON, XML as well as non-standard proprietary data formats).
SOAP
SOAP focuses on exposing pieces of application logic (not data but operations on data, e.g. ACID transactions) as services using the HTTP POST method. It ensures security, data integrity, and data privacy but it is more complicated than REST and it has also more overhead information (SOAP envelope). The XML Namespaces and XML Schema definition (WSDL definitions) are usually used for SOAP specifications. To build the interoperable clients and servers based on SOAP can be a complex problem for many people, but you cannot avoid using the SOAP approach if you want to implement more complex integration scenarios (integration of applications and processes). Naturally, you can use WSDL and SOAP for integration in context of PROCE55® Mobile, if you prefer this approach, but we are providing you with a simple and robust alternative method.
In our large and complex application integration projects we have learned that people involved in integration of applications usually know how to create the XML request, how to transfer it using HTTP POST (i.e. how to process a Web service call) and how to parse the returned XML response. Therefore we have developed a pragmatic approach to process the transactions in context of the back-end servers which is called XML_HTTP.
XML_HTTP
XML_HTTP is a communication protocol for executing functions (Web services) in a remote system. It uses XML to encode its calls and http(s) as a transport mechanism. XML_HTTP can control the processing of the transactions in any back-end system. Any piece of the application logic of the back-end system can be exposed as a Web service. XML_HTTP is based on the SOAP approach but it simplifies the data formats (request and response) and eliminates the overhead information. It is optimal for processing of the transactions synchronously which is typical for communication of a mobile application with the back-end systems. The asynchronous processing is also possible using queue principles. For exposing of XML_HTTP services a simple Application Server (AS) can be used. You can create the Application Servers for exposing of any application logic implemented in any programming language. This Application Server can also enable the access to the standard as well as legacy Enterprise Information Systems and Applications.
Last but not least, all of our PROCE55® Connectors (including the PROCE55® SAP Connector XPCo) are using the XML_HTTP protocol for communication. These Connectors allows you to connect the professional Enterprise Information Systems and Enterprise Resource Planning Systems (ERP like SAP®).
If you want to use the XML_HTTP protocol you do not take care about the communication between the mobile application and the back end server, you have to understand the interface for the service call only.
If you want to integrate your process which is controlled by your mobile application with the back end system you have to define the interface of the service call in context of the back end system.
The interface for the service call defines the following:
- URI of the Application Server which implements the services (or connects the back end servers)
- Function Name which identifies the service
- Input parameters (scalars and tables)
- Return parameters (scalars and tables)
The corresponding service call is performed in run time using the http(s) POST method synchronously.
The communication scheme shows the following picture: