Reference: 2005/04/26 Adapter Tutorial Tutorial 5 : Invoking Siebel Business Object through the Oracle AS Adapter The Oracle AS Adapter for Siebel exposes the Siebel Business Object and Services as a Web Service via WSDL with JCA binding. This tutorial describes how to invoke a Siebel Account Business Object interface through a synchronous BPEL process. Tutorial 5 : Invoking Siebel Business Object through the Oracle AS Adapter... 1 Overview... 1 Configuring the Oracle AS Adapter for Siebel... 1 Configuring the BPEL Process to invoke the Siebel Service... 5 Deployment & testing of the business process... 7 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. 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]. Expand the Adapters and Event icons. 4. Connect to Siebel
5. In the left pane, expand the Business Object or Business Service containing the component for which you want to generate schema. 6. Expand the Business Object or Business Service node. 7. Expand the Business Component or the Business Service node to view the objects under it. 8. For a Business Component, select the node in which you are interested, for example, Account. 9. Select the Create Outbound JCA Service (Request/Response) option to generate the WSDL. 10. 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 oc4jra.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 InteractionSpec classname and the name-value pairs for the InteractionSpec parameters. The Adapter SDK creates an InteractionSpec Java bean and calls the appropriate JCA Outbound Interaction method.
The Siebel Business Object WSDL gets generated. The WSDL-JCA extension is shown in the figure. <binding name="jcabinding" type="query:queryporttype"> <jca:binding XMLRecordConverterCallout="oracle.tip.adapter.fw.record.iway.IWayXMLRecordConverterImpl"/> <operation name="query"> <jca:operation FunctionName="PROCESS" InteractionSpec="com.ibi.afjca.cci.IWAFInteractionSpec"> <input> <jca:header/> </input> <output> <jca:header/> </output> </jca:operation> </operation> </binding> <service name="query"> <port name="query" binding="query:jcabinding"> <jca:address adapterinstancejndi="eis/oraclejcaadapter/defaultconnection" ConnectionSpec="com.ibi.afjca.cci.IWAFConnectionSpec" cs.adaptername="siebel" cs.config="jca_siebel" UIConnectionName="Connection1"/> </port> </service>
Configuring the BPEL Process to invoke the Siebel Service 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. Choose the query_invoke.wsdl. Configure the Partner Link as shown in the following figure.
5. Drag & drop an invoke activity and point to the partner link. 6. Configure an end to end BPEL process.
The input variable of the BPEL process is assigned to the Siebel request and the Siebel response is assigned to the output variable of the BPEL process. This is captured in the 2 figures below. Deployment & 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. 3. Initiate the BPEL process 4. The following figure shows the successful response.