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.
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
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.
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.
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.
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.
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.
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.
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.”
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.
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.
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.
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).
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.
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.
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
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
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...
For example: EJB, Spring, Hibernate, JSF, Servlets, Struts, etc. Lots of glue written by developers Requires a great deal of expertise & time Inflexible
parts Composite applications employ SOA principles Features exposed as Web services Standards-based interaction between services Are themselves composable.
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
data Route messages Query databases Apply business policy Handle business exceptions Prepare information for use by a user interface Orchestrate conversations between multiple services