A Service Oriented Architecture (SOA) Primer

A Service Oriented Architecture (SOA) Primer

A Service Oriented Architecture (SOA) Primer © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 1 When do we use a SOA Style? • Context: A number of services are offered (and described) by service providers and consumed by service consumers. Service consumers need to be able to understand and use these services without any detailed knowledge of their implementation. " Problem: How can we support interoperability of distributed components running on different platforms and written in different implementation languages, provided by different organizations, and distributed across the Internet? " Solution: The service-oriented architecture (SOA) pattern describes a collection of distributed components that provide and/or consume services. From “Software Architecture In Practice” Len Bass, Paul Clements, Rick Kazman © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 2 Characteristics of the SOA Style Characteristic Traditional Architectures SOA Architectures Design & Implementation •! Function Oriented •! Coordination Oriented •! Designed to Last •! Built for Change •! Long development cycles •! Build and deployed incrementally •! Integration with other applications •! Ease of integration with other difficult applications Physical System •! Application boundaries intrinsic to •! Enterprise solutions system •! Loosely coupled •! Tightly coupled components •! Semantic message-oriented interactions •! Object- or Component-oriented interactions SOA-based architectures have been around for a long time and have matured over the years. While once an approach to manage design and integration complexity - SOA-based architectures have matured to the point where many companies are starting to offer service-only solutions (APIs) leaving the build of interesting applications to others. See: https://apigee.com/console/others © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 3 Motivation for SOA " Why do we need SOA n! Redundancy n! Implementation inconsistency n! Lack of inter-operability n! “Wrapper”-Happy n! Lack of Modularity " Misconception: SOA is about design and not technology (i.e., WebServices) © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 4 What is SOA? ---- Randy Heffner, Forrester Research "A pattern of design, development, deployment, and management of (a) applications and (b) software infrastructure and frameworks in which: Applications are organized into business units of work (services) that are (typically) network accessible Service interface definitions are first-class development artifacts Quality of service (QoS) characteristics (security, transactions, performance, etc.) are explicitly identified at design time Software infrastructure takes active responsibility for managing QoS and enforcing policy for service access and execution Services and their metadata are cataloged in a repository Protocols and structures within the architecture are, optionally, based on industry standards (e.g., the emerging SOAP stack of standards)” http://orchestrationpatterns.com/?q=node/13 © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 5 What is SOA? ---- More definitions " The orchestration patterns website outlines 12 additional definitions of SOA from industry experts… The diversity in definitions is interesting… n! “Service Oriented Architecture (SOA) is an approach to the development of loosely coupled, protocol-independent distributed applications…” n! “SOA is a form of technology architecture that adheres to the principles of service orientation…“ n! "Service-oriented architecture is an architectural discipline…” n! “SOA is a style of design that strives to enable easy integration and flexible applications…“ n! "A service oriented architecture is an approach to design and integrate software in a modular method where each module is precisely a 'loosely coupled service' ,,,” n! “Service Oriented Architecture is nothing but business oriented architecture…” n! “SOA is a framework enabling application functionality to be provided, discovered and consumed as re-usable Web Services sets…” n! And so on… Source: http://orchestrationpatterns.com/?q=node/13 © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 6 What is SOA? ---- More definitions " The orchestration patterns website Itoutlines’s a bit confusing…12 additional is definitionsSOA of SOA from industry experts… The diversityabout: in definitions is interesting… n! “Service Oriented Architecture (SOA) is an approach to the development of loosely coupled, protocol-independent distributed applications…1. Web” Services n! “SOA is a form of technology architecture that adheres to the principles of service orientation…“ 2. Business Architecture n! "Service-oriented architecture is an architectural discipline…” n! “SOA is a style of design that strives to enable3. Services easy integration and flexible applications…“ n! "A service oriented architecture is an approach“ to design and integrate” software in a modular method where each module is precisely a 4.'loosely Loose coupled Coupling service' ,,, ” n! “Service Oriented Architecture is nothing but5. Integration business oriented architecture…” n! “SOA is a framework enabling application functionality to be provided, discovered and consumed as re-usable Web Services sets…6.” All of the above? n! And so on… 7. Or something else… Source: http://orchestrationpatterns.com/?q=node/13 © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 7 Microsoft and SOA… A Microsoft View on SOA: “The goal for Service Oriented Architecture (SOA) is a world-wide mesh of collaborating services that are published and available for invocation on a Service Bus. Adopting SOA is essential to delivering the business agility and IT flexibility promised by Web Services…” Microsoft uses a Metropolis analogy to explain SOA… The idea being that cities, like an SOA, require services (police, manufacturing, shopping, etc.) and a transportation (bus, railroad, etc.) system to thrive Source: http://msdn.microsoft.com/architecture/soa/default.aspx © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 8 IBM & SOA…. IBM’s Website on SOA (linked here from developerworks.com) is clearly targeted at selling IBM tools and professional services… Source: http://www-306.ibm.com/software/solutions/webservices/ © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 9 SOA You may either feel educated or sleepy by now, but you probably know little more than when you arrived at this class about SOA… © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 10 SOA Buzz… … you however will be well equipped to play “buzzword bingo” at the meeting where somebody tries to explain SOA… © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 11 Service Oriented Architecture is an Example of an Architectural Style " An Architectural Style defines a family of systems in terms of a pattern of structural organization. n! What are the architectural components? n! What are the architectural connectors? n! What patterns guide the design of the components and connectors? n! How are faults and unexpected events handled? n! Clear definition of the set of constraints on the architectural components and the relationships that are allowed between them Because SOA is an Architectural Style a Reference Architecture can be constructed to govern common aspects of all applications built in accordance with this style… © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 12 Service Oriented Architecture is an Example of an Architectural Style " SOA as an Architectural Style: n! What are the architectural components? w! Services n! What are the architectural connectors? w! Messages n! What patterns govern the design of the components and connectors? w! Data Services, Business Services, Composite Services n! How are faults and unexpected events handled? w! Language specific exception handling mapped to service faults (SOAP) w! HTTP Error Codes – 400 Series (REST) n! Clear definition of the set of constraints on the architectural components and the relationships that are allowed between them w! Services are network addressable w! Services are language and platform independent w! Services have flexible instantiation capabilities w! Services are stateless w! Messages are formally defined by a service contract w! … © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 13 The “Actors” in an SOA – Service Consumers, Service Providers & Messages Service Provider Service Consumer Concrete Service Application Message Service Service Service Intermediary Intermediary Consumed Provided Service Service Interface Interface © Drexel University Software Engineering Research Group (SERG) http://serg.cs.drexel.edu 14 The SOA Model from the W3C The Service Model is dependent on other models. The Message Model defines the messages that a service can accept (content, body, protocol, etc); the Resource Model defines the resources used to fulfill the service contract and are hidden from outside consumers of the service; the Policy Model defines constraints on allowable actions or states and is the enforcement point for security. http://www.ibm.com/developerworks/architecture/library/ar-soastyle/

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    39 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us