Application Services Interface Reference > Overview > What Are 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. External applications use this type of ASI to invoke Siebel-provided services.

An external application makes an inbound request that is received by the inbound dispatcher. 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 Data Synchronization Services. For more information regarding business services and workflows, see Business Processes and Rules: Siebel eBusiness Application Integration Volume IV.

The dispatcher determines which service to invoke based on 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. Inbound ASIs can be exposed as a Web Service, XML, or Java for external applications to use. These processes are illustrated in Figure 1.

Figure 1.  Inbound ASI

Click for full size image

Outbound ASIs

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/protocol binding to the ASI, which is also sent to the external application as shown in Figure 2.

Figure 2.  Outbound ASIs

Click for full size image

ASI Usage Examples

The following example in Figure 3 demonstrates how to use inbound and outbound ASIs.

Inbound ASI Example

The following example uses both inbound and outbound ASIs in the workflow.

A customer using an external application needs to update an account within the Siebel database. As shown in Figure 3, 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.

Figure 3.  Update Account

Click for full size image

For a more detailed description of this example, see Customizing Workflows.

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.


 Application Services Interface Reference 
 Published: 15 May 2003