Application Integration Made Simple with SAP HANA Cloud Integration – OpenSAP Course Week2
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.
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.
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:
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.
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.
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.:
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.
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.
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
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
HiĀ Nagesh Caparthy,
If possible, please give the brief explanation about each palettes along with screen shots, it will so help full to me.