User Guide: Integration > Overview
An Integration Service is an application component that represents the application interaction with an external system or data source. A service definition comprises the meta-data or the configurations required to exchange data with the external system or data source. For example, the configurations can be service type, Endpoint URL, service ID, type (HTTP/HTTPS), request parameters, response parameters, preprocessors and postprocessors, and authentication credentials if required.
For more hands-on approach on how to implement Integration Services, import and preview the News and Weather app using Volt MX Iris.
If you want to develop an app which enables users to browse through news headlines with different categories such as Top Stories, World, Science, Technology, Sports, weather conditions and so on. In this scenario, you need to use Integration services of Volt MX Foundry to fetch data from 3rd party news and weather APIs, which populates the same data in the front end of the app.
The following workflow describes the various stages of Integration services:
|Service Request flow|
|a. Request A client sends a request to Volt MX Foundry.
c. Message Parser (JSON, Form Encoded)
d. Pre-Processor After Volt MX Foundry receives the call from the device, Volt MX Foundry executes custom Java/JS code based on the configured Pre-Processor before making any outbound calls.The custom Java/JS code is typically used to decide on what service to call. The custom code can also perform data validation on the request input.
e. Request Builder (Velocity Template) For adapters (such as XML, JSON), user can format the request sent to an enterprise backend by defining a velocity template.
f. Adapters An adapter is the component that communicates to the backend. it takes the formatted request from the request builder and sends it to the enterprise backend. In addition to the out of the box adapters, we can import adapters from VoltMX Marketplace.
Note: You can select the Enable pass-through check box in the Request Input tab for Volt MX Foundry to forward the headers and body of clients request to the back end as is.
|Service Response flow|
|a. Adapters An adapter receives the response from the enterprise backend for further processing in Volt MX Foundry.
b. Response Builder Volt MX Foundry extracts data from the backend payload using XPath or JSON Path in the form of response parameters.
c.Post-Processor After extracting the data, Foundry executes the custom Java/JS code based on the configured Post-Processor.The custom Java/JS code is typically used to process the data before returning the data to the client. The custom code can also determine whether Foundry needs to make additional service calls.
c. Message Formatter (JSON)
f. Response Volt MX Foundry sends the transformed response (in JSON) to the client.
Note: You can select the Enable pass-through check box in the Response Output tab for Volt MX Foundry to forward the response from the back end as is to clients.
Out of the box Volt MX Foundry Integration Services support connectivity to the following different endpoint adapters.
|Endpoint Type||Description||Endpoint Configuration|
|XML||An XML Adapter communicates with an external data source using an XML endpoint over the HTTP protocol.||Configure XML Endpoint Adapter Create Operations for XML Configure Request Operation for XML Configure Response Operation for XML|
|SOAP||Simple Object Access Protocol (SOAP) is a messaging protocol that uses WSDL to describe the functionality of a SOAP based web service.||Configure SOAP Endpoint Adapter Create Operations for SOAP Configure Request Operation for SOAP Configure Response Operation for SOAP|
|Java||Java Adapter interacts with the software application that does not support restful APIs using a custom Java code.||Configure Java Endpoint Adapter Create Operations for Java Configure Request Operation for Java Configure Response Operation for Java|
|API Proxy||API Proxy forwards the request and response without intermediate transformation (without affecting the actual request and response).||Configure API Proxy Endpoint Adapter Create Operations for API Proxy|
|Mock Data||The Volt MX Mock Data adapter capability helps you to continue to develop apps when the back-end services that an app connects to are not ready to be leveraged.||Configure Mock Data Endpoint Adapter Create Operations for Mock Data Configure Request Operation for Mock Data Configure Response Operation for Mock Data|
|VoltMX SAP Gateway||Volt MX SAP Gateway communicates with external SAP services over supported HTTP methods.||Configure Volt MX SAP Gateway Endpoint Adapter Create Operations for Volt MX SAP Gateway Configure Request Operation for Volt MX SAP Gateway Configure Response Operation for Volt MX SAP Gateway|
|MuleSoft||MuleSoft (Anypoint Platform™) is a platform that helps app developers to design custom APIs and deploy to a Mule Enterprise Service Bus runtime (ESB). With MuleSoft integration service in Volt MX Foundry, developers can interact with more than 50 types of adapters.||Configure MuleSoft Endpoint Adapter Create Operations for MuleSoft Configure Request Operation for MuleSoft Configure Response Operation for MuleSoft|
|AWS API Gateway||AWS API Gateway connects to the services configured and deployed under API Gateway Service in Amazon Web Services.||Configure AWS API Gateway Endpoint Adapter Create Operations for AWS API Gateway Configure Request Operation for AWS API Gateway Configure Response Operation for AWS API Gateway|
|Database||With Volt MX Foundry database adapter, you can connect to your own database as an endpoint. After you configure the database adapter in Volt MX Foundry Console, you can perform create, read, update, and delete (CRUD and Binary CRUD) operations on data in the tables and invoke stored procedures, functions, and views.||Configure Database Endpoint Adapter Create CRUD Operations for Database Adapter Configure CRUD Operations for a Database Adapter Create a Database Record with Create OperationQuery a Database and Display Information with Read OperationUpdate a Database Record with Update OperationDelete a Database Record with Delete Operation|
|MongoDB||With Volt MX Foundry MongoDB database adapter, you can connect to your own MongoDB database as an endpoint. After you configure the MongoDB adapter, you can perform create, read, update, and delete (CRUD) operations on MongoDB collections and documents.||Configure MongoDB Adapter Create and Configure CRUD Operations for a MongoDB Adapter|
|RAML||RESTful API Modeling Language (RAML) is a YAML-based language for describing RESTful APIs.||Configure RAML Endpoint Adapter Create Operations for RAML Configure Request Operation for RAML Configure Response Operation for RAML|
|Salesforce||Salesforce uses a protocol-specific adapter to connect to an external system and access its data.||Configure Salesforce Endpoint Adapter Create Operations for Salesforce Configure Request Operation for Salesforce Configure Response Operation for Salesforce|
|IBM MQ||IBM MQ server 9.0.0 version is a messaging middleware that simplifies and accelerates the integration of diverse applications and business data across multiple platforms. Volt MX uses the IBM MQ service to secure the message delivery and reduce the risk of data loss.||Configure IBM MQ Endpoint Adapter Create Operations for IBM MQ Configure Request Operation for IBM MQ Configure Response Operation for IBM MQ|
|SAP JCo||Volt MX Foundry allows you to access and use the external SAP services using custom SAP Connector. You must load the required Business Application Programming Interface (BAPI) functions to define an SAP service. The BAPI files contain the SAP methods and functions.||Configure SAP JCo Endpoint Adapter Create Operations for SAP JCo Configure Request Operation for SAP JCo Configure Response Operation for SAP JCo|
|Open API (Swagger)||Swagger is a powerful open API specification framework backed by a large ecosystem of tools that helps you design, build, document, and consume your RESTful APIs.||Configure Open API (Swagger) Endpoint Adapter Create Operations for Open API (Swagger) Configure Request Operation for Open API (Swagger) Configure Response Operation for Open API (Swagger)|