There's kind of a love/hate relationship between SOA and mashups. While the
primary benefit of SOA is better enterprise agility, for many organizations,
the reason to do SOA is a more flexible, standards-driven form of EAI. The recent
WOA vs. SOA backlash has been driven by perceptions that SOA, in the form of
web services, is too complex, and with the bewildering array of WS-standards,
too confusing. In some eyes, the emergence of mashups has been perceived as
a PDQ alternative to SOA because, heck, you can lay chunks of web objects atop
each other without having to do all that architecture "stuff."
But as we and others have noted over the past year, adults are attempting to
occupy the vacuum of control that Ajax-style mashups have created. The approach
is not a black and white SOA vs. mashups choice for enterprise integration,
but rather, use of mashups for the last mile of integration that may, in many
cases, utilize data services, feeds, or other sources that more often than not
are exposed as Web or RESTful Services.
Lorraine Lawson provided her own mashup of recent developments in the enterprise
mashup marketplace, citing recent developments pointing to emergence of enterprise
mashups, not simply as a discipline or design pattern, but as a more formalized
market. Lawson pointed to a Forrester Research study estimating a $700 million
market within 5 years. The challenge of course is defining it, so she referred
to comprehensive analysis by Dion Hinchecliffe from last month's Web 2.0 Expo,
along with recent articles from JackBe's John Crupi and Chris Warner citing
the need for, in effect, an enterprise sandbox approach to mashups. That is,
business users can play freely with assets that are vetted and/or created by
IT. In fact, JackBe's approach isn't all that unique; for instance, Serena's
Business Mashups operate on similar principles.
We were especially impressed with Hinchcliffe's diagram, which provided one
of the first and easiest-to-understand mappings of how this market is shaping
up. Specifically, he divides the terrain into data, code, and visual mashups
-- providing a good way for understanding how different vendors are approaching
mashups. We believe that this represents stage 2 of 3 -- the first was emergence
of primitive Ajax tooling, the second is more formal delineations that in many
ways reflect existing silos within enterprise software architecture. That is,
you have database tools, coding tools (also known as IDEs), and then you have
your web design.