Two broad camps are forming (or have already formed) in the
information technology community at the moment. On the side of big
business and enterprise software we have service-oriented
architecture (SOA). On the side of the Internet, democracy and
empowering the individual is Web 2.0. Arguments are flying about
the differences (or similarities) between the two camps, with
pundits claiming everything from differences in the protocols
underpinning each approach through to the grand philosophies they
espouse. Depending on whom you choose to listen to, Web 2.0 and SOA
are either on a collision course, or simply different names for the
same thing. I think that they two are complimentary, rather than in
conflict, and the businesses that can successfully marry the two
will be the real winners.
A lot of the confusion stems from the vague and shifting definitions
used for each camp. I think both represent a break with the
application centric views of IT that have dominated our thinking
until quite recently, but this makes them hard to classify as they
represent new approaches to IT and the family of technologies that
enable them, rather single technologies. Different people rope in
different arguments depending on their viewpoint, creating fuzzy
definitions that defy simple categorization. SOA has been described
as everything from a new architectural approach that will
revolutionize enterprise IT through to simply the next generation of
enterprise application integration (EAI). I’ve even suggested that
we could view SOA as a new approach to IT planning, though the best definition I’ve seen to date is that
SOA is simply a more pragmatic approach to IT. On the other hand,
Web 2.0 has attracted a level of attention not seen since Timothy
Leary told us to turn on, tune in & drop out. With meme
maps and manifests, Web 2.0 seems to be setting itself up as the
anti-SOA, though it’s probably best to characterise it as a group of
technologies focused on helping people collaborate online.
Rather than focus on the differences, I think it’s more productive
to focus on where the two are similar. What SOA and Web 2.0 have in
common is that they both represent a similar shift in
approach—a break with the technology and application centric
practices that we’ve live with for so long, to focus on how
technology is used. Both enable a user centric approach to IT.
Web 2.0 puts the user front and centre, providing us with a suite of
tools designed to smooth the flow of information between people.
Wikis enable us to create community blackboards where we can share
information work together as teams. Blogs enable us to keep each
other informed of our activities. Group tagging sites support
collaboration by allows people to work together as they map out the
Internet. We’re even seeing the emergence of identity management
sites design to help us manage our identity across the various
wikis, blogs, and so on that we use to work with out social network.
These collaborative processes are used to manage the compex
negotiation and business exception resolution processes that can
have a disportionate impact on a company’s competative advantage.
SOA takes a similar approach with software from the big end of town.
Applications are built around the data they manage and the business
processes that stream out from the data. SOA, on the other hand,
wants to break IT support into smaller pieces and then align each
piece with a distinct business activity or stakeholder. Composite
applications are focused on the user, delivering task specific user
interfaces that provide users with a single consistent view into
enterprise data and functionality, allowing them to focus on the
task at hand rather than mediating between siloed applications.
Backend services are focused on the business owner or SME, capturing
the business logic (rules and processes) they are responsible for in
a single place, providing traceability between stakeholder and
implemented logic and providing the SME with a real sense of
ownership of the delivered solution. And SOA enables a holistic
view of business functionality as we string together the individual
activities to create processes, the providing end-to-end visibility
of a process required by the business owner. SOA promised to
deliver a level of efficency, agility and flexability not possible
with an application centric approach.
But if SOA and Web 2.0 are so similar, then what makes them
different? It seems to me that they both aspire to provide better
support for the people who own or interact with the delivered
solutions; however they provide this support for different types of
information. SOA is built on the structured information that is the
foundation of the enterprise, the purchase orders, customer records,
invoices, and so on, while Web 2.0 does the same for unstructured
information, the instant messages, post-it notes and bookmarks that
we all collect and share.
The separation between SOA and Web 2.0 ties back to the idea of
creating the intelligent enterprise. All enterprises have collected
a huge amount of data, but find it difficult to convert data to
information, insight and then intelligence. We can convert data to
information with business intelligence solutions, trawling through
the data silos to present decision makers with the right
information, at the right time to facilitate the best decision.
Moving from information to insight and intelligence is more
challenging as it relies of people working together, collaborating
to solve problems and gain insight.
The separation between information and insight parallels the
separation between SOA and Web 2.0. SOA can unlock the data hidden
inside application silos, providing us with a clean and consistent
view into enterprise data and processes. Integrating Web 2.0 tools
and techniques into a SOA allows the users to leverage this data to
gain insight and create real business intelligence.
It’s not hard to imaging a composite application augmented with
wikis, blogs, group tagging and the like, allowing it to support the
capture of both structured and unstructured information. A customer
management solution could include a wiki to allow users to capture
pertinent notes about the customer relationship. It could generate
a blog to transmit information on significant customer events
directly to the desktop of everyone who interacts with the customer.
Or it might allow users to attach tagged links to the customer
record indicating useful internal, customer and external
resources. And this is just the tip of the iceburg.
Combining the two has the potential to address a wide range of
problems that we’re seeing in the enterprise. Why is it easier to
find internal information (such as white papers) by going outside
the organisation and back in through the public web site? How do we
capture the tribal knowledge that lives around our existing
Business are, at their heart, groups of people who work together,
negotiating and collaborating as they solve problems and share
knowledge. Web 2.0 is a family of technologies designed to support
this collaboration and negotiation, ensuring that people can work
together efficently. Integrating Web 2.0 with SOA ensures that the
unstructured information, the information which enables people to
work together and which can have a disproportionate impact on a
company’s competative advantage, is backed up, integrated into each
person’s day-to-day activities and leveraged.
Rather than arguing that one is better than the other I think that
SOA and Web 2.0 are complimentary, and integrating them will allow
us to deliver some real business intelligence. Businesses who can
successfully marry the two will be the real winners.