Loosely Coupling Siebel and Oracle Service Cloud

Siebel Portlets are a new and exciting solution available with Siebel Open UI, that enables business logic and data held within Siebel to be rapidly exposed within other applications.

A common misconception with the emergence of cloud solutions is that businesses have to sacrifice investments and abandon existing on premise solutions. In fact, as addressed by Gartner and Forrester, utilising existing on-premise resources (and investments) alongside new cloud deployments as a hybrid solution, is among the top technology trends of 2014. At Boxfusion, we help customers with both Siebel application enhancements and Oracle CX Cloud applications - and increasingly with hybrid solutions, and that is the focus of this blog post.

Integration between any application, on-premise or cloud tends to involve a degree of complexity – data needs to be mapped, errors or failures dealt with. Reuse of integration even with the involvement of middleware can be time-consuming with complete rework required at least on one end of the integration. With Siebel Open UI there is a new approach available for integrating Siebel with other applications - Siebel Portlets. A Siebel Portlet can be embedded in an external application as HTML5, displaying context specific data. A Siebel Portlet is a cut down version of Siebel, for example a specific applet or view rather than the whole Siebel application. However this on its own only solves half of the issues of the traditional integration with Siebel as integration is only one way.

At Boxfusion, we have been busy extending Siebel Portlets to allow a ‘loosely coupled’ integration between Siebel and other applications. This approach allows data to be integrated into Siebel as well as displaying context specific Siebel data in the external application. The framework can be rapidly adjusted so that an existing Siebel Portlet can be reused with a different application without significant rework.

To display this approach we have built a use case of the loosely coupled Siebel Portlet integration where we have integrated Siebel with the Oracle Service Cloud (RightNow) customer portal and agent facing desktop UI - here we will focus on the use case integrating the Service Cloud customer portal with Siebel.

Siebel Portlet showing Siebel Products in an Open UI carousel in Oracle Sales Cloud Guide Assistance

Fig 1. Siebel Portlet showing Siebel Products in an Open UI carousel in Oracle Sales Cloud Guide Assistance

Use Case Background

  • Oracle Service Cloud Guide Assistance allows customers to identify the solution to their service inquiries, which could be an opportunity to cross sell other solutions or products related to the specifically defined solution.
  • A Guided Assistance would normally have multiple endpoints, each of which could equate to a different set of products or solutions that the customer could purchase. An existing on premise Siebel application is used by the call centre to take orders from customers. The goal therefore is to:
    • Allow the customer to order products in situ of the Guide Assistance solution
    • Create a contact record in Siebel if the contact does not exist - without the need for additional integration
    • Ensure only products relevant to the solution are displayed
    • Ensure that the solution can easily be modified for use with other cloud solutions such as Oracle Sales Cloud

Use Case Technical Overview

Data flow of loosely coupled integration between Oracle Service Cloud and Siebel via Siebel Portlet. Contact data is passed to Siebel via calling URL, allowing contact data to be synchronised between applications. Siebel Product Data is displayed in line of the Guide Assistance of Oracle Service Cloud.

Fig 2. Data flow of loosely coupled integration between Oracle Service Cloud and Siebel via Siebel Portlet

Oracle Service Cloud - Custom Guided Assistant widget

To enable the Siebel Portlet to be shown “inline” with the questions in Service Cloud, we needed to override the Guided Assistant widget JavaScript so that the “Call URL” method opens the target (Siebel Portlet) url as an iFrame, as opposed to opening in the existing/in a new window. We also needed to build functionality into the widget to process logged-in contact parameters and pass this data to the endpoint url so that Siebel could either identify the contact or create a new contact.

Loosely Coupled - Siebel Virtual Business Component

The integration is loosely coupled as neither Siebel nor Oracle Service Cloud has any knowledge of the other. Indeed it is a simple enough task to modify the integration to support integration with other applications, as it is simply a case of adding new entries to the map that specifies which incoming Siebel field name parameter names correspond.

Mapping of parameter names to Siebel fields

Fig 3. Mapping of parameter names to Siebel fields

Construction of iFrame URL and appending Siebel Portlet parameters. The HTML/JavaScript mapping does not use JQuery as the Agent Desktop does not support JQuery.

Fig 4. Construction of iFrame URL and appending Siebel Portlet parameters. The HTML/JavaScript mapping does not use JQuery as the Agent Desktop does not support JQuery

The Virtual Business Component (VBC) is the centre of the technical flexibility of this approach. If a VBC was not used then in our use case the Siebel Portlet would only be able to show Products and the functionality to couple contacts synchronisation between the applications could not be implemented. The VBC identifies if the contact exists in Siebel based on the contacts unique identifier passed from Oracle Service Cloud and if a matching contact is found, it’s details are updated - if not, a new contact is created. Finally, the VBC retrieves a list of products as specified by the search specification passed by the calling URL.

Siebel Portlet Applet

In this example the products are displayed as a carousel. This has been achieved using the out of the box Open UI Presentation Model and Physical Renderer for carousel applets. Presentation Model = siebel/listpmodel.js Physical Renderer = siebel/Tilescrollcontainer.js

In the web template of the Siebel Portlet Applet there are two sections: i) a list of records which will display the products (shown by default), and ii) a hidden section that has placeholders for the order reference number. A new presentation model and renderer have been written that unhides the order reference number section and hides the carousel products when the order product button is pressed.

Look and Feel

A new Open UI theme has been created in Siebel so that the look and feel of the Siebel Portlet applet can be modified without affecting other Siebel users. When the Siebel Portlet is integrated with a different application, this theme can be copied and modified and quickly harmonised with the calling application (in this case Oracle Service Cloud) by making simple CSS changes.

Summary

Siebel Portlets are a new and exciting solution available with Siebel Open UI, that enable business logic and data held within Siebel to be rapidly exposed within other applications. With our loosely coupled integration extension it adds new opportunities to reduce the cost of integration and improve business agility.

If you’d like to know more about Open UI or Oracle Service Cloud and the expertise Boxfusion can provide, you can read about our Open UI consulting services or our Service Cloud consulting services or get in touch with us and we’d be happy to discuss your requirements!