In the relentless quest for new opportunities to streamline operations and reduce costs, IT professionals frequently stumble into 'solutions looking for a problem'. Technologies, hyped as 'the next big thing', hit the market followed by huge expectations, but there is little proof they can deliver the anticipated benefits. Sometimes the industry figures out that the 'killer application' for a particular technology is not that originally envisioned, but another one. Java was initially meant to be a client-side technology supporting browser-based, download-and-run, consumer-oriented applications. But Java now is mainly used to support server-side business applications.
When web services first appeared they were no exception. After a few years of trial and failure, we have finally found the problem web services can solve - providing a low-cost platform for service oriented architecture (SOA), thereby becoming a driving force that will take SOA and business process management (BPM) to mainstream adoption
Service oriented architecture
For many years, leading-edge organisations, especially in financial services and telecoms, have been implementing SOA to enable greater flexibility in their business processes and easier integration of applications. SOA assumes partitioning of application logic into 'fragments of business processes' - called services - each exposing a well-defined interface accessible over the network. Experience from pioneer users confirms that SOA applications are much more flexible, easier to integrate with, and simpler to maintain than classic 'monolithic' applications. But for a long time SOA has remained an architecture for the few. SOA applications are harder to design, need a longer time to develop and require a complex middleware infrastructure to enable interoperability between front-end applications and the back-end applications implementing the services.
Web services - a perfect fit
Web services and SOA fit almost perfectly, to the point that most people consider them as synonymous. Web services provide a simple interoperability platform for SOA and a formal way to describe service interfaces. Although there is little web services can do in terms of making SOA applications easier to design, they can reduce the implementation effort and make interoperability smoother. Early adopters had to struggle with expensive software infrastructure platforms or even home-made tools to support their SOA efforts. Hence only the most technically savvy, highly motivated and deep-pocketed organisations could afford to implement SOA and mainly to support high-profile, strategic business initiatives.
Of course there is no magic in web services. SOA applications remain hard work. But web services are simple, low cost and much more popular than any of the technologies traditionally used so far. This all has a straightforward effect - cost of SOA is dropping dramatically, and it is rapidly becoming an approach for the masses.
Business Process Management
BPM technology is also part of the picture. In an SOA, services can be combined in different ways to implement diverse business applications and processes. BPM can dramatically improve developers' productivity by providing graphical modelling tools and scalable run-time platforms for assembling and executing flexible, easier to adapt, application and processes.
Service Oriented Development of Application (SODA) tools, combining support to application assembly, BPM and web services, are emerging to facilitate development of SOA applications. Packaged application vendors are redefining the architecture of their products according to SOA principles to provide a new generation of adaptable and easier to integrate packaged solutions.
Not quite a panacea
Game over, then? Is SOA the ultimate architecture for the enterprise? Will web services be the panacea for application interoperability and integration? Not quite. Web services technology is still evolving and not all proposed sta ndards have been tested in real life. There is disagreement between vendors on some crucial issues. So web services technology has limitations and can be applied in the most demanding scenarios only in combination with traditional approaches such as message queuing or transaction processing monitors. Of course (part of) these problems will be fixed as technology matures.
But there is a conceptual issue. SOA cannot support all business scenarios. Think about yourself. In part you are 'service oriented': you do what other people ask you to do. But you are also 'event driven'. You sense the external and internal environment and take actions on the basis of the event you detect. You drink a glass of water because you're thirsty, not because your doctor says your body is 70 per cent water.
So do information systems. A process control application or a network management platform are event-driven, not service oriented - they continuously sense 'events' in the systems they monitor and when certain combinations occur they react, perhaps by notifying alerts to human beings.
Event Driven Architectures
Leading-edge enterprises have been using Event Driven Architectures (EDA) to support selected and business critical applications. But at Gartner we believe EDA will follow a similar path to SOA and will become a mainstream approach. Today we have the ubiquitous networking, the cheap processing power, the integration technology and the application architectures in place that can make EDA practical for most organisations. EDA will have a dramatic impact, as it will enable application systems to be more proactive, more adaptable and eventually more responsive.
For EDA to become a mass phenomenon - like SOA is - there is only one missing link - a simple and consistent set of standards, although web services are evolving to support EDA constructs. An integrated set of standards supporting SOA and EDA would be highly desirable as the two approaches are complementary. Most real-life business processes have service oriented and event driven requirements and a consistent platform to support both would make users' life much easier.
Watch out: SOA is already big, EDA will be big soon, but the combined SOA+EDA will be even bigger.





