Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SOA.pdf

 SOA.pdf

For Access Bank Staff

Ayo Adesokan

March 12, 2019
Tweet

More Decks by Ayo Adesokan

Other Decks in Technology

Transcript

  1. Schedule Days Content Key Deliverables Day 1 Terminologies, Definition and

    Understanding of SOA. Describe terms and concepts. Day 2 Shared Service Architecture Implementation of a Shared Service Architecture Day 3 Concepts of ESB Do a Service Implementation on Cloud ESB using WSO2.
  2. What is SOA? – Service-Oriented Architecture (SOA) is an architectural

    style that supports service-orientation. – Service-orientation is a way of thinking in terms of services and service-based development and the outcomes of services. – A service: – Is a logical representation of a repeatable business activity that has a specified outcome (e.g., check customer credit, provide weather data, consolidate drilling reports) – Is self-contained – May be composed of other services – Is a “black box” to consumers of the service
  3. SOA Architectural Style – The SOA architectural style has the

    following distinctive features: – It is based on the design of the services – which mirror real-world business activities – comprising the enterprise (or inter-enterprise) business processes. – Service representation utilizes business descriptions to provide context (i.e., business process, goal, rule, policy, service interface, and service component) and implements services using service orchestration.
  4. SOA Architectural Style – It places unique requirements on the

    infrastructure – it is recommended that implementations use open standards to realize interoperability and location transparency. – Implementations are environment-specific – they are constrained or enabled by context and must be described within that context. – It requires strong governance of service representation and implementation.
  5. What is Enterprise Architecture ? An enterprise architecture (EA) is

    a conceptual blueprint that defines the structure and operation of an organization. The intent of an enterprise architecture is to determine how an organization can most effectively achieve its current and future objectives.
  6. What does EA help organization to achieve ? – A

    clearly articulated architecture describes the desired enterprise organization and manner of operation. By doing so, it provides: – A definition of the changes that should be implemented to achieve this organization – A basis for control and governance of its ongoing operation – An enterprise architecture also provides a third benefit. Enterprises change over time. They combine and split, as in commercial mergers and spin-offs, or government department reorganizations. It is easier to combine an enterprise with another, or to split it into component parts, when it has a clearly-defined architecture. This brings significant cost savings, and can increase the value of a commercial enterprise.
  7. Relationship between EA and SOA With SOA, the IT systems

    perform services that are defined and described in the context of the enterprise’s business activities. Each service is identified, and what it does is clearly set out in the form of a contract. This principle enables use of techniques such as service composition, discovery, message-based communication, and model-driven implementation, which give fast development of effective and flexible solutions. They are important features of SOA. Their benefits – especially that of enterprise agility – are the most frequently quoted reasons for SOA adoption.
  8. Relationship between EA and SOA But it is the replacement

    of large, monolithic applications that have tiny interoperability interfaces, grudgingly provided and not guaranteed, by smaller, modular services that have interface descriptions and contracts, that is the most fundamental effect of SOA. This is the basis for the huge increase in IT system interoperability that SOA can bring, not only within enterprises, but also between enterprises.
  9. 11 What is a Service? –A service is a reusable

    component that can be used as a building block to form larger, more complex business- application functionality. –A service may be as simple as “get me some person data,” or as complex as “process a disbursement.”
  10. 12 Service contd. – A service provides a discrete business

    function that operates on data. Its job is to ensure that the business functionality is applied consistently, returns predictable results, and operates within the quality of service required.
  11. 13 Service contd. –How the service is implemented, and how

    a user of the service accesses it, are limited only by the SOA infrastructure choices of the enterprise. –From a theory point of view, it really doesn’t matter how a service is implemented.
  12. 14 Characteristics of a Service –Supports open standards for integration:

    Although proprietary integration mechanisms may be offered by the SOA infrastructure, SOA’s should be based on open standards. Open standards ensure the broadest integration compatibility opportunities.
  13. 15 Characteristics of a Service –Loose coupling: The consumer of

    the service is required to provide only the stated data on the interface definition, and to expect only the specified results on the interface definition. The service is capable of handling all processing (including exception processing).
  14. 16 Characteristics of a Service –Stateless: The service does not

    maintain state between invocations. It takes the parameters provided, performs the defined function, and returns the expected result. If a transaction is involved, the transaction is committed and the data is saved to the database.
  15. 17 Characteristics of a Service – Location agnostic: Users of

    the service do not need to worry about the implementation details for accessing the service. The SOA infrastructure will provide standardized access mechanisms with service-level agreements.
  16. Pre-SOA Scenario Customer Data Back- End System Partner Credit Data

    Partner Credit Data Back- End System Customer Data
  17. Benefits of SOA – Flexible (Agile) IT – Adaptable to

    changing business needs – Faster time to market – Reuse existing code, minimize new development – Business and process-driven – New business opportunities – Greater ROI – Leverage existing IT asset
  18. Service Oriented Architecture (SOA) – An architectural principle for structuring

    systems into coarse- grained services – Technology-neutral best practice – Emphasizes the loose coupling of services – New services are created from existing ones in a synergistic fashion – Strong service definitions are critical – Services can be re-composed when business requirements change
  19. Applications – Developers need to build end-to-end applications – Front-end

    user interfaces – Middle-tier business logic – Back-end resources – With the right approach, developers can... – Reuse existing parts – Build new parts – Glue old and new parts together – With the wrong approach, developers must...
  20. Traditional Application Development – Point technologies, products, and APIs –

    For example: EJB, Spring, Hibernate, JSF, Servlets, Struts, etc. – Lots of glue written by developers – Requires a great deal of expertise & time – Inflexible
  21. Composite Applications – A way to compose applications from reusable

    parts – Composite applications employ SOA principles – Features exposed as Web services – Standards-based interaction between services – Are themselves composable.
  22. What Are Services? –Black-box components with well-defined interfaces –Performs some

    arbitrary function –Can be implemented in myriad ways –Accessed using XML message exchanges –Using well-known message exchange patterns (MEPs) –Metadata in the form of WSDL describes... –Abstract interfaces –Concrete endpoints
  23. What Can Services Do? – Perform business logic – Transform

    data – Route messages – Query databases – Apply business policy – Handle business exceptions – Prepare information for use by a user interface – Orchestrate conversations between multiple services