colorado software summit: october 22 – 27, 2006 © copyright 2006 ... · colorado software...

55
Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation Bill Jones — The Evolution of Service-Oriented Development Page 1 The Evolution of Service- Oriented Development Bill Jones Oracle Corporation bill. jones@oracle .com

Upload: trinhnhi

Post on 09-Apr-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 1

The Evolution of Service-Oriented Development

Bill JonesOracle Corporation

[email protected]

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 2

Agenda

What’s important about SOA

Where we are

How did we get here

Where are we going

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 3

What’s Important about SOA

Enables IT agility

Reduces cost of integration

Enables new types of applications

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 4

Where Are We?

Standards

SOAP, WSDL, XML, Schema, UDDI, WS-I 1.xSwA

WS-Security, WS-ReliableMessaging

Tools

Provide service enablement

Solutions

Process orchestration, BPM

Integration, ESB

Service Management, WSM

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 5

Java Standards

DescriptionJava APIs

for XML

Java API for XML Registries

Java API for XML Remote Procedure CallJAX-RPC

SAAJ

Java API for XML Data Binding

SOAP API for Attachments in Java

JAXP

JAXB

JAXR

Java API for XML Parsing

Stateless Session EJB Endpoint ModelEJB 2.1

Web Services Deployment ModelJSR 109

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 6

Whence SOA?

Inside technologies

RPC

Distributed Transaction Coordinators

Distributed Objects

MOM

Integration platforms

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 7

Phase IPhase I

DownsizeDownsize•• Client/ServerClient/Server•• DCE DCE

Phase II Phase II

ComponentsComponents

•• CORBA CORBA•• DCOM DCOM•• EJB EJB

Phase III Phase III

MessagingMessaging•• MOM MOM

Whence SOA – Inside

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 8

Common Characteristics

Tight coupling

Shared implicit assumptions

Proprietary technology

Suited for communication where you havecontrol over both sides of interaction

Extension of local programming model

Generally more efficient, easier to developand debug.

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 9

Whence SOA?

Outside technologies (B2B)

EDI

• “the computer-to-computer exchange of structuredinformation, by agreed message standards, from onecomputer application to another by electronic meansand with a minimum of human intervention” –Wikipedia

ebXML

Verticals

• RosettaNet, OAGIS, etc.

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 10

EDIEDI

Vertical Vertical

XML StandardsXML Standards

B2B B2B

Whence SOA – Outside

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 11

Common Characteristics

Loose coupling

Explicit semantics and metadata

Standard internet technologies

Combined and/or leveraged in proprietary ways

Attempt to address concerns of inter-organization interactions

Security, federation, trust, authorization, liability,etc.

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 12

Agenda Checkpoint

What’s important about SOA

Where we are

How did we get here

Where are we going

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 13

Customer Needs

Increasingly Complex Infrastructure

Increasingly Demanding Users

End-to-End Processes

Shorter Change Cycles

Better Insight and Auditing

IT

Heterogeneous Systems

Silos

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 14

Service-Oriented Architecture(SOA)

Web Solution SOA Solution

More Interoperable

Agile Business Processes

Richer Clients

Improved Reuse

Packaged

Applications

Fulfillment

Center

Customer

Service

Business

Partners

1

2

3

1

2

3

4

4

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 15

Customer Challenges

Building a Business Case for SOA

Selecting the Right Projects

Building a SOA Roadmap

Applying SOA Principles to Projects

Realizing a Service-Oriented Solution

Evolving Enterprise Architecture

Affecting Organizational Changes

Continuing to Succeed with SOA

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 16

Experiment and

Learn

Get Maximum

Benefits

Key Underlying SOA Enablers

Technology

Standards

Strategy

Architecture

Information

Governance

Organization

Processes

Delivery

Operations

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 17

Where Are We Going

Core Standards evolve

SOAP 1.2, WSDL 2.0, XML 1.1, UDDI 3.0, WS-Iadditional profiles (e.g. BSP, RAMP)

WS-Security 1.1, WS-RX, MTOM

Additional Standards Mature

WS-Trust, WS-SecureConversation, SAML 2.0

WS-Management, WS-Eventing, WS-Transfer,WS-Enumeration

WS-Notification, WS-Transaction, more?

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 18

Java Standards

DescriptionJava APIs

for XML

Java API for XML Registries

Java API for XML Remote Procedure CallJAX-RPC

SAAJ

Java API for XML Data Binding

SOAP API for Attachments in Java

JAXP

JAXB

JAXR

Java API for XML Parsing

Stateless Session EJB Endpoint ModelEJB 2.1

Web Services Deployment ModelJSR 109

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 19

Methodologies

Emphasize the ‘A’ in architecture

Top down vs. bottom up

Interoperability as a design pattern

Governance is not just a product

Internal standards, best practices

Reference Architecture?

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 20

SOA: Top Down versus Bottom Up?

Business Analyst

Integration Developer

Notation Layer

BPMN or UML

Executable Layer

XML, XQuery, BPEL, Rules

Service DeveloperBusiness Services

Adapters, Java, Struts, JSF

Existing Systems

MAINFRAMEPACKAGED

APPLICATIONS

JAVADATABASE

Activity Activity Activity

assign invoke receive assign

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 21

Where Are We Going

Solutions

Composite Applications Frameworks

• Service Component Architecture, JBI

SOA Governance

• Metadata management, Policy Management,Development and interface standards, Automatingand verifying best practices

B2B?

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 22

Example – Publish Inventory toAccount Reps

Warehouse

Management

Inventory

Portal

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 23

Example – Cashflow Management

Logistics

Manufacturing

Execution

Work in

Progress

Manifests

RFID

Business Activity

Monitoring

Alerts

RFID

Events

Manufacturing

Schedule

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 24

SCA in a NutshellSCA models the “A” in SOA – for systems composed ofreusable services

model for service-based system:

• service construction

• service assembly

• deployment

Heterogeneity – supports components from

• multiple languages

• multiple container technologies

• multiple service access methods

0.9 Level specification published in November 2005

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 25

SCA – High Level PointsUnified declarative model describing serviceassemblies

dependency resolution and configurationdeclarative policies for infrastructure services

• Security, Transactions, Reliable messaging

Business-level model for implementing servicesservice components with service interfaces

Binding model for multiple access methodsWSDL, SOAP over HTTPbut also: JMSTM/messaging, JavaTM RMI/IIOP…JavaTM interfaces are good, as are WSDL portTypes

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 26

Service Assembly Model

Unified, language-independent way to exposeimplementations as services

• JavaTM, BPEL, PHP, other languages (including .NET)

Technology independent modelling andcomposition of service networks

• Service dependencies

• Resolution through wiring

Facilities for dynamic service configuration• Properties / Protocols / Qualities of service

• Profiles

Design time and deployment time configuration

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 27

Assembly Model Concepts

Design Time Assembly

Composite

Implementation

Component

Service

Reference

Wire

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 28

Composite

Composite

External Web Service

System

Service Assembly ModelModel for assembling tightly coupled code (Composites)

Model for assembling loosely coupled services (Systems)

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 29

Composite

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 30

Composite

Assembly of services developed and deployedtogether

Containsservice implementations organized as componentsrequired services as referencespublic serviceswires connect components, services, and

references

Used as implementation of components at nexthigher layer

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 31

Implementations

Basic elements of business functionSupport for different implementation technologies

e.g. JavaTM, BPEL, C++, PHP, …implementation type extensibility

Provides business function via one or more servicesUses other services through service referencesService and references typed by interfaces

remotable, bi-directional, companion callbackinterface

ScopedRuntime managed state and routing

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 32

Component

Configured instance of implementation withina Composite

more than one component can use sameimplementation

Provides and consumes services

Sets properties

Sets service references by wiring them toservices

wiring to services provided by other componentsor by references of the composite

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 33

Reference

Represent services that are external to the compositeaccessed by components within the composite like any other

component service

Use bindings to describe the access mechanism to theexternal servicee.g. Web service, stateless session EJBTM, JMSTM, JCATM, …

binding type extensibility

overridable (no, may, must)

Can define required characteristics through Policy

Reference

StockQuote

Service

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 34

Service

Used to publish services provided by composite, foruse by external clients of the composite

can be service provided by component or a reference

Use bindings to describe the access mechanism thatexternal clients have to use

Web service, stateless session EJBTM, JMSTM, …

binding type extensibility

always overridable

Can define provided characteristics through Policy

Service

MyValue

Service

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 35

SCA Interaction Model

Synchronous & Asynchronous servicerelationships

Support for Conversational services

Asynchronous support

“non-blocking” invocation

Callbacks

•Point to point

Extended for business event support

•Pub-sub

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 36

Example

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 37

SCA Composite Example<?xml version="1.0" encoding="ASCII"?><composite xmlns="http://www.osoa.org/xmlns/sca/0.9" name="bigbank.accountcomposite" >

<service name="AccountService"> <interface.bpel process="AccountService"/> <binding.ws port="http://www.bigbank.com/AccountService#

wsdl.endpoint(AccountService/AccountServiceSOAP)"/> <reference>AccountServiceComponent</reference></service>

<component name="AccountServiceComponent"> <implementation.java class="services.account.AccountServiceImpl"/> <property name=“currency”>EURO</property> <reference name="accountDataService" target="AccountDataServiceComponent"/> <reference name="stockQuoteService" target="StockQuoteService"/></component>

<component name="AccountDataServiceComponent"> <implementation.java class="services.accountdata.AccountDataServiceImpl"/></component>

<reference name="StockQuoteService"> <interface.java interface="services.stockquote.StockQuoteService"/> <binding.ws port="http://www.quickstockquote.com/StockQuoteService#

wsdl.endpoint(StockQuoteService/StockQuoteServiceSOAP)"/></reference>

</composite>

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 38

DemonstrationSCA

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 39

What Is JBI?

JBI

C#Amazon

SOAP

HTTPJCA COM

fx

BPEL XQuery Rules

In Memory

SAP

• Unified Metadata (WSDL)

• Unified Addressing (Logical Naming)

• Plug-and-play Binding Components

• Optimized Transport and Data Format

• Both Sync. and Async. Interactions

JMXInstall

Monitor

LifecycleService Engines

Binding

Components

Services

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 40

JBI AdvantagesCore design is made for service oriented service provision andconsumption

Encapsulation of technical binding and technology

Introduce meanings for standard installation and artifact deployment

Introduce a standard way for managing components

Support for mediated XML messaging (unlike JCA that is designed toprovide EIS connectivity)

Avoid Vendor Lock-in

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 41

Absolutely Shameless SelfPromotion

Co-author of JavaTransaction Processing:Design andImplementation

From amazon.comreviews:

“Required EnterpriseTransactions Reading”

“All J2EE developersshould read this book”

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 42

AQ&Q U E S T I O N SQ U E S T I O N S

A N S W E R SA N S W E R S

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 43

Agenda

Overview

RPC

SOA

Web Services

Integration and Orchestration

Composition

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 44

Integration

TechnologyBPEL Process Orchestration

Enterprise Service Bus

Registry

Web Services Management & Security

StandardsBPEL, WSIF, JMS, JCA

UDDI

WS-Security

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 45

Business Process Integration

SubmitSubmit

Order Order

CheckCheck

InventoryInventory

CheckCheck

CreditCredit

SendSend

Result to Result to

UserUser

Portal

SAP

Java Web App

Mainframe

FormulateFormulate

FulfillmentFulfillment

OfferOffer

FormulateFormulate

RejectionRejection

CanCan

Fulfill?Fulfill?

TransformTransform

Order/Order/

Customer Customer

DetermineDetermine

DiscountDiscount

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 46

Building Business Processes

Coordinate asynchronouscommunication betweenservices

Correlate messageexchanges betweenparties

Implement parallelprocessing of activities

Manipulate/transformdata between partnerinteractions

Support for long runningbusiness transactionsand activities

Provide consistentexception handling

How do I …

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 47

Requirements for Processes

Process languageBusiness Process Execution Language

Process runtime environmentHigh performance execution of long running processes

Process monitoring and lifecyclemanagement

Management environment

Process design time environmentDesign time tools to visualize process development

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 48

The BPEL AlternativeGetting to Process Standards

?

Build your own 1-off orchestration

Traditional EAI

The BPEL Alternative

• Rich metadata (XML Schema, WSDL)

• Sophisticated binding framework (WSDL)

• Internet scale connectivity

• Support for both sync and async interactions (BPEL)

• Sophisticated flow coordination (BPEL)

• Advanced exception management (BPEL)

• Extensible

• Composable

• Convergence of application development and

integration

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 49

BPEL Process Language Structure

<process>

<!– Definition and roles of process participants -->

<partnerLinks> ... </partnerLinks>

<!- Data/state used within the process -->

<variables> ... </variables>

<!- Properties that enable conversations -->

<correlationSets> ... </correlationSets>

<!- Exception handling -->

<faultHandlers> ... </faultHandlers>

<!- Error recovery – undoing actions -->

<compensationHandlers> ... </compensationHandlers>

<!- Concurrent events with process itself -->

<eventHandlers> ... </eventHandlers>

</process>

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 50

BPEL ActivitiesProcess Programming Language

Primitive Activities<invoke>

<receive>

<assign>

<reply>

<throw>

<terminate>

<wait>

Structured Activities<sequence>

<switch>

<pick>

<flow>

<link>

<while>

<scope>

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 51

Example – Synchronizing CustomerInformation

INTEGRATION FLOW

Siebel

CRM

Oracle

Financials

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 52

Packaged

Applications

Fulfillment

Center

Customer

Service

Consumers Services

Web

Phone

Systems

Business

Partners

Apply Policies

Security

Monitoring

Logging

Auditing

1

1

Example: Managing Services &Applying Policies

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 53

DemonstrationIntegration and Orchestration

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 54

Agenda

Overview

RPC

SOA

Web Services

Integration and Orchestration

Composition

Colorado Software Summit: October 22 – 27, 2006 © Copyright 2006, Oracle Corporation

Bill Jones — The Evolution of Service-Oriented Development Page 55

Agenda

Overview

RPC

SOA

Web Services

Integration and Orchestration

Composition