This chapter presents the basic ideas underlying Service Oriented Architecture as well as a brief overview of current research into the phenomena also known as SOA. SOA is defined, and principal components of one proposed SOA framework are discussed. The more relevant historical background behind the move toward SOA is presented, including SOA antecedents such as Web Services, SOAP, and CORBA, and enabling technologies such as XML and EJB. A basis for understanding SOA is presented, based on Krafzig, Banke, and Slama’s (2005) three-level hierarchical perspective. The common SOA components including UDDI, Application Programming Interface, Service Bus, Service Contract, Interface, Implementation, Data, and Business Logic are also presented. Finally, relevant research in four categories is presented, including implementation strategies, patterns and blueprints, tool development, standards proposals, or modifications (including middleware), and ontological or meta-model development or modification.
Background, History And Definitions Of Service Oriented Architecture
A minimum of nine formal definitions of SOA exist as of this writing, from sources such as the OASIS Group, the Open Group, XML.com, javaworld.com, the Object Management Group (OMG), W3C (World Wide Web Consortium), Webopedia, TechEncyclopedia, WhatIs.com, and Webopedia.org. In addition, many other definitions put forth by numerous industry experts, such as those from IBM, further cloud the issue, and worse yet, still other formal definitions might also exist. In other words, the concept of “Service Oriented Architecture” appears in many ways to be a virtually content free description of an IT-based architecture. It is not our intent here to add yet another definition to this already crowded arena of definitions, but to try to cull the common, base meanings from the various distinct definitions.