Download as pdf or txt
Download as pdf or txt
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

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

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

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 registry Service requestor


11

in d F

D I D /U L S D W

Service broker

SOAP SOAP Bind/Invoke

W S ubli s DL /UD h DI

Service provider
2006 IBM Corporation

8/2/2006

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. Consume a Web Service Definition Language (WSDL) file provided by an external application and have the Siebel application invoke that Web Service.

b.

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 ASIsinbound 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 applicationeither 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
HTTP MQ MSMQ Local Business Service Local Web Service Local WorkFlow File

SOAP-RPC

SOAP-DOC

Null
N/A N/A N/A N/A Outbound Outbound Outbound

Inbound/Outbound Inbound/Outbound Inbound/Outbound Inbound/Outbound Inbound/Outbound Outbound Outbound Outbound Outbound Outbound N/A 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. b. c. Click the Generate WSDL button Download popup asking where to save the file will be displayed. 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. b. c. Create a New Dynamic Web in RAD using File->New->Dynamic Web Project and then following the steps of Dynamic Web Project Wizard. Create a new folder wsdls under WebContent. 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. f.
37

Select wsdl generated from the Siebel Client and Click Finish. Now, you can see the wsdl under wsdls folder
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. b. After launching RAD, in the Navigator View identify the imported WSDL. 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. All the generated java files can be viewed under the project folders.

d.

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 Controller SOAP Servlet

HTML Input

proxy

SOAP HTTP

Siebel Application Server Siebel Object 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. b. Navigate to the Integration Objects list in explorer. 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. Choose File > New Object... to display the New Object Wizards dialog box. Select the EAI tab and double-click the Integration Object icon.

2.

3.

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. 9.

Click Finish to complete the process of creating a new Siebel integration object. 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.
8/2/2006 2006 IBM Corporation

57

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. 4.
59

Click Start to start the validation Process Review the report and modify your integration object as needed
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. 2. Start Siebel Tools. Select and lock the project you want to associate your business service with. Select the Business Services object in the Tools Object Explorer. The list of predefined business services appears in the right panel. Choose Edit > New Record to create a new business service. Type a name for your business service in the Name field. Type the name of the project you locked in Step B, in the Project field. Choose the appropriate class for your business service, from the Class picklist.
8/2/2006 2006 IBM Corporation

3. 4. 5. 6. 7. 8.
65

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. Choose Edit > New Record to create a new method. Type the name of the method in the Name field.

2.

3.

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. Right-click to display a pop-up menu. Choose Edit Server Scripts. Select either Siebel eScript or Visual Basic for your scripting language. Service_PreInvokedMethod is selected as the event handler. Type your script into the Script Editor.

2. 3. 4.

5.

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. 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 Defines both events and parameters to signal and determine behaviors based on the initiation of workflow processes, search specifications, and Row Id. Defines events regarding debugging information and responses from the XML parser.

SAPSubsys

Workflow

XMLCnv

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. Choose Edit > New Record to create a blank business service subsystem record. Choose an existing business service subsystem name from the Subsystem picklist.

2.

3.

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. Choose Edit > New Record to create a blank user property record. Type the name of the user property in the Name field. Type a value in the Value field. The value can be an integer, a string, or a Boolean.
8/2/2006 2006 IBM Corporation

2. 3. 4.

73

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. 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.

2.

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. 6.

From the link bar, select Scripts. Write your Siebel eScript or VB code in the Business Service Scripts list applet. Click Check Syntax to check the syntax of the business service script.

7.

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. 2. Navigate to Site Map > Administration - Business Service > Simulator. In the Simulator list applet, Click New to add the business service you want to test. Specify the Service Name and the Method Name.

3.

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 #. 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. 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. The result appears in the Output Property Set applet.

5.

6.

7.

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. 2. From within Siebel Tools, check out (for local use) or lock (for server use) the project which contains the Workflow objects. 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. In the Workflow Process OBLE, right-click and select New Record to create a new workflow process record. In the Process Name field, give the workflow a name. 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. In the Description field, enter a description. Use this field to describe the purpose of the process and any special requirements or notes.

3. 4. 5.

6.

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. 8. 9. In the Business Object field, choose the business object that the workflow process involves. In the Workflow Mode field, choose the type of workflow process: longrunning, interactive, or service. 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. 5.

Navigate back to Siebel Tools and click the Start button. 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.
8/2/2006 2006 IBM Corporation

88

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. When you are finished, click the Stop button to terminate the simulation.

7.

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. With the workflow process selected, click the Activate button. 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. Set the deployment parameters for the workflow process: activation date, expiration date and replication. Set the monitoring level in the Monitoring Level field.

2. 3.

4. 5.

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.
94

The next page displays messages generated during the process. Click Finish.
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. b. c. Choose Edit > New Record to create a new business service. Type a name for your business service in the Name field and name of project you locked. 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. Click on New to create new Inbound Web Service corresponding to Business Service you created following the previous steps.

2.

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. 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.

4.

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. 2. Set the UseAnonPool parameter in the eapps.cfg (SWE plug-in) file under [/eai_anon_enu] as follows: UseAnonPool = TRUE 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:
8/2/2006 2006 IBM Corporation

103

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. 2. Create a Java Bean, say Conversion with covertPoundToKg etc. 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. 3. 4. In next panel, select the Java Bean created under the project Next, select Service Project and EAR project. 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.
111

In the Next Panel, Click Finish.


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. 2. Importing WSDL file using Siebel Tools. Importing run-time data about external web services.

Steps to import WSDL file using Siebel Tools 1. 2. 3. 4. Launch Siebel Tools. Create a new project and lock the project, or lock an existing project. Choose File > New Object... to display the New Object Wizards. 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. 6. Click Next to view and verify a summary of your import information. 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 clientside 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. 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.
8/2/2006 2006 IBM Corporation

3.

116

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. 2. 3. Restart the Siebel Server with a recompiled version of the SRF file that includes the new objects created by the Web Services Import Wizard. Navigate to the Administration - Web Services screen > Outbound Web Services view in Siebel Client. 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. 5. Specify the export file created by the Web Services Import Wizard. 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. 2. Navigate to the Administration - Business Service > Simulator view. 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. In the Simulator list applet, click New to add the business service you want to test. Specify the Service Name and the Method Name.

3. 4.

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. The result appears in the Output Property Set applet.
8/2/2006 2006 IBM Corporation

4.
122

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 messages 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. Select Outbound Web Services from the Web Services Administration view. Highlight the desired Outbound Web Service on Outbound Web Services List Applet.

2. 3.

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. b. Select Local Business Service in the Transport column. 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 tabsComponents, Parameters and Events. The bottom applet has two tabsEvents and Parameters. In the top list applet, select the Siebel Server that you want to configure. In the middle applet, click the Components tab. This list applet contains the components for the Siebel Server selected in the top applet.

2. 3.

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. 5. 6. 7. 8. Choose the relevant application object manager. In the bottom applet, click the Parameters tab. Set the Log Level to 4 for any or all of the Event Types. Navigate to the Components view. Select the EAI Object Manager component, and select the Component Parameters tab. Set the Enable Business Service Argument Tracing parameter to True.

9.

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 tabsComponents, Parameters and Events. The bottom applet has two tabsEvents 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. 3. In the top list applet, select the Siebel Server that you want to configure. 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. In the bottom applet, click the Parameters tab. This list applet contains the parameters for the Component selected in the middle applet. Set the Log Level to 4 for any or all of the following Event Types.

4.

5.

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 WebSphere Business Development Email: wfalk@us.ibm.com Tel: 1-512-823-6911 Mobile: 1-512-589-8343

Attappilly,Anilkumar WebSphere Business Development Email: anilk@us.ibm.com Tel: 1-650-352-6263 Mobile: 1-650-430-2172

146

8/2/2006

2006 IBM Corporation

You might also like