Service Oriented Architecture

Preview:

DESCRIPTION

 

Citation preview

Marcelo FernándezSoftware Practice Manager

Email: marcelo.fernandez@sun.com

Service Oriented Architecture

Agenda• SOA Big Rules

• Understanding SOA

• ESB

• JBI

• Registry & Repository

• Security

Section

Introduction to SOA

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

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

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)

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

SOA Conceptual Model

Elements of SOA

1st Class Artifacts QoS Explicitly Specified

Layering Principle

• Shared Network-based Layered Services

Process Layer

Access Layer

Service Layer

Resource Layer

The “Move” to Service Orientation

AccidentalRigid

Silo-Oriented

LayeredExtensible

Service-Oriented

The SOA Shift

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

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)

Section

SOA Big Rules

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

SOA Big Rule

Layered

Process

Service

Resource

Access

SOA Big Rule

Modular & Autonomous

● Cohesive● Independent

SOA Big Rule

Reuse

Service Reused

● Different Applications● Different Use Cases● Operation Level Reuse

SOA Big Rule

Interoperable

Interoperability● Platform● Vendor● Protocol● Data

SOA Big Rule

Coarse Grained Business Services

Application Services

● Relative:Coarser to Finer

● Defined by real business needs

SOA Big Rule

Composable

● Reuse & Modularity● Assembly● Orchestration

SOA Big Rule

Stateless

● State not in Service

● Document Exchange

SOA Big Rule

XML Document-Based Exchanges

Note: Coordinator is optional

SOA Big Rule

Mostly Asynchronous Interactions

Note: Coordinator is optional

SOA Big Rule

Conversational Services

● Conversational state is outside the service

● Intermediary Coordinator

SOA Big Rule

Reliable Messaging

Note: Coordinator is optional

● Acknowledgement● Failure Handling● Sequencing● Assurance

SOA Big Rule

Secure

Note: Coordinator is optional

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

SOA Big Rule

Policy Driven

Note: Coordinator is optional

● Security● QoS● Other

SOA Big Rule

Described Services

Note: Coordinator is optional

● Contract● Endpoint● Operation● MEP● Policies

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.

SOA Big Rule

Choreographed Services

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

SOA Big Rule

Registered & Discovered

● Service Description● Dynamically Found● Dynamically Bound

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/...

SOA Big Rule

Versioned

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

SOA Big Rule

Self Healing

● Client Transparency

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

Section

SOA And ...Enterprise Service Bus (ESB)

JBIRegistry/Repository

SecurityComposite Applications

Section

SOA and the Enterprise Service Bus (ESB)

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

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

Section

SOA and Java Business Integration (JBI)

JSR-208

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

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

What is JBI?

JBICore

Services

J2SE™/J2EE™ Platforms

Syst

emM

anag

emen

t

InstallationDeploymentManagement

Normalized Message RouterNormalized Message Router

Protocol BindingComponents

Service Engines

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

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

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

Section

SOA andRegistry / Repository

Why a SOA Registry?

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

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

Section

SOA and Security

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

Section

SOA and Composite Applications

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

Composite Application EquationMonolithicApplication

Service-Oriented Applications

Services

CA 1 CA 2

CA 3 CA 4

+ =

+ = . . .

Composite Applications

Two Monolithic ApplicationsMonolithicApplication

Monolithic Application with Business Logic Built-in

• Monolithic Applications – Poor Fit

BusinessProcess

Composite Applications – Best Fit

Orchestrated Business Services: Composite Applications

• Closely aligned with business

• Easy to maintain

• Easy to change

Business Process

Composite Applications – Best Fit

Orchestrated Business Services: Composite Applications

BusinessProcess

• Closely aligned with business

• Easy to maintain

• Easy to change

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%

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

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

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

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

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

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

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

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

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

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

Service Oriented Architecture

GRACIAS !!

Recommended