75
Service Oriented Service Oriented Architecture Architecture

Service Oriented Architecture

Embed Size (px)

Citation preview

Page 1: Service Oriented Architecture

Service Oriented ArchitectureService Oriented Architecture

Page 2: Service Oriented Architecture

Overview of the syllabusOverview of the syllabus

SOA characteristicsPrinciples of service orientation Web service and its role in SOAService oriented analysisService oriented designSOA platforms SOA support in J2EE and .NETSOA standardsService composition (BPEL)Security in SOA

Page 3: Service Oriented Architecture

Prerequisite for understanding SOAPrerequisite for understanding SOA

Basic knowledge of object orientationUnderstanding of web technologiesBasics of java programmingBasics of internet programmingSoftware Paradigms

Page 4: Service Oriented Architecture

Overview of the contentOverview of the content

Current trends Software paradigmsApplication architectureWeb based systems2-tier and 3-tier architectureWeb based technologies component based systems

Page 5: Service Oriented Architecture

Current trends …Current trends …

Internet based solutionComplexity of the softwareGrowth in hardware mobile and other smart

devicesDemand for novel / customized services

Page 6: Service Oriented Architecture

Software paradigms…Software paradigms…

Procedure oriented Object-orientedComponent based Event-drivenLogic basedAspect-oriented Service oriented

Page 7: Service Oriented Architecture

The monolithic mainframe application architecture

Separate, single-function applications, such as order-entry or billing

Applications cannot share data or other resources

Developers must create multiple instances of the same functionality (service).

Proprietary (user) interfaces

Page 8: Service Oriented Architecture

The distributed application architecture

Integrated applicationsApplications can share resourcesA single instance of functionality (service) can

be reused.Common user interfacesBottom-up approachReal world scenario

Page 9: Service Oriented Architecture

Web based systems …

Client-server model Client side technologiesServer side technologiesWeb client, Web serversApplication servers

Page 10: Service Oriented Architecture

Basic idea of TiersBasic idea of Tiers

Thick client

Database server

Tier 1: GUI interactions with the user and basic validations

Request

Response

Tier 3: Database processing

Web server

Tier 2: Application logic, Transaction Management, Calls to the database server

Application server

Page 11: Service Oriented Architecture

2-tier architecture2-tier architecture

DatabaseDriver

DatabaseDriver

DatabaseDatabase

Tier Boundary

BusinessLogic

BusinessLogic

BusinessLogic

BusinessLogic

BusinessLogic

BusinessLogic

PresentationLogic

PresentationLogic

Data Layer

Presentation / Business Layer

Page 12: Service Oriented Architecture

Two tier architectureTwo tier architecture

• Deployment costs are high

• Database driver switching costs are high

• Business logic migration costs are high

• The client has to recompile if the BL is changed

• Network performance suffers

Page 13: Service Oriented Architecture

N-Tier architectureN-Tier architecture

DatabaseDatabase

BusinessLogic

BusinessLogic

DatabaseDriver

DatabaseDriver

BusinessLogic

BusinessLogic

BusinessLogic

BusinessLogic

PresentationLogic

PresentationLogic

Data Layer

Tier Boundary

Tier Boundary

Page 14: Service Oriented Architecture

N-Tier architectureN-Tier architecture

• Deployment costs are low• Database switching costs are low• Business migration costs are low• A firewall can secure parts of the

deployment• Each tier can vary independently• Communication performance suffers• Maintenance costs are high

Page 15: Service Oriented Architecture

Presentation tier technologiesPresentation tier technologies

At client or server? Property Microsoft Technology Sun Technology

Client HTTP (Web) based HTML browser (Internet Explorer)

HTML browser (Netscape Navigator)

    ActiveX Controls Java Applets

       

  Non-HTTP based COM clients CORBA clients

       

  Communication Protocol between client and server

DCOM RMI, IIOP

       

Server For creating dynamic Web pages

ISAPI, ASP NSAPI, Servlets, JSP

       

  Other pages HTML, XML HTML, XML

Page 16: Service Oriented Architecture

Business tier technologiesBusiness tier technologies

Purpose Microsoft Technology Sun Technology

Transaction handing, Business Objects

COM, MTS EJB (Session Beans)

Queuing and Messaging MSMQ IBM’s MQSeries, Java Messaging Service (JMS)

Database access ADO, OLE, ODBC JDBC, J/SQL (via Entity Beans)

Page 17: Service Oriented Architecture

Microsoft Web TechnologiesMicrosoft Web Technologies

HTML Browser

HTML Browser

ASP ISAPI

HTML/XML pages

Firewall

COM Client

ActiveX Control

DCOM DCOM

DCOM

MTS Transactional Components

MSMQ Queuing Services

ADO/OLE/ODBC Database Access

Database Database

Database Tier

Presentation Tier

Business Tier

Page 18: Service Oriented Architecture

Sun’s Web TechnologiesSun’s Web Technologies

HTML Browser

HTML Browser

Servlet JSP

HTML/XML pages

Firewall

CORBA Client

Java Applet

RMI/IIOP

RMI/IIOP

EJB Session Beans

MQSeries/Java Messaging Service (JMS)

JDBC / SQL/J

Database Database

Database Tier

Presentation Tier

Business Tier

RMI/IIOP

EJB Entity Beans

Page 19: Service Oriented Architecture

Component World …Component World …

Justification for component Interface ImplementationReusability standards

Page 20: Service Oriented Architecture

Eject

Skip

- Volume +

- Bass +

Actual implementation in terms of voltages, signals, currents etc.

External world (a user of the audio

system)

Interface Implementation

Interface and ImplementationInterface and Implementation

Page 21: Service Oriented Architecture

Technologies for implementing Technologies for implementing componentscomponents

RMI / EJB CORBA COM, DCOM, COM+LimitationsWeb services (XML based standards)

Page 22: Service Oriented Architecture

Basic model of distributed systemBasic model of distributed system

Service Registry

Service Requestor

Service provider

find

Bind

Publish

Page 23: Service Oriented Architecture

An Archetypal Distributed Objects System

o bje ct c lie n t o bje ct s e rv e r

clie n tpro x y

s e rv e rpro x y

ru n t im es u ppo rt

n e two rks u ppo rt

n e two rks u ppo rt

ph y s ica l da ta pa th

lo g ica l da ta pa th

o bje ctre g is t ry

ru n t im es u ppo rt

Page 24: Service Oriented Architecture

Distributed Object Systems / Protocols Distributed Object Systems / Protocols

• The distributed object paradigm has been widely adopted in distributed applications, for which a large number of mechanisms based on the paradigm are available. Among the most well known of such mechanisms are: ~ Java Remote Method Invocation (RMI),

~ the Common Object Request Broker Architecture (CORBA) systems,~ the Distributed Component Object Model (DCOM), ~ mechanisms that support the Simple Object Access Protocol (SOAP).

Page 25: Service Oriented Architecture

RMI architectureRMI architecture

Client Browse

r

Web server

HTML

Java applets

Stub

Application server

Skeleton

Object Implementatio

n

HTML pages

JRMP / IIOP

HTTP

Applets

Page 26: Service Oriented Architecture

CORBA architectureCORBA architecture

Client Brows

er

Web server

HTML

Java applets

Client ORB

Application server

Server ORB

Object Implementation

HTML pages

IIOP

HTTP

Applets

Page 27: Service Oriented Architecture

DCOM architectureDCOM architecture

Client Browse

r

Web server

HTML

ActiveX Controls

Proxy

Application server

Stub

Object Implementation

HTML pages

DCOM

HTTP

ActiveX

Page 28: Service Oriented Architecture

Limitations of ComponentsLimitations of Components

Tightly coupledCross language/ platform issuesInteroperability issuesMaintenance and managementSecurity issues

Page 29: Service Oriented Architecture

Application Centric

Application

ApplicationFinance

DistributionManufacturing

Supply

Narrow Consumers Limited Business Processes

Overlapped resourcesOverlapped providers

Business scope

Application

Integration

Architecture

Business functionality is duplicated in each application that requires it.

EAI ‘leverage’ application silos with the drawback of data and function redundancy.

bound to EAI vendor

Redundancy

Page 30: Service Oriented Architecture

Goal - Service Centric

Page 31: Service Oriented Architecture

What are services?What are services?

A service is Autonomous unit of automated business

logicAccessible to other systems

A service representsBusiness processSub processActivity (process step)

(or multiple)

Page 32: Service Oriented Architecture

What is Service Architecture?

• A collection of services

• classified into types

• arranged into layers

• Governed by architectural patterns and policies

services

identi

ficati

on

gran

ularit

y

depe

nden

cy

type typetype

source:TietoEnator AB, Kurts Bilder

Page 33: Service Oriented Architecture

SOA is a software architecture model in which business functionality are logically grouped and encapsulated into self contained,distinct and reusable units called services that represent a high level business concept can be distributed over a network can be reused to create new business applications contain contract with specification of the purpose, functionality, interfaces (coarse grained), constraints, usage

SOA Defined

Page 34: Service Oriented Architecture

SOA is a software architecture model in which business functionality are logically grouped and encapsulated into self contained,distinct and reusable units called services that represent a high level business concept can be distributed over a network can be reused to create new business applications contain contract with specification of the purpose, functionality, interfaces (coarse grained), constraints, usage

SOA Defined

Services are autonomous, discrete and reusable units of business functionality exposing its capabilities in a form of contracts. Services can be independently evolved, moved, scaled even in runtime.

Services are autonomous, discrete and reusable units of business functionality exposing its capabilities in a form of contracts. Services can be independently evolved, moved, scaled even in runtime.

Page 35: Service Oriented Architecture

Big (outer) vs. Little (inner) SOA

Page 36: Service Oriented Architecture

Service RelationshipsService Relationships

GUI Applications

Student

This is not a use case

Goals Business Processes

Serv ices

Business Applications

uses

hashelp usersachieve

participatesin

invokes

supportedby

are realized by (partially)

exposes

orchestrate / are composed of

Page 37: Service Oriented Architecture

Why SOA?Why SOA?

Heterogeneous cross-platformReusability at the macro (service) level rather

than micro(object) level Interconnection to - and usage of - existing IT

(legacy) assetsGranularity, modularity, composability,

componentizationCompliance with industry standards

Page 38: Service Oriented Architecture

SOA is an evolutionary step for architecture

Page 39: Service Oriented Architecture

SOA is an evolutionary step

in reusability and communication

Page 40: Service Oriented Architecture

SOA is an evolutionary step

Project-ware SOAEAI

in distributed communications

source:Sam Gentile

Page 41: Service Oriented Architecture

Features of SOAFeatures of SOA

Self- describing Interface (WSDL)Message communication via formally defined

XMLServices are maintained in a registryEach service has a Quality Of ServiceApplications adapt to changing technologiesEasy integration of applications with other

systemsLeverage existing investments in legacy

applications

Page 42: Service Oriented Architecture

Service Architecture CompositionService Architecture Composition

Service architectures are composed ofServices

• Units of processing logic• Example: Credit card Service

Messages • Units of communications between services• Needed for services to do their job

Operations • Units of Work• Example: Determine Cost of Attendance

Processes• Composed / orchestrated groups of services• Example: Financial Aid Disbursement

Page 43: Service Oriented Architecture

SOA principlesSOA principles

Service EncapsulationService Loose couplingService ContractService abstractionService DocumentationService reusabilityService composabilityService autonomyService optimization and DiscoveryService statelessness

Page 44: Service Oriented Architecture

Encapsulation

Page 45: Service Oriented Architecture

Loose Coupling

“Service contracts impose low consumer coupling requirements and are themselves decoupled from their surrounding environment."

Create specific types of relationships within and outside of service boundaries with a constant emphasis on reducing (“loosening”) dependencies

between Service contract Service implementation Service consumers

Source: Thomas Erl

Page 46: Service Oriented Architecture

Standardized Service Contracts

“Services within the same service inventory are in compliance with the same contract design standards."

Services use service contract to Express their purpose Express their capabilities

Use formal, standardized service contracts

Focus on the areas of Functional expression Data representation Policy

Source: Thomas Erl

Page 47: Service Oriented Architecture

Abstraction

“Service contracts only contain essential information and information about services is limited to what is published in service contracts”

Avoid the proliferation of unnecessary service information, meta-data.

Hide as much of the underlying details of a service as possible. Enables and preserves the loosely coupled

relationships Plays a significant role in the positioning and

design of service compositions Source: Thomas Erl

Page 48: Service Oriented Architecture

Documentation

Page 49: Service Oriented Architecture

Reusability

“Services contain and express agnostic logic and can be positioned as reusable enterprise resources."

Reusable services have the following characteristics: Defined by an agnostic functional context Logic is highly generic Has a generic and extensible contract Can be accessed concurrently

Source: Thomas Erl

Page 50: Service Oriented Architecture

Composability

"Services are effective composition participants, regardless of the size and complexity of the composition."

Ensures services are able to participate in multiple compositions to solve multiple larger problems

Source: Thomas Erl

Page 51: Service Oriented Architecture

Autonomy

"Services exercise a high level of control over their underlying runtime execution environment."

Represents the ability of a service to carry out its logic independently of outside influences

To achieve this, services must be more isolated

Primary benefits Increased reliability Behavioral predictability

Source: Thomas Erl

Page 52: Service Oriented Architecture

Discoverability

"Services are supplemented with communicative meta data by which they can be effectively discovered and interpreted."

Service contracts contain appropriate meta data for discovery which also communicates purpose and capabilities to humans

Store meta data in a service registry or profile documents

Source: Thomas Erl

Page 53: Service Oriented Architecture

Statelessness

"Services minimize resource consumption by deferring the management of state information when necessary."

Incorporate state management deferral extensions within a service design

Goals Increase service scalability Support design of agnostic

logic and improve service reuseSource: Thomas Erl

Page 54: Service Oriented Architecture

Applying SOA - Governance

Goal: Establish SOA organization governance (SOA Board) that governs SOA efforts and breaks down capabilities into non-overlapping services

Governance is a program that makes sure people do what is ‘right’

In conjunction with software, governance controls the development and operation of software

Page 55: Service Oriented Architecture

Applying SOA - Governance

Policies Codification of laws, regulations, corporate

guidelines and best practices Must address all stages of the service lifecycle

(technology selection, design, development practices, configuration management, release management, runtime management, etc.)

Page 56: Service Oriented Architecture

Applying SOA - Governance

Processes Enforce policies System-driven processes (code check-in, code

builds, unit tests) Human-driven process (requests, design

reviews, code reviews, threat assessment, test case review, release engineering, service registration, etc.)

Page 57: Service Oriented Architecture

Applying SOA - Governance

Metrics Measurements of service reuse, compliancy

with policy, etc. Organization Governance program should be run by SOA

Board, which should have cross-functional representatives

Page 58: Service Oriented Architecture

Business service model

ServiceDesigners

Foundation Service Blocks

Core APIs

I/CA

D

InService

Service specificationmodel

EnterpriseArchitects

SOABoard P

atternsM

odelsStandardsPolicy

Service implementation and deployment

model

Software and IT Architects

BusinessCapabilities

Applying SOA – Governance

Page 59: Service Oriented Architecture

Business functionality has to be made available as services. Service contracts must be fixed

Implemented services must be designed with reuse in mind. This creates some overhead.

Potential service users must be involved in the design process and will have influence on the service design

Applying SOA - Challenges

Service Orientation

Reuse

Sharing of Responsibilities

Increased complexity!

Page 60: Service Oriented Architecture

(Source: Enterprise SOA: Service Oriented Architecture Best Practices by Dirk Krafzig, Karl Banke, and Dirk Slama, Prentice Hall 2004)

Applying SOA – Renovation Roadmap

Page 61: Service Oriented Architecture

Service Oriented Architecture modelService Oriented Architecture model

Page 62: Service Oriented Architecture

Before SOA – After SOA

source:IBM

Page 63: Service Oriented Architecture

Why SOA?To enable Flexible, Federated Business Processes

Enabling a virtual federation ofparticipants to collaborate in anend-to-end business process

Enabling alternativeimplementations

Enabling reuse ofServices

Enabling virtualization of business resources Enabling aggregation from multipleproviders

Identification

Ticket Sales

Ticket Collection

InventoryLogistics

ManufacturingAvailability

Service

Service

Service

Service Service

Service

ServiceService Service

Service

Ordering

source:TietoEnator AB, Kurts Bilder

Page 64: Service Oriented Architecture

Why SOA? To enable Business Process Optimization and the Real Time Enterprise (RTE)

Seamless End to End Process

Internal Systems

SOA Pattern: Standardized Service provided by multiple suppliers

Service from Multiple Suppliers

SOA Patterns: Single, Multi-ChannelService for consistency

BPM Expressed in terms of ServicesProvided/Consumed

Enterprise

source:TietoEnator AB, Kurts Bilder

Smart Clients

Stores POSMobile

3rd Party Agents

Portal

Service to Customers

Page 65: Service Oriented Architecture

Why SOA? Enable Structural Improvement

ERP X Process Z Partner A Process Y

Service

Standardizing capabilities Information Consistency

Policy Consistencye.g. Single Customer

Details Service

Consolidation/Selection process

Reducing impactof change

Encapsulatingimplementation

complexity

ERP ZCRM

System 2CRM

System 1Product System

Policy Rationalization and Evolution

Resource Virtualization

e.g. Multiple Sources of Customer Details

Page 66: Service Oriented Architecture

Service Architecture Organized by Layers

Reasons for Layering

1. Flexible composition.

2. Reuse.

3. Functional standardization in lower levels

4. Customization in higher layers

5. Separation of Concerns.

6. Policies may vary by Layer

Example Layers

Presentation& workflow

Composed Services

Basic Services

Underlying API

according to:TietoEnator AB, Kurts Bilder

Page 67: Service Oriented Architecture

Different layers of SOADifferent layers of SOA

Page 68: Service Oriented Architecture

Service Composition ExampleService Composition Example

Aid Disbursement Process

FAAwardService

RegistrationService

LoanService

BursarService

FA SystemMicrosoft .NET

Registrar SystemMainframe

Dept of Ed???

BursarJava on Linux

Aid DisburseService

Is Realized By

Are Executed In / Controlled By

Orchestratesaccount info

Debit Account

ServiceInterfaceLayer

AppLogic

NotPhysical

Page 69: Service Oriented Architecture

Applying services to the problemApplying services to the problem

MonolithicBefore

The System

After

S1 S2 S4S3

System replacement is a total processSystem modules are tightly interdependent making change difficult

System composed of many logical service units (decomposition)Underlying business logic decoupled as much as possible from other services (autonomy and loose coupling)

Page 70: Service Oriented Architecture

Goal of SOAGoal of SOA

Loosely coupledThe goal for a SOA is a world wide mesh of

collaborating services, which are published and available for invocation on the Service Bus.

SOA is not just an architecture of services seen from a technology perspective, but the policies, practices, and frameworks by which we ensure the right services are provided and consumed.

Page 71: Service Oriented Architecture

Major service types

Basic Services: Data-centric and logic-centric services Encapsulate data behavior and data model and

ensures data consistency (only on one backend).

Basic services are stateless services with high degree of reusability.

Represent fundamental SOA maturity level and usually are build on top existing legacy API (underlying services.

Page 72: Service Oriented Architecture

Major service types

Composed Services :

expose harmonized access to inconsistent basic services technology (gateways, adapters, façades, and functionality-adding services).

Encapsulate business specific workflows or orchestrated services.

Page 73: Service Oriented Architecture

Service Types

Foundation Service Blocks

Core APIs

I/CA

D

InService

Servic

e

Infra

struc

ture

SOA Management & Security service mediation, routing, trust enablement. ESB, Service Registry

Multi channel applications: Mobile, Smart, Thin, Thick clients, Portals.

Business centric services, orchestrated workflows. Intermediate services (gateways, facades )

Data centric and logic centric consistent services. Highly reusable, stateless servers

BusinessCapabilities

Page 74: Service Oriented Architecture

SOA Benefits SummarySOA Benefits Summary

Allow us to execute complex business processes by composing systems from small, less complex building blocks

Fosters collaborative business and technical environment through sharing and coordination of services

Create outward facing self-service applications not constrained by organizational boundaries

Enables creating adaptive, agile systems that are resilient to changes in the business environment

Page 75: Service Oriented Architecture

Conclusions Conclusions

SOA represents a fundamental change to the way information systems will designed in the future

Long term impact on IT portfolio management is dramatic

Adds a significant dimension to system evaluation process

Undertaking SOA requires commitment from all levels of the organization and significant investments (people, process, and tools)