7 Serviceoriented Architecture SOA Part 2 The Evolution

  • Slides: 50
Download presentation
7. Service-oriented Architecture (SOA) Part 2

7. Service-oriented Architecture (SOA) Part 2

The Evolution of SOA The analogy of A/V Components • Years ago electronic systems

The Evolution of SOA The analogy of A/V Components • Years ago electronic systems were selfcontained monolithic systems • Today’s gadgets are pluggable and independent • Standardized connections 2

A BRIEF HISTORY 3

A BRIEF HISTORY 3

How did it come to SOA? 4

How did it come to SOA? 4

How did it come to SOA? 5

How did it come to SOA? 5

How did it come to SOA? 6

How did it come to SOA? 6

How did it come to SOA? Object Oriented Procedural Oriented Service Oriented Component Oriented

How did it come to SOA? Object Oriented Procedural Oriented Service Oriented Component Oriented 7

How did it come to SOA? Ordering service Tracking Service A website selling gadgets

How did it come to SOA? Ordering service Tracking Service A website selling gadgets Checkout service Inventory service Serving its customers 8

How did it come to SOA? 9

How did it come to SOA? 9

Enterprise Application Integration 10

Enterprise Application Integration 10

Enterprise Integration 11

Enterprise Integration 11

Summing up: the Evolution of Distributed Computing How it all grew… Service Orientation Messaging

Summing up: the Evolution of Distributed Computing How it all grew… Service Orientation Messaging MOM Component (CORBA, EJB/RMI, DCOM) Mainframe/ Mid Range Downsize (Client /Server) 12

Application Service Evolution Service Oriented Design (Inter-Enterprise Scope) Component Oriented Design (Inter-Application Scope) Layer

Application Service Evolution Service Oriented Design (Inter-Enterprise Scope) Component Oriented Design (Inter-Application Scope) Layer Service Layer Component Object Oriented Design Class Layer Structured design 13

Benefits of SOA • Efficient and effective usage of ‘Business Services’ • Greater agility

Benefits of SOA • Efficient and effective usage of ‘Business Services’ • Greater agility • Loosely-coupled with reusable assets and services • Promotes productivity – Reduces time-to-market • Drives business processes closer to end users 14

Benefits of SOA • • Technology agnostic Leverage and integrate existing applications Build, maintain

Benefits of SOA • • Technology agnostic Leverage and integrate existing applications Build, maintain & extend vs. rip and replace Provide standard connections between systems • Abstract complexity for developers 15

Benefits of SOA Feedback at different levels More efficient development process Reuse Agility Independence

Benefits of SOA Feedback at different levels More efficient development process Reuse Agility Independence from technology Adequate business infrastructure Cost savings Evolutionary approach Risk mitigation 16

Key components of SOA Discovering SOA Analogy: “The 6 blind men and the Elephant”

Key components of SOA Discovering SOA Analogy: “The 6 blind men and the Elephant” WALL ? SPEAR ? FAN ? ROPE ? SNAKE ? TREE ? 17

Different interpretation of SOA… RESTful ? BPEL ? XML ? SOAP? ESB ? Web

Different interpretation of SOA… RESTful ? BPEL ? XML ? SOAP? ESB ? Web services ? 18

Challenges SOA Alphabet Soup What Would You Choose? JBI 19

Challenges SOA Alphabet Soup What Would You Choose? JBI 19

Associated Terminology BPO Business Process Outsourcing BPM Business Process Management ESP Enterprise Service Provider

Associated Terminology BPO Business Process Outsourcing BPM Business Process Management ESP Enterprise Service Provider GDM Global Delivery Model SOA Service Oriented Architecture SODA Service Oriented Development of Applications SOBA Service Oriented Business Applications SOE Service Oriented Enterprise WS Web Services 20

Message Brokering • Message brokering technology is a response to the challenge to build

Message Brokering • Message brokering technology is a response to the challenge to build new integration applications without reprogramming existing applications. • Brokers sit on top of the common messaging protocol enabled by the messaging half adapters. • The common protocol exposes data traffic to and from applications. • Message brokers are integration servers that are located centrally between applications, for example, in a hub-and-spoke topology. 21

Evolution of Application Integration Patterns 22

Evolution of Application Integration Patterns 22

Key Terms for a Service-oriented Architecture 23

Key Terms for a Service-oriented Architecture 23

Isolating the Business Process from the Implementation 24

Isolating the Business Process from the Implementation 24

Vision of the Service-Oriented Enterprise 25

Vision of the Service-Oriented Enterprise 25

Open Group SOA Reference Architecture (SOA RA) 26

Open Group SOA Reference Architecture (SOA RA) 26

Service-Oriented Architecture: • The policies, practices, frameworks that enable application functionality to be provided

Service-Oriented Architecture: • The policies, practices, frameworks that enable application functionality to be provided and consumed as sets of services published at a granularity relevant to the service consumer. • Services can be – invoked, – published and – discovered, and are abstracted away from the implementation using a single, standards-based form of interface. 27

SOA § § § SOA is a Software Design Approach Conceptually a collection of

SOA § § § SOA is a Software Design Approach Conceptually a collection of services on a network that communicate with one another. Services are loosely coupled SOA is a higher level of application development. SOA typically leverages on standards based integration. The key players include service provider and service consumer 28

SOA Components and Operations 29

SOA Components and Operations 29

SOA architecture Service Directory Registers Finds and Retrieves Service Consumer Service Provider Invokes 30

SOA architecture Service Directory Registers Finds and Retrieves Service Consumer Service Provider Invokes 30

SOA Architecture 31

SOA Architecture 31

Basic Components of an SOA • SOA consists of the following three components: –

Basic Components of an SOA • SOA consists of the following three components: – Service provider – Service consumer – Service registry • Each component can also act as one of the two other components. – For instance, if a service provider needs additional information that it can only acquire from another service, it acts as a service consumer. 32

Service 33

Service 33

Services, Services 34

Services, Services 34

A Service • A service is a unit of work done by a service

A Service • A service is a unit of work done by a service provider to achieve desired end results for a service consumer • A service is a self-contained software module that performs a predetermined task: – "verify a customer's credit history, " for example. • Services are software components that don't require developers to use a specific underlying technology. • The other key advantage of SOA is that it lets you automate business-process management. – Business processes may consume and orchestrate these services to achieve the desired functionality. – Thus, new business processes can be constructed by using existing services. 35

A Service A service in SOA is an exposed piece of functionality with three

A Service A service in SOA is an exposed piece of functionality with three properties: • The interface contract to the service is platform-independent. • The service can be dynamically located and invoked. • The service is self-contained. That is, the service maintains its own state. 36

Message • Service providers and consumers communicate via messages. • Services expose an interface

Message • Service providers and consumers communicate via messages. • Services expose an interface contract. • This contract defines the behavior of the service and the messages they accept and return. • Because the interface contract is platform- and language-independent, the technology used to define messages must also be agnostic to any specific platform/language. • Therefore, messages are typically constructed using XML documents. 37

Dynamic Discovery • • • The directory service is an intermediary between providers and

Dynamic Discovery • • • The directory service is an intermediary between providers and consumers. Providers register with the directory service and consumers query the directory service to find service providers. Embedding a directory service within SOA accomplishes the following: 1. 2. 3. 4. 5. Scalability of services; you can add services incrementally. Decouples consumers from providers. Allows for hot updates of services. Provides a look-up service for consumers. Allows consumers to choose between providers at runtime rather than hard-coding a single provider. 38

Dynamic Discovery Dynamic discovery hints that a discovery service (e. g. , a directory

Dynamic Discovery Dynamic discovery hints that a discovery service (e. g. , a directory service) is available. • The directory service enables a look-up mechanism where consumers can go to find a service based on some criteria. – For example, if I was looking for a credit-card authorization service, I might query the directory service to find a list of service providers that could authorize a credit card for a fee. – Based on the fee, I would select a service 39

A platform-Independent Interface A platform-independent interface contract implies that a client from – anywhere,

A platform-Independent Interface A platform-independent interface contract implies that a client from – anywhere, – on any OS, and – in any language, can consume the service. 40

SOA Offers Several Key Advantages You can: • Adapt applications to changing technologies. •

SOA Offers Several Key Advantages You can: • Adapt applications to changing technologies. • Easily integrate applications with other systems. • Leverage existing investments in legacy applications. • Quickly and easily create a business process from existing services. 41

Business Requirements and Drivers for SOA 42

Business Requirements and Drivers for SOA 42

Greater Need for a Flexible Architecture • When using an SOA-based application, the services

Greater Need for a Flexible Architecture • When using an SOA-based application, the services are defined as units of business logic separated from the flow of control and routing, and the data transformation and protocol transformation. • This approach provides loose coupling, thus making this approach much more flexible for integration. 43

Business Driving a Shift in IT 44

Business Driving a Shift in IT 44

Enterprise Service Bus (ESB)

Enterprise Service Bus (ESB)

Overcoming the Problems of Point-to-point Integration with ESB 46

Overcoming the Problems of Point-to-point Integration with ESB 46

ESB as a Distributed Infrastructure with Centralized Control 47

ESB as a Distributed Infrastructure with Centralized Control 47

SOA without ESB 48

SOA without ESB 48

SOA with ESB 49

SOA with ESB 49

The ESB Architecture • The purpose of the ESB is so that common specifications,

The ESB Architecture • The purpose of the ESB is so that common specifications, policies, etc can be made at the bus level, rather than for each individual service. 50