IBM Support

iWidget Development Resources

Technical Blog Post


Abstract

iWidget Development Resources

Body

IBM Case Manager Client and the ECM Widgets component of FIleNet P8 are built on a flexible and extendable component based architecture that leverages mashup and widget technology.
 
By creating our client application on this architecture, we have made it easier for our customers and partners to quickly assemble solutions using the out-of-the-box components. When the solution requires that additional information or actions be available to the end users, new components can simply be dropped on the page and wired with the existing ones.
 
This architecture is based on IBM's iWidget open specification. This specification defines how a web based component (an iWidget), should be structured so that it can be loaded and called at runtime by an iWidget compliant container application.

A fully functioning, basic  HelloWorld iWidget requires less than 50 lines of xml and JavaScipt.

The basic structure of an iWidget include:
  • an xml catalog file that allows container app to recognize and register your widget into its UI
  • an xml iWidget definition file that is the entry point to your widget at runtime and exposes the required JavaScript functions that the container will call
  • a JavaScript widget implementation file(s) that contains the code that handles the required operations (such as init, draw, resize, etc) as well as what is need to make your widget do whatever it is it does.
These files are usually packaged up as a WAR file, deployed onto an app server, and registered into the container app.

The specification does not define how you create the content of your iWidget (the part that is displayed to the user). You can use any of your current Web 2.0 techniques here including HTML/JavaScript, DOJO, server backed JSPs, applets, etc.
 
The following developerWorks articles provide lots of details and examples on how to create your own iWidgets.

As with any new design pattern, it takes a bit of learning to get comfortable with iWidgets, but once you create your first one and understand how the required bits work, the rest are simply limited by your imagination.

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSCTJ4","label":"IBM Case Manager"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

UID

ibm11281928