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.
Workflow of Integration Services
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.
Supported Endpoint Adapters
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.|
|SOAP||Simple Object Access Protocol (SOAP) is a messaging protocol that uses WSDL to describe the functionality of a SOAP based web service.|
|Java||Java Adapter interacts with the software application that does not support restful APIs using a custom Java code.|
|API Proxy||API Proxy forwards the request and response without intermediate transformation (without affecting the actual request and response).|
|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.|
|VoltMX SAP Gateway||Volt MX SAP Gateway communicates with external SAP services over supported HTTP methods.|
|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.|
|AWS API Gateway||AWS API Gateway connects to the services configured and deployed under API Gateway Service in Amazon Web Services.|
|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.||
|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.|
|RAML||RESTful API Modeling Language (RAML) is a YAML-based language for describing RESTful APIs.|
|Salesforce||Salesforce uses a protocol-specific adapter to connect to an external system and access its data.|
|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.|
|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.|
|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.|
|Email Adapter||The Email Adapter is used to send emails from the client app. You can also view the status of the emails that were sent by using the Email service. The email requests are sent to the Volt MX Foundry server which in-turn redirects them to the Volt MX Engagement server.|
|AWS S3||The AWS S3 service on Volt MX Foundry connects to the specified S3 bucket, and also performs supported operations.|
|Cloudian||The Cloudian service on Volt MX Foundry connects to the specified S3 bucket on a HyperStore, and also performs supported operations.|
|Foundry Admin Adapter||The Foundry Admin Adapter is used to perform administrative tasks (exposed via secure APIs) on a Foundry run-time server. With the adapter, external systems can invoke the provided APIs to read or modify settings on the Foundry server.||
|Red Hat PAM||The Red Hat PAM adapter in Foundry Console exposes the services and operations that are created by using the Red Hat PAM Business Central Interface.|