xBCML widgets prototype
Instant desktop access to the SAP functionality you need
Introduction
Desktop enterprise widgets are a light-weight, highly focused alternative to typical enterprise applications. Users don't need to launch a complex application or navigate to a particular view to find the enterprise data they need - a rich-client widget on the desktop gives them instant, always-on access to this information, allowing them to respond quickly and make decisions more effectively.
The SAP Business Suite offers a large number of powerful applications for the enterprise written using Web Dynpro. The XBCML widgets prototype makes every one of these applications - and all future applications written using Web Dynpro - immediately available as desktop widgets.
Here's a brief video of XBCML widgets in action:
Features
Enterprise-ready desktop widgets
The convergence of Web 2.0 and the enterprise means that the end-user experience provided by rich clients is increasingly expected from business applications. XBCML widgets offer every SAP enterprise application written using the Web Dynpro programming model the opportunity to work as a rich-client enterprise widget, presented through the SAP Business Objects BI widgets framework.
Each widget is as enterprise-ready as the SAP application backing it, and each can provide customers with added value for their investment in the Business Suite by making applications easier to use.
Minimal Development Effort
There's no need to modify existing applications, or to incorporate any widget-specific technology when developing new applications. There are no new programming models to learn or new development tools to use. Every Business Suite application written using ABAP or Java Web Dynpro is already capable of being an XBCML widget.
Technology
XBCML widgets are based on the XBCML protocol developed at SAP. This XML-based protocol is used to describe both an application's user-interface elements and to provide application data. This information is sent from an SAP ABAP or Java server to a client screen in response to application usage, and event information from the client can be returned to the server using this XML as well.
XBCML widgets technology leverages this infrastructure and the Flex Client (which is shipped with SAP NetWeaver 7.1+) to host SAP applications within desktop widgets running on rich-client platforms.
Figure 1
Figure 1 shows how it works. Standard SAP development tools are used to create applications based on the Web Dynpro or BSP programming models. Once they are deployed on SAP servers, these applications can be configured to produce XML in response to client requests. This XML is used to provide rendering information and application data to the clients. Events on the clients that require server handling can also be passed back using the same XML in a subsequent request.
Each XBCML widget client instance is based on the SAP Flex Client hosted in a Windows Form. When a particular XBCML widget instance - say a Purchase Request widget - is launched, the URL for the Purchase Request application is sent by the client to an SAP application server. The server will respond with an XML (XBCML) stream specifying the initial application screen rendering information along with the initial data for the screen.
When this XML is received from the server in response to a client request, the Flex Client processes this XML and renders the visual components in an Adobe Flash instance using Flex. Subsequent requests in response to user events or application logic are processed similarly.
Resource consumption on the server is managed by several methods:
1) Idle session timeout (timeout value is configurable)
2) Session termination if the widget doesn't require a connection
3) Stateless Web Dynpro applications
xBCML Widgets as part of SAP BusinessObjects BI widgets
SAP BusinessObjects BI widgets were introduced in the SAP BusinessObjects XI 3.0 platform. XBCML widgets are integrated with the BI widgets framework, enabling users to access not only SAP BusinessObjects Enterprise repositories but also SAP transactional data from the same widget environment.
As we see in Figure 2, XBCML widgets appear in the BI widgets explorer. Configuration allows an administrator to specify one or more SAP servers hosting the actual SAP applications. These applications are then made available as SAP BusinessObjects widgets.
Figure 2
These widgets behave like every other SAP BusinessObjects BI widget - they are launched from the BI widgets explorer in exactly the same way, they respond to the BI widgets desktop as every other BI widget does, and they can be terminated in the same way.
Requirements
XBCML widgets makes use of existing SAP components and infrastructure. To try XBCML widgets, you'll need:
- SAP BusinessObjects BI widgets 12.1 - installed on client machines.
- SAP ABAP or Java application server 7.02 (i.e. 7.0 EhP2)
SAP BusinessObjects XI is not required for the XBCML widgets prototype to work, since XBCML widgets rely on the SAP application servers.
"Note: You will need Netweaver CE 7.11 or higher to run the optional Java version of the Widget Gallery".
REQUIREMENTS
XBCML widgets makes use of existing SAP components and infrastructure. To try XBCML widgets, you'll need:
• SAP BusinessObjects BI widgets 12.1 - installed on client machines.
• SAP ABAP or Java application server 7.02 (i.e. 7.0 EhP2)
SAP BusinessObjects XI is not required for the XBCML widgets prototype to work, since XBCML widgets rely on the SAP application servers.
Note: You will need Netweaver CE 7.11 or higher to run the optional Java version of the Widget Gallery.
Enjoy!
The download package includes the XBCML widgets runtime, a gallery component to be deployed on the SAP application server, and complete instructions on installation and configuration.
We hope you'll use this prototype to discover how the XBCML widgets prototype can make SAP applications a permanent part of your desktop, providing you with always-on, up-to-date views of the data and metrics from SAP backend systems you're most interested in.
Please remember, this is a prototype and is NOT intended for use in a production environment.
