Skip to Content

Hi All,

This is my week2 for the on the OpenSAP course for Application Integration Made Simple with SAP HANA Cloud Integration.


The course is structured like this:


Week 1: Getting Started – My previous blog


Unit 1 – Supporting SAP’s Cloud Strategy

Unit 2 – Introduction to Web UI

Unit 3 – Configuring Pre-Packaged Integration Content

Unit 4 – Creating Integration Processes from Scratch

Unit 5 – Working with Data in SAP HANA Cloud Integration

Week 2: Enterprise Integration Patterns


Unit 1 – Enriching Content by Calling OData Services

Unit 2 – Message Translation Using Mappings

Unit 3 – Content-Based Routing

Unit 4 – Splitter/Gather – Working with Lists

Unit 5 – Asynchronous Communication

Week 3: Advanced Topics and Roadmap – Week 3 blog

Unit 1 – Timer-Based Start of Integration Flows

Unit 2 – Structuring Large Integration Flows

Unit 3 – The Adapter Development Kit

Unit 4 – Content Reuse Between HCI and SAP PO

Unit 5 – Outlook – Strategy and Roadmap

Before I get into Week2 of the course, I would like to share my understanding on the options which are provided by Integration Flow Elements from the Palette which can be used as a drag and drop option. It is very important for us to understand what are the elements and its operations and what do they support. I have added all the elements and collected them in one page for ease of understanding.  


1.PNG


To understand further on each of the elements,


Select – Helps to re-arrange elements in the integration flow model


Participants – Has elements that represent the connected participants of an integration scenario: Sender, Receiver


Process – Has elements that can be used as containers for a whole integration flow or a Local Integration Process


Events – Has event elements to define the beginning or the end of message processing. You have options from the following: End Message, End Event, Escalation, Start Message, Start Event, Terminate Message, Timer


Connectors – Helps to connect different elements and define the flow


Delete – As always, delete option allows you to delete a selected element from the editor


Mapping – You can use this and insert a Mapping element to transform a source message into a target message


Message Transformers – This element has options to modify the message content by applying different operations on it, such as encoding (e.g. Base64), conversion (CSV to XML), or script functions


Call – Helps elements make a call to an external source (such as, retrieve data from external sources whichcan be SOAP or OData, and enrich the message with it)


Message Routing – Has elements to forward the message to multiple receivers, to split larger messages, or to combine multiple messages into a larger one. This is covered in Week2 course


Security Elements – Has elements to decrypt/verify incoming messages, or to encrypt/sign outbound messages


Persistence – Has elements to store message content at specific steps within the message processing


Message Validators – In simple it allows you to add an XML Validator step

Hope the overview of elements helps.

——————————————————————————–

Week 2: Enterprise Integration Patterns


Week2 of HCP Integration Services has been really exciting as said by Dr. Volker Stiehl. Week 2 helps us to understand more about oData Services, how to invoke the services, more operations and elements, Synchronous and Asynchronous options etc.  


Unit 1: Enriching Content by Calling OData Services


This unit dives into a Query Operation which is based on oData Services. The example considered is an Order Number an Input Message and the Output message is Order Details.  You can see the example over here. This unit is focused on how to get the desired output message, and what process are to be followed.

/wp-content/uploads/2016/07/2_1004269.png

Reference – Unit 1 Slide 2

The example Inputs remain the same which are from Unit 5 of Week1. In continuation to that, an example oData Service to retrieve the data is demonstrated:

http://services.odata.org/Northwind/Northwind.svc

Here we also get introduced to new Elements, Request-Reply and Query Editor which helps to build the Resource Path (this is where the Query is being executed by the oData Service). If, you are comfortable and aware of the Query formats, you may very well write them manually.

There is also a need for an EDMX (Entity Data Model XML) file describing the service entities like Order, Product, Customer etc., which will be automatically created by the Query Editor. People working with Services/API will have a good understanding on this.

After all the settings in Query and Filter options are set, the package is deployed and tested.


Unit 2 – Message Translation Using Mappings

The second unit introduces to Message Translation using Mapping Elements, this is commonly used to meet the requirement of the Receiver. In most cases, the Sender talks different data elements/formats and the receiver excepts a different them in his own data elements/formats. Mapping is used to meet such requirements.

The Unit demonstrates on how to build this scenario with the same example of Order Number and how the Mapping Step is used with some pre-requisites of data structures available either in XSD or WSDL formats.  A glimpse of the mapping editor can be seen here:

/wp-content/uploads/2016/07/3_1004273.png

Reference – Unit 2 Slide 15

Unit 3 – Content-Based Routing

Content Based Routing is similar to a switch statement, with a predefined condition in the Input, the out messages are modified according to the requirements. This, new element also introduces to Expression Types (XML and Non-XML), Gateway which defines the Routing Behavior and options to Raise Alert or Throw Exceptions etc. During the exercise, we understand more about Condition Expressions and Execution sequence to find the correct path.


/wp-content/uploads/2016/07/4_1004274.png

Reference – Unit 3 Slide 21 & 22

Unit 4 – Splitter/Gather – Working with Lists

This has been explained beautifully with a simple scenario; Splitter & Gather is used in cases where we received a message containing several items, for example, a new order with several list items which contains only the Product Number. However, the receiver expects few more details along with Product Number, such as Description; in such case we use Split gather all the data required by performing the operations individually and then Gather the data for a final reply message. The below slide helps you understand more about it.


/wp-content/uploads/2016/07/5_1004275.png

Reference – Unit 4 Slide 32

The unit focuses on General Splitter and how to achieve the required output message, we work with list handling, Splitter, and Gather, iteration etc.:


/wp-content/uploads/2016/07/6_1004276.png

Reference – Unit 4 Slide 37

Unit 5 – Asynchronous Communication

From the previous units, we understand that they had only Synchronous Communication. This unit focuses on how Integration can work on Asynchronous scenarios. The example continues with Splitter/Gather scenario asynchronously and stores them in an SFTP receiver, we also understand how the Output Message is stored and the response – Status code eg: 202 Accepted.


/wp-content/uploads/2016/07/7_1004277.png

Reference – Unit 4 Slide 44

To achieve asynchronous scenario, below image represents the SOAP Adapter on the left-hand side (Receiver) and the SFTP Adapter on the right-hand side which indicates that we store the data on the SFTP server (Receiver). In-between you also see the Splitter, Content Modifier, and Gather options. The configurations on the SOAP Adapter differs and has new configures which are explained in detail. The glimpse of the settings is shown below.

/wp-content/uploads/2016/07/8_1004278.png

Reference – Unit 4 Slide 46


This completes all the sessions in Week 2. Note that last date to submit your Assignment is on 03-August-2016.

Happy Learning openSAP

Regards,

Nagesh

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

  1. Michael Paonam

    For Unit 1 in week 2, Can you tell me the system setup details for the query editor ? I don’t know what to put in address, username and password field

    (0) 

Leave a Reply