Reference: 2005/04/26 Adapter Tutorial Tutorial 6 : Receiving Siebel Integration Object through the Oracle AS Adapter The Oracle AS Adapter for Siebel exposes the Siebel events - Integration Objects as a Service. The Service is expressed as WSDL with JCA binding. This tutorial describes how to receive a Siebel Integration Object within a BPEL process. The BPEL process is an asynchronous service that is triggered by the arrival of a Siebel Integration Object. Tutorial 6 : Receiving Siebel Integration Object through the Oracle AS Adapter... 1 Overview... 1 Configuring the Oracle AS Adapter for SIEBEL... 1 Configuring the BPEL process to receive the Siebel event... 6 Registering the SIEBEL Adapter as a HTTP Listener... 9 Deployment and testing of the business process... 12 Overview The Oracle AS Adapter for Siebel is part of the Oracle AS Adapter install. The Oracle as Adapter for Siebel can be deployed as both a webservice Servlet as well as JCA 1.5 Resource Adapter. The Adapter Framework (AF) is used for the bidirectional integration of the JCA 1.5 resource adapters with BPEL Process Manager. Adapter FW is based on open standards and employs the Web Service Invocation Framework (WSIF) technology for exposing the underlying JCA Interactions as Web Services. The Oracle AS Adapter for Siebel supports 3 ways of receiving Siebel events HTTP, FTP and MQSeries. Siebel Integration Objects define Siebel events and they are published from Siebel workflow. The Siebel workflow is used for configuring a process for publishing Siebel Integration Objects to other 3 rd party applications and has HTTP, FTP and MQSeries publisher components for the above purposes. The Oracle AS Adapter for Siebel can subscribe to Siebel Integration Objects and supports all 3 protocols. The Oracle AS Adapter for Siebel exposes a HTTP Channel, FTP Channel and MQSeries Channel component for the above purpose. Configuring the Oracle AS Adapter for SIEBEL
The Oracle AS Application Explorer is used to configure the Oracle AS Adapter for SIEBEL. WSDL files are created for both JCA Outbound (Request-Response service BPEL invoke) and JCA Inbound (Event Notification BPEL receive) Interactions and saved to a local directory. These WSDLs are exposed to the BPEL Designer via the WSIL servlet. The Jdeveloper based design-time wizard has a WSIF browser that is launched from the BPEL Partner Link activity to explore the WSDLs generated by the Oracle AS Adapter Application Explorer. 1. Open a command prompt and cd to adapters/application directory. Run iaexplorer.exe. 2. Create a JCA project and point it to the Adapters home directory as shown below. 3. Select the jca project and select connect [Right-click to show options]. 4. Expand the Adapters and Event icons. 5. Create a Siebel HTTP Channel. A channel represents a connection to Siebel to receive Siebel event. The Siebel event can be received either by means of HTTP, FTP or MQSeries. We will be showcasing a HTTP Channel in our example. Navigate to Events/Channels Folder under Siebel and create a HTTP Channel. Enter a port number and synchronization type mode as shown in the set of figures below.
6. Navigate to the Adapters/Siebel folder. Create a Siebel connection instance.
7. Connect to Siebel instance beasieb7.ibi.com. This dynamically exposes the Siebel Business Object, Business Services and Integration Objects. 8. Create a WSDL for the Integration Object that you are interested in and link it to the HTTP channel created in the previous step. The following example showcases the Sample Account - Siebel Integration Object 9. In the left pane, expand the Integration Object containing the component for which you want to generate schema. 10. For a Integration Object, select the node in which you are interested, for example, Sample Account. 11. Select the Add IO Node option
12. The Siebel Integration Objects are XML objects and are defined by a XDR schema. This is the Microsoft version of the XSD schema. The Oracle AS Adapter for Siebel design-time converts these XDR schemas to XSD and WSDL definitions. You need to use Siebel tools to generate the XDR schemas for the various Integration Objects. Please refer to the later sections on how to generate an XDR schema from Siebel tools. The XDR schema required for this example is packaged in the example zip file.
13. Do not specify any values in this page. Just select Finish. The Account IO Node gets created. 14. Right-click the Account IO Node and select the create Inbound JCA Interaction option for generating the Adapter WSDL for the event service. 15. The Siebel Account_BPEL_receive.WSDL JCA extension element is shown below. <binding name="jcabinding" type="account_bpel:account_bpelporttype"> <pc:inbound_binding AddonNamespace="http://xmlns.oracle.com/pcbpel/iWay/wsdl/Siebel/jca_siebel/Account_BPEL/event/" XMLRecordConverterCallout="oracle.tip.adapter.fw.record.iway.IWayInboundXMLRecordConverterImpl"/> <operation name="account_bpel"> <jca:operation ActivationSpec="com.iwaysoftware.afjca15.IWAFActivationSpec" AdapterName="Siebel" ChannelName="Siebel_HTTP"> <input/> </jca:operation> </operation> </binding> <service name="account_bpel"> <port name="account_bpel" binding="account_bpel:jcabinding"> <jca:address ResourceAdapterClassName="com.iwaysoftware.afjca15.IWAFResourceAdapter" ra.iwayhome="c:\oraclebpm\adapters\application" ra.iwayconfig="jca_sample" ra.loglevel="debug"/> </port> </service> 16. The WSDL extension has 2 parts : a service part defining the address or location of a service and the binding part that defines the implementation of the service. The above figure points to the <service> element. The <jca:address> tag contains the JNDI location of the ManagedConnectionFactory of the JCA 1.5 Resource Adapter and has to be match with one of the <connector-factory> elements of the corresponding oc4j-ra.xml. The <binding> element in the above WSDL defines the JCA interactions and contains the <jca:operation> element. The <jca:operation> element has contains the ActivationSpec classname and the name-value pairs for the ActivationSpec parameters. Configuring the BPEL process to receive the Siebel event
1. The Jdeveloper steps are shown in the following figure. Start the BPEL Process Manager engine. This in turn starts the WSIL servlet as well. 2. Create a BPEL process using the synchronous process template. The default Client partnerlink and the inputvariable and outputvariable gets generated. Please refer to the BPEL PM Developer s Guide for further details. 3. Drag & drop a Partner Link. Select the WSIL browser (torch light option). 4. Select the Account_BPEL_receive.WSDL. Configure the PartnerLink as shown in the figure below 5. Drag & drop a receive activity and point it to the PartnerLink configured in the previous step. Select create Instance option. 6. Auto-generate the receive variable.
7. The below figure shows the end to end business process.
Registering the SIEBEL Adapter as a HTTP Listener A Siebel Workflow is defined within Siebel to emit or to receive Siebel XML. In either case, emitting or receiving is handled by Siebel transport services for MQSeries, File, or HTTP. A Siebel Workflow is a series of Siebel Business Services linked together to accomplish a business task. You create workflows using the Siebel Client Workflow Administration screens. Workflows are invoked through one of the following methods: Using a workflow policy Using a runtime event (Siebel Event) Using a script (escript or Siebel VB) The following example briefly describes how to invoke the workflow through a policy condition. Launch the Siebel web client.
Select the workflow process that has been set up for this example. This workflow process queries a Siebel Account record based on ID and publishes it via the HTTP transport. Use the View/Site Map option to navigate to the available list of workflow processes.
Select Siebel Workflow administration option.
Deployment and testing of the business process 1. Set the OC4J-ra.xml of the Oracle AS Adapter for SIEBEL to point to the correct JCA repository project as shown in the following figure. <?xml version="1.0"?> <!DOCTYPE oc4j-connector-factories PUBLIC "-//Oracle//DTD Oracle Connector 9.04//EN" "http://xmlns.oracle.com/ias/dtds/oc4j-connector-factories-9_04.dtd"> <oc4j-connector-factories> <connector-factory location="eis/oraclejcaadapter/defaultconnection" connector-name="iwafjca10"> <config-property name="iwayhome" value="c:\oraclebpm\adapters\application"/> <config-property name="iwayconfig" value="jca_sample"/> <config-property name="iwayrepourl" value=""/> <config-property name="iwayrepouser" value=""/> <config-property name="iwayrepopassword" value=""/> <config-property name="loglevel" value="debug"/> </connector-factory> </oc4j-connector-factories> 2. Deploy the BPEL process and Restart the BPEL server. The Process Designer tab is used to create and make changes to the workflow. The properties tab is used to specify the policy (Inputs) to trigger the workflow and the Process Simulator is used to trigger the workflow.
The above figure shows the workflow. The GetAccountAdded is used to query a Siebel Account object. The details for the above Business Service can be displayed by double-clicking the Get Account Added activity. The details are shown below. This activity takes ObjectID as input argument. The sendviahttp Business Service is used to post the Account XML payload obtained in the previous step to the HTTP listener specified in it s input argument. The URL specified here must match the URL of the HTTP Channel of the Oracle AS Adapter for Siebel.
Specify the input to trigger the process in the Process Properties tab. Here we have specified 1-79F as the Account ID that we are interested in publishing. You need to navigate to the Accounts tab to determine the Account ID. Here we show publishing Account with the name ABC Mfg Co. This step is configured in the screen shot below.
Use the About Record option to view the Account ID.
Use the Process Simulator tab to trigger the process.