16 Oracle JCA Adapter for Siebel

Get an overview of concepts and features of Oracle JCA Adapter for Siebel and learn how to configure it.

16.1 Introduction to Oracle JCA Adapter for Siebel

Oracle JCA Adapter for Siebel offers the most complete connectivity solution for Siebel. It delivers unique features to minimize the implementation effort and maximize the effectiveness of the solution.

The Oracle JCA Adapter for Siebel provides comprehensive, standards-based, real-time connectivity to Siebel application systems. The Adapter supports both JCA and Web Service standards for creation of open and reusable service-oriented applications (SOA). The Adapter provides an easy-to-use, robust, scalable connectivity platform to non-intrusively access and expose the critical business logic and data contained with Siebel for building an integrated enterprise.

Oracle JCA Adapter for Siebel includes the following two components.

  • A JDeveloper extension plug-in for the SOA suite composite application designer.

    The plug-in allows developers to access the Siebel system, browse Business Objects, Business Components, Business Services and Integration Objects, and generate SCA artifacts such as XSD, WSDL for the associated object and JCA properties for run-time use.

  • A SOA suite run-time environment.

    The adapter allows a deployed SOA composite to exchange real-time business data with Siebel systems. It supports synchronous and asynchronous, bidirectional message interactions for Siebel Business Services, Business Components, and Integration Objects. The adapter also supports HTTP transport protocols.

16.2 Oracle JCA Adapter for Siebel Concepts

Understand various concepts of Oracle JCA Adapter for Siebel.

Siebel Business Component: A Siebel object type that defines a logical representation of columns in one or more database tables. A business component collects columns from the business component’s base table, its extension tables, and its joined tables into a single structure. Business components provide a layer of abstraction over tables. Applets in Siebel Business Applications reference business components; they do not directly reference the underlying tables.

Siebel Business Object: A Siebel Business Object is a logical business model in the enterprise using a set of interrelated Business Components.

Siebel Business Service: A Siebel Business Service consists of a set of functionality that can be invoked to perform business functions.

Siebel Integration Object: A Siebel Integration object represents integration metadata for Siebel business objects, XML, and other external data structures.

Siebel Integration Component: A constituent part of a Siebel integration object that represents a Siebel business component.

Siebel Integration Component Field: A data structure that contains one data element in a Siebel integration component. Represents a Siebel business component field.

16.3 Oracle JCA Adapter for Siebel Features

Get an overview of the various features of Oracle JCA Adapter for Siebel.

These capabilities of Oracle JCA Adapter for Siebel are available out of the box with no additional software requirements.

Comprehensive Siebel Connectivity

The Oracle JCA Adapter for Siebel provides connectivity to Siebel. It uses the Siebel COM and Java Data Bean API to synchronously invoke Siebel transactions - Siebel Business Objects and Business Services.

Simple and Easy to use Design Time Graphical Interface

The design-time tool of Oracle JCA Adapter for Siebel enables dynamic browsing of the various Siebel Business Objects, Business Services and Integration Objects by interfacing with the Siebel Business Layer without any coding effort. The design-time tool exposes the Adapter Services as a Web Service in few simple clicks and enables rapid implementation. Since this introspection is dynamic, all custom written or extended Siebel interfaces and objects are available for use.

Standards Support

The Oracle JCA Adapter for Siebel is based on open standards and exposes the underlying Siebel functionality as JCA and Web Services. The Oracle Fusion Middleware product components are seamlessly and rapidly integrated with the Siebel system through these standard interfaces.

Complete Management through the Oracle Application Server

The Oracle JCA Adapter for Siebel is deployed on top of Oracle Application Server and leverages it for scalability and high availability. The Oracle Application Server enables the user to monitor and manage the adapter Life-cycle.

Siebel Exceptions Handling

Oracle JCA Adapter for Siebel exceptions are either Retry-able exceptions or non-Retry-able exceptions. Remote exceptions (or remote exception) are usually retry-able exceptions. The Oracle JCA Adapter for Siebel throws these types of exceptions based on the error from an outbound invocation to the Siebel system. The JCA framework catches the remote exception and initiate a retry action. Business exceptions (or binding exceptions) are non-retry-able exceptions. The message enters a recovery queue and the calling service engine performs the recovery work.

16.4 Design-time and Runtime Functionality of the Oracle JCA Adapter for Siebel

Understand the design-time and runtime functionality of the Oracle JCA Adapter for Siebel.

Design-time Features

The Oracle JCA Adapter for Siebel provides a JDeveloper plug-in Siebel Adapter wizard for the SOA composite designer. The Oracle JCA Adapter for Siebel allows you to:
  • connect to the Siebel system through the Siebel Adapter Wizard.

  • browse Siebel Business Objects, Siebel Business Services, and Siebel Integration Objects.

  • invoke and test Siebel objects.

  • generate artifacts (XSD, WSDL and JCA properties) for Siebel Business Objects, Siebel Business Services, and Siebel Integration Objects.

  • configure options for runtime to obtain XML-based events from Siebel.

Runtime Interaction Features

At runtime, the Oracle JCA Adapter for Siebel allows you to:
  • connect with Siebel EAI Object Manager using the Siebel specific information.

  • operate from SOA to Siebel with Siebel Business Components and Siebel Business Services

    The adapter also supports:
    • asynchronous operation from SOA to Siebel with Siebel Integration Objects.

    • message delivery on the outbound operation.

    • exception handling and management.

    • the adapter diagnostic framework for adapter diagnosability reports and alerts.

16.5 Configuring Oracle JCA Adapter for Siebel

Understand the various configuration parameter that are required for configuring Oracle JCA Adapter for Siebel and learn how to configure.

16.5.1 Oracle JCA Adapter for Siebel Configuration Wizard Connection Parameters

To configure the Oracle JCA Adapter for Siebel, provide the connection information through the Connection Screen of the Siebel Adapter Configuration Wizard. Refer to the following table for information about the parameters to use to connect the Oracle JCA Adapter for Siebel to a Siebel Server.

Table 16-1 Oracle JCA Adapter for Siebel Configuration Wizard Connection Parameters

Parameter Definition Required / Optional

Gateway Server

Siebel gateway server IP address

Required

Gateway Port

Siebel gateway server port

Required

Enterprise Server

Siebel enterprise server name

Required

Object Manager

For Siebel 7.0.3, the default Object Manager is EAIObjMgr.

For Siebel 7.7, the default is EAIObjMgr_enu. Siebel 7.7 requires a language extension (for example, _enu) to be added to the end of the Object Manager name.

Required

Server Name

Siebel server host name

Optional

Language

Language key, default value is English, which is represented as enu.

Depending on Siebel system versions, different languages might be supported.

Required

Version

The JDB versions vary per Siebel Version

Siebel 7.7 and above (default)

Required

Encryption

The encryption values decide whether a connection to the Siebel system should be encrypted. Values are either:
  • None – no encryption

  • RSA – RSA-encrypted

Optional

User Name

 

Required

Password

Masked

Required

16.5.2 Oracle JCA Adapter for Siebel Configuration Wizard Flow

This section contains the steps for configuring Oracle JCA Adapter for Siebel

To configure Oracle JCA Adapter for Siebel, perform the following tasks:
  1. Launch the Siebel Adapter Configuration Wizard by dragging and dropping it onto a composite or BPEL process in the Reference section of the JDeveloper design view.

    The Siebel Adapter Configuration Wizard Welcome Screen appears.

    Figure 16-1 Siebel Adapter Configuration Wizard — Welcome Screen

    Description of Figure 16-1 follows
    Description of "Figure 16-1 Siebel Adapter Configuration Wizard — Welcome Screen"
  2. Enter a Service Name for the Siebel Adapter Service in the Name field and click Next.

    The Connection Information screen appears.

    Figure 16-2 Siebel Adapter Configuration Wizard — Connection Information Screen

    Description of Figure 16-2 follows
    Description of "Figure 16-2 Siebel Adapter Configuration Wizard — Connection Information Screen"
  3. Use the Connection Information screen to establish a service connection. You can either define a new Siebel connection or select an existing connection definition.
    • Selecting an existing connection definition:
    1. Select a connection from the Connection list.
    2. Select Component Visibility from the options.
    3. Enter the JNDI Name with the path.
    • Defining a new connection definition:
    1. Click on the "+" sign to open the Create Siebel Connection screen.

      Figure 16-3 Siebel Adapter Configuration Wizard — Create Siebel Connection Screen

      Description of Figure 16-3 follows
      Description of "Figure 16-3 Siebel Adapter Configuration Wizard — Create Siebel Connection Screen"
    2. Enter the connection parameters.
      • Connection Name: Enter a new name.

      • Siebel System Parameters: Enter Siebel system parameters like Gateway Server, Gateway Port, Enterprise Server, and Object Manager.

      • Siebel Logon Parameters: Enter the user name and Password.

      • Click Test Connection and click OK to save the connection.

      Note:

      To edit an existing connection definition, select an existing connection definition from the connection list and click the pencil sign. Edit Siebel Connection screen appears and you can modify the connection parameters.
  4. Use the Object Selection Page to select objects. When you select an item under Siebel Objects, its definition appears on the right hand side of the Screen, in the Definition panel.

    Figure 16-4 Siebel Adapter Configuration Wizard — Object Selection Screen

    Description of Figure 16-4 follows
    Description of "Figure 16-4 Siebel Adapter Configuration Wizard — Object Selection Screen"
    • Definition: The right panel shows the definition of the Siebel business object, service or integration object that you have selected. Included are field, type and name for the Siebel object you have selected.
    • Operation: Choose the business component operation from Query, QueryEx, Insert, Update, and Delete. If you select the QueryEx business component operation, and click the Options button, you are asked to choose options from the Field Selection dialog. Choose the options and click OK.
  5. Click Next.
    JCA Endpoint Properties screen appears. You can use the default properties or modify the properties.

    Figure 16-5 Siebel Adapter Configuration Wizard — JCA Endpoint Properties Screen

    Description of Figure 16-5 follows
    Description of "Figure 16-5 Siebel Adapter Configuration Wizard — JCA Endpoint Properties Screen"
  6. Click Finish.

The Siebel Adapter wizard:

  • defines the required JCA properties.

  • updates SCA artifacts representing the Siebel endpoint including:

    • a JCA property file.

    • XSD and WSDL files from selected object.

  • updates the SCA composite artifacts to reflect the change.

16.6 Deploying with JDeveloper

You must deploy the application profile for the SOA project and the application you created in the preceding steps. To deploy the application profile using JDeveloper, perform the following steps:

  1. Create an application server connection. For more information, see Creating an Application Server Connection for Oracle JCA Adapters.
  2. Deploy the application. For more information, see Deploying Oracle JCA Adapter Applications from JDeveloper.

16.7 Activating Oracle JCA Adapter for Siebel

The Oracle JCA Adapter for Siebel is an optional adapter, thus its initial state is Installed under deployment summery, not Active. You must make the Oracle JCA Adapter for Siebel state active.

Ensure that the Oracle WebLogic Server is installed on a build which contains the Oracle JCA Adapter for Siebel.
To make the state Active:
  1. Search for and find the Oracle JCA Adapter for Siebel on the WebLogic Console.

    Figure 16-6 Search for SiebelAdapter on the WebLogic Console

    Description of Figure 16-6 follows
    Description of "Figure 16-6 Search for SiebelAdapter on the WebLogic Console"
  2. Click SiebelAdapter.
    Settings for SiebelAdapter screens opens.
  3. Select the Targets tab.

  4. Figure 16-7 SiebelAdapter Activation Settings Screen

    Description of Figure 16-7 follows
    Description of "Figure 16-7 SiebelAdapter Activation Settings Screen"
  5. Select the Servers to deploy the Siebel Adapter.
  6. Click Save.
Oracle JCA Adapter for Siebel is Activated on the server.

16.8 Configuring Connection Pooling for Oracle JCA Adapter for Siebel

A JCA connector must provide pooling support. This section describes the process for creating connection pooling for Oracle JCA Adapter for Siebel.

To provide connection pooling for the Oracle JCA Adapter for Siebel:
  1. Search for and find the Oracle JCA Adapter for Siebel on the WebLogic Console.

    Figure 16-8 Search for SiebelAdapter on the Weblogic Console

    Description of Figure 16-8 follows
    Description of "Figure 16-8 Search for SiebelAdapter on the Weblogic Console"
  2. Click SiebelAdapter.
    Settings for SiebelAdapter screens opens.

    Figure 16-9 Siebel Adapter Outbound Connection Pools Configuration Screen

    Description of Figure 16-9 follows
    Description of "Figure 16-9 Siebel Adapter Outbound Connection Pools Configuration Screen"
  3. Select the Configuration, Outbound Connection Pools tab.
  4. Expand javax.resource.ConnectionFactory, and click on eis/SIEBEL/FMWDEMO JNDI name.
    Setting for Javax.resource.cci.ConnectionFactory screen opens.

    Figure 16-10 Siebel Adapter Outbound Connection Properties screen

    Description of Figure 16-10 follows
    Description of "Figure 16-10 Siebel Adapter Outbound Connection Properties screen"
  5. Provide the Siebel connection information details.
  6. Click Save.
  7. Update the plan.xml to effect the changes made.
  8. Copy Siebel.jar and SiebelJI_enu.jar files into the <MWHOME>/user_projects/domains/<DOMAINNAME>/lib/ directory.
  9. Restart the Servers.

16.9 Oracle JCA Adapter for Siebel Artifacts

When a Oracle JCA Adapter for Siebel is configured, the following artifacts are created.

Business Component XSD

XSD is generated for Business Component methods. For example, here is the request/response schema for the Account Business Component.

The following is an example of Request Schema for Business Component.

<xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema …>
<xsd:element name="SiebelRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="insert" type="ns1:record" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="record">
<xsd:sequence>
<xsd:element name="_nb52_0x20_Week_0x20_High" type="xsd:string"
minOccurs="0" />
<xsd:element name="_nb52_0x20_Week_0x20_Low" type="xsd:string"
minOccurs="0" />
<xsd:element name="ADL_0x20_Status" type="xsd:string"
minOccurs="0" />
<xsd:element name="ATM_0x20_Flag" type="xsd:string"
minOccurs="0" />
<xsd:element name="Access_0x20_Level" type="xsd:string"
minOccurs="0" />
<xsd:element name="Account_0x20_Competitors" type="xsd:string"
minOccurs="0" />
<xsd:element name="Account_0x20_Condition" type="xsd:string"
minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

The following is an example of Response Schema for Business Component.

<xsd:schema …>
<xsd:element name="SiebelResponse">
<xsd:complexType>
<xsd:attribute name="ROW_ID" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:schema>

WSDL

WSDL is generated on the Business Component methods. The WSDL operation name is the action name. For example, the following WSDL is generated for insert method of the Account/Account.

The following is an example of Insert Method Siebel Adapter WSDL Artifact

<definitions …>
<types>
<!—import the request and response schema 
</types>
<message name="response">
<part element=”ns1:SiebelResponse" name="output_insert"/>
</message>
<message name="request">
<part element=" ns1:Siebel" name="input_insert"/>
</message>
<portType name="insertPortType">
<operation name="insert">
<input message="ns2:request" name="Input_insert"/>
<output message="ns2:response" name="Output_insert"/>
</operation>
</portType>
<plt:partnerLinkType name="insertPartnerLinkType">
<plt:role name="insertRole">
<plt:portType name="ns2:insertPortType"/>
</plt:role>
</plt:partnerLinkType>
</definitions>

JCA

JCA properties are generated for the Siebel integration endpoint. It includes the connection-factory, endpoint-interaction, interaction-spec, property for interaction-spec and so on.

The following is an example of JCA property File

<connection-factory location="eis/MySiebel"/>
<endpoint-interaction portType="Internal_0x20_Contact_0x20_Interface_PT">
<interaction-spec className="oracle.tip.adapter.siebel.SeblBCInteractionSpecImpl">
<property name="BusinessObjectName" value="Contact"/>
<property name="BusinessComponentName" value="Account"/>
<property name="Action" value="insert"/>
<property name="ExecutionTimeout" value="50000000"/>
</interaction-spec>
</endpoint-interaction>

Business Service XSD

The request schema represents the input parameters of a Business Service method. For example, the following request schema represents the CreateAccount method of the Account Business Service.

The following is an example of Request Schema Business Service XSD for CreateAccount Method.

<xsd:schema …>
<xsd:element name="AdapterParams">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Account_0x20_IO" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

The response schema represents the output parameters of a Business Service. However, the response schema does not include the error message and success flag. The error message is wrapped in an exception.

The following is an example of Request Schema Business Service XSD for CreateAccount Method.

<xsd:schema …>
<xsd:element name="Response">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Account_0x20_Id" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

Business Service WSDL

WSDL is generated for the Business Service method. The WSDL operation name is the method name. The following example shows the Business Service WSDL of the CreateAccount Method.

The following is an example of Business Service CreateAccount Method WSDL.

<definitions …>
<types>
<!—import the request and response schema 
</types>
<message name="request">
<part element="ns1:AdapterParams" name="input_CreateAccount"/>
</message>
<message name="response">
<part element="ns1:Response" name="output_CreateAccount"/>
</message>
<portType name="CreateAccountPortType">
<operation name="CreateAccount">
<input message="ns2:request" name="Input_CreateAccount"/>
<output message="ns2:response" name="Output_CreateAccount"/>
</operation>
</portType>
<plt:partnerLinkType name="CreateAccountPartnerLinkType">
<plt:role name="CreateAccountRole">
<plt:portType name="ns2:CreateAccountPortType"/>
</plt:role>
</plt:partnerLinkType>
</definitions>

JCA Property for Business Service

JCA properties are generated for the Siebel integration endpoint. It must include the connection-factory, endpoint-interaction, interaction-spec, property for interaction-spec, and so on. The adapter generates the JCA property file for the Business Service. An example file follows.

The following is an example of JCA File for Business Service CreateAccount Method.

<connection-factory location="eis/MySiebel"/>
<endpoint-interaction portType="Account_0x20_PT">
<interaction-spec className="oracle.tip.adapter.siebel.SeblBSInteractionSpecImpl">
<property name="BusinessServiceName" value="Account"/>
<property name="MethodName" value="CreateAccount"/>
<property name="ExecutionTimeout" value="50000000"/>
</interaction-spec>
</endpoint-interaction>