UWL custom connector is one of the least explored topics until now and very rarely customers go for it. In one of my projects I had come across a requirement of enabling tasks & activities coming out of legacy (non-SAP) systems to be processed in the Universal Work List. This blog is a detailed explanation of UWL & custom connector concepts.
The Universal Worklist (UWL) provides unified and centralized way to access user’s work and the relevant information in the Enterprise Portal. It collects tasks and notifications from multiple provider systems – Business Workflow, Java Ad Hoc Workflow, Alert Framework and KM Recent Notifications in one list for one-stop access.
UWL connects to multiple provider systems through a uniform connector API. UWL interfaces with a connector, which in turn knows how to find and interact with a provider. The data provided by a provider, is mapped/converted into UWL items (task, notifications etc.) by the corresponding connector, before being sent to UWL where it is cached and rendered.
UWL already ships with a number of connectors (objects implementing the connector API). These are:
• WebFlow Connector – fetches work items from SAP Business Workflow.
• AdHocWorkflow Connector – fetches collaboration tasks from SAP AdHoc
• Alert Connector- fetches Alerts and follow-up activities from SAP Alert
• ActionInbox Connector- fetches document related notifications from SAP
• Generic ABAP Connector1 – For ABAP based providers, UWL simplifies the connector API by doing much of the plumbing work in this Generic ABAP connector. The ABAP based provider needs to implement the interface IF_UWL_ITEM_PROVIDER to supply items to UWL.
In most cases, for a provider that wishes to include its items (data) into UWL, one of the above connectors will suffice.
UWL Custom Connector is required for integrating non SAP application tasks into the UWL. Custom Connector uses the SAP’s UWL API’s for displaying non SAP tasks into the portal UWL. In some cases we may require to display non SAP applications tasks in UWL, in this scenarios we can use UWL Custom Connector project.
The following picture illustrates the basic idea of Custom Connector.
Provider is an application which fetches the tasks from the back end. A provider can be Java, Webservice or any application which can connect to the back end and bring the tasks.
Prerequisites for the connector is:
Java (deployable unit in Web Application Server)
JCo (SAP systems)
Web based protocols
Retrieve Work Items and render Initial Worklist
In the Portal, the user navigates to a page with the Universal Worklist.
The Portal Run Time initializes the UWL Portal Component and provides it with the request. The Portal Component prepares to render the UWL navigation bar and the default item list view.
The UI requests the user specific navigation model and the default list view information from the View Manager through the UWL Service API.
The View Manager retrieves the required information from the configuration.
The UI requests the items which correspond to the list view from the item manager through the UWL Service API.
The item manager retrieves configuration information required to resolve the request.
There might be already items stored for the user in the service database. The item manger requests these items from the cache store.
The item manger has also to retrieve the items for the user from the configured provider systems which have to be pulled. The item manager provides the user credentials to the corresponding provider Connectors.
The Plug-In provider connectors connect to their provider systems to retrieve the work items and notifications for the user. The provider connector determines the type of the arriving items.
Depending on the item type, the provider connector might query additional custom attributes from object repositories, depending on the item type configuration. Note that the query for additional attributes for each item it an expensive operation. The provider connector might decide to return items with incomplete attributes to allow fast response times for the user. The additional attributes are still retrieved in the background and are available at subsequent requests.
The completed items (as well as the one with deferred attributes) are passed to the item manager through the Item Push API.
The item manager caches the new items for later requests.
The overall concepts of UWL custom connector was presented in this blog. The complete customization approach and the steps involved in legacy task enabling in UWL along with source will be published in the next blog.