71
Marcelo Fernández Software Practice Manager Email: [email protected] Service Oriented Architecture

Service Oriented Architecture

  • Upload
    zubin67

  • View
    1.398

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Service Oriented Architecture

Marcelo FernándezSoftware Practice Manager

Email: [email protected]

Service Oriented Architecture

Page 2: Service Oriented Architecture

Agenda• SOA Big Rules

• Understanding SOA

• ESB

• JBI

• Registry & Repository

• Security

Page 3: Service Oriented Architecture

Section

Introduction to SOA

Page 4: Service Oriented Architecture

Hype or Reality?

So What?SOA!?

Reuse

Encapsulate

The New EDI?

Remember CORBA?Web Services

Aligned

Cross-PlatformVendor Neutral

Multi-Vendor

Register & Discover

Described

StandardsFlexible IT

XML

Wrap & Reuse

Composability Legacy

Layering

Agile

Stateless

Loosely Coupled

Messaging

Integration

QoS

Federation

Transformation

On Demand

Autonomous

Interoperable

Extensible

Location Transparency

Page 5: Service Oriented Architecture

What is SOA?

• Service Oriented Architecture implies that the IT organization of an enterprise pursue business and technical strategies which promote the exposure of business functionality and data within and between enterprises in a manner which is:

>Consistent>Published>Secure>Contractual

Page 6: Service Oriented Architecture

Accidental Architecture?Silo Oriented Architecture

• Rigid

• Complex

• Expensive

• Slow to Market

• Monolithic

• Hard to Integrate

Mature information systems grow old disgracefully as successive waves of hacking result in accidental architectures which resist the reflection of on-going business process change.- Anthony Lauder & Stuart Kent; University of Kent. (2000)

Page 7: Service Oriented Architecture

Promise of SOA

• Interoperability• Federation• Dynamic Discovery• Loose Coupling• Reuse and Composition• Evolution, not Revolution• Wrap and Reuse; Not Rip and Replace• Standards based approach• Alignment of Business and Technology

Page 8: Service Oriented Architecture

SOA Conceptual Model

Page 9: Service Oriented Architecture

Elements of SOA

1st Class Artifacts QoS Explicitly Specified

Page 10: Service Oriented Architecture

Layering Principle

• Shared Network-based Layered Services

Process Layer

Access Layer

Service Layer

Resource Layer

Page 11: Service Oriented Architecture

The “Move” to Service Orientation

AccidentalRigid

Silo-Oriented

LayeredExtensible

Service-Oriented

Page 12: Service Oriented Architecture

The SOA Shift

Page 13: Service Oriented Architecture

SOA and Standards

ReliableMessaging Security

PolicyQuality

ofServices

Registry & Repository Discovery

Service DescriptionDescription

IntegrationOrchestration

Choreography

Addressing & Notifications

MessagesMessaging

Transport Protocols

Context

Transaction

Coordination

Portal Access

Management Management

Page 14: Service Oriented Architecture

SOA and Standards

ReliableMessaging:

WS-ReliabilityWS-ReliableMessaging

SecurityWS-Security, WS-TrustSAML, XACML, XKMS

XML-SignatureXML-Encryption

Liberty ID-FF, ID-WSF, ID-SISWS-Federation

WS-I Basic Security Profile

PolicyWS-PolicyQuality

ofServices

Registry UDDI, ebXML RS Repository ebXML RS/RIMDiscovery

Service Description Language WSDLDescription

IntegrationBusiness Process Languages: Orchestration

WS-BPEL*, WFMC XPDL

Business Collaboration Languages: ChoreographyWS-CDL, ebXML BP

Addressing & Notifications WS-Addressing, WS-Notification, WS-Topics, WS-Eventing

Messages SOAP, WS-MetadataExchange, XML, XML Schema, Encoding

Messaging

Transport Protocols HTTP, IIOP, Other

ContextWS-Context (WS-

CAF)

TransactionWS-AtomicTransaction

WS-TXM (WS-CAF)

CoordinationWS-Coordination WS-CF (WS-CAF)

Portal WSRPAccess

Management Management WS-Management, WS-DistributedManagement (WSDM)

Page 15: Service Oriented Architecture

Section

SOA Big Rules

Page 16: Service Oriented Architecture

LayeredModular &Autonomous Service Reuse Interoperable

Coarse-GrainedBusiness Services

Composable Stateless XML Doc-Based Asynchronous Conversational

Reliable Messaging Secure Policy-Driven Described Orchestrated

SOA Big Rules – Eye Chart

Registered & Discovered Loosely Coupled Versioned Self HealingChoreographed

Page 17: Service Oriented Architecture

SOA Big Rule

Layered

Process

Service

Resource

Access

Page 18: Service Oriented Architecture

SOA Big Rule

Modular & Autonomous

● Cohesive● Independent

Page 19: Service Oriented Architecture

SOA Big Rule

Reuse

Service Reused

● Different Applications● Different Use Cases● Operation Level Reuse

Page 20: Service Oriented Architecture

SOA Big Rule

Interoperable

Interoperability● Platform● Vendor● Protocol● Data

Page 21: Service Oriented Architecture

SOA Big Rule

Coarse Grained Business Services

Application Services

● Relative:Coarser to Finer

● Defined by real business needs

Page 22: Service Oriented Architecture

SOA Big Rule

Composable

● Reuse & Modularity● Assembly● Orchestration

Page 23: Service Oriented Architecture

SOA Big Rule

Stateless

● State not in Service

● Document Exchange

Page 24: Service Oriented Architecture

SOA Big Rule

XML Document-Based Exchanges

Note: Coordinator is optional

Page 25: Service Oriented Architecture

SOA Big Rule

Mostly Asynchronous Interactions

Note: Coordinator is optional

Page 26: Service Oriented Architecture

SOA Big Rule

Conversational Services

● Conversational state is outside the service

● Intermediary Coordinator

Page 27: Service Oriented Architecture

SOA Big Rule

Reliable Messaging

Note: Coordinator is optional

● Acknowledgement● Failure Handling● Sequencing● Assurance

Page 28: Service Oriented Architecture

SOA Big Rule

Secure

Note: Coordinator is optional

● AuthN/AuthZ● Federation● Identity & Trust● Non-Repudiation● Message (Enc/Sig)● Integrity● Transport-Level● Message-Level

Page 29: Service Oriented Architecture

SOA Big Rule

Policy Driven

Note: Coordinator is optional

● Security● QoS● Other

Page 30: Service Oriented Architecture

SOA Big Rule

Described Services

Note: Coordinator is optional

● Contract● Endpoint● Operation● MEP● Policies

Page 31: Service Oriented Architecture

SOA Big Rule

Orchestrated Services

OrchestrationInteractions that a given service can engage in with other services from the viewpoint of that service, includes internal steps.

Page 32: Service Oriented Architecture

SOA Big Rule

Choreographed Services

WS-CDLChoreographyGlobal view of multiple services interacting (observable behavior) towards a common goal. No internal steps.

Page 33: Service Oriented Architecture

SOA Big Rule

Registered & Discovered

● Service Description● Dynamically Found● Dynamically Bound

Page 34: Service Oriented Architecture

SOA Big Rule

Loosely Coupled1 = Lookup2 = Bind and Invoke

● Implementations (Interfaces)● Requestor & Provider (Contracts)● Business Process and Application Logic (Services)● Hardware/OS/Tools/Middleware/Applications/...

Page 35: Service Oriented Architecture

SOA Big Rule

Versioned

● Multiple Versions● Deprecation & Retiring● Routing & Transformation● Automated Deployment

Page 36: Service Oriented Architecture

SOA Big Rule

Self Healing

● Client Transparency

Page 37: Service Oriented Architecture

LayeredModular &Autonomous Service Reuse Interoperable

Coarse-GrainedBusiness Services

Composable Stateless XML Doc-Based Asynchronous Conversational

Reliable Messaging Secure Policy-Driven Described Orchestrated

SOA Big Rules – Eye Chart

Registered & Discovered Loosely Coupled Versioned Self HealingChoreographed

Combine & Inter-Relate to create SOA

Page 38: Service Oriented Architecture

Section

SOA And ...Enterprise Service Bus (ESB)

JBIRegistry/Repository

SecurityComposite Applications

Page 39: Service Oriented Architecture

Section

SOA and the Enterprise Service Bus (ESB)

Page 40: Service Oriented Architecture

ESB Features

Security

Logging

Monitoring

Alerting

Transactions

Routing

Load Balancing

Synchronization

Correlation

Messaging

Communication

Transformation

BPM

BAM

ResourceAdapters

ChannelAdapters

Serv

ice

Prov

ider

sService C

onsumers

Open standards, reliable, message-based, distributed, integration solution and mediation services

Enterprise Service Bus

Page 41: Service Oriented Architecture

SOA and ESB

• ESB is a technology to implement SOA> Multiple connection types (Web Services, MOM, ...)> Multiple service protocols (Sync/Async)

• ESB alone is not enough to implement SOA> Application Platforms, Integration Platforms, and

MOMs that support services

• A pluggable ESB architecture supports > Many value-added technical & application services

Page 42: Service Oriented Architecture

Section

SOA and Java Business Integration (JBI)

JSR-208

Page 43: Service Oriented Architecture

SOA and Java Business IntegrationJBI (JSR 208)

• Current Integration Industry> Proprietary Approaches> Converging on a service-based model> Converging on standard messaging model

>> Ready for Standardization

>> JBI

Page 44: Service Oriented Architecture

What is JBI?• Standard “meta-container” for integrated

services• Service-Oriented Architecture infrastructure• Provides for plug-in:

> Engines—providing business logic and functions> Bindings—providing communications protocols:

> Access to remote services> Allowing access to other services

Page 45: Service Oriented Architecture

What is JBI?

JBICore

Services

J2SE™/J2EE™ Platforms

Syst

emM

anag

emen

t

InstallationDeploymentManagement

Normalized Message RouterNormalized Message Router

Protocol BindingComponents

Service Engines

Page 46: Service Oriented Architecture

Example SEs & BEs

JBICore

ServicesNormalized Message RouterNormalized Message Router

J2EE™ Platform

Syst

emM

anag

emen

t

Orchestration(BPEL)

Transformation(XSLT)

J2EE Platform

AS2 JMSWS-I BasicSOAP

Page 47: Service Oriented Architecture

Service Provider Self-Description

JBICore

ServicesNormalized Message Router

J2EE Platform

Syst

emM

anag

emen

t

Orchestration(BPEL)

Transformation(XSLT)

J2EE Platform

AS2 JMSWS-I BasicSOAP

WSDL WSDL WSDL

WSDLWSDLWSDL

Components register theservices they provide

Page 48: Service Oriented Architecture

Engines

Bindings

Admin

Rules

EDI

xForm

JMS

BPE

WS-I

Java Business Integration

Rules/PoliciesBPEL

Service Service Service Service Service Service Service Service

Evolution of the Platform to Enable SOA

Page 49: Service Oriented Architecture

Section

SOA andRegistry / Repository

Page 50: Service Oriented Architecture

Why a SOA Registry?

SOA Project Inter-dependent Artifacts:●XML Schemas, XSLT Transforms, etc.●Descriptions: WSDL, WSRP, etc.●Definitions: BPEL, etc. & Policies

Page 51: Service Oriented Architecture

SOA Governance: Role of Registry/Repository

SOA Artifacts Need Governance

• Centralized manageability & Point of Control • Policy Management Enforcement

> Service Management> Security> Versioning, Deprecation/Retiring, etc.

• ebXML Registry standard includes functions supporting governance use

Page 52: Service Oriented Architecture

Section

SOA and Security

Page 53: Service Oriented Architecture

SOA and Security

Shared Application Components/ Services

Shared Infrastructure Services + Secure Network Enclaves

Secure Execution Containers

Services

Logical and Physical System and Storage

Services

Services

Services

Services

Value Added Business Services + Business Process Management

Secure Presentation Services (e.g., Portals, Proxies)

E-Mail(SMTP/IMAP)

Services

Services

Web Services (HTTP/S)

Services

Services

Services

Services

Directory (LDAP)

Services

Services

Identity/Access

Services

Services

Database (SQL)

Services

Services

Policy Identity AuditTrust AuthN AuthZ Privac

yIntegri

ty

SecurityWS-Security, WS-TrustSAML, XACML, XKMS

XML-SignatureXML-Encryption

Liberty ID-FF, ID-WSF, ID-SISWS-Federation

WS-I Basic Security Profile

Page 54: Service Oriented Architecture

Section

SOA and Composite Applications

Page 55: Service Oriented Architecture

Composite Application

• Set of reusable services composed into a new application

• Consumes existing services• Exposes new service interfaces• Encapsulates business processes/collaboration• Unit of deployment for services• May or May not expose a user interface

Page 56: Service Oriented Architecture

Composite Application EquationMonolithicApplication

Service-Oriented Applications

Services

CA 1 CA 2

CA 3 CA 4

+ =

+ = . . .

Composite Applications

Two Monolithic ApplicationsMonolithicApplication

Page 57: Service Oriented Architecture

Monolithic Application with Business Logic Built-in

• Monolithic Applications – Poor Fit

BusinessProcess

Page 58: Service Oriented Architecture

Composite Applications – Best Fit

Orchestrated Business Services: Composite Applications

• Closely aligned with business

• Easy to maintain

• Easy to change

Business Process

Page 59: Service Oriented Architecture

Composite Applications – Best Fit

Orchestrated Business Services: Composite Applications

BusinessProcess

• Closely aligned with business

• Easy to maintain

• Easy to change

Page 60: Service Oriented Architecture

Solution Build and Development

Testing

Deployment

Project Management

Project Contingency

Total Design-to-Deploy Time

Maintenance Years 2 and 3

Total Savings

Design Phase

Benefit

SOA Composite Application DevelopmentButler Customer Study on Sun Java CAPS Suite

Percentage Saving

Source: Butler Group October 2004

58%

70%

50%

57%

60%

37%

50%

86%

25%

Page 61: Service Oriented Architecture

IT Silo

CheckCustomer Status

Determine ProductAvailability

CheckCustomer Status

Determine ProductAvailability

VerifyCustomer Credit

Order Status

CalculateShipping Charges

Order Status

VerifyCustomer Credit

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

MonolithicApplications

AccountsManagement

OrderProcessing

FieldService

Scheduling

Page 62: Service Oriented Architecture

IT Silo

CheckCustomer Status

Determine ProductAvailability

Order Status

CalculateShipping Charges

Verify

Customer Credit

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

MonolithicApplications

AccountsManagement

OrderProcessing

FieldService

Scheduling

CheckCustomer Status

Determine ProductAvailability Order Status

Verify

Customer Credit

Page 63: Service Oriented Architecture

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

Reuse Services Via Re-composition

ElementalBusinessServices

AccountsManagement

OrderProcessing

FieldService

Scheduling

DataRepository

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

Page 64: Service Oriented Architecture

Reuse Services Via Re-composition

AccountsManagement

OrderProcessing

FieldService

Scheduling

DataRepository

ComposedBusinessProcessesInstallation Scheduling Process Customer Order Bill Presentment/Payment

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

ElementalBusinessServices

CheckCredit

CheckOrder Status

CreateInvoice

CheckCustomer Status

CheckInventory

Installation Scheduling

CheckCustomer Status

CheckInventory

Page 65: Service Oriented Architecture

Reuse Services Via Re-composition

ElementalBusinessServices

AccountsManagement

OrderProcessing

FieldService

Scheduling

DataRepository

ComposedBusinessProcessesInstallation Scheduling Process Customer Order Bill Presentment/Payment

CreateInvoice

CheckCreditCheck

Order StatusCheck

InventoryCheck

Customer Status

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

Process Customer Order

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

Page 66: Service Oriented Architecture

Reuse Services Via Re-composition

ElementalBusinessServices

AccountsManagement

OrderProcessing

FieldService

Scheduling

DataRepository

ComposedBusinessProcessesInstallation Scheduling Process Customer Order Bill Presentment/Payment

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

Bill Presentment/Payment

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

CheckOrder Status

CreateInvoice

Page 67: Service Oriented Architecture

ElementalBusinessServices

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

Business Processes Are Composed Hierarchicallyto Create Composite Applications

AccountsManagement

OrderProcessing

FieldService

Scheduling CompositeApps

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

Page 68: Service Oriented Architecture

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

OracleFinanceSystem

SiebelCRM

System

AS400Sales

System

CustomMarketing

System

Shared Services – Composite Apps – Increased Functionality

AccountsManagement

OrderProcessing

FieldService

SchedulingAnother

OneManage

ExceptionOrders

SubmitChangeOrder

ElementalBusinessServices

Page 69: Service Oriented Architecture

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

ElementalBusinessServices

SOA Principles

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

AccountsManagement

OrderProcessing

FieldService

SchedulingAnother

OneManage

ExceptionOrders

SubmitChangeOrder

• Registered anddiscoverables

• Coarse-grained services• WSDL-described

• JBI-based

• Document-based• Mostly asynchronous• Conversational• Reliable

Page 70: Service Oriented Architecture

CheckCustomer Status

CheckCredit

CheckInventory

CheckOrder Status

CreateInvoice

ElementalBusinessServices

SOA Principles

DataRepository

ExternalTradingPartner

AnotherBusiness

Unit

Red PrairieWarehouse

Mgmt. System

SAPFinanceSystem

OracleCRM

System

AS400Sales

System

CustomMarketing

System

AccountsManagement

OrderProcessing

FieldService

SchedulingAnother

OneManage

ExceptionOrders

SubmitChangeOrder

• Secure• Policy-driven

• Orchestrated

Page 71: Service Oriented Architecture

Service Oriented Architecture

GRACIAS !!