2Siebel Application Services Interfaces Overview
Siebel Application Services Interfaces Overview
This chapter provides general information about Oracle’s Siebel Application Services Interfaces (ASIs), the definition, benefits, and types of ASIs, and general examples of ASIs to give you an overview of this component. Topics include:
Defining ASIs
An Application Services Interface (ASI) is a release-independent interface published by Oracle that allows you to integrate Siebel applications with external applications. An ASI is a collection of related methods; each method contains input and output parameters. The methods and parameters are listed on the business service definition. Simple method parameters (such as a string or number) are defined directly in the service definition. Hierarchical method parameters are defined using integration objects.
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. ASIs use the standard metadata format, which makes ASIs language-independent, so they return the same value type regardless of language setting.
About the Two Types of ASIs
There are two types of ASIs—inbound and outbound.
Inbound ASI
An inbound ASI defines an interface for services provided by Oracle. External applications use this type of ASI to invoke Siebel-provided services.
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. For further details about data synchronization services, see ASI Data Synchronization Services. For more information about business services and workflows, see Business Processes and Rules: Siebel Enterprise Application Integration.
The dispatcher determines which service to invoke, according to the ASI configuration and transport protocols. The ASI determines whether the service request is a request-response operation (a response containing the status of the operation or the data retrieved) or a one-way request (where no response is required). ASIs are configured to have the same input and output argument (Siebel Message), and always return a response unless you change the ASI argument. External applications can use inbound ASIs, which can be exposed as a Web service, XML, or Java. The following image shows these processes.

Outbound ASI
An outbound ASI defines an interface from a Siebel application to an external application and provides a proxy to the external application that can be called from within the Siebel application. The Siebel application invokes this proxy to make a service request to the external application, soliciting information from the external service, which the Siebel database updates or displays to the user.
A workflow or a user interface event calls an outbound dispatcher. Based on the ASI configuration, the dispatcher invokes one of several services at runtime—Siebel Services, Partner Adapters, XML, or Web Services. The outbound dispatcher links a service name, interface, and transport or protocol binding to the ASI, which is also sent to the external application, as shown in the following image.

ASI Usage Examples
The example shown in the image in Inbound ASI Example demonstrates how to use inbound and outbound ASIs in the workflow.
Inbound ASI Example
A customer using an external application needs to update an account within the Siebel database. As shown in the following image, an external application invokes an inbound ASI, Siebel Account, to retrieve the correct customer information from the Siebel database using the method, QueryById.
In the External Account proxy step, an outbound ASI is called, and the account information is sent to the external systems for processing.
After the update is completed in the external system, the response is passed to an inbound ASI, Siebel Account, to update the information in the Siebel database, using the Synchronize method.

For a more detailed description of this example, see Customizing Workflows to Use ASIs.
Outbound ASI Example
The following example uses an outbound ASI to retrieve information and display it to the user.
A customer using a Siebel application might need to check the inventory of a product, Request ATP Check, to fulfill an order. The Siebel application sends an outbound request to the external system, retrieves the information, and displays it to the user.