This is an open letter to the vendor community, and/or the many excellent programmers who lost their jobs in the recent downturn. An opportunity awaits. We are at the cusp of making service oriented architectures a reality thanks to the hype about and interest in Web services. Companies are actually embracing the concept and moving forward. But they need to be able to purchase services that will plug into their architectures, and are finding few suitable solutions out there to meet that need.
It is generally agreed among architects and analysts that event-driven service oriented architectures are most adaptable to change over time. (See Roy Schulte's ebizQ webinar "Creating The New Enterprise Agility: Service-Oriented and Event-Driven"). This is not a new concept. Service oriented architectures (SOA) have been considered best practice for decades, from the Open Systems Interconnect (OSI) Reference Model adopted by the International Standards Organization in 1983, to the Distributed Computing Environment (DCE) developed by the Open Software Foundation, to CORBA. However, the widespread adoption of SOA had previously been constrained by lack of agreement over interface standards. Web services finally solve that problem. It is the first interface standard that is universally accepted by all vendors, and will work with any programming language on any platform (with the caveat that the vendors stick to the standard).
Now that the technical issues have been resolved, companies implementing an SOA can focus on the real value of the architecture - the ability to flexibly deploy business services. However, there is a lack of off-the-shelf business services available for purchase that will plug into an event-driven SOA.
A large retail company started building its service oriented architecture over six years ago. When looking for business service modules to purchase as part of a Point of Sale system, the company looked for modules with event-driven interfaces that would perform some business logic, interact with the company's back-end data sources, and deliver information to the company's front-end presentation layer. For example, it didn't want to have to write the module that analyzes what is in the basket and offers cross-sell opportunities. It wanted to buy that piece of code and plug it in. It wanted to buy another module that would monitor the inventory, check for open purchase orders, factor in the point of time in the selling season, and determine when to reorder stock. In other words, the retailer wanted to buy components that offered sophisticated business logic, add its own business rules, and have third-party business services easily plug into its architecture.
-1-