Every 10 years or so the IT industry comes up with a new
paradigm which has the potential to redefine the technology landscape, cut down
costs, increase productivity and make IT more transparent. This can be seen in
the move away from mainframes to desktops to client-server to network computing
and now to service oriented architecture (SOA). SOA in some ways contradicts the
"revolutionary technology" paradigm being more of a business driven
architectural concept rather than IT driven technical fad or a shrink wrapped
product. It is a new way of thinking on how you look at your business in the
medium term, what are the key business functionalities, how you see them growing
and evolving in the coming years, and how can you leverage them across the
organization in a technology neutral way.
Interestingly, the SOA approach can be most useful when an
organization wants to leverage its existing portfolio of applications without
re-inventing the wheel from the scratch. This is becoming easier day by day
because industry momentum has shifted away from proprietary protocols to more
standard oriented products and protocols.
The need to choose the right approach, business vision driven or
technology integration is evident from the difference in approach of the way SOA
is defined even by the two pioneers-IBM and Microsoft.
'The bottom up approach is to leverage the existing technology components that the organization may already have' |
-
"A service oriented architecture (SOA) is an
application framework that takes everyday business applications and breaks
them down into individual business functions and processes, called services.
An SOA lets you build, deploy and integrate these services independent of
applications and the computing platforms on which they run."-IBM
Corporation -
"Service oriented architecture is an approach to
organizing information technology in which data, logic, and infrastructure
resources are accessed by routing messages between network interfaces."-Microsoft
The interesting feature of today's consulting approaches to
SOA is that depending on which side of business-technology divide you fall, two
different approaches seem to present themselves. The top-down approach, which is
more business driven, requires that SOA be adopted by the enterprise as a whole
and requires a lot of preliminary work including definitions of the
enterprise-wide business processes, semantics, and so on.
In the top-down design, it is business process requirements
which drive the discovery and definition of the business services. Major firms
like Merrill Lynch have already begun to show results in exposing legacy system
functionality through SOA components that permit wider access.
The alternative bottom-up approach is to leverage the existing
technology components that the organization may already have. The bottom-up
approach can originate on the department and group level, starting by exposing
existing applications as services and building on those services.
The bottom-up approach usually starts from defining integration
services, based on the functionality of existing applications and their
integration requirements, which lets us service-enable existing applications and
create an integration layer. Services created using this approach are usually
tied not to the enterprise wide functionality, but to the existing applications.
Although the bottom-up approach is easier to implement, it
usually delivers less benefit and can be more expensive than the top-down
approach.
Is there an appropriate middle of the road approach to
implementation that can combine the business vision and planning of top down and
the technology inclusive benefits of bottom up? Its early days yet, but expect
the market to be flooded with solutions of this nature before the end of this
year.