As might be expected from IBM, what Mashup Center brings is the 'big picture' -- especially from the enterprise point of view. That means digging underneath snazzy user interface elements with detailed attention to data management, security and IT-style control. Also -- and this is part is crucial to the vendor -- Mashup Center is in position to leverage the vast IBM software stack. It's integrated with DB2, WebSphere Application Server, and Lotus Notes as well as many of the IBM software development tools. It's also fundamentally a Java-based approach that embraces a wide variety of open source and industry standard technologies.
Though the integrations with IBM products is not complete (for example IBM Rational Developer and IBM WebSphere sMash integrations with the Center are sometimes conceptual rather than coded), IBM Mashup Center offers more depth and breadth than other mashup development products.
The Big Package
There are two parts to the mashup configuration: IBM Mashup Center (711MB), which includes IBM InfoSphere MashupHub and IBM Lotus Mashups; and Lotus Widget Factory (531MB). Mashup Center handles data and application management; Widget Factory… builds widgets. Both products are available for download as trial software. Installation for trial purposes is (usually) uncomplicated; installation for ongoing development and deployment requires expertise in several areas.
For the purposes of enterprise mashups, the key component of Mashup Center is the InfoSphere MashupHub. From the data source up to the presentation layer, MashupHub is in play. It's the primary tool for accessing data sources and for manipulating the data into formats suitable for mashing. In short, this is the trench-work tool for mashups.
IBM uses the Apache Derby database as the repository for the trial version. Most shops will sooner rather than later hook up with a more muscular RDBMS, typically IBM DB2. IBM WebSphere Application Server is bundled with Mashup Center and is required for MashupHub. MashupHub handles most of the mashup data management while the application server handles most of the security, business policy, and application management. The interplay between these two components is intricate, especially for deployment.
Like most applications, mashups are no more useful than the data that goes into them, so access to a wide variety of data is crucial, as are good tools for getting the data into mashable format. One of the improvements in the latest release of Mashup Center (v 1.1) includes support for more data sources. The list is lengthy but most important check marks for comparison with other mashup products include:
- DB2 XML (pureXML)
- Lotus Domino Server
- IBM Information Server
- IMS Transactions
- LDAP Directories
- SQL RDBMS (some with specific support, e.g. DB2, Oracle, Microsoft SQL Server)
- SAP Application Functions
- Tivoli Directory Integrator
- Web Services
- Microsoft Access Data Files
- Comma-Separated (CSV) Files
- Microsoft Excel Workbooks
- RSS, Atom feeds
- XML Documents
Another improvement in version 1.1 -- and arguably the most important -- is a shift to the IBM iWidget model (a new model for mashup widgets from the widget specification group in OpenAJAX). A big change is that IBM has codified simple data types (string, URL, date, e-mail) and complex data types (table, RSS, JSON) so widgets will recognize and handle each type properly.
The Feed: Select, Edit, Publish
The main tool for data manipulation is the MashupHub Client, a browser-based IDE (built with the Dojo Toolkit using REST), that can also be used by qualified end-users. Most mashup environments include a tool like this and they tend to be very similar. MashupHub adheres quite closely to SQL capabilities (no surprise coming from IBM), and therefore will be most comfortable for developers or end-users familiar with SQL -- regardless of the slick GUI. For the most part, creating a feed involves dragging and dropping data elements and then elaborating basic functions such as: Source, Combine, Filter, ForEach, Group, Merge, Sort and Transform. The end product is either a data feed or a feed mashup. Once the feed has been successfully connected and validated, there's a wizard screen to publish the feed to the IBM mashup catalog.
Reminiscent of Web services repositories, feeds, mashups, and widgets can be published to the catalog for discovery and user by others. The mechanics of sharing can be complicated, especially over the Internet, but the IBM approach seems to work quite well. It also adds an important Web 2.0 fillip of exposing the catalog assets for tagging and ranking by users. Over time, it should become clear which items in the catalog are not only functional but useful or even popular – a way of identifying the inevitable chaff among the wheat. The User's End: Lotus Mashups
Once feeds and data mashups are available, they can be handed-off to IBM Lotus Mashups and the Lotus Mashup Editor, another browser-based tool that is (for the most part) intended as a mashup application assembly tool. With a little practice and guidance, end-users can operate this GUI to create ad-hoc mashup applications, which IBM likes to call "situational applications." This is D-I-Y for data-savvy people. They don't need to be database specialists, but they do need to understand how data can be presented. This isn't too restrictive; most people who can use a popular DBMS such as Microsoft Access can handle it, as could many Microsoft Excel users.
IBM Mashup Center ships with a number of ready-to-use business widgets (substantially augmented in version 1.1) including a timeline widget, a new charting widget, and an Open Street Map widget. The functionality and reliability of widgets is what makes "user programming" possible in these apps; and IBM has done a very good job in overcoming the biggest hurdle -- what it calls "the wiring" -- of the data exchange between widgets and their data sources. New in this version, Lotus Mashups also takes the work out of embedding mashup pages or widgets into any HTML Web page.
Given the importance of widgets, it's not surprising that the IBM Lotus Widget Factory is included in the Mashup Center. This Eclipse SDK-based environment is intended for application programmers (or mashup specialists) to efficiently produce consistent, production-ready widgets. These widgets can be used in much the same way as portlets, though the widgets can be written in any language (HTML, AJAX, etc.) whereas IBM portlets use an industry standard set of APIs. Widgets built in the Widget Factory run in both Lotus Mashups (IBM Mashup Center) or in Lotus Notes 8.0.
Will enterprise IT shops find comfort in IBM Mashup Center? With certainty if they're already an IBM shop. This is important because even IBM shops have been somewhat reluctant to incorporate mashups in mission-critical software. Is Mashup Center that much better or different than competitors, such that non-IBM shops will choose it? That's a more difficult question. In some cases, products from mashup specialists such as Kapow, JackBe and Serena have an edge in specific elements of mashup technology. However, none of them can offer IBM's broad and flexible cast of supporting software. So though IBM is still integrating a few elements into IBM Mashup Center, it's not hard to argue that this is the most comprehensive and, in many ways, most effective mashup environment for the enterprise.
IBM Mashup Center 1.1 http://www-01.ibm.com/software/info/mashup-center
Platforms: Linux 5 (Red Hat), Windows Server 2003 SP 1
Browsers Supported: Firefox 2.0, 3.0; MS Internet Explorer 6, 7; Safari 3.1
Pricing: IBM Mashup Center, 20 users: $2,600; Mashup Center Processor Value (server license per CPU) $440.