Introduction to SOA


Published on

introduction to service oriented architecture

Published in: Technology, Business

Introduction to SOA

  1. 1. Service Oriented Architecture (SOA) @saeed_shargi
  2. 2. Architecture
  3. 3. Architecture Definition in IEEE 1471 Architecture : The fundamental organization of a system embodied in it’s components, their relationships to each other, and to the environment, and the principles guiding it’s design and evolution Architect : The person, team, or organization responsible for designing systems architecture
  4. 4. Software Architecture What is Software Architecture?  The software architecture of a program or computing system is a depiction of the system that aids in the understanding of how the system behave  Serves as blueprint for both the system and the project developing  The primary carrier of system qualities  An artifact for early analysis  Set of structures needed to reason about the system  Documentation of a system
  5. 5. SOA
  6. 6. SOA An architecture style that model system’s information into services Old division between business and IT Basic understanding of SOA development as a application that describe web services Logical evolution of the software’s modeling Not a new concept
  7. 7. SOA Definition from various viewpointsSOA is a journey that promises to : reduce the lifetime cost of the application portfolio Maximize RIO in both application and technology resource Reduce lead times in delivering solutions to business
  8. 8. SOA Definition from various viewpointsSOA is a set of services that can be: Exposed to their customers ,partners and other part of organization Business capabilities , function , and business logic can be combined Application serve the business
  9. 9. SOA Definition from various viewpointsSOA is a way of unlocking value
  10. 10. SOA Definition from various viewpoints SOA is a means to create dynamic , highly configurable and collaborative application built for change SOA reduce IT complexity and rigidity SOA becomes the solution to stop the gradual entropy SOA reduces lead times and costs
  11. 11. SOA Definition from various viewpointsSOA is the architectural solution forintegrating diverse systems byproviding an architectural style thatpromotes loose coupling and reuse
  12. 12. SOA Definition from various viewpoints SOA is a programming model or paradigm where web services and contracts becomes a dominate design for interoperability Use WSDL or equivalent specification for describing the service
  13. 13. SOA DefinitionDelivering on the promises of SOA :  Improved business agility  Maximized ROI  Reduce IT complexity and rigidity  Reduce costs  Reduce lead times  Reduce risk  New opportunities to deliver value  Increased participation in value networks  Incremental implementation
  14. 14. Is SOA an Architectural Style?
  15. 15. What Are The Fundamental Constructs Of SOA?
  16. 16. What Are The Fundamental Constructs Of SOA? The most basic construct or building block of SOA is a service Service consumer, service provider, service description, service broker, and a registry are all part of the DNA of SOA A service in SOA is the logical, self-contained business function
  17. 17. What Are The Fundamental Constructs Of SOA? Services in SOA have the following attributes:  Stateless  Discoverable  Self-describing  Compostable  Loose coupling  Governed by policy  Independent location, language, and protocol
  18. 18. What Are The Fundamental Constructs Of SOA? Services in a service-oriented architecture typically have the following characteristics:  Coarse-grained  Asynchronous
  19. 19. What Are The Fundamental Constructs Of SOA?
  20. 20. What Are The Fundamental Constructs Of SOA?
  21. 21. SOA Terms Service-Orientation Services Service-Models Service Composition Service Inventory Service-Oriented Analysis Service Candidate Service-Oriented Design Service Contract Service-Related Granularity
  22. 22. Service-Orientation design paradigm intended for the creation of solution logic units As a design paradigm for distributed computing, service- orientation can be compared to object-orientation
  23. 23. Service-Orientation
  24. 24. Services A unit of solution logic to which service-orientation has been applied to a meaningful extent. As a physically independent software program with specific design characteristics Each service is assigned its own distinct functional context and is comprised of a set of capabilities related to this context Considered a container of capabilities associated with a common purpose
  25. 25. Services Service capabilities declare in service contract
  26. 26. Services Three common service implementation is :  Services as Components  Services as Web Services  Services as REST Services
  27. 27. Services as Component A software program designed to be part of a distributed system It provides a technical interface comparable to a traditional API have typically relied on platform-specific development and runtime technologies
  28. 28. Services as Web Services Is a body of solution logic that provides a physically decoupled technical contract consisting of a WSDL definition and one or more XML Schema definitions and also possible WS-Policy expressions Web service contract exposes public capabilities as operations Service-orientation can be applied to the design of Web services
  29. 29. Services as Web Services
  30. 30. Services as REST Services Are designed in compliance with the REST architectural style Focuses on the resource as the key element of abstraction Can be further shaped by the application of service- orientation principles
  31. 31. Services Models Is a classification used to indicate that a service belongs to one of several predefined types Three service models are common to most enterprise environments and therefore common to most SOA projects:  Task Service  Entity Service  Utility Service Play an important role during service-oriented analysis and service oriented design phases
  32. 32. Services Composition Is an aggregate of services collectively composed to automate a particular task or business process To qualify as a composition, at least two participation services plus one composition initiator need to be present Can be classified into primitive and complex variations
  33. 33. Services Composition
  34. 34. Services Inventory Is an independently standardized and governed collection of complementary services within a boundary that represents an enterprise or a meaningful segment of an enterprise When an organization has multiple service inventories, this term is further qualified as domain service inventory
  35. 35. Services-Oriented Analysis Represents one of the early stages in an SOA initiative and the first phase in the service delivery cycle The service-oriented analysis process is commonly carried out iteratively, once for each business process A key success factor of the service-oriented analysis process is the hands-on collaboration of both business analysts and technology architects
  36. 36. Services-Oriented Analysis
  37. 37. Services Candidate Is used to help distinguish a conceptualized service from an actual implemented service
  38. 38. Services-Oriented Design Represents a service delivery lifecycle stage dedicated to producing service contracts in support of the well- established “contract-first” approach to software development The typical starting point for the service-oriented design process is a service candidate There is a different service-oriented design process for each of the three common service models
  39. 39. Services Contract Is comprised of one or more published documents that express meta information about a service The fundamental part of a service contract consists of the documents that express its technical interface When services are implemented as Web services, the most common service description documents are the WSDL definition, XML schema definition, and WS- Policy definition
  40. 40. Services Contract
  41. 41. Services Contract
  42. 42. Services Contract
  43. 43. Services-Related Granularity there are different granularity levels as follows:  Service Granularity  Capability Granularity  Constraint Granularity  Data Granularity
  44. 44. Services-Related Granularity
  45. 45. What Is The Difference Between aWeb Service and an SOA Service?
  46. 46. Benefits Of SOA New products or processes simply execute Flexible systems are not obstacle to changing and rapid evolution of processes
  47. 47. Benefits Of SOA Solving complex integration problem of large systems
  48. 48. Benefits Of SOA Divided of project into smaller components that can be done independent is simply Control of progress in each subproject is calculated
  49. 49. Benefits Of SOA Integration and connecting to other systems is dominant approach
  50. 50. Benefits Of SOA Systems easily meet the requirements of users The problem of data transfer between systems is solved with integration Complexity of systems hidden from users
  51. 51. Benefits Of SOA Enterprise architects believe that the SOA can help the business to response faster and more cost-effective to market conditions changing This style of architecture use reusability in macro level instead micro level
  52. 52. Orchestration and Choreography Without process engine Sequence of transaction messages register and controlled by players Have a process engine Call set of services to complete process Maybe call external services Sample of this system is BPMS
  53. 53. Principles of SOA Loose coupling Service contract to communications agreement Encapsulation of internal implementation Reusability Composability Statelessness Services Discoverability Services Autonomy Services
  54. 54. SOA ToolsCompany Tools Name Oracle Oracle SOA SuiteMicrosoft BizTalk Server - WCF IBM WebSphere