Posted by cadsmith on November 8, 2007
Reviewed SOA: Principles of Service Design, Erl, 2007. Service Oriented Architecture (SOA) provides the benefits of applications that span across software vendors, database formats and equipment. For example, timesheet or invoice frontends use services as building blocks connected to eachother and different backend systems all of which may be implemented at different times. The author defines fundamental concepts, discusses the design aspects of architecture and provides several case studies. Principles include abstraction, reusability, loose coupling between services and consumers, autonomy, statelessness, discoverability, and composability. Strategic goals drive how these are expressed across requirements, ROI, interoperability, agility and IT. Differences from object-oriented architecture are outlined, e.g. services do not generally use inheritance. Presents good practices and organizational roles. Displays diagrams showing how concepts relate. This 608 page textbook provides a theoretical background for enterprise system architecture creation or expansion. Author’s sites: soaspecs, thomaserl.
Did not explicitly discuss the semantic web, though they both begin with the same letter or two. Others have looked at how one can wrap the other, e.g. use of ontologies.