Siebel-To-webMethods Communication

Overview

There are three ways to accomplish Siebel-to-webMethods communication:

  • EAI webMethods Transports
  • Siebel Visual Basic (VB) scripts
  • HTTP posting to Integration Server using the Siebel business service named EAI HTTP Transport.

EAI webMethods Transports

As described in EAI webMethods Transports, the EAI webMethods Transports are custom Siebel business service methods.

You can use transports to perform the following tasks:

To ... See ...
Synchronously invoke a service on Integration Server, using non-guaranteed delivery mode, and return data Synchronous IS Service Invoke.
Synchronously invoke a service on Integration Server, using guaranteed delivery mode, and return data Guaranteed Synchronous IS Service Invoke.
Asynchronously invoke a service on Integration Server, using guaranteed delivery mode, and return data Guaranteed Asynchronous IS Service Invoke.
Get a transaction's status Get Transaction Status.
Get a transaction's data Get Transaction Data.
Restart a transaction Restart Transaction.
End a transaction End Transaction.
Report exceptions that occur when invoking Integration Server services in asynchronous mode webMethods IS Transport Exception.

Using the Transport Configuration File

The Adapter for Siebel provides a configuration file for the transports, named WmISTransportCfg.txt. This self-documented file is located in the directory in which you installed the transports. Typically, you install transports in SiebelServer_directory\siebsrvr. For more information about installing transports, see Installing, Upgrading, and Uninstalling the Adapter for Siebel.

Use this file to specify:

  • A connection login string that the Guaranteed Asynchronous IS Service Invoke transport uses to establish a Siebel Java Thin client (Java Data Bean) connection to the Siebel Server. This transport will use this connection to return data from Integration Server.
  • A directory for storing the guaranteed delivery files for the guaranteed delivery transports.
  • Connection pool parameters.
    • For the synchronous service invocation transports (both guaranteed and non-guaranteed), you configure a pool of connections to Integration Server. These transports use this connection pool to invoke Integration Server services on Integration Server.
    • For the Guaranteed Asynchronous IS Service Invoke transport, you configure:
      • A pool of connections to Integration Server. This transport uses this connection pool to invoke Integration Server services on Integration Server.
      • A pool of Java Data Bean connections to the Siebel Server. This transport uses this connection pool to return data from the Integration Server service to the Siebel Server.

Synchronous IS Service Invoke

  • Display name: Synchronous IS Service Invoke
  • Business service method name: SyncISInvoke
  • Description: Synchronously invokes an Integration Server service on Integration Server in a non-guaranteed delivery invocation mode.
Note: Be sure to specify values for the appropriate parameters in the WmISTransport.cfg file, as described in Using the Transport Configuration File.
Note: Adapter for Siebel provides a sample method that you can use for Testing Synchronous IS Service Invoke, as described on Testing Synchronous IS Service Invoke.

Inputs:

Input Parameter Display Name Description
certificates Certificates Optional. A semicolon-separated string specifying the absolute path and names of all the certificates in your certificate chain.
delimiter Delimiter Optional. A user-specified delimiter character used to separate input Keys from Values. The default is a semi-colon. Use a different delimiter if the data you are passing to webMethods contains a semi-colon.
folderName Folder The Integration Server folder that contains the service to invoke. Separate subfolders with a period.
inputData Input Data Optional. A property set containing data being sent to Integration Server.
password Password The password used to connect to Integration Server.
privateKey Private Key Optional. A string specifying the absolute path and name of the private key that corresponds to the public key in your certificate.
server IS Server Name A string specifying Integration Server's name in the form hostname:portNumber.
serviceName Service Name The service you want to invoke on Integration Server.
userName User Name The user name used to connect to Integration Server.
useSSL Use SSL A string (Yes/No) indicating whether you are using SSL to pass data securely from Siebel to Integration Server. Using SSL requires a corresponding port on Integration Server that can handle an SSL connection to Integration Server.

Outputs:

Output Parameter Display Name Description
message Message A description of either the success or failure of the operation.
outputData Output Data A property set containing data received from Integration Server. The data returned from Integration Server is contained in a child Siebel property set, while the message and status parameters are contained in the parent Siebel property set.
status Operation Status A string specifying the status of the operation.

Testing Synchronous IS Service Invoke

The Adapter for Siebel provides a sample method that invokes the Synchronous IS Service Invoke transport. It invokes the addInts service provided by Integration Server. The addInts service sums two numbers and displays the result. You can run this sample method in the Siebel Business Service Simulator.

  • Display name: Test Synchronous IS Service Invoke
  • Business service method name: TestSyncISInvoke
Inputs:
Input Parameter Display Name Description
password Password The password used to connect to Integration Server.
server IS Server Name A string specifying Integration Server's name in the form hostname:portNumber.
userName User Name The user name used to connect to Integration Server.
Note: The required input parameters folderName and serviceName are hard coded with the values pub.math and addInts, respectively.
Outputs:
Output Parameter Display Name Description
message Message A description of either the success or failure of the operation.
outputData Output Data A property set containing data received from Integration Server. The data returned from Integration Server is contained in a child Siebel property set, while the message and status parameters are contained in the parent Siebel property set.
status Operation Status A string specifying the status of the operation.

Guaranteed Synchronous IS Service Invoke

  • Display name: Guaranteed Synchronous IS Service Invoke
  • Business service method name: SyncISInvokeG
  • Description: Synchronously invokes an Integration Server service on Integration Server via the Integration Server guaranteed delivery facility.
Note: Be sure to specify values for the appropriate parameters in the WmISTransport.cfg file, as described in Using the Transport Configuration File.

Inputs:

Input Parameter Display Name Description
certificates Certificates Optional. A semi-colon-separated string specifying the absolute path and names of all the certificates in your certificate chain.
delimiter Delimiter Optional. A user-specified delimiter character used to separate input Keys from Values. The default is a semi-colon. Use a different delimiter if the data you are passing to webMethods contains a semi-colon.
folderName Folder The Integration Server folder that contains the service to invoke. Separate subfolders with a period.
inputData Input Data Optional. A property set containing data being sent to Integration Server.
numRetry Number of Retries The number of retries allowed to invoke a service on Integration Server.
password Password The password used to connect to Integration Server.
privateKey Private Key Optional. A string specifying the absolute path and name of the private key that corresponds to the public key in your certificate.
server IS Server Name A string specifying Integration Server's name in the form hostname:portNumber.
serviceName Service Name The service you want to invoke on Integration Server.
timeToLive Time to Live A string specifying this transaction's Time to Live, in minutes.
userName User Name The user name used to connect to Integration Server.
useSSL Use SSL A string (Yes/No) indicating whether you are using SSL to pass data securely from Siebel to Integration Server. Using SSL requires a corresponding port on Integration Server that can handle an SSL connection to Integration Server.

Outputs:

Output Parameter Display Name Description
message Message A description of either the success or failure of the operation.
outputData Output Data A property set containing data received from Integration Server. The data returned from Integration Server is contained in a child Siebel property set, while the message and status parameters are contained in the parent Siebel property set.
status Operation Status A string specifying the status of the operation.

Guaranteed Asynchronous IS Service Invoke

  • Display name: Guaranteed Asynchronous IS Service Invoke
  • Business service method name: AsyncISInvokeG
  • Description: Asynchronously invokes an Integration Server service on Integration Server via the Integration Server guaranteed delivery facility.
Note: Be sure to specify values for the appropriate parameters in the WmISTransport.cfg file, as described in Using the Transport Configuration File.
Note: To report exceptions that occur when executing this transport, see webMethods IS Transport Exception.

Inputs:

Input Parameter Display Name Description
busServiceDetails Siebel Business Service The names of the Siebel business service and method to invoke to pass data received from webMethods to Siebel. Use this format: busServiceName:methodName
certificates Certificates Optional. A semi-colon-separated string specifying the absolute path and names of all the certificates in your certificate chain.
delimiter Delimiter Optional. A user-specified delimiter character used to separate input Keys from Values. The default is a semi-colon. Use a different delimiter if the data you are passing to webMethods contains a semi-colon.
folderName Folder The Integration Server folder that contains the service to invoke. Separate subfolders with a period.
inputData Input Data Optional. A property set containing data being sent to the service to Integration Server.
numRetry Number of Retries The number of retries allowed to invoke a service on Integration Server.
password Password The password used to connect to Integration Server.
privateKey Private Key Optional. A string specifying the absolute path and name of the private key that corresponds to the public key in your certificate.
sblConnTimeOut Siebel Connection Timeout Optional. The number of milliseconds that the transport will wait to establish a Java Thin client connection to the Siebel Server. This connection is used to return data from Integration Server.
sblPassword Siebel Password The password used to connect a Java Thin client to the Siebel Server.
sblUserName Siebel User Name The user name used to connect a Java Thin client to the Siebel Server.
server IS Server Name A string specifying the Integration Server's name in the form hostname:portNumber.
serviceName Service Name The service you want to invoke on Integration Server.
timeToLive Time to Live A string specifying this transaction's Time to Live, in minutes.
transactionID Transaction ID An automatically generated string that identifies the transaction.
userName User Name The user name used to connect to Integration Server.
useSSL Use SSL A string (Yes/No) indicating whether you are using SSL to pass data securely from Siebel to Integration Server. Using SSL requires a corresponding port on Integration Server that can handle an SSL connection to Integration Server.

Outputs:

Output Parameter Display Name Description
message Message A description of either the success or failure of the operation.
status Operation Status A string specifying the status of the operation. If the transaction fails, the status is returned as 0.

Get Transaction Status

  • Display name: Get Transaction Status
  • Business service method name: GetTransactionStatus
  • Description: Returns the status of a transaction that was started by a Guaranteed Synchronous IS Service Invoke or Guaranteed Asynchronous IS Service Invoke transport.

Inputs:

Input Parameter Display Name Description
txID Transaction ID Optional. A string that specifies the transaction ID for which you are trying to retrieve the status. This method retrieves the status of all transactions when a Transaction ID is not specified.

Outputs:

Output Parameter Display Name Description
message Message A description of either the success or failure of the operation.
outputData Output Data A property set containing data received from Integration Server. The data returned from Integration Server is contained in a child Siebel property set, while the message and status parameters are contained in the parent Siebel property set.
status Operation Status A string specifying the status of the operation.

Get Transaction Data

  • Display name: Get Transaction Data
  • Business service method name: GetTxData
  • Description: Returns data that was returned from Integration Server but not passed back to Siebel during execution of a Guaranteed Asynchronous IS Service Invoke transport.

Inputs:

Input Parameter Display Name Description
txID Transaction ID A string that specifies the transaction ID for which you are trying to retrieve the data.
delimiter Delimiter A user-specified delimiter character used to separate input Keys from Values. The default is a semi-colon. Use a different delimiter if the data you are passing to webMethods contains a semi-colon.

Outputs:

Output Parameter Display Name Description
message Message A description of either the success or failure of the operation.
outputData Output Data A property set containing data received from Integration Server. The data returned from Integration Server is contained in a child Siebel property set, while the message and status parameters are contained in the parent Siebel property set.
status Operation Status A string specifying the status of the operation. If the transaction fails, the status is returned as 0.

Restart Transaction

  • Display name: Restart Transaction
  • Business service method name: RestartTransaction
  • Description: Restarts a failed Synchronous or Asynchronous IS Service Invoke (guaranteed or non-guaranteed) transport. Do not try to restart a completed transaction; unexpected behavior may result.

Inputs:

Input Parameter Display Name Description
txID Transaction ID A string that identifies the transaction that you are restarting.

Outputs:

Output Parameter Display Name Description
message Message A description of either the success or failure of the operation.
status Operation Status A string specifying the status of the operation.

End Transaction

  • Display name: End Transaction
  • Business service method name: EndTransaction
  • Description: Ends a transaction.

Inputs:

Input Parameter Display Name Description
txID Transaction ID A string that identifies the transaction that you are ending.

Outputs:

Input Parameter Display Name Description
message Message A description of either the success or failure of the operation.
status Operation Status A string specifying the status of the operation.

webMethods IS Transport Exception

  • Display name: webMethods IS Transport Exception
  • Business service method name: WebmISTransportException
  • Description: Reports exceptions that occur when using the Guaranteed Asynchronous IS Service Invoke transport. It writes the exceptions to the wmTransport\ErrorLogs directory on your Siebel Server.

Inputs:

None.

Outputs:

Output Parameter Display Name Description
message Message A description of either the success or failure of the operation.
status Operation Status A string specifying the status of the operation.

Example Transport Invocation Function

This example function invokes the SyncISInvoke transport. Each time an Insert service adds a record to the Contact business component, the function sends the record's first and last names to Integration Server.

1.  function BusComp_WriteRecord ()  
2.  {  
3.     // When an Insert service adds a record into Siebel, send the  
4.     // contact's First Name and Last Name to Integration Server.  
5.  
6.     var inpts = TheApplication().NewPropertySet();  
7.     var otpts = TheApplication().NewPropertySet();  
8.  
9.     inpts.SetProperty("server","localhost:5555");  
10.    inpts.SetProperty("userName","Administrator");  
11.    inpts.SetProperty("password","manage");  
12.    inpts.SetProperty("folderName","myFolder");  
13.    inpts.SetProperty("useSSL","No");  
14.    inpts.SetProperty("delimiter",":");  
15.    inpts.SetProperty("serviceName", "receiveContactInfo");  
16.  
17.    var inputData = TheApplication().NewPropertySet();  
18.    inputData.SetProperty("Last Name",this.GetFieldValue("Last Name"));  
19.    inputData.SetProperty("First Name",this.GetFieldValue("First Name"));  
20.    inpts.AddChild(inputData);  
21.  
22.    var oBS = TheApplication().GetService("EAI webMethods Transports");  
23.    oBS.InvokeMethod("SyncISInvoke", inpts, otpts);  
24.  
25.    // Retrieve the invocation status, and message.  
26.    var st = otpts.GetProperty("status");  
27.    var msg = otpts.GetProperty("message");  
28.    // Retrieve the property set containing the data returned by the  
29.    // Integration Server.  
30.    var data = otpts.GetChild(0);  
31.  
32. }

In this example, note that:

  • Line 6 creates the input property set that the function will use to send input data to Integration Server.
  • Line 7 creates the output property set that the function will use to receive output data from Integration Server.
  • Lines 9-15 define the inputs of the input property set.
  • Line 17 assigns the input property set as the value of the transport's inputData parameter.
  • Lines 18-19 pass the first and last names of the new contact to the property set.
  • Line 20 creates the child property set containing data.
  • Lines 22-23 invoke the SyncISInvoke transport.
  • Lines 26-27 retrieve the status and message variables from the output property set. These variables are contained in the parent Siebel property set.
  • Lines 30 retrieves the child property set from the output property set. The child property set contains the data returned from Integration Server.

Siebel Visual Basic Scripts

About this task

As described in Siebel Visual Basic Scripts, you can write a Siebel Visual Basic script to call adapter services and pass values to them. For example, you might create a Siebel procedure that notifies an Integration Server client when a new sales contact is created.

The Adapter for Siebel provides a Siebel VB script that you can use as a template for writing your VB scripts.

To write a Siebel VB script

Procedure

  1. Determine where you want to place the VB script. See the Tools Guides on the Siebel Bookshelf for information about where to attach scripts.
  2. Using Siebel Tools, edit the Siebel application object to which you want to attach the Siebel VB script.
  3. Copy the SiebelToISTemplate.txt template to the Siebel VB script and modify the template as needed. The template, which includes in-line comments indicating the areas you should modify, is located in:

    Integration Server_directory\packages\WmSiebelAdapter\templates\SiebelToISTemplate.txt

    When writing a Siebel VB script, use the following basic format:

    1. Retrieve information from the Siebel business component record.
    2. Create a webMethods Values object for service input parameters.
    3. Use the information retrieved from the Siebel business component to populate the input parameters Values object.
    4. Establish a connection to Integration Server.
    5. Invoke an adapter service on the connection.
    6. Check the Values object returned by the adapter service.
    7. End the connection to Integration Server.

Performance Tuning Tips For Siebel Systems

Improving the performance of your Siebel system will probably improve the performance of the Adapter for Siebel. Following are general tips for improving the performance of your Siebel system:

  • Resonate-enable your Siebel Server
  • Increase the number of the Oracle db cursors on your system, as recommended by Siebel
  • Configure your Siebel Server to use more than one empty server, and ensure that each empty server handles more than the minimum number of tasks