Enterprise Integration Zone is brought to you in partnership with:

Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2573 posts at DZone. You can read more from them at their website. View Full User Profile

New SOA Gadgetry from WSO2

12.16.2009
| 6084 views |
  • submit to reddit
WSO2 just announced the immediate availability of two new tools for its comprehensive middleware platform.  One is a Gadget Server enterprise portal for building personalized dashboards, and the other is a Business Activity Monitor (BAM), which offers real-time visibility into SOA workflows, processes, and transactions.  These tools, like all products form WSO2, are free and open source under the Apache license.  WSO2 makes money off support and training.  DZone spoke with Paul Fremantle, the Co-Founder and Chief Technology Officer at WSO2, about the two releases.  

WSO2 Gadget Server
Fremantle says although Gadget technology is being used elsewhere, the WSO2 Gadget Server is the only portal of its kind.  Its very similar to an iGoogle page and it can even use those same gadgets.  "Gadgets are a simple HTML+Javascript code, wrapped up in a little XML," said Fremantle.  "They are defined by the Google Gadget specification, and are a part of the OpenSocial work.  They're basically language neutral."  Each gadget space pulls information from the internet or from within the enterprise and displays it on the dashboard.  The gadgets can be organized into customizable tabs.  The WSO2 Gadget server is different from iGoogle because businesses can create their own custom gadgets and deploy a private portal for them. 



Fremantle believes WSO2's web-based model for business portals is more efficient than the portlet model.  "One of the biggest challenges is for companies to find the right skills, and these [HTML+JavaScript] skills are absolutely universal," said Fremantle.  Writing portlets requires knowledge of the Java spec, but writing Gadgets requires only a baseline knowledge of web programming.  Unlike portlets, Gadgets don't need to run in a server.  They're inherently designed to use AJAX to talk to backend services, which means they fit more effectively into SOA compared to portlets, says Fremantle.  To add a portlet to a standard Java portal, an administrator would need to install that portlet on the server, but gadgets can be loaded from any website.  Because iGoogle is so popular, there's a bunch of Gadgets out there with documentation on how to build them.  There's an online editor that helps people write Gadgets and there's even a Gadget that will validate other Gadgets that you've written.

For the Gadget Server, WSO2 used Apache Shindig, which is like a reference implementation for Google's Gadget spec.  Shindig is tied together with WSO2's core enterprise middleware framework, registry, and repository, giving users the ability to personalize the Gadget Server.  Users can pull a Gadget from its URL or from the Gadget Server repository.  A Gadgets can also come from a server in a different department.  "Suppose someone in the core IT team created a new gadget that shows you whether the servers you rely on are up or not," said Fremantle.  Instead of having to go through a portal server department, he says, they can just create a URL for the Gadget and other departments can paste it into their dashboards.  Administrators then have the ability to filter which Gadgets the employees put into their dashboards through the Enterprise Gadget Repository.  For identity management, the Gadget Server can plug into an existing internal LDAP directory or use InfoCard or OpenID.  

WSO2 Business Activity Monitor
Gadgets are used in WSO2's other new tool, the Business Activity Monitor (BAM), to provide SOA visualization and analytics.  Here is the BAM dashboard:



Fremantle says the funnel shows how many requests are going into placing orders, order approval, billing, and finally payment at the bottom.  The circular graph is a pie chart showing the percentage of different service requests.  You can click on the pieces of the pie chart and get details about response time, response count, fault count, and request count (see below).  Since the BAM is made of gadgets, an enterprise can also build gadgets based on the BAM's analytics.  Like a mini-SOA, Fremantle says, the gadgets talk to the data through a data service.  These graphs, Fremantle says, can help people spot problems instantly.

The BAM can go to existing servers and pull data out, or it can receive events that the ESB or app server publish into it.  If a customer has a WebSphere, Oracle, or TIBCO system, Fremantle says there's a standard service interface that can be used by the BAM to receive data from those systems as well.  "It's fully heterogeneous in the sense that there's open interfaces and it all uses SOAP and web services so that we can take any part of a customer's SOA and feed data into it," said Fremantle.  



Even though more customers are turning to WSO2 for a complete SOA platform, Fremantle says they are still focused on providing interoperability with a wide range of third party solutions.  "50% of our business is on a single-product basis," said Fremantle.  He says that's still pretty good for a relatively new company.