2Overview of Siebel EAI

Overview of

This chapter describes an overview of Oracle’s (Siebel EAI). It includes the following topics:

About

In order to drive revenue growth, increase productivity, and gain visibility to business performance, an organization must integrate business processes across a large number of disparate applications. Because business is accelerating, an organization must integrate and streamline business processes in order to achieve the agility that is required to respond to changing customer and market demands. This integration imperative is even more pressing because supply and demand chains are increasingly interdependent, requiring an organization to integrate an extended enterprise to make sure the viability of the entire partner ecosystem.

To meet these requirements, Oracle continues to enhance the integration tool set that exists within Siebel applications.

    Siebel Enterprise Application Integration () is the set of products on the Siebel Business Platform that includes tools, technologies, and prebuilt functional integrations that facilitate application integration. Some of the features provided by include:

    • Provides components to integrate Siebel Business Applications with external applications and technologies within your company

    • Works with third-party solutions, such as solutions from IBM, TIBCO, WebMethods, and so forth

    • Provides bidirectional, real time and batch solutions to integrate Siebel applications with other applications

    • Provides a set of interfaces that interact with each other and with other components within a Siebel application. Some of the features that these interfaces provide include:

    • Provides a flexible, service based architecture that is built on top of configurable messages using XML and other formats

    • Provides compatibility with IBM MQSeries, Microsoft MSMQ, Sun Microsystems Java and J2EE, XML, HTTP, and other standards.

    • Provides access of internal Siebel Objects to an external application

    • Takes advantage of prebuilt adapters and enterprise connectors

    • Provides compatibility with third-party adapters and connectors

    • Provides data transformation

    • Integrates external data through virtual business components and external business components

    • Provides a graphical business process designer, programmatic interfaces, and a high volume batch interface

      About Components

      This topic describes components in . It includes the following topics:

      A legacy application, such as purchasing or accounting, can contain critical information that must coexist and integrate with a Siebel application. A business-to-business interaction requires that customer, order, and account information be shared with partners across a firewall. provides components that can be used individually or together with a toolkit from an EAI vendor, including XML support in adapters and connectors, a virtual business component, or Java Beans.

        and XML

        XML is increasingly the format of choice for data exchange between an application and a partner organization. The metadata definition for XML is in the form of XML Schema Definitions (XSD) or Document Types Definitions (DTD). Because Siebel Integration objects can be represented as XSD, another application can capture metadata from a Siebel application and understand how to format an XML document that must be sent to a Siebel application. Data in a Siebel application can be represented as XML and sent over a standard protocol such as HTTP. provides components that allow bidirectional exchange of XML documents over the firewall using the HTTP protocol. This exchange can be made secure at the transport layer by using the HTTPS protocol.

        supports XML for an outgoing or incoming message. can be configured to use an XSD or DTD that is externally specified to define external integration objects. Siebel Tools includes an Integration Object Wizard that can be used to import and process an external XSD or DTD and to generate these external integration objects that represent the XSD or the DTD.

        A transport adapter, whether built by Oracle or built by a partner, can use this business service to dynamically look up the content in an XML document or in a document that uses another format, then route the message based on content from the document. The message can be routed to a workflow process or to another business service within a Siebel application.

          Adapters and Connectors

          provides adapters and connectors to help create an integration between a Siebel application and an external application. Other connectors are also available through partners for Siebel Business Applications. For each supported business process, the connectors include data mapping between the exchanged entities, and sequencing and error handling.

            Adapter

            An adapter is a component that provides a low level interface to allow one application to talk to another application. The three types of adapters available in include: Siebel EAI adapters

            • EAI Siebel Adapter. The EAI Siebel Adapter business service is specifically designed to interact with the Siebel business object layer. It is a business service in a Siebel application that can use an XML document as input, or can use a property set that conforms to an integration object definition in the Siebel system. EAI Siebel Adapter can then query, insert, update, delete, or synchronize data with the Siebel business object layer.

            • EAI UI Data Adapter. The EAI UI Data Adapter business service allows a Web application that is custom built to access business components and business objects. This adapter publishes strongly typed APIs to allow data centric object manager operations, such as insert, delete, update, query or execute. The EAI UI Data Adapter supports the query by example and the predefined query.

            • Transport Adapter. A transport adapter is a business service within that is designed to communicate with other protocols and technologies that exist outside of a Siebel application. A transport adapter transports data from the Siebel system to another system:

              • The HTTP transport in allows a Siebel application to communicate over the HTTP protocol.

              • The MQSeries adapter allows a Siebel application to communicate with the IBM MQSeries messaging system.

              • The MSMQ adapter allows a Siebel application to communicate with the Microsoft MQ messaging system.

            For more information on the EAI Siebel Adapter and the EAI UI Data Adapter business services, see Integration Platform Technologies: Siebel Enterprise Application Integration.

            For more information on transport adapters, see Transports and Interfaces: Siebel Enterprise Application Integration.

            Note: The Siebel Bookshelf is available on Oracle Technology Network (OTN) and Oracle Software Delivery Cloud. It might also be installed locally on your intranet or on a network location.

              Connector

              A connector provides low level connectivity to another back office application, such as SAP or Oracle. It also includes the business processes that are used to connect to the external application. For example, the Siebel Connector for SAP R/3 provides connectivity using BAPI and IDOC transport adapters, and predefined business processes. Using the connectors, you can exchange customer, order, and product information between a Siebel application and another Oracle application or SAP.

              For more information, see Siebel Connector for SAP R/3.

                Third-Party Connector

                Your organization might be required to integrate multiple applications with one another, such as Siebel applications, SAP, Oracle, I2, and so forth. You might require an EAI solution from an EAI vendor. These vendors work closely with Oracle to develop adapters for a Siebel application that use . Oracle uses a program that makes sure that these adapters work according to Oracle standards.

                  and Business Components

                  This topic describes usage with business components.

                    and the Virtual Business Component

                    A Virtual Business Component (VBC) is a mechanism in by which data from an external system is viewed in a Siebel application without having to replicate that data within the Siebel database.

                    For example, assume an end user accesses detailed credit card information from a mainframe system for a particular customer account, which is viewed in the Siebel application interface. In this case, the basic customer account data, such as account number, name, and so forth, is stored in a Siebel application while the detailed transaction information on the credit card account for that customer is stored in an external database. The detailed transaction information for a particular account is retrieved from the external system on demand without replicating that information in the Siebel application.

                    A VBC is configured in Siebel Tools and uses business services to access data from an external system. A VBC can use a standard transport, such as MQSeries, HTTP, and MSMQ, to query, insert, and update data. A VBC also uses the XML Gateway Service.

                      and the External Business Component

                      An External Business Component (EBC) is a mechanism in that provides access to relational data sources that reside in a non Siebel table or view that uses a Siebel business component. Unlike a VBC that requires a business service, an EBC can use a Siebel database connector to access data.

                      An EBC is configured in Siebel Tools by using a Table object definition in the Siebel Repository, and a physical table that resides in the same Siebel database instance or subsystem that contains other Siebel tables.

                        with Java and J2EE

                        Siebel Business Applications provide standards based technologies that allow you to access J2EE components from a Siebel application, and supports the creation of Java and J2EE components to access Siebel objects. For more information, see Transports and Interfaces: Siebel Enterprise Application Integration.

                          Access to a Java or J2EE Component from a Siebel Application

                          Siebel Business Applications provide three mechanisms to start Java and J2EE components:

                          • Web Services

                          • The Outbound HTTP adapter

                          • Java Business Service

                          When interacting with a J2EE component that is published as a Web Service, a Siebel application can use the Web Service Description Language (WSDL) document that describes the service and operations, then generate a proxy Business Service that allows the Siebel Business Application to call the Web Service just like it does with a local object. When the Business Service is called:

                          1. The Object Manager detects that the Business Service is a proxy to a Web Service

                          2. The appropriate Simple Object Access Protocol (SOAP) message is generated

                          3. The request is dispatched by using a configured transport, such as HTTP

                          For more information on Web Services, see About Web Services.

                          Additionally, allows you to interact with J2EE components using the Outbound HTTP transport adapter. You can use this technique when you include external content within the Siebel user interface, or when the component you must interact with does not support a SOAP or WSDL interface.

                          The Java Business Service is a business service that allows a custom business service to be written in Java and accessed from the Siebel code:

                          • Allows a message to be sent or received though a JMS. The JMS Receiver server component, which is similar to the MQ Series Receiver component, allows for asynchronous receipt of messages, except you use the EAI JMS Business Service instead of the EAI MQSeries Server Transport.

                          • Uses the Java Native Interface API that is provided by Java Virtual Machines (JVM) and native code interaction. It is a widely used technology that is used for writing JDBC drivers.

                            Access to a Siebel Application from a Java or J2EE Component

                            The ways that a Java and J2EE component can request information from a Siebel application include:

                            • Java Data Bean. The Java Data Bean is a collection of Java classes that allow a developer to interact with a variety of Siebel objects, such as business objects, business components, and so forth. With this interface, you can develop Java and J2EE components that interact with a Siebel application.

                            • Siebel Resource Adapter. The Siebel Resource Adapter plays a central role in the integration and connectivity between a Siebel application and a Java application server. It serves as the point of contact between application components, application servers and enterprise information systems. Resource adapters, along with the other components, must communicate with each other based on well defined contracts that are specified by the J2EE Connector Architecture.

                            • Web Service. Web Services are emerging as an important technology for exposing application functionality that is independent of the underlying technology used to provide that functionality. Release 6.x introduced business services that could be called through XML over HTTP and MQSeries. This functionality is now the basis for supporting Web Services. Siebel Business Applications provide support for Simple Object Access Protocol (SOAP) and Web Services Definition Language (WSDL). These two standards provide the basis for Web Services and allow for interoperability between .NET, J2EE, and leading packaged applications, such as Siebel Business Applications.

                              For more information, see About Web Services.

                            • Java Message Service. Enterprise messaging is recognized as a tool for building enterprise applications. The Java Message Service (JMS) is a standard Java API that is used to access an enterprise messaging system. JMS is part of the Java 2 Platform, Enterprise Edition (J2EE). JMS supports the ability to asynchronously send and receive business data and events. JMS defines a common enterprise messaging API that supports a wide range of enterprise messaging products. JMS supports both message queuing and publish and subscribe styles of messaging.

                              JMS is not a separate product. It is the specification of a common API for enterprise messaging. A JMS provider that is supplied by an enterprise messaging vendor is required in order to use it. Using the Java Business Service (JBS) feature, the JMS Transport is a feature that provides access to the JMS providers for a third-party vendor. A JMS provider is the implementation of the JMS API for a particular vendor. For example, IBM implements a JMS provider for their MQSeries product, and BEA implements a JMS provider for their Weblogic product.

                              For more information, see Transports and Interfaces: Siebel Enterprise Application Integration.

                              and Object Interfaces

                              A Siebel application supports several programmatic interfaces to facilitate communication between an external application and a Siebel application. These interfaces include:

                              • COM Data Control

                              • Java Data Bean

                              • Web Client Automation Server

                              • Mobile Web Client Automation Server

                              • COM Data Server

                              For more information, see Siebel Object Interfaces Reference.

                                and Message Based Integration

                                The following illustrates how supports message based integration with an external application, where the Siebel application is the initiator of the request or the receiver.

                                Configurable and Upgradeable Integration

                                  and Integration Objects

                                  An integration object is the contents of messages that are exchanged, as described in and Message Based Integration. An integration object is defined in Siebel Tools.

                                  The types of integration objects include:

                                  • Siebel integration object. Data to be loaded into or read from a Siebel Business Object.

                                  • External integration object. Data received from or sent to the external application.

                                  A configuration engine provides configurable data transformation to match the difference in the way that entities are represented, while integration objects represent the information exchanged.

                                  A Siebel integration object is defined as a subset of a Siebel business object. The map between an integration object and the business object is maintained in the Siebel Repository. EAI Siebel Adapter is a predefined business service that uses a Siebel integration as input, then calls the appropriate business object APIs to operate on the object called. External integration objects are based on external metadata. This metadata is in the form of XML Schema Definitions (XSD), Document Type Definitions (DTD), External Data Representations (XDR), SAP BAPIs and SAP IDOCs, and metadata for an Oracle application. Siebel Tools provides wizards to access this metadata from the external application, and to create external integration objects that are based on that metadata within the Siebel repository.

                                    and Data Transformation

                                    transforms the data that is expected by a Siebel application, which is the internal integration object, to the data that is expected from the external system, which is the external integration object. Siebel Data Mapper is a declarative data mapper that is used to perform the transformation. The EAI Data Mapping Engine is a run-time engine that implements complex domain and structure mapping.

                                      and Workflow Process Control

                                      To achieve integration at the process level between a Siebel application and an external application, the Siebel Business platform supports workflow control. You define the integration process by using the Workflow Process Designer in Siebel Tools. A workflow process is executed in an application object manager as a business service. A business service can be a prebuilt component, such as a transport adapter or the Siebel Data Transformation Engine, or it can be custom developed by using one of the Siebel Scripting languages. A workflow process can also be executed in the Workflow Process Manager server component. For more information, see Siebel Business Process Framework: Workflow Guide.

                                        About Interfaces for Siebel Application Services

                                        A Siebel Application Services Interface (Siebel ASI) is a prebuilt interface to Siebel business processes. This interface exposes Siebel functionality as services to the Siebel application environment, and allows a Siebel business process to use services provided by an external application. A Siebel ASI provides ease of maintenance and can be configured by an administrator using the Web Services Administration screens which do not require detailed knowledge of .

                                        Because the integration interface to the Siebel application remains unchanged with each upgrade to a release, the integration interface is independent of a specific release. The interfaces in Siebel ASI are extensible and are accessible as a Web Service or through a third-party Enterprise Application Integration (EAI) solution. These benefits simplify integration between a Siebel application and an external system, resulting in a significant reduction in the costs associated with integration, maintenance, and upgrades.

                                        An ASI is published in a standard metadata format, such as Extensible Markup Language Document Type Definitions (XML DTD), and Web Services Descriptive Language/XML Schemas (WSDL/XSD). They are built using the ASI Framework.

                                        For more information, see Siebel Application Services Interface Reference.

                                          Types of ASI Interfaces

                                          An ASI is either an inbound ASI and or an outbound ASI.

                                          Inbound ASI

                                          The following illustrates how an inbound ASI is used to accept data into a Siebel application from an external system by using Siebel workflow processes, Siebel business services, and Siebel data synchronization services through the Siebel Object Manager.


                                          Inbound ASI

                                          Outbound ASI

                                          The following illustrates how an Outbound ASI is used to send data that is based on a UI event or a trigger in a Siebel workflow process.


                                          Outbound ASI

                                            About Web Services

                                            A web service is programmable application logic that is accessed by using a standard Internet protocol, such as HTTP, and data formats, such as XML. Because a web service combines component based development with the Internet, it is reused regardless of how the service is implemented.

                                            A web service is based on communication protocols that include HTTP, XML, Simple Object Application Protocol (SOAP), and Web Services Description Language (WSDL). A web service must be developed on a computer platform and in a development environment that can communicate with another web service that also uses these common protocols.

                                            Features provided with a web service include:

                                            • WS Security Support. The Web Services Security specification is a Web Services standard that supports, integrates, and unifies multiple security models and technologies, allowing a variety of systems to interoperate in an environment that is independent of a particular platform or language.

                                            • WS-I Compliance. By providing the ability to publish a Siebel Web Service as a Document Literal or Remote Procedure Calls (RPC) Literal bound Web Service, the Siebel application conforms to the specification, as defined by the (WS-I) Basic Profile specification from the Web Services Interoperability Organization. Adherence to this specification makes sure that the Siebel application can interoperate with an external provider of a Web Service.

                                            • Web Services Cache Refresh. The Web Services cache stores the global administration information that is manipulated in the Inbound and Outbound Web Service administration screens. The information contained in these services might require a refresh in order to provide more current or correct functionality. An administrator can directly refresh the memory cache in real time, without stopping and restarting Siebel services.

                                            For more information, see Integration Platform Technologies: Siebel Enterprise Application Integration.

                                              Data Access Control

                                              You can administer access control by associating responsibilities with business services and business service methods. The Siebel application is configured so that an end user, who accesses a Siebel application through a custom built user interface for a Web application, is provided different levels of access to the Siebel database. For more information, see Siebel Security Guide.

                                                About and Unicode Support

                                                A multilingual company that includes divisions in different countries who use different languages can use Unicode to deploy a single instance of a Siebel application release. However, this technique presents a unique integration challenge because the other systems in the multilingual IT landscape for the company might or might not allow Unicode. Unicode deployment modes that address this issue include:

                                                • Unicode Siebel Server with Unicode database

                                                • Unicode Siebel Server with traditional code page database

                                                For these deployment modes, integrating Siebel Business Applications with an external application might involve data replication, data sharing, or both data replication and data sharing. If the code page database is used, and if the code page of the external system matches the code page of the Siebel Database, then data replication is allowed.

                                                  Exchanging Data Between Applications that use Different Code Pages

                                                  If data is exchanged between applications that use different code pages, then the numeric representation of the code point for each character must be converted from the standard that is used by the source code page, into the equivalent character that is used by the destination code page. This conversion requirement is true when a character is converted from:

                                                  • Unicode to a traditional code page. For example, UTF-16 to Shift-JS.

                                                  • A traditional code page to Unicode. For example, Shift-JS to UTF-8.

                                                  • One type of Unicode to another type of Unicode. For example, UTF-8 to UCS-2.

                                                  If there is no equivalent character in the destination code page, and if the conversion cannot be performed, then a conversion error is generated. Depending on the configuration, the conversion error might either terminate the current transaction, or the transaction might proceed by substituting replacement characters, as necessary, and ignoring the conversion error. For more information, see Transports and Interfaces: Siebel Enterprise Application Integration.

                                                  The following illustrates how supports different adapters, such as COM and MQSeries, to integrate with an external application. Abilities inherent with each of these adapters include:

                                                  • Work with the character encoding, as specified in the picklist

                                                  • Perform conversion to or from the external encoding

                                                  • Handle conversion errors

                                                  Unicode Conversion

                                                  COM and Java Bean Unicode Protocols

                                                  COM and Java Bean are Unicode protocols. The sender and the recipient are responsible for converting the character sets. For example, because interfaces for a Siebel application automatically handle the conversion, these protocols are not required to perform a conversion. Error handling is handled differently by these protocols when compared to the other adapters.

                                                    Character Set Encoding

                                                    components and adapters support code page conversion and allow you to specify how to handle a conversion error. The business services in which the Character Set Conversion for the Text Data argument is available include:

                                                    • EAI MQSeries Server Transport

                                                    • EAI DLL Transport

                                                    • EAI File Transport

                                                    • EAI HTTP Transport

                                                    • EAI MSMQ Transport

                                                    • EAI XML Converter

                                                    • EAI JMS Business Service

                                                    • Transcode

                                                    If one of these business services is called from a workflow process, then the valid set of encodings is controlled by a picklist. However, if the business service is called through a script or other similar mechanism, then the character set name is supplied textually. For example, if the Siebel application communicates with an external system through the EAI MQSeries Server Transport business service, then the called of EAI MQSeries Server Transport to send or receive a message also specifies the character set that the external system sends or expects to receive.

                                                    Target character encoding choices include:

                                                    • None

                                                    • UTF-8 Unicode

                                                    • UTF-16 Unicode

                                                    • Traditional Code page

                                                    For more information, see Siebel Global Deployment Guide.

                                                      Inbound and Outbound Unicode Scenarios for XML Messages

                                                      Because the memory format for a Siebel application is Unicode, if an XML message is sent or received, then the message must be converted to the Siebel format or to a character set for the external system. It is only necessary to perform this conversion one time for each communication.

                                                      The conversion is performed in one of the following ways:

                                                      • Using the EAI XML Converter business service in your workflow process

                                                      • Using the transport business service

                                                      • Using the Transcode business service when neither of the first two conversion techniques described in this list are available

                                                      Note: Do not convert your data more than one time for each communication. Double conversion corrupts your data. If you use an EAI XML Converter in your workflow process, make sure your transport business service is defined to ignore conversion.

                                                        Transcode Business Service Usage with Non XML Data

                                                        If non XML data is exchanged, then you can use the Transcode business service in a workflow process to validate or convert data from one encoding to another encoding. You can use this technique for inbound and outbound communication.

                                                          Transcode Business Service Usage with Outbound Communication

                                                          Consider an outbound communication between a Unicode Siebel application and a non Unicode external system that uses a Unicode communication channel, such as XML. In this situation, ways in which you can use methods on the Transcode business service include:

                                                          • Use the Validate method to execute preemptive logic in order to avoid a character conversion failure on the external system

                                                          • Use the Validate method to log a character conversion error that occurs on the external system

                                                          • Use the Convert method to use a substitute character to avoid an error on the external system

                                                            Transcode Business Service Usage with Inbound Communication

                                                            Consider an inbound communication between a non Unicode Siebel Database and a Unicode external system that uses a Unicode communication channel such as XML. In this situation, ways in which you can use methods on the Transcode business service include:

                                                            • Use the Validate method to check that the data sent to the Siebel Database is stored without a character conversion error

                                                            • If there is a character conversion error, then use the Convert method to use substitute characters, when appropriate

                                                            For more information, see the Siebel Global Deployment Guide.

                                                              About and Legacy Systems

                                                              In an encapsulated environment, multiple similar legacy applications are rationalized through the construction of high level APIs that hide underlying complexity. The following illustrates how message oriented middleware can help a business perform transaction decomposition, data mapping, legacy sequencing, and result aggregation. With , the Siebel Business platform generates and processes the high level request and response messages that are expected by the encapsulated environment. Examples of message oriented middleware include:

                                                              • IBM MQSeries Queue Manager and MQSeries Integrator

                                                              • A custom development environment that is based on Enterprise Java Bean, such as IBM WebSphere

                                                              Legacy Encapsulation

                                                              About Integration Strategies

                                                              This topic describes an overview of integration strategies.

                                                                Peer-to-Peer Integration

                                                                The following illustrates peer-to-peer integration, where multiple applications interact with each other through a central software bus. The software bus provides a uniform interface to each application. The bus also provides a number of services that can range from simple data transformation, to a more complex publish and subscribe scheme that allows a set of applications to automatically receive copies of events that are of interest, thus keeping these applications synchronized with the rest of the organization. supports the services that the software bus expects from each participating application.

                                                                Peer-to-Peer Integration

                                                                An enterprise can adopt a software bus strategy for application integration. Master data is partitioned across systems, and the software bus middleware implements a messaging architecture to exchange application data. The messaging functionality ranges from simple message routing, in batch or real time, to a publish and subscribe scheme.

                                                                Note: supports both batch and real-time integration. Because batch integration optimizes interactions for high throughput, it uses computing resources more efficiently. By contrast, real-time integration optimizes response time.

                                                                  Application Connection with an Integration Server

                                                                  Integration can be achieved by connecting an application through an integration server that provides an information bus or a hub and spoke architecture to tie disparate applications together. The benefit of using an integration server is that it reduces the number of physical connections.

                                                                  The following illustrates how each application connects only one time, through an adapter, to the integration server. The integration server also provides a reliable integration infrastructure that is successfully implemented in a large and critical deployment.

                                                                  Integration Server

                                                                  A Siebel application can integrate with an integration server by using an adapter provided by a partner, such as IBM, TIBCO, or WebMethods. For information about supported integration servers, see Siebel System Requirements and Supported Platforms.

                                                                    Other Integration Strategies

                                                                    Some of the other integration strategies that can be used include:

                                                                    • Multiple Application Process Integration. A successful business requires business processes that span multiple applications. For example, a quote to cash business process spans credit check, inventory management, billing, shipping, and other application services. facilitates multiple application business processes.

                                                                    • Master Data Partitioning. Master data refers to the set of data that is required by a community of applications. Master data is partitioned between applications. Although each piece of data is owned by one application, the community imposes rules for the creation and update of master data.

                                                                    • Data Sharing. allows Siebel Business Applications to access external data in real time without having to maintain a local, duplicate copy. This is a common requirement in the financial services industry, where the file for customer information typically resides on a mainframe.

                                                                    • Presentation Layer Integration. supports client integration in a Web client environment. Client integration includes integrating applications at the user interface level, either by juxtaposing the screens within a portal and coordinating the content, or by screen scraping the content of one screen into the content of another screen.

                                                                    • Data Mapping and Transformation. Data that is shared between applications might not be structured or encoded in the same way. To facilitate integration of data structures that are not identical, specifies mapping and transformation rules, including filtering and structural changes.

                                                                    • Centralized Application Administration. Siebel Business Applications participate in an application management framework, which facilitates overall administration of applications.

                                                                    • Upgradeable Integration. The Siebel Business platform is designed so that integration points are migrated to a new release of Siebel Business Applications and adapted to new releases of external application packages. This capability means an organization can use a prior investment in their integration when upgrading to a new version of a Siebel application, or to a third-party application.