Monday, September 3, 2012

EAI HTTP Transport-Session2

Inbound HTTP Transport:

Continuing from where we left in the Last post. I am going to cover Inbound HTTP transport.

We already know that Siebel using EAI Object Manager which is a server component to receive and process incoming HTTP requests. 

The EAI Object Manager behavior is similar to Application Object Manager, it follows same authentication mechanism however here it also serves the purpose of receiver.

We have to separately create Named Subsystem and Data Subystem to handle the request though this is not mandatory Siebel itself takes care of it.

Let’s talk about the incoming message the format first the key parameter which makes it possible for other system to connect to Siebel.

Message format in which Siebel receives request in Session Less Mode:

http://<webserver>/eai_<lang>/start.swe?SWEExtSource=<HTTPService>&SWEExtCmd=Execute&UserName=<UserName>&Password=<Password>&SWEExtData=<Data>

This message has following key things to notice:

1)      http://<webserver>/eai_<lang>/start.swe? : This specifies the URL for the Webserver and after connecting to webserver connect to component EAI in the language you want connect.

2)      SWEExtSource=<HTTPService> : The Source Specified in the eai.cfg in this message only we specify which service we want to target. We will talk about it more in eai.cfg.

3)      SWEExtCmd=Execute&UserName=<UserName>&Password=<Password>&SWEExt=<Data> :
: The credentials to login to the server and the data.


Message format in which Siebel receives request in Session Mode:

As we know in Session three things happen you login to server, data transfer and you log off thus we will talk about all the three URL’s.

1)      Login to Application:

http://<webserver>/eai_<lang>/start.swe?SWEExtSource=<HTTPService>&SWEExtCmd=Execute&UserName=<UserName>&Password=<Password>

The Message has everything same as above message but only the data is missing. All the parameters here we have discussed above in Session Less.

2)      Data Transfer:

http://<webserver>/eai_<lang>/start.swe? &SWEExtData=<Data>

Here we are explicitly specifying the data to be transferred. All the parameters here also we have discussed 

above in Session Less.

3)      Log Out of the Application:

http://<webserver>/eai_<lang>/start.swe? &SWEExtCmd=Logoff

Here we are explicitly logging out of the system.

Now we will talk some prerequisite for before the Siebel system is ready to receive and process the data.

For using EAI HTTP Transport for Inbound Integration make sure that we met following prerequisite.

1)      Siebel Web Server, Siebel Gateway Name Server, and Siebel Server are up and running.

2)      Verify that eapps.cfg contains the section eai_lang for example for English it is eai_enu.

3)      Make sure that the you have correct connect string specified in the section and EnablExtService set to true.
A sample screen shot from eapps.cfg


 
Refer to the screenshot below. The Http Services is the source section where we specify all the processes which are provided in the source in the incoming URL



Eai.cfg this has some in build action specified for the received data you can also specify your own action your service to process the data.We have created our own custom service CRMA Message dispatch to do some specific logical processing of the message.



We also need to create Profile Parameters for using the above services. Please find the screenshot for the vanilla Services. You can create your own too.



Demo: We are assuming that the all the above specified prerequisites are met.

Step 1) Create a Small Workflow EAI Test:




Step 2) Create a Named Subsystem for it.Reset the profile parameters and provide 

DispatchWorkflowProcess: Workflow Process to Execute

Refer to screen shot below.

 

Step 3) Modify the Eai.cfg

In it you need to specify the value in URL in the http request which will be coming in the message and the name of the Named subsystem which will be invoked(use Alias name). 





No comments:

Post a Comment