Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Transitioning Enterprise Architectures to Service Oriented Architectures


Published on

Published in: Technology, Business
  • Fioricet is often prescribed for tension headaches caused by contractions of the muscles in the neck and shoulder area. Buy now from and make a deal for you.
    Are you sure you want to  Yes  No
    Your message goes here

Transitioning Enterprise Architectures to Service Oriented Architectures

  1. 1. Woody Woods Chief Enterprise Architecture Technologist SI International, Inc. SessionTitle: Transitioning Enterprise Architectures to Service Oriented Architectures
  2. 2. Overview <ul><li>What is SOA? </li></ul><ul><li>Why SOA? </li></ul><ul><li>Service Definitions </li></ul><ul><li>Example </li></ul><ul><li>Wrap-up </li></ul>
  3. 3. What is SOA? <ul><li>Service-Oriented Architecture (SOA) </li></ul><ul><ul><li>A service-oriented architecture is a conceptual description of a the structure of a software system in terms of its components and the services they provide, without regard for the underlying implementation of these components, services and connections between components. [Rational Unified Process] </li></ul></ul>
  4. 4. Why SOA? <ul><li>Object-Oriented Analysis and Design </li></ul><ul><li>Business Process Reengineering </li></ul><ul><li>Functional Requirements Capture </li></ul><ul><li>Loosely Coupled </li></ul><ul><ul><li>Ease of Change </li></ul></ul><ul><li>Effects Oriented </li></ul><ul><li>Interfaces with other Enterprises </li></ul><ul><li>Integrated Schema, Definition and Data </li></ul><ul><li>Rigorous Analysis </li></ul>
  5. 5. Service Definitions <ul><li>NCOW-RM </li></ul><ul><li>OASIS Reference Model for SOA v 1.0 </li></ul>
  6. 6. Service (NCOW – RM) <ul><li>A service, in the context of the Reference Model, is: </li></ul><ul><li>A self-contained, stateless function with a well-defined interface that allows discovery and use of the service </li></ul><ul><li>A functionality (function or combination of functions) that supports the production, sharing, and consumption (use) of data, information, or other services </li></ul><ul><li>A functionality that accepts one or more requests and returns one or more responses, independent of the state of other functions or processes </li></ul><ul><li>An exposed functionality with three properties: </li></ul><ul><ul><li>The interface contract to the service is platform independent. This means a client from any device using any operating system in any language can use the service, and that knowledge of the technical details of another service is not required to interact to it. </li></ul></ul><ul><ul><li>The service can be dynamically located and invoked. All applications can appear on the network as a set of services where it is possible to plug all these services into a single information bus. It is irrelevant whether the services are local (within the system) or remote (external to the immediate system), what interconnect scheme or protocol is used, or what infrastructure components are required to make the connection. </li></ul></ul><ul><ul><li>The service is self-contained; it maintains its own state. Services operate as “black boxes” and external components neither know nor care how they perform their function, just that they return the expected result. </li></ul></ul>
  7. 7. Service – OASIS Reference Model for SOA v 1.0 <ul><li>A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. A service is provided by an entity – the service provider – for use by others, but the eventual consumers of the service may not be known to the service provider and may demonstrate uses of the service beyond the scope originally conceived by the provider. </li></ul><ul><li>A service is accessed by means of a service interface where the interface comprises the specifics of how to access the underlying capabilities. There are no constraints on what constitutes the underlying capability or how access is implemented by the service provider. Thus, the service could carry out its described functionality through one or more automated and/or manual processes that themselves could invoke other available services. </li></ul><ul><li>A service is opaque in that its implementation is typically hidden from the service consumer except for </li></ul><ul><ul><li>(1) the information and behavior models exposed through the service interface and </li></ul></ul><ul><ul><li>(2) the information required by service consumers to determine whether a given service is appropriate for their needs. </li></ul></ul>
  8. 8. Defining Operational Activities Establishes the overall objectives of the architecture, its purpose, boundaries, goals, and mission. Documents the consumption and production of the enterprise, the associated roles and interfaces Establishes the scope of the activity and the responsible roles to produce the result of value. Establishes the flow of control as defined by the business rules and provides context for the business services offered by the enterprise. Documents service responsibility among the roles in the environment as defined by the activity diagrams. Documents the information requirements in the form of classes, their attributes, operations and relationships with other classes.
  9. 9. Scenario <ul><li>An individual on a surveillance team has noticed a drug deal in progress and notifies police headquarters. </li></ul><ul><li>Police headquarters notifies the FBI and requests ancillary information. </li></ul><ul><li>The result is a pinpointed location of a specific drug deal </li></ul>
  10. 10. Process <ul><li>Identify Roles </li></ul><ul><li>Identify Objects </li></ul><ul><li>Identify Boundary Crossings </li></ul><ul><li>Identify Potential Services </li></ul><ul><li>Identify Interfaces </li></ul>
  11. 11. Identify Roles
  12. 12. Identify Objects (1 of 2) Trigger Result of Value
  13. 13. Identify Objects (2 of 2)
  14. 14. Identify Initial Actions
  15. 15. Complete Action Analysis
  16. 16. Sequence Diagram
  17. 17. Identify Boundaries <ul><li>Each role is represented as a swim lane on the activity diagram </li></ul><ul><li>The boundaries are the lines defining each swim lane </li></ul><ul><li>The term “crossing” a swim lane boundary indicates traversal from the producing swim lane to the consuming swim lane and does not include any that are in between </li></ul>
  18. 18. Identify Boundary Crossings
  19. 19. Identify Potential Services
  20. 20. Post DEA Information Request Service
  21. 21. Identify System Interfaces
  22. 22. Post DEA Information Interfaces
  23. 23. Summary <ul><li>This method provides a road map to transition from Enterprise Architecture to Service Oriented Architecture </li></ul><ul><ul><li>Identifies Business Services in the context of Business Processes and Rules </li></ul></ul><ul><ul><li>Identifies Relationships between and among Business Actors (Roles) </li></ul></ul><ul><ul><li>Develops IT Services from those relationships </li></ul></ul><ul><ul><li>Realizes those Services with Interfaces that are platform independent </li></ul></ul>
  24. 24. Thank You! <ul><li>Woody Woods </li></ul><ul><li>Chief Enterprise Architecture Technologist </li></ul><ul><li>SI International, Inc. </li></ul><ul><li>Contact Information: </li></ul><ul><li>(719) 235-4525 </li></ul><ul><li>[email_address] </li></ul>