There has been a lot of buzz and hype, some factual, some not so well-founded, surrounding the opportunities presented by Service-oriented Architectures (SOA) and their implementation as Web services. Analysts have predicted, pundits have professed, professors have lectured. And companies have scurried to sell what they had as SOA products, often missing the point that SOA is not a product.
SOA is about bridging the gap between business and IT through a set of business-aligned IT services using a set of design principles, patterns, and techniques. This article discusses the highlights of service-oriented modeling and architecture, and the key activities needed for the analysis and design required to build a Service-Oriented Architecture (SOA). It stresses the importance of addressing the techniques required for the identification, specification and realization of services, their flows and composition, as well as the enterprise-scale components needed to realize and ensure the quality of services required of an SOA.
A huge demand exists for the development and implementation of SOAs. Gartner has predicted that by 2008, for example, more than 60 percent of enterprises will use SOA as a "guiding principle" when creating mission-critical applications and processes. But if SOA is not just about the products and standards that help realize it-through Web services, for example-then what additional elements are needed to realize an SOA?