Time Magazine‘s Person of the Year for 2007 is You. To summarize their lengthy coverage of this topic, it’s all “Web 2.0” technology that enables user-empowering Web tools and Web sites like Wikipedia, YouTube, MySpace, Flickr, Google Maps, Twitter, Pandora, Last.FM, Digg and Del.icio.us. These Web 2.0 solutions are rich, interactive, personal, easy to access, easy to use and easy to share with other users.
However, this transformation is restricted almost entirely to Joe Consumer space. Jane Enterprise sees none of this user-empowering experience. In the workplace, instead of sharing these next-generation, workflow-altering Web experiences, business users still find themselves interacting with siloed software applications that are often poorly integrated and have UIs (user interfaces) dating from the 1980s that do not enable the sort of interactivity, configurability and customization they see in their non-business lives.
Mashups vs. BI
Of course, not all Web 2.0 stuff has an immediate place in the enterprise. While wikis, blogs and social bookmarking are cool, your average equity trader has neither the time nor the need for these tools.
What most enterprise users need is better access to the information they have. Enter Web 2.0’s newest darling, mashups. Mashups are, according to the Wikipedia, “a Web application that combines data from more than one source into an integrated experience.” Mashups in the enterprise (or just “enterprise mashups”) take all this and wrap it in a cocoon of security, reliability and governance around them.
Well, you ask, isn’t this just BI (business intelligence), or portals, or EAI (enterprise application integration), or even SOA (Services Oriented Architecture)? What differentiates a mashup from other integration technologies?
Like anything that wants to have the moniker of “Web 2.0,” mashups are about the user and by the user. Mashups allow users to self-connect the proverbial data dots to create information that answers their questions.
The 5 Cs of Enterprise Mashups
To make things easier, it’s possible to distill mashups down to the “5 Cs.” An enterprise mashup must:
- Allow non-technical users to consume potentially previously untouched data sources;
- Create a new merged piece of information;
- Customize (or filter) that new information as needed, perhaps even collaborate with other users by sharing the results, with the confidence that they are operating within the business requirements of security, reliability and governance.
(The savvy reader will note that we already have just such a solution: cut-and-paste. The savvier reader would then point out that, while cut-and-paste may be effective, it is neither efficient not does it meet the enterprise needs of security, reliability or governance.)
To make it possible for business users to consume on their own, mashups make use of other Web 2.0 technologies, notably SOA (retroactively inducted into the Web 2.0 pantheon in recent months) and Ajax. This is where the visual and non-visual nature of mashups becomes obvious.
SOA, and the more general concept of standardized interfaces, make it possible for a business user to mash a SQL database, a news feed and an EJB (Enterprise Java Beans), as they all can be normalized into a nice simple XML (Extensible Markup Language) interface. The consume step is the most robust if the user isn’t restricted by type of data source or limited to data sources that have been “pretreated” by the IT guys.
Equally, Ajax makes it possible to give the user a mashup “client” from which they can do the consuming, perhaps from existing/pre-made services, or directly from “native” sources like services on the Internet.
Taking Collaboration for Granted
Similarly, allowing a user to create and customize new services on their own means the mashup client must allow for quick trial and error, for the creation of many generations/versions of a single mashup, and for integration with other enterprise applications such as global security servers and service repositories. It is worth pointing out that any new mashup must also meet the same “normalized” service standard as any of the raw data sources, allowing for inclusion of new mashups into future mashups.
Much of Joe Consumer’s Web 2.0 experience takes collaboration for granted. Posting a video, tagging it, commenting on it and later submitting it to a bookmarking Web site is a very collaborative experience. To make it possible for enterprise mashup users to collaborate, a mashup solution might follow many of the same principles: service tagging by users by type, service rating by users of quality, or even service commentary by users to cover anomalies, special notes or general impressions. Enterprise mashup collaboration also entails the sharing of mashups between users, implying a service repository capability that is not technical but end-user-oriented.
Finally, every enterprise has standards for security, reliability and governance. As an end-user integration solution, enterprise mashups must do what many enterprise software technologies fail abysmally at: being easy to use but still safe. This is where Jane Enterprise’s needs really differ from Joe Consumer’s. After all, if YouTube goes offline for 15 minutes, no one is going to lose (besides maybe Google). The same could not be said for an equity trading analysis mashup or patient health records mashup. Enterprise mashup confidence means everything above is done securely, reliably, and in a way that can be governed.
Enterprise security requirements and standards are usually well-defined today: an enterprise mashup must make use of existing security services and support discrete security capabilities from the global/group level down to the individual field/action level. Enterprise mashup reliability can be a tougher nut to crack, given that users can mash from third-party data sources that may have their own service levels.
Nonetheless, reliable mashups can at least be created that provide users (and administrators) with proper service performance feedback that can be used in designing more reliable future mashups. Finally, enterprise mashups must support common enterprise governance needs like integration with infrastructure monitoring toolsets, preferably through common protocols like SMBs or JMX (Java management extensions).
The Enterprise Mashup Bottom Line
While enterprise mashups is still an emerging technology, we’ve already seen many benefits to enabling mashups in the enterprise. These are areas that both the business users and the IT guys would benefit from:
Mashups can help create normalized “virtual” services from sources that haven’t been “SOAed” yet. It’s no secret that SOA efforts can take years. Until the formal SOA magic has been applied, a quick, standardized service can help users get started earlier than otherwise.
Mashups let users “right-size” the granularity of services. Now IT doesn’t have to guess/study/analyze whether a service offers data that is “too specific,” “too general,” “too dated,” or “too cold.”
Mashups let users share their resulting services, making them a part of the service-generating network. Now IT doesn’t have to do it alone.
Mashups let end-users visualize the SOA in graphs, charts, tables, maps, etc. Instead of hoping the aging corporate portal has a place/way to get services visualized in the way(s) the users want, users can each do it themselves to meet their own ever-changing needs.
Mashups let users join in data from outside the enterprise. Today’s SOA efforts are largely inwardly focused. However, users often want to include external data in their work. Mashups don’t care, and good mashup software makes the actual location of a data service irrelevant.
Enterprises can be messy places. We’ve been collecting information for over three decades, and now it sits in a hodge-podge of locations. However, if Web 2.0 has taught us anything, it’s that disparity does mean stalemate. Mashups in the enterprise can help business users address their own ever-changing information needs, freeing IT to move on to other innovative solutions.
So, do you mash?
John Crupi is CTO at JackBe, a provider of user-driven enterprise mashup software.