InfoQ

News

Are Mashups EAI 2.0?

Posted by Gavin Terrill on Aug 07, 2007 10:18 AM

Community
Architecture,
SOA
Topics
Web 2.0,
EAI
Tags
Google
Enterprise Application Integration (EAI) refers to integrating data and process across disparate applications, and has long been the fly in the architectural ointment for IT departments. Typically, EAI is seen as a costly, complex and technically demanding undertaking with no room for errors. The fundamental premise behind EAI is that the integration is performed on the back end, using either a hub and spoke or bus architecture. Recently, however, we have seen a large number of vendor announcements around Mashup tools that allow for integration via Web 2.0 Mashups.

Gregor Hohpe, author of "Enterprise Integration Patterns", has been thinking about the concept of Mashups becoming the next generation approach to EAI. Gregor makes the connection that Mashups and EAI are trying to achieve the same goal:
Mashups pull data from different sources, aggregate and transform the data to be used in different contexts. EAI solutions pull data from different sources, aggregate and transform the data to be used in different contexts. Huh?
Gregor points out that Web 2.0 technology is an enabler for EAI through looking at newer sites such as MySpace, Digg, del.icio.us etc:
They also use the Web as a platform to retrieve and share data, often from multiple sites. These mashups use lightweight programming models such as JavaScript to pull data together and present them to the user in a meaningful way. For example, one such mashup pulls a feed of suitable apartments from a listing site and plots them on Google Maps.
Gregor provided a Google Mashup Editor tutorial that shows how to pull an Atom feed of calendar entries and display event locations on a map. The key point about Mashups is that they leverage common protocols. As Gregor explains about the sample application:
Not earth shattering, but trying to build this type of application 5 years ago before the advent of geocoding, RSS, Atom, and Google maps would been very time consuming at best. The presence of standard protocols and powerful tools make this type of integration relatively easy.
While the technology and tools behind Mashups are relatively new, existing design patterns still have relevance. Gregor used the "Pipes and Filters" pattern to enrich the data stream with geo data using Yahoo Pipes. In this version , no Javascript is required to look up the longitude and latitude of a location, instead the coordinates from the feed are passed directly to the google maps component, thus making the solution more loosely coupled. However, mashups don't promise any silver bullets - existing integration problem areas such as authentication and agreement on content will still exist:
For example, token and ID management can already become a challenge for mashups. Semantic mismatches and incompatible data formats are a staple of data integration and are not likely to vanish.
Gregor concludes by stating that the expectations of Mashup solutions are not as comprehensive as traditional EAI solutions:
They provide small, high-value point solutions as opposed to trying to achieve enterprise-wide integration nirvana.
Bill Burnham predicted in 2004 that " low end EAI" was where the action is at, before Web 2.0 and The Long Tail. Has the time come for Mashups to become EAI 2.0?

4 comments

Reply

Are Mashups EAI 2.0? by John Crupi Posted Aug 9, 2007 11:09 AM
Re: Are Mashups EAI 2.0? by Gregor Hohpe Posted Aug 9, 2007 12:08 PM
My view in different EAI technologies by Jack van Hoof Posted Aug 11, 2007 4:29 PM
Re: My view in different EAI technologies by berkay NiQuiL Posted Jun 30, 2008 5:38 PM
  1. Back to top

    Are Mashups EAI 2.0?

    Aug 9, 2007 11:09 AM by John Crupi

    Gregor is a patterns guy, so I think the point he is making is that EAI patterns are similar to Mashup patterns. I agree with the patterns similarity, but the main difference between EAI and Mashups is that EAI is IT centric and Mashups is user centric. This translates to Mashup patterns (http://blogs.jackbe.com/2007/05/mashup-new-frontier-of-integration.html) addressing lighter weight integrations, shorter execution times and user interface-driven interactions. EAI patterns are geared towards big integrations, longer execution times and middleware driven interactions. JC

  2. Back to top

    Re: Are Mashups EAI 2.0?

    Aug 9, 2007 12:08 PM by Gregor Hohpe

    Agreed. My summary of the differences (http://www.eaipatterns.com/ramblings/58_mashupcamp.html) between mashups and Composite apps, i.e new age EAI: Mashups: REST/XML, ad-hoc, bottom-up, easy to change, low expectations, built by user Composite Apps: SOA/WS-*, planned, top-down, more static, (too) high expectations, built by IT Accordingly, I think some of the patterns are different, while some are quite similar. --G

  3. Back to top

    My view in different EAI technologies

    Aug 11, 2007 4:29 PM by Jack van Hoof

    Current Application Integration technologies are: - Data level: shared databases - Business logic: SOA, EDA - User Interface (server side): Portals - User Interface (client side): Mashups I will explain my thoughts on the coherence in more detail shortly on my weblog, so keep tuned: http://soa-eda.blogspot.com Jack van Hoof IT-architect

  4. Back to top

    Re: My view in different EAI technologies

    Jun 30, 2008 5:38 PM by berkay NiQuiL

Exclusive Content

Rationalizing the Presentation Tier

Thin client paradigm characterized by web applications is a kludge that needs to be repudiated. Old compromises are no longer needed and it's time to move the presentation tier to where it belongs.

Agile Project Management: Lessons Learned at Google

In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.

AtomServer – The Power of Publishing for Data Distribution

In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.

An Introduction to Virtualization

It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.

REST Anti-Patterns

In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.

Choosing between Routing and Orchestration in an ESB

In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.

Enterprise Batch Processing with Spring

Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.

User Story Estimation Techniques

Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.