You are on page 1of 146

Business Product Technical Enablement – AIM Services

Integrating Siebel 7.8 x CRM using Web Services


with WAS 6 and RAD 6

<Name>
<Email>
<Date>

8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Introduction
 Web Services Overview and Concepts
 Siebel Web Services Framework
 Siebel Web Services Support
 Web Services Industry Standard Support
 Document-Literal and RPC-Literal binding support
 Custom SOAP header support
 One-Way operation support
 Siebel Web Services – Inbound and Outbound

2 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interface (ASIs)


 What are ASIs
 Types of ASIs – Inbound and Outbound
 ASIs and Web Services
 ASIs Configuration
 ASIs Customization – An Overview

3 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web Services (ASIs)


 Overview
 Siebel As Web Services Provider
 System Prerequisites For Inbound Web Services
 Exposing ASI as Inbound Web Service
 Generating an Inbound Web Service WSDL File
 Exporting WSDL File in RAD
 Generating client proxy classes in RAD
 Creating a Web Application For Inbound Web
Service Invocation in RAD
 Testing on WAS V6

4 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
 Overview
 Integration Object Instances
 Integration Object Structure
 Integration Object Builder Wizards
 Creating Integration Object using EAI Siebel
Wizard
Siebel Business Services
 Overview
 Business Service Structure
 Property Sets

5 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Business Services Cont…


 Creating Business Services in Siebel Tools
 Creating a Business Service in Siebel Client
 Business Service Export and Import
 Testing using Business Service Simulator
Siebel WorkFlow Process
 Overview
 Workflow Process Steps
 Testing Workflow Processes with the Process
Simulator
 Deploying Workflow Process
 Workflow Process Invocation Methods
6 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Inbound Web Services (Business Service)


 Creating an Integration Object in Siebel Tools
 Creating Business Services in Siebel Tools
 Creating and Publishing Business Service as
Inbound Web Service
 Generating an Inbound Web Service WSDL File
 Importing WSDL File in RAD
 Generating client proxy classes in RAD
 Creating a Web Application For Inbound Web
Service Invocation in RAD
 Testing on WAS V6

7 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web Services


 Overview
 Siebel As Web Services Consumer
 System Prerequisites for Outbound Web
Services
 Creating a Web Service In RAD
 Create an Outbound Web Service
And Outbound Web Services Administration
 Methods To Test Outbound Web Service
 Business Service Simulator
 Workflow Process Simulator
 Using Local Business Service Transport

8 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


 Web Services Security Support
 Configuring the Siebel Application to Use the
WS-Security Specification
 WS-Security UserName Token Profile Support
 Using the UserName Token for Inbound and
Outbound Web Services
 Siebel Authentication and Session
Management SOAP Headers
 Single Sign-On Authentication

9 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Tracing


Siebel Web Services Cache
Troubleshooting
 Log Files
 Siebel Service Argument Tracing
 Troubleshooting Tips
References

10 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Web Services Overview and Concepts

Web Services are self-contained, modular applications that can be described,


published, located, and invoked over a network. Web Services perform
encapsulated business function ranging from a simple request-reply to a full
business process interactions

UDDI Service
registry broker P
iF n d DD I W S ubli
DL s
/UD h
LD /U
DI
Service W S SOAP
SOAP Service
requestor Bind/Invoke provider

11 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Web Services Overview and Concepts

Web Service Provider creates a Web Service and publishes its interface and
access information (WSDL file) to the service registry. UDDI protocol is used to
publish the Web Services.

Web Service Broker is responsible for making the Web service interface and
implementation access information available to any potential service requestor.

Web Service Requestor locates entries into the broker registry by find
operations and then binds to the service provider in order to invoke one of its
Web Services.

Web Service broker is optional. Web Service provider can directly send Web
Service interface and access information to the Web Service requestor.

12 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Web Services Overview and Concepts


Web Services can be developed on any computer platform and in any
development environment as long as they can communicate with other Web
Services using these common protocols.

Web Services combine component-based development and Internet


standards and protocols that include HTTP, XML, Simple Object Application
Protocol (SOAP), and Web Services Description Language (WSDL).

Users or programs interact with Web Services by exchanging XML


messages that conform to Simple Object Access Protocol (SOAP)

To specify the structure of XML used in the body of SOAP messages Web
Services use an XML Schema Definition (XSD) standard.

For Web Services support, SOAP provides


– Standard SOAP envelope
– Standard encoding rules that specify mapping of data based on an abstract
data type into an XML instance and back.
– Conventions for how to make remote procedure calls (RPC) using SOAP

13 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Framework

Siebel Web Services Framework was introduced in Siebel 7.5.

It is set of business services, interfaces and components that can be used to:

a. Expose an existing Siebel business service or workflow process as a


Web Service to be consumed by an external application.

b. Consume a Web Service Definition Language (WSDL) file provided by


an external application and have the Siebel application invoke that Web
Service.

14 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services


Siebel Web Services – Inbound and Outbound

Siebel Supports invocation of Siebel Web Services using an External System


– Inbound Web Service

Siebel supports consuming External Web Services Using Siebel Web


Services – Outbound Web service

The Siebel application allows enterprises to publish any business service or


business process as a Web Service. This process is also known as creating
an Inbound Web Service.

An Outbound Web Service acts as a proxy to a Web Service published by


an external application.

15 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Support


The following are the Web Services standards supported by Siebel
applications:

 Web Services Description Language (WSDL). (1.1)

 Simple Object Access Protocol (SOAP). (1.1)

 Hypertext Transfer Protocol (1.0)

 Extensible Markup Language (XML) (1.0)

 XML Schema.

16 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Support


RPC-Literal and Document-Literal Binding Support
RPC allows the use of transports other than HTTP (for example, MQ and
MSMQ), because you do not have to use the SOAPAction header to specify
the operation.

The following specifications are required for using RPC-literal:


– An RPC-literal binding in a description must have the namespace attribute
specified, the value of which must be an absolute uniformed resource instant
(URI), on contained soapbind:body elements.

– A message described with an RPC-literal binding that is a response message


must have a wrapper element whose name is the corresponding
wsdl:operation name suffixed with the string Response.

– A message described with an RPC-literal binding must place the part


accessory elements for parameters and return value in no namespace.

– A wsdl:message in a description may contain wsdl:parts that use the elements


attribute provided that those wsdl:parts are not referred to by a soapbind:body
in an rpc-literal binding.

17 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Support


RPC-Literal and Document-Literal Binding Support

When a SOAP Document-literal binding is used, the SOAP envelope (the


Body element) will contain the document WSDL part without any wrapper
elements.
The SOAP operation is determined by way of a SOAPAction HTTP header.

A Document-Literal binding in a description must not have the namespace


attribute specified on contained soapbind:body, soapbind:header,
soapbind:headerfault, and soapbind:fault elements.

18 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Support


One-Way Operation Support

One-Way operations provide a means of sending a request to a Web Service


with the expectation that a SOAP response will not be returned.

One-way operations can be implied for inbound and outbound scenarios:

Inbound
If the Business Service Workflow method does not have any output
arguments, it is a one-way operation.

Outbound
If the service proxy method has no output arguments, it is a one-way
operation.

19 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)


What are ASIs ?

An Application Services Interface (ASI) is a release independent


interface published by Siebel Systems, in a standard metadata
format - XML DTD, WSDL/XSD and can be exposed as Web
Services, XML or Java for external apps and support HTTP and MQ
transports.

ASIs use the standard metadata format, which makes ASIs


language-independent, so they return the same value type regardless
of language setting

Siebel ASIs are prebuilt and can be used immediately.


ASIs provide a release-independent integration interface to the Siebel
application, which remains unchanged with each upgrade to a new
release

20 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)


What are ASIs ?

-ASIs are version and schema independent so you can use the same
ASI invocations across different Siebel versions

-ASIs can be customized by adding new components and fields or


deactivate fields and components within ASIs.

-ASI framework can be used to extend existing ASIs or to define your


own Web Service and proxies in a Siebel application for externally
defined services.

Other interfaces can be built using the ASI Framework, but are not
considered to be ASIs. Only Siebel prebuilt ASIs are supported
across releases.

21 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)


Types of ASIs

There are two types of ASIs—inbound and outbound.

Inbound ASI

An inbound ASI defines an interface for services provided by


Siebel Systems.

Inbound ASIs can be invoked from external applications or from


within Siebel.

Inbound types are Data Synchronization, Business Services,


Workflow Processes and Application Service.

22 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)


Inbound ASI

23 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)

Inbound ASI

An external application makes an inbound request that the inbound


dispatcher receives. Based on the information in the ASI, the
dispatcher invokes one of several services to pass its data to the
Siebel application—either a data synchronization service, other
business services, or a workflow process.

The dispatcher determines which service to invoke, according to the


ASI configuration and transport protocols.

External applications can use inbound ASIs, which can be exposed


as a Web Service, XML, or Java.

24 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)


Outbound ASI

An outbound ASI defines an interface to an external application.

It provides a proxy to the external application that can be called from


within the Siebel application.

The proxy is used to invoke the services provided by the external


application, soliciting information from the external service, which the
Siebel database updates or displays to the user.

25 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)


Outbound ASI

A workflow or a user interface event calls an outbound dispatcher.


Based on the ASI configuration, the dispatcher invokes one of
services at runtime - Siebel Services, Partner Adapters, XML, or
Web Services to communicate with external application.

26 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)


ASIs and Web Services

ASIs can be exposed using two Siebel's interface technologies -


Web Services Framework and EAI Framework.

The Web Services Framework supports Web Service-related


standards, including SOAP, WSDL, and XML Schema.

It support two types of SOAP protocols —


SOAP-Remote Call Procedure (RPC) and SOAP-DOC.

If an inbound ASI supports an industry standard other than the


protocols that Siebel Systems supports, the ASI cannot be defined as
an inbound Web Service. The ASI must be defined and supported
through the existing EAI framework. .

27 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)

Transports and Protocols used with ASIs as Web Services


Transport SOAP-RPC SOAP-DOC Null
HTTP Inbound/Outbound Inbound/Outbound N/A

MQ Inbound/Outbound Outbound N/A

MSMQ Inbound/Outbound Outbound N/A

Local Business Inbound/Outbound N/A N/A


Service
Local Web Service Outbound Outbound Outbound

Local WorkFlow Outbound Outbound Outbound


File Outbound Outbound Outbound

28 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Application Service Interfaces (ASIs)


SOAP Fault Messages

Inbound ASIs

The SOAP fault block returns any inbound error messages, as defined by the
SOAP 1.1 specification.
The faultcode contains either a Client or Server value, and the faultstring
contains a description of the error. The error message <siebel:errormsg>
details the problems with the request.

Outbound ASIs

If an error occurs during an outbound ASI that has been exposed as a Web
Service, the business service raises the error and returns the SOAP fault
message as the output method argument, soap:fault, for the application to
process.

29 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


Siebel As Web Services Provider

The Siebel application allows enterprises to publish any business


service or business process as a Web Service. This process is also
known as creating an Inbound Web Service.

Once the business service or business process is published as a


Web Service, the Web Service Definition Language (WSDL)
document can be generated which can consumed by an external
application in order to invoke this Web Service.

30 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


System Prerequisites For Inbound Web Services (ASIs)

 Siebel server environment, with the Siebel Web Server Extension


(SWSE) set up.

 Application servers must be running.

 Siebel Enterprise Application Integration (EAI) component group


must be enabled.

 Access to the Web Services Administration view for this


application, like using Siebel Client.

 For pre-built Siebel ASI, there is no need to compile .srf files on


this system.

31 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)

Exposing ASI As Inbound Web Services

1. Identify or create the business service or web service to be exposed using


Object Explores->Business Service in Siebel Tools. Lets take ‘Siebel Account’.

32 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


Exposing ASI As Inbound Web Services

2. Activate it in the Siebel Web Services Administration View as an


Inbound Web Service.
a. Login to the Siebel Client.
b. Locate the view under Administration - Web Services.
c. Navigate to the Inbound Web Services view and find the entry
for the business service identified in step 1 i.e. Siebel Account
d. Change the status from Inactive to Active.
e. Under the Service Ports, update the URL below with your
webserver, language, userid and password under the Address.
http://<webserver>/eai_<lang>/start.swe?SWEExtSource=WebService
&SWEExtCmd=Execute&UserName=<UserName>&Password=<Passw
ord>

33 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


Exposing ASI As Inbound Web Services

34 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


Generating an Inbound Web Service WSDL File

3. Generate the WSDL that describes the web service and save this file.
a. Click the Generate WSDL button
b. Download popup asking where to save the file will be displayed.
c. Change the FileName to a meaningful value and save the file.

4. Click the "Clear Cache" button after you have activated the Inbound
Web Service and clear the cache.

35 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


Importing WSDL File in RAD

5. The exported WSDL in Step 3 can be imported into RAD


a. Create a New Dynamic Web in RAD using File->New->Dynamic Web
Project and then following the steps of Dynamic Web Project Wizard.
b. Create a new folder ‘wsdls’ under WebContent.
c. Right on ‘wsdls’ folder and click import.

36 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


Importing WSDL File in RAD
d. Import Dialog will be displayed. Choose the File System and click Next

e. Select wsdl generated from the Siebel Client and Click Finish.
f. Now, you can see the wsdl under ‘wsdls’ folder

37 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


Generating Client Proxy Classes in RAD
After importing WSDL into RAD and a Web Service Client can be created
from it using WebSphere Web Service Wizard.
Web Service Wizard is extremely comprehensive and powerful tooI and it
automatically creates several artifacts including client proxy classes required
for invoking Web Service.
a. After launching RAD, in the Navigator View identify the imported WSDL.
b. Right click on it and then Select File->New->Other->Web Service->Web Service
Client and press Next.

38 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


Generating Client Proxy Classes in RAD

c. On the next panel, the WSDL file is preselected, press Next and follow the
instructions in the Wizard and at the end click Finish.

d. All the generated java files can be viewed under the project folders.

e. Web Service wizard automatically launched Test Client to invoke Web Service

39 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)

Creating a Web Application For Inbound Web service Invocation

A simple Web Application consisting of HTML/JSP input forms, a Controller


Servlet interacting with client proxy class to access Siebel Account and a
Result JSP page can be easily created in RAD.

Code Snippet of Controller Servlet invoking Client Proxy Classes:

_defaultProxy sample_defaultProxyid = new _defaultProxy();


String accountId = req.getParameter("accountId");
com.siebel.www.ListOfAccountInterfaceTopElmt siebelAccount =
sample_defaultProxyid.siebelAccountQueryById(accountId);
Account[] accountList = siebelAccount.getListOfAccountInterface();
req.getSession().putValue("AccountList",accountList);

40 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (ASIs)


Testing on WAS V6

Export the Web Project developed in RAD as War file and deploy it on
WAS V6.

getContactProxy

WebSphere Siebel Application Server

HTML Input SOAP


Controller
SOAP Siebel Object
proxy HTTP
Servlet Manager

JSP Result
Page
Siebel
Data

41 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Siebel integration objects are used to define the structure of the
message (metadata) exchanged with the external systems.
It is a generalized representation or model of a particular set of data.
It is a schema of a particular thing.

An integration object involves transporting data from one application


to another.

Each integration object created in Siebel Tools has to be based on


one of the base object types.
This property is used by adapters to determine whether the object is
a valid object for them to process.

42 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects

43 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Integration Object Instances

An integration object instance is actual data organized in the format


or structure of the integration object.
It is also referred to as a Siebel Message object.

44 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Integration Object Structure

The Siebel integration object provides a hierarchical structure that


represents a complex data type.

An integration object consists of one Parent Integration Component,


sometimes referred to as the root component or the primary integration
component.
The Parent Integration Component corresponds to the primary business
component of the business object you chose as the model for your
integration object.
The Parent Integration Component can have both fields and child integration
components.

Each integration component can also have child integration components and
fields. You may choose to inactivate components and fields. By inactivating
components and fields, you can define the structure of the integration object\
instances entering or leaving the system.

45 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Account Integration Object

46 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Integration Object Wizards

There are multiple wizards associated with integration objects in Siebel Tools
that creates integration objects for internal use by the Siebel application, and
for external systems based on Siebel Objects.

Integration Object Builder wizard: This wizard lets you create a new object. It
supplies the functionality for creating integration objects from Siebel business
objects or integration objects based on representations of external business
objects using XML Schema Definition (XSD) or Document Type Definition
(DTD).

To access this wizard in Siebel Tools:

a. Navigate to the File->New Object… for Wizard Dialog Box

a. Select the EAI tab and double-click ‘Integration Object’ to start


the Integration Object Builder wizard.

47 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Integration Object Builder wizard

48 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Integration Object Wizards
Generate XML Schema wizard: This wizard lets you choose an
integration object and output XML schema in XML Schema Definition
(XSD) standard, Document Type Definition (DTD), or Microsoft's
XDR (XML Data Reduced) format.

To access this wizard in Siebel Tools:


a. Navigate to the Integration Objects list in Object Explorer
b. Select an integration object and click Generate Schema

49 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Integration Object Wizards

Generate XML Schema wizard:

50 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Integration Object Wizards

Code Generator wizard: The third wizard lets you create a set of
Java class files based on any available integration object or Siebel
business service.
To access this wizard in Siebel Tools:
a. Navigate to the Integration Objects list in explorer.
b. Select an integration and click Generate Code

51 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Integration Object Wizards

Code Generator wizard:

52 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Creating Integration Objects Using the EAI Siebel Wizard

Siebel Tools provides a wizard to walk you through creating an integration


object.

Steps to create a new Siebel integration object

1. Start Siebel Tools.


Create a new project and lock it, or lock an existing project in which you
want to create your integration object.

2. Choose File > New Object... to display the New Object Wizards dialog
box.

3. Select the EAI tab and double-click the Integration Object icon.

53 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects

Creating Integration Objects Using the EAI Siebel Wizard

4. In the Integration Object Builder wizard:


Select the project you locked in.
Select the EAI Siebel Wizard.

54 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects

Creating Integration Objects Using the EAI Siebel Wizard

5. Click Next and in the second page of the Integration Object Builder
wizard:
– Select the source object. This is the object model for the new Siebel
integration object. Only business objects with Primary Business Components
appear on this picklist.
– Type a unique name in the field for the new Siebel integration object and click
Next.

55 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects

Creating Integration Objects Using the EAI Siebel Wizard

6. The next page of the wizard, the Integration Object Builder - Choose
Integration Components page, displays the available components of the
object you chose.
Deselect the components you would like the wizard to ignore. This means you will
not be able to integrate data for that component between the Siebel application
and another system.

56 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Creating Integration Objects Using the EAI Siebel Wizard

7. Next page displays the messages generated during the process. Review
the messages and take the appropriate actions to address them.

8. Click Finish to complete the process of creating a new Siebel integration


object.
9. After creating integration objects in Siebel Tools, compile them into a new
SRF file and copy the SRF file to the IEBSRVR_ROOT/OBJECTS
directory.

57 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Creating Integration Objects Using the EAI Siebel Wizard

Note: Once you create your integration object based on a Siebel business
object, you should not change its integration component's External Name
Context; otherwise, the synchronization process will not recognize the
integration component and will remove it from the integration object.

To view the fields that make up each integration component, select a


component from the integration component list in Siebel Tools. The
Integration Component Fields applet displays the list of fields for that
component.

58 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Integration Objects
Integration Object Validation

Steps to validate your integration object


1. Select your integration object in Object Explorer of Siebel Tools
2. Click Validate, Validate Dialog will appear.

3. Click Start to start the validation Process


4. Review the report and modify your integration object as needed
59 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Siebel Business Services


Overview

A business service is an object that encapsulates and simplifies the use of


some set of functionality.

Business components and business objects are objects that are typically tied
to specific data and tables in the Siebel data model.

Business services can simplify the task of moving data and converting data
formats between the Siebel application and external applications.

Business services can also be used outside the context of Siebel eAI to
accomplish other types of tasks( such as performing a standard tax
calculation, a shipping rate calculation, or other specialized functions).

These services can then be accessed by Siebel VB or Siebel eScript code


that you write and call from workflow processes

60 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Business Services


Property Sets

Property sets are used internally to represent Siebel eAI data.


A property set is a logical memory structure that is used to pass the data
between business services.
Type:
Used to describe what type of object is
being represented.
Value:
Used to hold serialized data, such as a
string of XML data.
Properties:
A table containing name-value pairs. The
properties can be used to represent column
names and data, field names and data.
Children. An array of child-level property sets.
The array can be used to represent instances
of integration objects. Ex:Result set

61 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Business Services


Business Services Structure

Business services allow developers to encapsulate business logic in a central


location, abstracting the logic from the data it may act upon.

A business service is much like an object in an object-oriented programming


language.

A service has properties and methods and maintains a state.

Methods take arguments that can be passed into the object programmatically
or, in the case of Siebel eAI, declaratively by way of workflows.

62 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


A Siebel application provides a number of prebuilt business services for
integration tasks based on specialized classes and are called Specialized
Business Services.

You can build your own business service and its functionality in
Siebel Tools and Siebel Client.

Business Services can be created at design time in Siebel Tools using


Siebel VB or Siebel eScript. Design-time business services are stored in the
Siebel repository (.SRF). Compile .srf file before testing it.

Business services can be in Siebel Client using the Business Service


Administration screens. The business services created in the client are stored
in the Siebel Database, so can be tested right away.

63 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


In Siebel Tools

Steps Involved in creating business services in Siebel Tools

 Define the Business Service.


 Define the Business Service Methods For information, see
 Define the Business Service Methods Arguments
 Define Business Service Scripts
 Define Business Service User Properties

These steps are described in detail in next slides.

64 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps to Define Business Service

1. Start Siebel Tools.

2. Select and lock the project you want to associate your business service
with.

3. Select the Business Services object in the Tools Object Explorer.

4. The list of predefined business services appears in the right panel.

5. Choose Edit > New Record to create a new business service.

6. Type a name for your business service in the Name field.

7. Type the name of the project you locked in Step B, in the Project field.

8. Choose the appropriate class for your business service, from the Class
picklist.
65 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Creating Business Services


Steps to Define Business Service

9. Data transformation business services should use the


CSSEAIDTEScriptService class. Other business services will typically
use the CSSService class.

10. Step off the current record to save your changes.

66 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps to Define Business Service

67 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps to Define Business Service Methods

Business services contain related methods that provide the ability to perform
a particular task or set of tasks.

1. With your business service selected, double-click the Business Services


Methods folder in the Siebel Tools Object Explorer. The Business
Services Methods list appears below the list of business services.

2. Choose Edit > New Record to


create a new method.

3. Type the name of the method


in the Name field.

68 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps to Define Business Service Script

1. Select the business service in Siebel Tools for which you want to write a
script.

2. Right-click to display a pop-up menu.

3. Choose Edit Server Scripts.

4. Select either Siebel eScript or Visual Basic for your scripting language.
Service_PreInvokedMethod is selected as the event handler.

5. Type your script into the Script Editor.

69 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps to Define Business Service Script

70 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps to Define Business Service Subsystem

A Business Service Subsystem is a server component that encapsulates a


large amount of functionality and that is already included in the Siebel
repository.
Examples of Business Service Subsystems are

EAISubsys Defines events for a variety of eAI operations, including the


initiation of eAI wizards, calls to eAI adapters, and calls to eAI
validation routines.
SAPSubsys Defines a variety of parameters to help determine the type of
SAP object being integrated, the transport mechanism, user
name and password combinations, and SAP program ID
Workflow Defines both events and parameters to signal and determine
behaviors based on the initiation of workflow processes,
search specifications, and Row Id.
XMLCnv Defines events regarding debugging information and
responses from the XML parser.

71 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps to Define Business Service Subsystem

1. With your business service selected, double-click the Business


Service Subsystem folder in the Tools Object Explorer to display a
list of subsystems.

2. Choose Edit > New Record to create a blank business service


subsystem record.

3. Choose an existing business service subsystem name from the


Subsystem picklist.

72 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps to Define Business Service User Properties

User properties, also known as User Props, are optional variables that you
can use to define default values for your business services.
When a script or control invokes your business service, one of the first tasks
the service performs is to check the user properties to gather any default
values that will become input arguments to the service's methods.

1. With your business service selected, double-click the Business Service


User Prop folder in the Tools Object Explorer to display the list of
Business Service User Props.

2. Choose Edit > New Record to create a blank user property record.

3. Type the name of the user property in the Name field.

4. Type a value in the Value field. The value can be an integer, a string, or a
Boolean.

73 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


In Siebel Client

Steps To define a business service in the Siebel Client

1. From the application-level menu, choose Navigate > Site Map >
Administration - Business Service > Methods.

2. Click New to create a new record in the Methods form applet.


– Name: Name of the business service.
– Cache: If checked then the business service instance remains in existence
until the user's session is finished; otherwise, the business service instance
will be deleted after it finishes executing.
– Inactive: Check if you do not want to use the business service.

3. Define methods for the business service in the Methods list applet.
– Name: Name of the method.
– Inactive: Check if you do not want to use the method.

74 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps To define a business service in the Siebel Client

4. Define method arguments for the methods in the Method Arguments list
applet.
– Name: Name of the method argument.
– Type : The type of the business service method argument. Valid values
are Output, Input, and Input/Output.
– Optional: Check if you do not want this argument be optional.
– Inactive: Check if you do not want to use the argument.

5. From the link bar, select Scripts.

6. Write your Siebel eScript or VB code in the Business Service Scripts list
applet.

7. Click Check Syntax to check the syntax of the business service script.

75 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Creating Business Services


Steps To define a business service in the Siebel Client

76 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Business Services Export and Import


Business services can be exported into an XML file by clicking Export in the
Business Service list applet in Administration->Business Service View from
Siebel Client.
This writes the definition of the business service including every method,
method argument, and script into the XML file.

You can also import a business service from an external XML file by clicking
the Import Service button in the Business Service list applet

77 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Testing Business Services


Business Service Simulator can be used to test business services in an
interactive mode.

Steps to run the Business Service Simulator in Siebel Client

1. Navigate to Site Map > Administration - Business Service > Simulator.

2. In the Simulator list applet,


Click New to add the business
service you want to test.

3. Specify the Service Name


and the Method Name.

78 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Testing Business Services


Steps to run the Business Service Simulator in Siebel Client

4. Enter the number of iterations you want to run the business service.
Specify the input parameters for the Business Service Method in the
Input Property Set applet. Multiple Input Property Sets can be defined
and are identified by specifying a Test Case #.

5. If the Input Property Set has multiple properties, these can be specified
by clicking on the glyph in the Property Name field. Hierarchical Property
Sets can also be defined by clicking on the glyph in the Child Type field.

6. Click Run to run the business service. The Simulator runs the specified
number of iterations and loops through the test cases in order. If you
have defined multiple input arguments, you can choose to run only one
argument at a time by clicking Run On One Input.

7. The result appears in the Output Property Set applet.

79 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel WorkFlow Process


Workflow Process allows to define business process using a
familiar flowcharting interface.

A workflow process consists of one or more process steps such as start


steps, subprocesses, decision points, and tasks.
Workflow Policies can be defined that can act as triggers to execute a
process. A policy consists of conditions and actions. When policy
conditions are met, the policy action executes the relevant process.

Siebel Business Process Designer in Siebel Tools provides graphical user


interface designing workflow processes.

Workflow Processes and Workflow Policies are administered through the


Administration - Business Process Views in the Siebel Client.

80 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel WorkFlow Process


Workflow Process Steps
1. From within Siebel Tools, check out (for local use) or lock (for server use)
the project which contains the Workflow objects.
2. In the Object Explorer Types tab, choose the Workflow Process type.
The right pane shows an Object List Editor (OBLE) window with a list
applet containing all the workflow processes.
3. In the Workflow Process OBLE, right-click and select New Record to
create a new workflow process record.
4. In the Process Name field, give the workflow a name.
5. Your new workflow process must belong to a project. Scroll to the
Project field and from the picklist, choose the project to which you want
the workflow to belong.
6. In the Description field, enter a description. Use this field to describe the
purpose of the process and any special requirements or notes.

81 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel WorkFlow Process


Workflow Process Steps

82 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Workflow Process


Workflow Process Steps
7. In the Business Object field, choose the business object that the
workflow process involves.
8. In the Workflow Mode field, choose the type of workflow process: long-
running, interactive, or service.
9. Enter other relevant details.
10. Right-click the record and choose Edit Workflow Process.
11. Drag and drop shapes (palette items) from the palette to the design
canvas to build the workflow diagram.
12. Add a Start step to the design canvas. All processes must have one and
only one Start step. (See Figure )
13. Add one or more middle steps to the design canvas. Processes can
have one or more of any of the action step types, such as Business
Service, Decision, Sub processes, Stop, Wait, Exceptions, and Siebel
Operation. There can be multiples of each type of step.
83 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Siebel Workflow Process


Workflow Process Steps

84 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Workflow Process


Workflow Process Steps
14. Add an End step to the diagram area. All processes must have at least
one End step. (See Figure)

15. Illustrate the flow and paths of the process by dragging and dropping
connector arrows between the steps.

16. To validate Workflow Process for any errors, right click on the canvas
and then click ‘Validate’ as shown in Fig.
Note: An end point on a connector is white if it is not successfully
connected to a step. Be sure that both ends of all connectors are red,
indicating that it is successfully connecting two steps.

85 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Workflow Process


Testing Workflow Processes with the Process Simulator

Testing your workflow processes before migrating them to your production


environment verifies that resulting actions are accurate and useful and the
results are exactly what you want.

Process Simulator allows you to step through a workflow process while


viewing the results of each step.
A workflow process does not have to be active to run it in the Process
Simulator. The simulator ignores activation date, expiration date, and
status.

Steps to Run Process Simulator for testing Workflow Process

1. Set the Debug properties for your run-time client, as follows:


a. In Siebel Tools, navigate to View > Options > Debug.

86 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Workflow Process

Steps to Run Process Simulator for testing Workflow Process

b. Set the following properties for your run-time client:


Executable C:\sea78\client\BIN\siebel.exe
CFG file C:\sea78\client\BIN\ENU\uagent.cfg
Browser C:\Program Files\Internet Explorer\iexplore.exe
Working directory C:\sea78\client\BIN
Arguments /h
User name SADMIN
Password <password>
Data source ServerDataSrc

c. Click OK.

87 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Workflow Process


Steps to Run Process Simulator for testing Workflow Process

2. In the Process Designer, right-click and select Simulate Workflow


Process.
– A new instance of the Web Client launches according to the debug settings.
The My Inbox Items view appears (in the Administration - Inbox screen).

3. Click the hyperlink Debug Workflow in the Name column of the My Inbox
Items list.
– The Workflow engine is invoked, and the thread is released.
– Control is moved to Siebel Tools.

4. Navigate back to Siebel Tools and click the Start button.

5. If the first step executes as expected, click Next Step to execute the next
step in the process.
– To use the Watch window, right-click on the canvas and select Watch
Window.
– You can use the Process Designer at any time to make changes to the step
details, and then return to the Process Simulator to debug the process.
88 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Siebel Workflow Process


Steps to Run Process Simulator for testing Workflow Process

6. Continue stepping through the workflow process and verifying the results
of each step in the Watch window until the process completes.

7. When you are finished, click the Stop button to terminate the simulation.

89 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Workflow Process


Deploying Workflow Process

Using Siebel Tools

Select the workflow process in the Object List Editor and click Deploy.

The workflow's status changes from In-progress to Completed and is


available as follows:

 If connected to the server data source, the completed workflow


process is available at run time to be activated.

 If connected to the local data source, check in the workflow process.


After you check in the workflow, it is available at run time to be
activated.

90 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Workflow Process


Deploying Workflow Process

Using Siebel Client

1. In the run-time client, from the application-level menu, choose Navigate


> Site Map > Administration - Business Process > Workflow Deployment
and query for the workflow you just deployed.
2. With the workflow process selected, click the Activate button.
3. From the application-level menu, choose Navigate > Site Map >
Administration - Runtime Events - Events, then click the applet menu
and select Reload Runtime Events. This will load the run-time events in
the current object manager session.
4. Set the deployment parameters for the workflow process: activation
date, expiration date and replication.
5. Set the monitoring level in the Monitoring Level field.

91 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Workflow Process


Workflow Process Invocation Methods

A workflow process can be invoked in the following ways:


 From the Process Simulator view.
 From a workflow policy.
 From a script.
 From a run-time event.
 From a user event.
 From a synthetic event.
 As a configured business service.

92 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


Siebel Business Services can be exposed as Web Service.

This section describes the steps to create a Business Service, expose it as a


Web Service and then its invocation using RAD and WASV6.

Creating an Integration Object in Siebel Tools

1. Launch the Siebel Tools Application. Select the Project option from the
tree view.

2. Right click on the Project Table/Grid and select New Record. This will
create an empty record. Enter the name of the project “My Account”.
Enter the language (e.g. ENU for English). Make sure the Locked field is
checked.

3. Go to File  New Object… This will bring up the New Object Wizards
window. Click on EAI tab and select Integration Object and Click ok.

93 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


Creating an Integration Object in Siebel Tools

4. In the Integration Object Builder wizard:


– Select the project you locked in.
– Select the EAI Siebel Wizard.

5. Click Next and in the second page of the Integration Object Builder
wizard:
– Select the source object.
– Type a unique name in the field for the new Siebel integration
object
– Click Next.

6. The next page of the wizard, the Integration Object Builder - Choose
Integration Components page, displays the available components of the
object you chose.
– Select the components and Click Next

7. The next page displays messages generated during the process.


Click Finish.
94 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


Creating an Integration Object in Siebel Tools

8. To view the fields that make up each integration component, select a


component from the integration component list in Siebel Tools.

95 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


Creating Business Services in Siebel Tools

10. Select the Business Services object in the Tools Object Explorer in
Siebel Tools.
a. Choose Edit > New Record to create a new business service.
b. Type a name for your business service in the Name field and name of project
you locked.
c. Choose the appropriate class for your business service, from the Class
picklist:
– Data transformation business services must use the
CSSEAIDTEScriptService class.
– Other business services will typically use the CSSService class.

11. With the business service selected, double-click the Business Services
Methods folder in the Siebel Tools Object Explorer.
– Choose Edit > New Record to create a new method.
– Type the name of the method in the Name field.

96 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


Creating Business Services in Siebel Tools

12. With your business service selected, double-click the Business Service
Method Arg folder, in the Tools Object Explorer, to display the Business
Service Method Args list.
– Choose Edit > New Record to create a blank method
argument record.
– Type the name and Display Name of the argument.
– Enter the data type in the Data Type field.
– Check the Optional check box if you do not want the argument to
be required for the method.
– Choose a Type for the argument

13. With the business service as selected, right-click to display a pop-up


menu.
– Choose Edit Server Scripts.
– Select either Siebel eScript or Visual Basic for your scripting
language. Type your script into the Script Editor.

97 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


Creating Business Services in Siebel Tools

14. Go to Tools  Compile Projects… This will bring up the Object Compiler
window.
Select the project (created in Step 2) and click on Compile. The
compilation process may take several minutes.

15. Close Siebel Tools or any Siebel clients running.

16. Stop any Siebel Service or Siebel server process running.

17. Copy the newly compiled Siebel Repository file


(<<Siebel_Root>>/tools/OBJECTS/<<Lang>>/Siebel_sia.srf) to,
<<Siebel_Root>>/siebsrvr/OBJECTS/<<Lang>>

18. Restart the Siebel Server

98 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


Creating and Publishing Business Service as Inbound Web Service

1. Launch Siebel Client and Navigate to View -> Site Map ->Web Service
Administration ->Inbound Web Services.

2. Click on New to create new Inbound Web Service corresponding to


Business Service you created following the previous steps.

99 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


Creating and Publishing Business Service as Inbound Web Service

3. Create new Service Port in Service Port Launch Siebel Client and
Navigate to View -> Site Map ->Web Service Administration ->Inbound
Web Services.
4. When clicking on the Type field a Pick Applet pops-up with the Business
Service already registered to be exposed as Web Service. To expose
new Business Services, click new button and then the implementation
type and select name of Business Service have be selected.

100 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


Creating and Publishing Business Service as Inbound Web Service

5. Finally, in the Operation List Applet, create a new record for each method
of the Business Service to be published.

6. Inbound Web Service is successfully created and published in Siebel.

101 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Inbound Web services (Business Service)


The steps involved in the following for Inbound Web Services corresponding
to user-defined Business Services are same as in Inbound Web Services
(ASIs):

 Generating an Inbound Web Service WSDL File

 Importing WSDL File in RAD

 Generating client proxy classes in RAD

 Creating a Web Application For Inbound Web

 Service Invocation in RAD

 Testing on WAS V6

Refer to Section “Inbound Web Services (ASIs)” for the above.

102 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


Web Services Security Support

Siebel Systems endorses the WS-Security specification.

Siebel 7.7 introduces support for the UserName Token mechanism of the
WS-Security specification, which allows Siebel applications to send and
receive user credentials in a standards-compliant manner

Configure WS-Security Specification in the Siebel application

1. Set the UseAnonPool parameter in the eapps.cfg (SWE plug-in) file


under [/eai_anon_enu] as follows: UseAnonPool = TRUE
2. Create a named subsystem with the correct parameters. Do the
following if creating this from the command line (command line example):
– Start the Siebel Server Manager.
– Run the following command to create a subsystem named
SecureWebService that is ready to be consumed by a WS-Security client:

103 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


Configure WS-Security Specification in the Siebel application

– create named subsystem SecureWebService for subsystem


EAITransportDataHandlingSubsys with DispatchService="Web Services
Inbound Dispatcher",DispatchMethod="Dispatch",Impersonate="true“

3. When the client makes an actual call to the Web service, make sure that
SWEExtSource is pointing to the correct virtual directory and named
subsystem:
http://myserver/eai_anon_enu/start.swe&SWEExtCmd=Execute&SWEExtSource
=SecureWebService&UserName=user&Password=pass

104 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


WS-Security UserName Token Profile Support

The UserName token mechanism provides a Web Service with the ability to
operate without having the username and password in its URL or having to
pass a session cookie with the HTTP request.

The support for the UserName Token mechanism:

 Allows an inbound SOAP request to contain user credentials that can be


provided to the inbound SOAP dispatcher to perform the necessary
authentication
 Allows an inbound SOAP dispatcher to perform the necessary
authentication on an inbound SOAP request that contains user
credentials
 Allows an outbound SOAP request to contain user credentials that can
be utilized by the external application

105 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Siebel As Web Services Consumer

Siebel can invoke Web Services exposed by external application .


An outbound Web Service acts as a proxy to a Web Service published by an
external application.

The process of consumption of external web service creates business


service that can be invoked from within the Siebel application.

106 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


System Prerequisites For Outbound Web Services

 Siebel server environment, with the Siebel Web Server Extension


(SWSE) set up.

 Application servers must be running.

 Siebel Tools client.

 Ability to compile and deploy a new .srf file.

 Access to the Workflow Process Simulator or Business Service


Simulator to run tests.

107 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating a Web Service in RAD

Steps to create Web Service in RAD

1. Create a Java Bean, say Conversion with covertPoundToKg etc.

2. A Web Service based on a Java bean can be easily created using the
Web Service wizard in RAD. Go to File->New->Other. In the Select
panel select Web Services->Web service, then click Next.

108 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating a Web Service in RAD

Steps to create Web Service in RAD


1. In the Web Service panel, select Java Bean Web Service as Web
Service type and ‘Generate a proxy’ and ‘Test the WebService’.

109 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating a Web Service in RAD

Steps to create Web Service in RAD

2. In next panel, select the Java Bean created under the project
3. Next, select Service Project and EAR project.
4. Next is the Web Service Java Bean identity panel. Select the
appropriate Style and Use. Click Next. Notice that several WSDL files
are being generated.

110 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating a Web Service in RAD

Steps to create Web Service in RAD

5. In the Next Panel, Click Finish.


111 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Outbound Web services


Creating a Web Service in RAD

Steps to create Web Service in RAD

6. WSDLs and other binding files generated by the wizard can be viewed
under project. Export the wsdl corresponding to Java Bean you created
(ConversionBean.wsdl) to be imported into Siebel Tools.

112 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating Outbound Web Service Based on WSDL

Creation of Outbound Web Service two-step process:

1. Importing WSDL file using Siebel Tools.


2. Importing run-time data about external web services.

Steps to import WSDL file using Siebel Tools

1. Launch Siebel Tools.

2. Create a new project and lock the project, or lock an existing project.

3. Choose File > New Object... to display the New Object Wizards.

4. Select the EAI tab and double-click Web Service. The WSDL Import
Wizard appears:

113 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating Outbound Web Service Based on WSDL

Steps to import WSDL file using Siebel Tools

– Select the Project where you want the objects to be held after they are
created from the WSDL document.
– Specify the WSDL document that contains the Web Service or Web Services
definition that you want to import.
– Specify the file where you want to store the run-time data extracted from the
WSDL document or accept the default.
– Specify the log file where you want errors, warnings, and other information
related to the import process to be logged or accept the default.

114 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating Outbound Web Service Based on WSDL

Steps to import WSDL file using Siebel Tools

5. Click Next to view and verify a summary of your import information.

6. Click Finish to complete the process of importing the business service


into the Siebel repository.
This procedure generates three objects in the Siebel repository:
1. An outbound proxy business service corresponding to the Java bean
class exposed as a Web Service . This business service has one or
more methods corresponding to the exposed Java bean methods
(defined as operations in the WSDL file). This service acts as a client-
side implementation of the Web Service and includes the operations and
the arguments to the operations defined in the WSDL document.

115 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating Outbound Web Service Based on WSDL

Steps to import WSDL file using Siebel Tools

2. Integration Objects, representing input and output parameters of the


service methods, are created if any of the operations require a complex
argument (XML Schema) to be passed. If the service does not use
complex arguments, then no integration object definitions will be
created.
3. A Web Service administration document (an XML file) containing the
run-time Web Service administration data that should be imported into
the Siebel Web Client, using the Outbound Web Services view of the
Administration - Web Services screen. The purpose of the document is
to allow administrators to modify run-time parameters such as the URL
and encoding rules. The data contained within the document is used by
the Web Services Dispatcher to assemble the SOAP document, to set
any HTTP headers required (for example, soapAction), and to route the
request to the correct URL.
116 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Outbound Web services


Creating Outbound Web Service Based on WSDL

Steps to import run-time data about external web services

1. Restart the Siebel Server with a recompiled version of the SRF file that
includes the new objects created by the Web Services Import Wizard.
2. Navigate to the Administration - Web Services screen > Outbound Web
Services view in Siebel Client.
3. In the Outbound Web Services list applet, click Import to bring up the EAI
Web Service Import dialog box.

117 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating Outbound Web Service Based on WSDL

Steps to import run-time data about external web services

4. Specify the export file created by the Web Services Import Wizard.
5. Click Import to import the Web Service definition into the database

118 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Creating Outbound Web Service Based on WSDL

Steps to import run-time data about external web services

6. After created your outbound Web Service, update a corresponding


outbound proxy business service in Siebel Tools to point to that Web
Service. This associates the outbound proxy business service and the
outbound Web Service.
– Select the outbound Web Service proxy business service you want to
use to call your outbound Web Service.
– Add the following user properties for this business service and set their
values based on the outbound service port of your Web Service:
siebel_port_name
siebel_web_service_name
siebel_web_service_namespace

119 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Methods To Test Outbound Web Service

Business Service Simulator

1. Navigate to the Administration - Business Service > Simulator view.


2. To save the data entered in the applets, click the Save To File button. This
will save the data for the active applet in an XML file. The data can then be
loaded into the next session from an XML file by clicking on the Load From
File button.
3. In the Simulator list applet, click New to add the business service you want
to test.
4. Specify the Service Name and the Method Name.

120 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Methods To Test Outbound Web Service

Business Service Simulator

121 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Methods To Test Outbound Web Service

Business Service Simulator

2. Enter the number of iterations you want to run the business service:
– Specify the input parameters for the Business Service Method in the
Input Property Set applet. Multiple Input Property Sets can be defined
and are identified by specifying a Test Case #.
– If the Input Property Set has multiple properties, these can be specified
by clicking on the glyph in the Property Name field. Hierarchical
Property Sets can also be defined by clicking on the glyph in the Child
Type field.
3. Click Run to run the business service. The Simulator runs the specified
number of iterations and loops through the test cases in order. If you have
defined multiple input arguments, you can choose to run only one argument
at a time by clicking Run On One Input.
4. The result appears in the Output Property Set applet.
122 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Outbound Web services


Methods To Test Outbound Web Service

Workflow Process Simulator

Workflow Process for Outbound Web Service can be created and tested using
Workflow Process Simulator following the same steps as described under
“WorkFlow Process” slides. Use Business Service created for Outbound Web
Service using “Siebel WSDL Import Wizard”.

123 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Using Local Business Service Transport

Siebel Applications support the notion of a local business service as a transport


option for Outbound Web Services.

When a local business service is specified as the transport mechanism, the


Siebel Web Services infrastructure can route the outbound message to a
specified business service. Within this business service, you can perform
additional processing of the SOAP Message before the message’s delivery to
the Web Service Endpoint

124 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Using Local Business Service Transport

The input to the local business service is a property set that represents the
SOAP request.
Once the SOAP request is inside the local business service, additional SOAP
headers may be added to address infrastructure requirements.
This is done by direct modification of the input property set.

Local business service in an Outbound Web Service:

1. In the Siebel client, navigate to the Web Services Administration view via
the Site Map.

2. Select Outbound Web Services from the Web Services Administration view.

3. Highlight the desired Outbound Web Service on Outbound Web Services


List Applet.

125 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Outbound Web services


Using Local Business Service Transport

Local business service in an Outbound Web Service:

4. In the Service Ports list applet, change the Transport and Address columns
as follows:
a. Select Local Business Service in the Transport column.
b. Enter the name of the local business service in the Address column.

5. Restart the Siebel component after changing the Outbound Web Service
definition to allow the changes to take effect.

126 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


WS-Security UserName Token Profile Support

The following is an example of passing the user name and password


by way of a URL:
http://webserver/eai_enu/start.swe?SWEExtSource=WebService
&SWEExtCmd=Execute& username=SADMIN&Password=SADMIN

With UserName tokens, the URL does not reveal the user credentials:
http://webserver/eai_anon_enu/start.swe?SWEExtSource=SecureWebS
ervice&SWEExtCmd=Execute

127 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


Using the UserName Token for Inbound Web Services

The Inbound Web Services View in Siebel Client provides an interface for
associating operations with authentication types.
The applet shown in figure can be defined as requiring no authentication, or
requiring a UserName Token with username and password provided in clear
text.

128 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


Using the UserName Token for Outbound Web Services

The Outbound Web Services View in Siebel Client also provides an


interface for associating operations with authentication types.
Each Web Service operation in the Outbound Web Services list applet may
be tied to an authentication type by selecting from the Authentication Type
picklist in the Operations picklist

129 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


Siebel Authentication and Session Management SOAP Headers

Siebel Authentication and Session Management SOAP headers can be used


send and receive user credentials and session information.

The namespace used with Siebel Authentication and Session Management


SOAP headers is:
xmlns="http://siebel.com/webservices"

The following table lists SOAP headers to invoke different types of sessions,
and pass authentication credentials

130 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


Siebel Authentication and Session Management SOAP Headers

131 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


Single Sign-On Authentication

Siebel Web Services support Web single sign-on deployment scenarios in


which third-party applications handle authentication, and then pass
authentication information to the Siebel application.

Figure below illustrates a Web single sign-on deployment scenario


using Siebel Web services.

132 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Security


Single Sign-On Authentication

 SSO Access Manager. SSO Access Manager, configured in front of the


J2EE server, challenges user login, authenticates user credentials with
LDAP, and sets a security token in the browser (http header), which
gets forwarded to the J2EE server.
 J2EE Server. This server extracts user credentials from the security
token in the request. The Session Manager Login method takes the
request as an argument and forwards it to the SWSE. The request
contains the security token in the header.
 SWSE. SWSE extracts the user credentials from the security token and
sends user credentials and the trust token to the Siebel Server.
 Siebel Server. The Siebel Server validates user credentials with LDAP
and validates the trust token with security settings

133 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Tracing


Web Services Tracing can be enabled on the Siebel Server to write all
inbound and outbound SOAP documents to a log file.

Steps to enable Web Services Tracing using Siebel Client

1. Navigate to the Administration - Server Configuration screen > Servers


view. The view displays three different list applets. The top applet lists
the Siebel Servers for the enterprise. The middle applet has three
tabs—Components, Parameters and Events. The bottom applet has
two tabs—Events and Parameters.

2. In the top list applet, select the Siebel Server that you want to configure.

3. In the middle applet, click the Components tab. This list applet contains
the components for the Siebel Server selected in the top applet.

134 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Tracing


Steps to enable Web Services Tracing using Siebel Client

4. Choose the relevant application object manager.

5. In the bottom applet, click the Parameters tab.

6. Set the Log Level to 4 for any or all of the Event Types.

7. Navigate to the Components view.

8. Select the EAI Object Manager component, and select the Component
Parameters tab.

9. Set the Enable Business Service Argument Tracing parameter to True.

10. Restart or reconfigure the server component.

135 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Siebel Web Services Cache

Both Siebel Inbound and Outbound Web Services are typically cached into
memory on the Siebel Server.

The Web Services cache stores all the global administration information that
can be manipulated in the Inbound and Outbound Web Service adminis-
-tration views in Siebel Client

To refresh the cache, click on “Clear Cache” button on Administration – Web


Services screen.
This feature is available for inbound and outbound Web Services.

This does NOT require the Siebel Server to be restarted.

136 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Troubleshooting
Log Files

Siebel Server Log Files: These log files are maintained in the log
directory of the Siebel Server root installation,
e.g., $SIEBSRVR_ROOT\log directory. In this location you will find
the master server log files (<$Enterprise>.<$Siebel_Server>.log)
and accompanying component specific log files as well
(<Component_alias>_<TaskId>.log)
e.g., or EAIObjMgr_enu_ws_15706.log. Siebel Web

Server Extension or SWSE Log Files: These log files are maintained
in the log directory of the Siebel Web Server Extension root
installation for example $SWEAPP_ROOT\log.
The files are named as ssYYMMDD.log.

137 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Troubleshooting
Siebel Service Argument Tracing

Web Services Tracing can be enabled on the Siebel Server to write all
inbound and outbound SOAP documents to a log file.

Steps to enable Web Services Tracing

1. Navigate to the Administration - Server Configuration screen > Servers


view.
The view that appears displays three different list applets. The top
applet lists the Siebel Servers for the enterprise. The middle applet has
three tabs—Components, Parameters and Events. The bottom applet
has two tabs—Events and Parameters.

138 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Troubleshooting
Steps to enable Web Services Tracing

139 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Troubleshooting
Siebel Service Argument Tracing

Steps to enable Web Services Tracing

2. In the top list applet, select the Siebel Server that you want to configure.

3. In the middle applet, click the Components tab. This list applet contains
the components for the Siebel Server selected in the top applet.
Choose the relevant application object manager.

4. In the bottom applet, click the Parameters tab. This list applet contains
the parameters for the Component selected in the middle applet.

5. Set the Log Level to 4 for any or all of the following Event Types.

140 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Troubleshooting
Siebel Service Argument Tracing

On the web service consumer application, following files are created by the
WebService dispatcher when web service is invoked:
OutboundDispatcher_input_args_<pid>.dmp
OutboundDispatcher_output_args_<pid>.dmp

The outut_args log shows your SOAP request and the input_args log shows
the SOAP response. The SOAP response may be a SOAP fault message
or empty file if your SOAP request was not valid.

On the server, if your request is succesfully received and processed, you will
see these two additional logs:
InboundDispatcher_input_args_<pid>.dmp
InboundDispatcher_output_args_<pid>.dmp

The input_args log shows the inbound SOAP request received and the
output_args log shows the SOAP response sent out. The SOAP response
may be a SOAP fault message if your inbound request was not valid.
141 8/2/2006 © 2006 IBM Corporation
Business Product Technical Enablement – AIM Services

Troubleshooting
Troubleshooting Tips

 Make sure that Siebel server environment, with the Siebel Web Server
Extension (SWSE) set up, is up and running.

 Siebel Enterprise Application Integration (EAI) component group must


be enabled.

 Make Sure that the Siebel Web Service invoked by the external
application is active in the Web Services Administration View - for
Inbound Web Service.

 Make Sure that the Address for the Siebel Web Service under Service
Ports Applet in Web Services Administration View - for Inbound Web
Service is correct (check for hostname, user and password in the
address url).

142 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Troubleshooting
Troubleshooting Tips

 Web services are loaded in srf, so make sure that srf in


client\objects\enu is the same as srf in siebsrvr\objects\enu. If they are
different, copy the client to the server and restart Siebel Server service.
If there are more than one Siebel Server, then copy to each Siebel
Server then restart all Siebel Servers.
 Enable Siebel service argument tracing to capture the Simple Object
Access Protocol (SOAP) messages. Make sure to enable
WebSvcOutboundArgTrc (Web Service Outbound Argument Tracing)
and WebSvcInboundArgTrc (Web Service Inbound Argument Tracing)
events to capture the inbound and outbound SOAP messages
respectively.
 Check the logs generated after enabling Service Argument for SOAP
Request and Response messages.
 Check for input arguments supplied to the web service proxy business
service in case of Outbound Web Service.

143 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

References

 Siebel SupportWeb
http://supportweb.siebel.com
– Under Self Service click on Browse/Search knowledge base
– In the left navigation pane click on Product Documentation or Technical
Notes.

 Siebel Web Site


http://www.siebel.com
– Click on Resource Library link. This is a collection of white papers and
demos on Siebel products

 Web Services References


http://www.redbooks.ibm.com/redbooks/pdfs/sg246461.pdf
http://www-106.ibm.com/developerworks/webservices/
http://www.w3.org/TR/ws-arch/
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

144 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

References

 RAD and WASV6 References


http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/c
om.ibm.websphere.base.doc/info/welcome_base.html
http://www.redbooks.ibm.com/abstracts/sg246451.html?Open
http://www.redbooks.ibm.com/abstracts/sg246449.html?Open/
 RAD and WASV6 References

145 8/2/2006 © 2006 IBM Corporation


Business Product Technical Enablement – AIM Services

Contacts

Falk, Walter Attappilly,Anilkumar


WebSphere Business Development WebSphere Business Development
Email: wfalk@us.ibm.com Email: anilk@us.ibm.com
Tel: 1-512-823-6911 Tel: 1-650-352-6263
Mobile: 1-512-589-8343 Mobile: 1-650-430-2172

146 8/2/2006 © 2006 IBM Corporation

You might also like