Computerworld

In praise of mashups

Composite web applications are the way of the future, says Jon Udell
  • Jon Udell (Unknown Publication)
  • 19 March, 2006 23:00

It was inevitable that someone would coin the phrase “enterprise mashup” and SOA analyst Phil Wainewright seems to have got there first. A mashup, for those not at the white-hot centre of Silicon Valley’s latest craze, is a composite web application.

Mashups are lightweight and agile in two important ways. They rely on services that live on the WS-lite end of the tolerance continuum, where recombination seems almost effortless. And they rely on AJAX (Asynchronous JavaScript and XML) techniques to make deployment of responsive and richly interactive interfaces seem almost effortless.

In reality, of course, there’s no free lunch. As Wainewright pointed out, enterprises will always occupy a base camp at the WS-heavy end of the tolerance continuum. Robust centralised services for managing identity, data and business process are central to the mission of SOA. Mashups cannot and should not compromise that mission.

What they can do, however — and what I think they should do — is what Lotus Notes did for an earlier generation: empower user-driven innovation at the level of individuals, workgroups and departments.

Not everyone will agree. The Notes experience yielded a mess of siloed and unmaintainable applications, some argue. Why go there again?

One reason I’m more hopeful this time around is that we’re now able to leverage a suite of technologies that are inherently open. At every level of the web stack, protocols and formats are subject to inspection and intermediation. Another reason for hope is the emergence of tools that make doing that inspection and intermediation easier and more effective. Recently, for example, I’ve been creating some of my own enterprise mashups.

In the process, I found, and have come to rely on, some excellent Firefox extensions for web developers, including Chris Pederick’s web developer extension and — thanks to a tip from reader Chaim Krause — Joe Hewitt’s FireBug.

The web developer extension is a huge compendium of useful ways to inspect, validate and even modify the elements and styles in a web page. The feature I use most often is the live CSS (cascading style sheets) editor. As you rewrite style declarations, you see the effects of your changes immediately.

FireBug, which is itself a kind of mashup of the JavaScript console and the DOM Inspector, adds more CSS goodness. You’d be surprised (or maybe not) to see how many CSS errors exist in the web apps you use every day. FireBug reports them on the status line and when you click its icon, it opens a detailed report.

There’s much more to both of these extensions, but I call out their CSS features for two reasons. First, although IE7 won’t do away with every cross-browser development headache, it will make aggressive use of CSS more viable. The more effectively we can create and maintain CSS-tagged content, the saner our enterprise mashups will be.

Second, CSS will play an increasing role in the semantics, as well as the style, of enterprise mashups. For several years now I’ve been reaping the benefits of a content management strategy that enriches web pages with data-driven intelligence and interactivity. The strategy involves microformats, structured blogging and structured search. CSS is the common enabler, and better CSS tools will be an accelerant.