CBID Enabling Connected Applications with Service Orientation.

42
CB I D Enabling Connected Applications Enabling Connected Applications with Service Orientation with Service Orientation

Transcript of CBID Enabling Connected Applications with Service Orientation.

Page 1: CBID Enabling Connected Applications with Service Orientation.

CB ID

Enabling Connected Applications with Enabling Connected Applications with Service OrientationService OrientationEnabling Connected Applications with Enabling Connected Applications with Service OrientationService Orientation

Page 2: CBID Enabling Connected Applications with Service Orientation.

AgendaAgenda

Connected ApplicationsConnected Applications

Business and IT driversBusiness and IT drivers

Service and Web Services Concepts Service and Web Services Concepts

Key elements of a Service Oriented Key elements of a Service Oriented Architecture (SOA)Architecture (SOA)

Business Service BusBusiness Service Bus

Enterprise Service BusEnterprise Service Bus

Service PipelineService Pipeline

Adoption OutlookAdoption Outlook

Page 3: CBID Enabling Connected Applications with Service Orientation.

Connected ApplicationsConnected Applications

Utility

Grid

Intermediaries

Independent Service Providers

The Service

Economy

Partners

Customers

EmployeesPeople,

Organizations and Channels

Internal Systems

Offshore Outsourced

Packaged In-house Legacy

Devices

PC Server PDA Phone EmbeddedAuto

Service

Page 4: CBID Enabling Connected Applications with Service Orientation.

Example – Tesco.comExample – Tesco.com

Tesco.com Systems

Deliveries

Returns

Routing

Shopping Basket

Products

Page 5: CBID Enabling Connected Applications with Service Orientation.

Business DriversBusiness Drivers

Business Drivers

Business Process Optimization (BPO)Business Process Optimization (BPO) Business AgilityBusiness Agility

Business Initiatives

Real-time Enterprise (RTE)Real-time Enterprise (RTE) Straight Through Processing (STP)Straight Through Processing (STP)

Connected Applications

Customer, Partner and Employee EnablementCustomer, Partner and Employee Enablement

ComplianceCompliance(Sarbanes-Oxley, Basel II)(Sarbanes-Oxley, Basel II) Information Accuracy and VisibilityInformation Accuracy and Visibility

Merger & AcquisitionMerger & Acquisition

Page 6: CBID Enabling Connected Applications with Service Orientation.

No Shortage of Integration Solutions!No Shortage of Integration Solutions!

Distributed Computing – DCOM, .NET, Distributed Computing – DCOM, .NET, CORBA, J2EECORBA, J2EE

Enterprise Application Integration – Enterprise Application Integration – Microsoft BizTalk, IBM WebSphere Microsoft BizTalk, IBM WebSphere BI, Mercator, Vitria, etcBI, Mercator, Vitria, etc

Messaging – MSMQ, IBM MQ, Tibco, Messaging – MSMQ, IBM MQ, Tibco, etcetc

Portal Servers – Microsoft Portal Servers – Microsoft Sharepoint, IBM WebSphere Portal, Sharepoint, IBM WebSphere Portal, Plumtree, etcPlumtree, etc

EDI Gateways – Sterling Commerce, EDI Gateways – Sterling Commerce, IBM WebSphere BI, GE, etcIBM WebSphere BI, GE, etc

B2B – IBM WebSphere BI, B2B – IBM WebSphere BI, SeeBeyond, iWay, etcSeeBeyond, iWay, etc

EDI/B2B

Enterprise AppIntegration (EAI)

DistributedComputing

Web Site/Portal

Messaging

Page 7: CBID Enabling Connected Applications with Service Orientation.

That Don’t Always Work Well Together…That Don’t Always Work Well Together…

Each scenario uses different Each scenario uses different Technology, Products, Technology, Products, CommunicationsCommunications

Typically Proprietary, and often Typically Proprietary, and often platform specificplatform specific

Creates Technology dependencies Creates Technology dependencies at either endpoint of the at either endpoint of the integrationintegration

Often Channel Specific (i.e. Often Channel Specific (i.e. technology for Direct channel technology for Direct channel cannot support Partner Channelcannot support Partner Channel

Requires technical skills specific to Requires technical skills specific to each scenarioeach scenarioEDI/B2B

Enterprise AppIntegration (EAI)

DistributedComputing

Web Site/Portal

Messaging

Page 8: CBID Enabling Connected Applications with Service Orientation.

Need Seamless End to End ConnectivityNeed Seamless End to End Connectivity

Seamless End to End Process

Customer Your Organization Supplier

B2C EAI B2B

Disjointed Processes

RTE

Agility

RTESTP BPO

Agility

Information Visibility and Accuracy

Page 9: CBID Enabling Connected Applications with Service Orientation.

CB ID

Service and Web Service ConceptsService and Web Service ConceptsService and Web Service ConceptsService and Web Service Concepts

Page 10: CBID Enabling Connected Applications with Service Orientation.

What is a Service?What is a Service?

What it isWhat it isA mechanism by which the A mechanism by which the consumer's need or want is consumer's need or want is satisfied according to a satisfied according to a negotiated contractnegotiated contractFocus on WHAT it does – not Focus on WHAT it does – not HOW it does itHOW it does it

What it is NOTWhat it is NOTA Software Service is not a A Software Service is not a synonym for the existing APIsynonym for the existing APIA Software Service is not A Software Service is not always a Web Servicealways a Web Service

What is desirable?What is desirable?Defined using Web Service Defined using Web Service protocols, via a set policiesprotocols, via a set policiesAbstract definition of serviceAbstract definition of service

SoftwareService

API

Executable

**

* *

BusinessService

SoftwareService

Definition

Policies

Page 11: CBID Enabling Connected Applications with Service Orientation.

The Basic Concepts of ServiceThe Basic Concepts of Service

Service

ServiceRequestor

or Consumer

ServiceProvider

Requests

Provides

ServiceImplementation

Implements

ServiceLevel

Agreement

Quality of Service

Page 12: CBID Enabling Connected Applications with Service Orientation.

ExampleExample

Stock Level

Retailer

Wholesaler

Requests

Provides

Response Time <0.5s

SAP

Implements

Accurate at 00.00AM

Page 13: CBID Enabling Connected Applications with Service Orientation.

Messages, Endpoints and Messages, Endpoints and IntermediariesIntermediaries

Discovers

Publishes

ServiceDirectory or

Registry

ServiceIntermediaries

Service

ServiceConsumer

ServiceProvider

Messages

Service Endpoint

Page 14: CBID Enabling Connected Applications with Service Orientation.

Why Services?Why Services?

Loose CouplingLoose Coupling

Requestor AgilityRequestor Agility

Service

ImplementationV1

ImplementationV2

ServiceConsumer’s Application

Service

Provider A

Implementation

Provider B

Service Endpoint

Service Endpoint

Provider EncapsulationProvider Encapsulation

Managed MigrationManaged Migration

Page 15: CBID Enabling Connected Applications with Service Orientation.

Services Enable Agility at BoundariesServices Enable Agility at Boundaries

OrganizationC

Service

OrganizationA

Technology1

Service

Technology2

Service

ApplicationI

ApplicationII

OrganizationB

Technology Boundary

Application Boundary

Organizational Boundary

Page 16: CBID Enabling Connected Applications with Service Orientation.

Coupling is Multi-LayeredCoupling is Multi-LayeredCharacteristic

Locked into commercial contracts

Single source provider – e.g. manufacturer of certain product

Trust - Unwilling to work with unknown partners

Semantics dependency – information model

Single source provider – e.g. bank account details

Workflow dependency – service only works in specific process

Context dependency – service only works in specific context

Technology dependency – e.g. technology must be J2EE

Application dependency – e.g. application must be SAP

Hardware dependency – e.g. Service consumer must use Nokia phone

Attribute

Business

Organization

Information

Process

Implementation

Device

Management Partners must provide closed-looped feedback

Page 17: CBID Enabling Connected Applications with Service Orientation.

.NETLinux

J2EE Unix

OS/390

MQ

DB2

Technology LayerTechnology Layer Hardware, NetworkHardware, Network

How do you How do you connect J2EE connect J2EE to .NET?to .NET?

Layers of ArchitectureLayers of Architecture

Finance

PeopleSoft

SAP

SiebelDir

OutlookApplication LayerApplication Layer Applications, Applications,

Components, Components, SoftwareSoftware

How do you How do you connect SAP to connect SAP to Siebel?Siebel?

Business Process Business Process LayerLayer

Cross Functional Cross Functional End-to-end Sales End-to-end Sales Order ProcessOrder Process

Service LayerService Layer How do you How do you

connect sales to connect sales to customers?customers?

CustomerEmployee

SalesProduct

Page 18: CBID Enabling Connected Applications with Service Orientation.

.NETLinux

Federation Drives Need for Web Federation Drives Need for Web ServicesServices

J2EE Unix

OS/390

MQ

DB2

Finance

PeopleSoft

SAP

SiebelDir

Outlook

Multiple Multiple ParticipantsParticipants

No common No common platform or EAIplatform or EAI

Demands Loose Demands Loose Coupling, Coupling, Message Based Message Based Approach = Web Approach = Web ServicesServices

CustomerEmployee

ProductSales

Page 19: CBID Enabling Connected Applications with Service Orientation.

ServiceIntermediary

Service ProviderService Consumer

What are Web Services?What are Web Services?

ServiceRequest

Service

Standards-based Standards-based protocols to describeprotocols to describe

Message formatMessage format

Services and EndpointsServices and Endpoints

Addressing and Addressing and RoutingRoutingSecure, Reliable Secure, Reliable TransactionsTransactionsBusiness Process Business Process OrchestrationOrchestrationPublication and Publication and DiscoveryDiscovery

ProcurementSystem

J2EE

SalesSystem

.NET

Page 20: CBID Enabling Connected Applications with Service Orientation.

The Web Service Protocol StackThe Web Service Protocol Stack

Messaging

Transactionsand Business

Process

Security

Management

Security WS-Security

Distributed Management WSDM, WS-Manageability

Message Packaging SOAP, MTOM

Orchestration BPEL4WS, WS-Choreography

Transaction WS-Transactions, WS-Coordination, WS-CAF

Reliable Messaging WS-ReliableMessaging, WS-Reliability

Routing/Addressing WS-Addressing

Security Policy WS-SecurityPolicy

Secure Conversation WS-SecureConversation

Trusted Message WS-Trust

Federated Identity WS-Federation

Metadata

Base Service and Message Description WSDL, WS-MetadataExchange

Policy WS-Policy, WS-PolicyAssertions

Publication and Discovery UDDI, WSIL

Portal andPresentationPortal and Presentation WSRP

Events and Notification WS-Eventing, WS-Notification

Asynchronous Services ASAP

Provisioning WS-Provisioning

Page 21: CBID Enabling Connected Applications with Service Orientation.

Using Web Service ProtocolsUsing Web Service Protocols

Simple Transactions and Information Provision ServicesSOAP, WSDL, UDDI, WSIL, WSRP

Secure ServicesWS-Security, WS-Policy

Managed ServicesWS-Distributed Management

Complex TransactionsWS-ReliableMessaging, WS-Transactions

Orchestrated ServicesBPEL

Increasing Complexity

Federated ServicesWS-Addressing, WS-Federation, Federated Identity

Autonomic BehaviourWS-Provisioning, WS-Eventing

Likely Adoption

Page 22: CBID Enabling Connected Applications with Service Orientation.

EDI/B2B

Web Site/Portal

Messaging

Why Web Services?Why Web Services?

Standardised approach for all Standardised approach for all scenariosscenarios

Standard protocolsStandard protocols

Universal supportUniversal supportVendorsVendors

PlatformsPlatforms

ToolsTools

Leverage Ubiquitous Internet Leverage Ubiquitous Internet technologies and XMLtechnologies and XML

Internal and External usageInternal and External usage

Supports multiple messaging Supports multiple messaging approachesapproaches

Rich, Self Describing interfacesRich, Self Describing interfaces

Loose coupled technologyLoose coupled technology

Low entry cost (essentially Low entry cost (essentially free!)free!)

WebServices

Web Services makes Service Orientation work!

EAI

DistributedComputing

Page 23: CBID Enabling Connected Applications with Service Orientation.

CB ID

Service Orientation and SOAService Orientation and SOAService Orientation and SOAService Orientation and SOA

Page 24: CBID Enabling Connected Applications with Service Orientation.

Service Oriented Architecture - Service Oriented Architecture - DefinitionDefinitionThe The policies, practices and frameworkspolicies, practices and frameworks

that enablethat enable application functionalityapplication functionality

to be to be providedprovided and and consumedconsumed

as as sets of servicessets of services

publishedpublished at a at a granularitygranularity relevant to the relevant to the

service consumerservice consumer,,

which are which are abstractedabstracted away from the away from the

implementation implementation

using a single, using a single, standards basedstandards based form of form of

interface. interface.

Page 25: CBID Enabling Connected Applications with Service Orientation.

Service OrientationService Orientation

Service Oriented Analysis

Understanding and modeling the business as services

Enabling business agility

Service Oriented Provisioning

Determine which Services to use

Selecting Service Providers

Service Oriented Design

Designing precise behavior of services

Ensure scalability, reliability, SLA compliance

Enabling technical agility

Service Oriented Programming

Reducing effort to code Web Services

Page 26: CBID Enabling Connected Applications with Service Orientation.

Service LifecycleService Lifecycle

Service Provision

Publish

Discover Consume

Version

Service Implementation

Service Consumption

ExecuteDeploy

Solution Implementation

Design

Certify

Analysis

Page 27: CBID Enabling Connected Applications with Service Orientation.

Multi-Layered SOAMulti-Layered SOA

BusinessBusiness Products

Business Processes

Business Services

Customers

Partners

Application

Components

Applications

Software Services

Service Providers

Service Consumers

Deployment

Agents

Policies

Web Services

Endpoints

Messages

Page 28: CBID Enabling Connected Applications with Service Orientation.

Providing Applications

Multiple Devices

Workflow

Service Architecture – The Functional Service Architecture – The Functional LayerLayer

LegacyApps

Packaged Apps

New Components

3rd PartyServices

Consuming Applications

Solution ArchitectureFrequent changeDevice diversity

Component ArchitectureLess frequent changeServer diversityInterface diversity

Service ArchitectureServices Abstracted away from ImplementationCommon to Service Provider and Service Consumer

Page 29: CBID Enabling Connected Applications with Service Orientation.

Elements of a Service Oriented Elements of a Service Oriented ArchitectureArchitecture

Service

Requestor

Provider

Endpoint

Message

Policy

Meta

Data

Description

IntermediaryNode

Schema

Process

Orchestration

Semantics

Page 30: CBID Enabling Connected Applications with Service Orientation.

The Business Service Bus – Functional The Business Service Bus – Functional ViewView

Domain specificDomain specificHR, Financial Services, HR, Financial Services, Logistics, Etc.,Logistics, Etc.,

Common vocabularyCommon vocabulary

Shared specification and Shared specification and modelmodel

Agreed by Service provider Agreed by Service provider and consumerand consumer

Increasingly driven by Increasingly driven by domain standardsdomain standards

HL7, ACORD, Rossettanet, HL7, ACORD, Rossettanet, UN/CEFACTUN/CEFACT

Critical Design FactorsCritical Design FactorsSchemaSchema

Loose couplingLoose coupling

Level of abstractionLevel of abstraction

GranularityGranularity

ReusabilityReusability

Human Resources Bus

Logistics Bus

Page 31: CBID Enabling Connected Applications with Service Orientation.

Service Granularity and AbstractionService Granularity and Abstraction

Coarse Grained Business Services(Business Services Bus)

NewComponents

ExternalServices

Fine Grained Implementation

-Based Services

ExistingApplication

ServiceWrapper

Aggregation Layer

InfrastructureServices

Abstraction

Page 32: CBID Enabling Connected Applications with Service Orientation.

Providing Applications

LegacyApps

Packaged Apps

New Components

3rd PartyServices

Enterprise Service Bus – Infrastructure Enterprise Service Bus – Infrastructure LayerLayer

Frequent changeDevice diversity

Less frequent changeServer diversityInterface diversity

Multiple Devices

Consuming Applications

Service Based Infrastructure and Middleware

Business Service Bus

Adaptors and Transformation

Technical Service Bus –.NET, J2EE, CORBA, Etc

Service Management

Process Orchestration Directory

Messaging Bus

Workflow

Page 33: CBID Enabling Connected Applications with Service Orientation.

Service PipelineService Pipeline

Policy

Driven AuthenticationAuthorization

Service

Providing Application

LoggingMonitoring

SLA

XML FirewallTransformation

Routing

Consuming Application

AuthorizationSigning

TransformationRouting

LoggingMonitoring

SLA

Service Intermediary

Page 34: CBID Enabling Connected Applications with Service Orientation.

Service Pipeline Implementations and Service Pipeline Implementations and InfrastructureInfrastructure

Web Service Web Service Management ToolsManagement Tools

ActionalActional

AmberpointAmberpoint

InfravioInfravio

CapeClearCapeClear

Primordial WSBANGPrimordial WSBANG

ServiceIntegrityServiceIntegrity

Westbridge XMSWestbridge XMS

West Global mScapeWest Global mScape

Hosted ServicesHosted ServicesFlamenco NetworksFlamenco Networks

GrandCentralGrandCentral

Platform infrastructurePlatform infrastructureApache AxisApache Axis

Microsoft .NET WSEMicrosoft .NET WSE

IBM WebSphere WSDKIBM WebSphere WSDK

Systems ManagementSystems ManagementHP OpenviewHP Openview

CA UnicenterCA Unicenter

IBM TivoliIBM Tivoli

Microsoft MOMMicrosoft MOM

Web Service StandardsWeb Service StandardsWS-Distributed WS-Distributed ManagementManagement

Page 35: CBID Enabling Connected Applications with Service Orientation.

CB ID

Adoption OutlookAdoption OutlookAdoption OutlookAdoption Outlook

Page 36: CBID Enabling Connected Applications with Service Orientation.

Impact on End-User OrganizationsImpact on End-User Organizations

Cultural challenge of Short-termism, Service Reuse, Business Service Bus Ownership

Existing applications may not be ideal for real-term behaviour, or to support long-term vision of adaptability

Business Agility requires more effort than simply adding Web Services

Customers and Partners might demand greater functionality than you can provide

Highlight weaknesses in, or unsuitability of, current interfaces

ChallengesChallenges

Competitive Advantage can be won for the business – Now!

Providing/Consuming simple Web Services will be straightforward

Simple Web Services can dramatically improve accessibility to and integration of resources

Opportunities and BenefitsOpportunities and Benefits

Page 37: CBID Enabling Connected Applications with Service Orientation.

Impact on the ISVImpact on the ISV

Remove internal dependencies so that customers can use services at a more granular level than the whole application

Converting applications to support emerging enterprise-level Web Service standards for transactions and process orchestration

Need for applications to consume Web Services, not just provide them

Demand for more real-time behaviour in applications

Highlight weaknesses in, or unsuitability of, current interfaces

ChallengesChallenges

Change deployment options. E.g. Bring new “Hosted Service” opportunities

Introduce new opportunities for collaborative applications

Providing SOAP/WSDL interfaces may be straightforward

Will ease customer's integration requirements

Opportunities and BenefitsOpportunities and Benefits

Page 38: CBID Enabling Connected Applications with Service Orientation.

Customer ISV (or ASP)

ISVApplication

Web Services

Customer’sApplications

Customer’sCustomers

ISVApplication

ISVApplication

ISVApplication

Customer’sApplications

Customer’sCustomers

Customer’sApplications

Customer’sCustomers

1. Traditional Deployment, plus

Web Services

2. Hosted Service Provider

3. Distributed

ISV Deployment PatternsISV Deployment Patterns

Page 39: CBID Enabling Connected Applications with Service Orientation.

Outlook - Phases of Web Service Outlook - Phases of Web Service Adoption Adoption

1st Phase

Information Provision

Simple Transactions

Competitive Advantage

Improved Quality of Service, Security

Increasing Dynamic Behaviour

2004 2005 2006 and beyond

Early Learning

Barriers

Reliability, Security

WS Protocols

2nd Phase

“Enterprise Ready”

Improved Infrastructure

Complex Transactions

Confidence in Security

Reliability

Customer & Partner Pressure

Enterprise

3rd Phase

Adaptive Systems

Self describing

Self discovering

Barriers

Existing Systems

Business Standards

Exploitation

Page 40: CBID Enabling Connected Applications with Service Orientation.

Current Status of Web Service ProtocolsCurrent Status of Web Service Protocols

Mainstream

SOAP

WSDL

UDDI

Specification

SOAP MTOM

WS-Addressing

WS-CAF

WS-Choreography

WSDM

WS-Eventing

WS-Federation

WSIL

WS-Provisioning

WS-ReliableMessaging

Experimentation

ASAP

BPEL

WS-Coordination

WS-Policy

Early Adoption

WS-Security

WSRP

Approved Standards Technology Preview

Paper Specifications

Page 41: CBID Enabling Connected Applications with Service Orientation.

Immediate ProjectsImmediate Projects

Start using Web ServicesStart using Web ServicesIdentify opportunities to improve business value Identify opportunities to improve business value by exposing simple Web Servicesby exposing simple Web Services

Improve access to data for customers and partnersImprove access to data for customers and partners

Use Web Services internallyUse Web Services internallyOpen up existing systems for broader reuseOpen up existing systems for broader reuse

Take advantage of loose technical coupling to Take advantage of loose technical coupling to integration heterogeneous systemsintegration heterogeneous systems

Upgrade infrastructure to provide Enterprise Upgrade infrastructure to provide Enterprise Service BusService Bus

Start defining SOAStart defining SOAInitiate Business Service Bus projectsInitiate Business Service Bus projects

Investigate and participate in vertical industry Investigate and participate in vertical industry standardsstandards

Page 42: CBID Enabling Connected Applications with Service Orientation.

SummarySummary

Service is the important concept, not Service is the important concept, not just Web Servicejust Web Service

SOA isn’t just the “wiring diagram” SOA isn’t just the “wiring diagram” for Web Servicesfor Web Services

Service Orientation should be Service Orientation should be adopted across the whole lifecycleadopted across the whole lifecycle

Web Services Makes SO workWeb Services Makes SO work

Strong drivers for Web Services Strong drivers for Web Services adoptionadoption