IBM-App Connect Integration Platform.

Next Version of IIB

IBM® App Connect Enterprise combines the existing, industry-trusted technologies of IBM Integration Bus with IBM App Connect Professional and with new cloud native technologies, to deliver a platform that supports the full breadth of integration needs across a modern digital enterprise.

Using the IBM App Connect Enterprise Toolkit, you can develop integration solutions and deploy them to the dedicated runtime of IBM App Connect Enterprise and to App Connect on IBM Cloud. You can use an extensive range of administration and systems management options to manage your integration solutions.

  • The product supports a wide range of protocols: IBM MQ, JMS 1.1 and 2.0, HTTP and HTTPS, web services (SOAP and REST), File, Enterprise Information Systems (including SAP and Siebel), and TCP/IP.
  • It supports a broad range of data formats: binary formats (C and COBOL), XML, and industry standards (including SWIFT, EDI, and HIPAA). You can also define your own data formats.
  • It supports many operations, including routing, transforming, filtering, enriching, monitoring, distribution, collection, correlation, and detection.
https://www.ibm.com/support/knowledgecenter/en/SSTTDS_11.0.0/com.ibm.etools.mft.doc/bb43020_.htm

Lets learn it by doing.

Download IBM App Connect.

https://developer.ibm.com/integration/docs/app-connect-enterprise/get-started/

You may download IBM app connect enterprise edition for windows, mac and linux from above url.

There are many free resources to learn about IIB integration platform. Following video explain quick start simply.

HelloWorld Application

Lets start with new Application HelloWorld. There are few ways to start new application . I will explain in this tutorial how to create a soap web service using IBM App Connect Integration platform.

Soap Web services uses xml for it’s construction and data communication. XML stands for eXtensible Markup Language. XML is a markup language much like HTML. XML was designed to store and transport data. Soap web services use 3 types xml for different perposes.

XSD

XSD (XML Schema Definition) is a World Wide Web Consortium (W3C) recommendation that specifies how to formally describe the elements in an Extensible Markup Language (XML) document.

WSDL

WSDL stands for Web Services Description Language; WSDL is used to describe web services; WSDL is written in XML; WSDL is a W3C recommendation. This is also called the contract in web service.

The main structure of a WSDL document looks like this:

<definitions>

<types>
data type definitions........
</types>

<message>
definition of the data being communicated....
</message>

<portType>
set of operations......
</portType>

<binding>
protocol and data format specification....
</binding>

</definitions>

## Example of simple wsdl file #############################
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>

SOAP

SOAP is an acronym for Simple Object Access Protocol. It is an XML-based messaging protocol for exchanging information among computers. SOAP is an application of the XML specification. SOAP message is called the Envelop and Envelop consists of Head and body section.

  • SOAP is a communication protocol designed to communicate via Internet.
  • SOAP can extend HTTP for XML messaging.
  • SOAP provides data transport for Web services.
  • SOAP can exchange complete documents or call a remote procedure.
  • SOAP can be used for broadcasting a message.
  • SOAP is platform- and language-independent.
  • SOAP is the XML way of defining what information is sent and how.
  • SOAP enables client applications to easily connect to remote services and invoke remote methods.
  • Envelope − Defines the start and the end of the message. It is a mandatory element.
  • Header − Contains any optional attributes of the message used in processing the message, either at an intermediary point or at the ultimate end-point. It is an optional element.
  • Body − Contains the XML data comprising the message being sent. It is a mandatory element.
  • Fault − An optional Fault element that provides information about errors that occur while processing the message.

EX :

<?xml version = "1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope"     SOAP-ENV:encodingStyle = "http://www.w3.org/2001/12/soap-encoding">     
<SOAP-ENV:Header>
...
...
</SOAP-ENV:Header>
<SOAP-ENV:Body>
...
...
<SOAP-ENV:Fault>
...
...
</SOAP-ENV:Fault>
...
</SOAP-ENV:Body>
</SOAP_ENV:Envelope>

Ok let’s start to create new soap web service. The simplest option App Connect provide is “Integration Service”. There are many ways to start a new Integration service.

Using Main Menu

File → New → Integration Service

Using Application Development Window

New → Start by Creating new integration service

From Quick starts link in Getting Started page.

Then give a name to the service. Ex : CustomerService.

Then click Finish and it will create the “CustomerService” folder structure with Integration Service Description and Resource sub folder.

Resource sub folder has all other resources required for a sap web services including schema definition and wsdl etc. Lets try to create our won schema called “customer”

Right click on the Schema Definition → New →Other

Select XML → XML Schema file and click next.

Then select your project and give the name for our schema. Ex : Customer.xsd

Then it will be added to the namespace of the project and in the Design view tab there is configurable GUI for your Customer.xsd file.

Using this GUI we can change our schema comfortably.

First lets create a Type.

Right click on Types and there will be a popup window to select “Add Complex Type”. Give it name as “CustomerType”.

Double click on the “CustomerType” and it will open a new window then right click on the CustomerType and add elements.

Hear i have added two elements

name in String data type and id in int data type. Once you click on each element we can edit and change it’s properties.

Then go to source tab and you will see the xml file created for your changes.

Now time to add elements.

Right click on the Elements cage in the xsd GUI and add Elements give name “CustomerRequest”. Then Double click on “CustomerRequest” Element and it will open a new window. Right click on it → Set Type → Browse

It will open a new window an search and give the early created “CustomerType”.

Create another Element as “CustomerResponse”. Once you created click top left icon to go back to main GUI.

When we go to Source Tab you will see the xsd schema file generated by this GUI.

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/Customer" xmlns:tns="http://www.example.org/Customer" elementFormDefault="qualified">
<complexType name="CustomerType">
<sequence>
<element name="name" type="string"></element>
<element name="id" type="int"></element>
</sequence>
</complexType>
<element name="CustomerRequest" type="tns:CustomerType"></element><element name="CustomerResponse" type="tns:CustomerType"></element>
</schema>

Now we are done with schema definition. Lets do the changes for wsdl file.

Click on “CustomerService.wsdl” file and change the operation name as “getCustomerDetails”

Thne change the Type by click on String already available to “CustomerRequest” and “CustomerResponse” for input1 and output1. Those names also will be changed with this setting.

Finaly it should be like bellow.

Now you are in the interface tab. Then click service tabl and it will open new window graphically shows your wsdl file.

If you clicked on the “getCusotmerDetails” operation name you will be redirected to the Message flow.

Message Flow and subflows are created in the Flows and Subflows folders.

Now we can create mapping between input and output of this message flow using graphical elements provied by App Connect.

Drag and Drop a Mapping item to the canvas.

Just connect each of them by click on input output probe to mapping input probe and mapping output probe to output input probe.

Then double click on the mapping cage and give an name and or keep default and click next.

Now select the input and output.

According to our example input is CustomerRequest and the output is CustomerResponse.

Then we have to select the domain and we are using XMLNSC for this example. Then click Finish.

Out put will be shown graphically as follows.

You may expand the CustomerRequest and CustomerResponse and you will see CustomerType parameters are already included in this components.

We can click drag and connect on yellow color circles in each parameters.

Just map your parameters as you want and i will show a simple example as follows.

Now you are done creating your application.

You can deploy your applications by just drag and drop it to your test servers. Your should have already started server to do this. So right click on your server check whether it is already started if not start it.

You can use Red button to start flow exercise. This button is in the Message flow window.

Next you have to click on send message option.

Then new window will be opened with left side icon with Input Messages. Right click on it — ->New → Input message.

You may see already built soap request in the window. You may change id and name and click on send to hit the end point.

Just click on “Send” button and test the response whether you can receive the right expected input.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store