SiebelSupport

-Learning the sharing way :)

Friday, July 20, 2012

How Does SAI for Oracle Fusion Middleware Work?


SAI a.k.a Siebel Application Integration for Oracle Fusion Middleware provides a mechanism for making Siebel Web services available through Oracle WebLogic Server. It contains the components shown in Figure below.

 

SAI for Oracle Fusion Middleware Functional Components and Workflow

The functional components involved in processing an inbound Web service called
using SAI for Oracle Fusion Middleware are as follows

  1. A client application (5) sends a request that is processed by the Web service (4) deployed on Oracle WebLogic Server (2).
  2. This Web service deployment communicates through the Resource Adapter (3) to the Siebel Server (1) where the message is passed to the EAI Object Manager.
  3. Within the EAI Object Manager, the inbound message is examined and any XML Schema Definition (XSD) referenced in the message is presented to the XSD to the integration object transformation section (6).
  4. Next, a cache is consulted to see if an existing integration object is available, and if not, then a dynamic integration object (7) is created and loaded into the cache.
  5. This dynamic integration object is then used to pass the data through the target business service oand workflow process (8) and interacts with the Siebel business object layer (9).

SAI for Oracle Fusion Middleware Workflow
  1. The Siebel Server executes one or more instances of the Siebel EAI Object Manager.
  2. Oracle WebLogic Server executes one or more instances of the Resource Adapter and instances of the deployed Web services and other client applications.
  3. The Resource Adapter provides the communications channel between the Siebel Server and Oracle WebLogic Server.
  4. Siebel integration services are implemented as deployments within Oracle WebLogic Server architecture; these deployments include both specific SOAP-based services or generic Siebel RESTful Services.
  5. Client applications can be either internal or external to Oracle WebLogic Server instance.
  6. At runtime, the XSD referenced in any inbound message is examined, checked against a cache,and if required, converted to a dynamic IO.
  7. At this stage, the underlying cache for dynamic integration objects is queried and, depending on the result, a new cache entry is created. The new cache is based on the message format.
  8. Business services and workflow processes are the functional service components that provide access to Siebel CRM data through the Siebel Object Model.
  9. Business object and business components are representative of the Siebel Object Model through which Siebel data is transferred to and from Oracle WebLogic Server.

Thursday, July 19, 2012

Siebel RESTful Services


Siebel RESTful Services are a set of Java Platform, Enterprise Edition (Java EE) services that make available a Siebel Repository instance or a Siebel enterprise instance to a connected application or system. It provides a Web service architecture that defines how you use Web standards, such as HTTP and URIs (Uniform Resource Identifier).

Siebel RESTful Services provide an alternative to SOAP where custom development and the user experience requires maximum scalability and stateless operation. While SOAP Web services provide a substantial set of architectural and application server demands, Siebel RESTful Services require no more complexity than what is required to deliver Web pages over HTTP.

REST (Representational State Transfer) is not a standard. It is a collection of resources that includes the following components:

  • The URI for a Web service, for example: http://example.com/resources/freemoviestreet

  • The Multipurpose Internet Mail Extensions (MIME) type of the data that a Web service supports.Although this type is typically JavaScript Object Notation (JSON), eXtensible Markup Language(XML), or Yet Another Multicolumn Layout (YAML), it can be any valid MIME type.

  • The set of operations that a Web service that uses HTTP methods supports, such as GET, PUT,POST, AND DELETE.

You can use Siebel RESTful Services to do the following:

  • Access Siebel Repository metadata even if you are not familiar with other Siebel development environments, such as Siebel Tools or Siebel administrative interfaces.
  • Generate applications that interact with Siebel CRM user data.

Benefits of Using Siebel RESTful Services

One of the benefits of using RESTful services is that a session is not necessary so the overhead is lower and the performance may be better. When an application does not need to maintain a state between steps such as a shopping cart application would, and the interaction is supposed to be a small and quick one such as updating, creating or deleting a single record, RESTful services make sense. For more complicated interactions with the Siebel application web services are the preferred method.

Tuesday, July 17, 2012

How To Create Integration Object Instances Programmatically


Integration objects are metadata structures that represent hierarchical objects using components and fields.

Siebel integration objects allow you to represent integration metadata for Siebel business objects, XML, SAP IDOCs, and SAP BAPIs as common structures that the EAI infrastructure can understand. Because these integration objects adhere to a set of structural conventions, they can be traversed and transformed programmatically, using Siebel eScript objects, methods, and functions, or transformed declaratively using Siebel Data Mapper

For easy of demonstration the standard "EAI Account" integration object will be used.

To create the correct integration object (IO) instance programmatically, it is required that the following rules are followed:
1) The root property set must have its type set to "ListOf" concatenated to the IO name. (ListOfIOName)

2) The next property set of the hierarchy must have the root integration component (IC) name as its type. The root IC is the one that has no Parent Integration Component set. (RootICName)

3) All other IC's have the Parent Integration Component set. For those ICs you should always create a property set with type set to "ListOf" concatenated with the IC name and then add as child to this property set another one with type set to the IC name. Below is a sample structure to exemplify the idea.

ListOfICName
    ICName

This hierarchy must be created below the corresponding parent IC.

4) Repeat step 3 to all ICs that you want on the IO instance.

Below you will find an example of a general property set structure.

ListOfIOName
    RootICName
        ListOfICName1
            ICName1
                ListOfICName1_1
                    ICName1_1
        ListOfICName2
            ICName2

Example


For easy of demonstration we are going to use the EAI Account integration object with only some of its integration components.



Based on its hierarchy shown above, the integration object instance will have the property set hierarchy below:

ListOfEAI Account
    Account
        ListOfAccount_Business Address
            Account_Business Address
        ListOfContact
            Contact
                ListOfContact_Alternate Phone
                    Contact_Alternate Phone

The sample code below creates the above hierarchy.

...
1   // local variables & error handling are omitted for clarity
2   psConAltPhone.SetType("Contact_Alternate Phone");
3   psConAltPhone.SetProperty("Alternate Phone #", "555-5555");
4
5   psListOfConAltPhone.SetType("ListOfContact_Alternate Phone");
6   psListOfConAltPhone.AddChild(psConAltPhone);
7
8   psContact.SetType("Contact");
9   psContact.SetProperty("First Name", "John");
10  psContact.SetProperty("Last Name", "Smith");
11  psContact.AddChild(psListOfConAltPhone);
12
13  psListOfContact.SetType("ListOfContact");
14  psListOfContact.AddChild(psContact);
15
16  psAccBusAdd.SetType("Account_Business Address");
17  psAccBusAdd.SetProperty("Email Address", "john.smith@email.com");
18
19  psListOfAccBusAdd.SetType("ListOfAccount_Business Address");
20  psListOfAccBusAdd.AddChild(psAccBusAdd);
21
22  psAccount.SetType("Account");
23  psAccount.SetProperty("Name", "MyAccount");
24
25  // adding the children of the Account IC
26  psAccount.AddChild(psListOfAccBusAdd);
27  psAccount.AddChild(psListOfContact);
28
29  psListOfEAIAccount.SetType("ListOfEAI Account");
30  psListOfEAIAccount.AddChild(psAccount);
...

NOTE: The script is provided as an example only. To successfully use the script, you will need to define the local variables, set up error handling, and destroy objects.

Labels

ADSI authentication ADSISecAdpt apiinstaller.jar Applet User Properties Barcode fonts in PDF Best Practices BI Publisher BI Publisher 11g BI Publisher Desktop BI Publisher Desktop 10.1.3.2 BI Publisher template error BIP Performance tuning BUG 19469254 Create iPad Reports CRM on Demand R19 Deployment Guide - IP2014 Desktop Integration Siebel Agent (DISA) EAI Object Manager EnableURLCredentials ENTERPRISE NAME IS TRUNCATED DURING MIGRATION INSTALL IN LINUX PLAT Escripting External Business Components (EBCs) Generate Trigger Get a 20% Discount on Oracle Training How To Incorrect missing encryption key Incremental Repository Merge (IRM) Install Barcode fonts in BIP Server Integration Object IP2014 IP2014 Patch Set 1 IP2014 Patchset 2 IP2015 IP2015 Patchset 1 (15.1) IsRecordSensitive JDeveloper jqmtoolbarrenderer.js LDAP LDAPSecAdpt log level of SWSE Menu in Siebel Open UI new theme in Siebel 8.1.1.11 Open UI NFS OBIEE Integration on Siebel 7.8.2 Oracle Database XE Oracle Fusion Middleware Oracle Integration Cloud Services (ICS) Oracle WebLogic Server Override Custom Theme In Open UI Without Deleting The User Preferences Files Of All Users Performance Tuning Quiz Release Notes Responsive Web Design REST SAI REST SAP BusinessObjects Data Quality SavePreferences SBL-DAT-00222 SBL-DAT-00522 SBL-DBC-00107 SBL-SEC-10001 and SBL-DAT-00565 SBL-SEC-10018 Siebel - Oracle Real-time Scheduler Integration SIEBEL 8.1.1.14 ENVIRONMENT VARIABLE INSTALL ISSUE Siebel 8.1.1.8 Fix Pack Siebel 8.1.1.9 / 8.2.2.2 Siebel Administration Siebel Analytics Siebel BI Publisher Reports Siebel Composer Siebel Composer Developer Preview Siebel CRM 15.0 Siebel CRM 8.1.1.10/8.2.2.3 Siebel CRM Innovation Pack 2015 Siebel Delta Files (SDF) Siebel Email Marketing Siebel Filesystem Siebel Innovation Pack 2016 Siebel License Keys Siebel Open UI Siebel Open UI Manifest Siebel Release 15.1 Siebel Reports Siebel RESTful Services Siebel Server Cloning SPF Symbolic URL Synergy Open UI Theme Synergy Theme Open UI - Siebel CRM Innovation Pack 2015 Videos What is Workflow Policy OR

Tags