Unfortunately Foundation is no longer available for download please use the following link for more information http://www.sdn.sap.com/irj/scn/wiki?path=/x/7YDaBw
SAP is investigating if there is value to their customers, end-users and developers in releasing
technology to help the popularization of widgets. One such technology is called Enterprise
Widget Foundation. This initiative is currently being led inside SAP by Regina Sheynblat.
Introduction to Enterprise Widget Foundation
While it is possible create enterprise widgets using only Java Script, XML and a widget engine such
as Apple's Dashboard or Yahoo! Widget Engine, it leaves much to be desired. One of the main
challenges is integrating with Single Sign On solutions. Another is integrating with older SAP
implementations that are not SOA enabled. To solve these issues and many others, SAP has
created a prototype of SAP Widget Foundation.
- Foundation handles single sign-on in a standard way, off-loading the requirement from the widget and hopefully done in a way that is as secure as the implementation of SSO.
- Foundation includes many built-in "service providers". The main one is a JCo middleware that allows calls to RFC's and BAPIs so you aren't limited to web services - a big limitation for R3 and early ERP customers. This won't be as important if your implementation has the latest Enterprise SOA support packs installed. Other service providers provided out of the box are MQ, WS, REST and XMPP. Of course this list is extensible by developers, so as new ones are created by people needing them they can be shared.
- Foundation has "service agents" which can serve one or more widgets. Service agents can be coded in Java or any language/scripting that Java supports. This provides a layer of "heavy lifting" code that is much more robust and performant. It also allows for composition of many queries that can be multi-threaded, something that is virtually impossible to do in Java-Script.
- Foundation also provides a lot of end-user features like "auto-update" for widgets, "widget launcher" for launching collections of widgets and "Widget Briefcases", user notification for dialogs and Outlook-like "toast" notifications, "send to friend" feature support for sending a widget to another user, and "user feedback" which connects end-user comments on your widget to a feedback list on your widget home page.
How SAP Enterprise Widget Foundation Works
The SAP Enterprise Widget Initiative technology stack works in the following way:
Launcher (1) provides personalization and one-click launch user personalized collections of widgets.
- Enterprise Widgets (2) can be written for any widget engine (2)
- SAP Widget Foundation (Foundation) (3) provides services to the widgets such as:
- Back-end configuration and addresses
- Secure communications to and from back-end
- User authentication via SSO solution (such as Secude)
- Service provider interface plug-ins (such as JCO for BAPI and RCF interfaces)
- Widget service agents to augment widget functionality
- Widget Foundation Server (4) is a potential future component that will provide:
- Zero configuration discovery service for client foundation
- Z-Programs (5) can be added to create Web Services right on the application if desired.
Interfacing with Enterprise Widget Foundation
Foundation has four classes of interfaces:
- Service Agents
Service agents provide a more robust run-time for widgets and are the most commonly used plug-in. A developer can, for example, use this plug-in to call two different systems on separate threads and correlate the data, something that is difficult to do in Java Script alone.
- Authentication Agents
The authentication agents provide a way to extend Foundation to utilize any security scheme. The important value of placing this feature in Foundation is that Authentication can be handled uniformly across enterprise widgets.
- Service Providers
Service providers allow widgets to connect to other systems.
- End-User Management User Interfaces
Since this is an experimental platform, these interfaces are currently geared to developers, providing more control at the expense of simplicity. When this software nears productive use, it will be streamlined.