64
2 0 0 3 Service Oriented Service Oriented Architecture Architecture Wien, Osterreich Wien, Osterreich 18 November 2003 18 November 2003 Sprecher: Duane Nickull Sprecher: Duane Nickull [email protected] [email protected]

Austrian Government Nov 18 2003 - Morning One

  • Upload
    zubin67

  • View
    475

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Austrian Government Nov 18 2003 - Morning One

2003

Service Oriented ArchitectureService Oriented Architecture

Wien, OsterreichWien, Osterreich

18 November 200318 November 2003

Sprecher: Duane NickullSprecher: Duane [email protected]@yellowdragonsoft.com

Page 2: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003 Sprecher – Duane NickullSprecher – Duane Nickull

• Aus Kanada – Executive Vice-President für Yellow Dragon Software.

• Abeitet - UN/CEFACT eBusiness Architecture Group (UEB Architecture)

• Co-lead/Chief Editor - ebXML Technical Architecture v 1.0

• ebXML Steering Committee Member• [email protected]

Page 3: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Tagesordnung Tagesordnung

9:15 – 11:00 Introduction – Service Oriented Architectures

- History of Service Oriented Architectures (SOA).- Messaging: SOAP and ebXML MS- Business Service Interfaces – WSDL, CPP and CPA- Agents for Discovery – UDDI Directory and ebXML Registry- Process and Choreography – BPSS, BPEL- Modeling Methodology and Framework – BCF/ UMM / UML - Information – Core Components, BIE’s Semantics, XML schema.

11:00 – 11:30 - BREAK

Page 4: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Tagesordnung Tagesordnung

11:30 – 13:00 Service Oriented Architectures in practice - The Canadian Government’s IJI Data Dictionary work +

ebXML registry

- eForms scenario

- Harmonizing Data models for international integration of justice and security data.

- Questions and Answers

Page 5: Austrian Government Nov 18 2003 - Morning One

2003

An Introduction to Service Oriented Architectures

Understanding the technological and cultural factors driving their adoption

09:30

Page 6: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Business to CustomerBusiness to Customer

System IntegrationSystem Integration

Internet Based DeliveryInternet Based Delivery

SOA eBusiness SOA eBusiness Processes over WWWProcesses over WWW

Business factors for ServicesBusiness factors for Services

Computers

Protocols / Standards

Local Networks

WAN’s

Page 7: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

B to C

Disintermediation

B to B

Collaboration

Infomediary

Malls

Business Interaction ModelsBusiness Interaction Models

Page 8: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

The Shift to N-TierThe Shift to N-Tier

1-Tier1-Tier2-Tier2-Tier

N-TierN-Tier

Mainframe AppsMainframe Apps

Mini-Computer AppsMini-Computer Apps

Corporate Corporate ApplicationsApplications

(Often (Often departmental)departmental)

Distributed Distributed ProductionProduction

Web Aware/Web Web Aware/Web ScaleScale

eCommerceeCommerce

Client/ServerClient/Server

Internet/Internet/EnterpriseEnterprise

1988198819901990

1994199419991999

2001200120032003

Monolithic/Monolithic/AutomationAutomation

Page 9: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Before Object Oriented Before Object Oriented Programing…Programing…

• A program often resided on one system.• Old style -> Spaghetti code: no structure, no

classes – procedural and linear execution.• GWBasic, early cobol, Pascal, Fortran• Object-Oriented programming is the early

roots of Service Oriented Architecture.• Classes (encapsulation) call each other as

services (accessor + mutator)

Page 10: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

A simple program (object-A simple program (object-oriented)oriented)

public class HelloWelt{

public static void main(String[] args){

System.out.println("Hello Welt!");

}

}

Import HelloWelt;

public class WieGehtsAllesDieWelt{

public static void main(String[] args){

HelloWelt();

System.out.println(“Wie geht es Dir?");

}

}

Imports another class

Calls a method() of the class

Returns something (optional)

Page 11: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

A simple program (object-A simple program (object-oriented)oriented)

public class HelloWelt{

public static void main(String[] args){

System.out.println("Hello Welt!");

}

}

Import HelloWelt;

public class WieGehtsAllesDieWelt{

public static void main(String[] args){

HelloWelt();

System.out.println(“Wie geht es Dir?");

}

}

This class uses the service

This class offers a service

Page 12: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Service Oriented Architecture Service Oriented Architecture expandedexpanded

• What if the two classes are not on the same machine? Network!

• How can one class find another? Service Description

• How can a class send its’ information to the other class? XML serialization.

• Do the two classes have to be on the same network? TCP/IP + HTTP

Page 13: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Calling a service (RPC)Calling a service (RPC)

• Remote Procedure Call (RPC)• Calling a functional piece of logic that resides

elsewhere.

Multiply()class

ConvertCurrency()class

ConvertCurrency(5.45, USD, CAD)Multiply (5.45, 1.63)

Result comes back

Page 14: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

XML used to pass valuesXML used to pass values

<parameters> <service>Multiply</service> <integer value=‘5’/> <integer value= ‘4’/></parameters>

Service publisher

Service User

<answer> <integer value=‘20’/></answer>

Page 15: Austrian Government Nov 18 2003 - Morning One

2003

The ebXML SOA Architecture

By UN/CEFACT and OASIS

11:05

Page 16: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

ebXMLebXML

• Started in 11/1999 in San Jose, USA• UN/CEFACT and OASIS joint project.• Goal to develop one global electronic marketplace.• Architecture team decided to write a large Service

oriented Architecture.• 2,000 + participants worldwide.• Seven teams• Version 1.0 delivered May 2001, Wien (sponsored by

AustriaPro)

Page 17: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

ebXML Service Oriented ebXML Service Oriented ArchitectureArchitecture

Page 18: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

1.  Business processes and associated information models (in XML)

2.  A mechanism for registering and storing artifacts (Registry)

3. A mechanism for declaring a Trading Partners capabilities and services (CPP)

4. A way to convey semantics and agree on meanings of Business Payloads (Core Components, BIE’s)

Architecture Architecture Concepts…Concepts…

Page 19: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

5.  A mechanism for describing a bilateral Trading Partner Agreement (CPA).

6.   A standardized messaging service (ebXML MS)

7. A standardized methodology/process for modeling the real world business and translating it into XML. (UMM)

Architecture Architecture Concepts…Concepts…

Page 20: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Registry Service Interface

Payload

Business ServiceInterface

Business ServiceInterface

InternalBusiness App

Shrink-wrappedApplication

Registry

Implementers

Business Process and Information Models

Build

Registration

TPA

UML to XML conversion

Retrieval of ebXML Specifications & Models

Build

Retrieval of Profiles & new or updated ebXML Models

Retrieval of Profiles & new or updated ebXML Models

Registration RegistrationTPP

ebXML metamodel XML content

TPP

Registration

TPA Governs

TPP Derives

ebXML FSV – implementationebXML FSV – implementation

Page 21: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

ebXMLebXML

• Is a framework / architecture• Does not mandate specific payloads• Is service oriented and event driven• Is being continually developed• Is a SOA specific for eBusiness but works

well for other information sharing (eGovernment, security, data)

Page 22: Austrian Government Nov 18 2003 - Morning One

2003

The W3C Web Services SOA Architecture

A generic SOA.

Page 23: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Web Service – simple modelWeb Service – simple model

Page 24: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Web Service Architecture – Web Service Architecture – expandedexpanded

Page 25: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

WSAG principlesWSAG principles

• An interoperability architecture.• Not intended for individual Web Services • Not dependant on WSDL, SOAP, ebXML MS

or any other technology.• Provides a global perspective on the

networked service architecture. • Other specifications, such as SOAP 1.2 and

WSDL give detailed recommendations for specific requirements

Page 26: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

WS RelationshipsWS Relationships

Page 27: Austrian Government Nov 18 2003 - Morning One

2003

The UN/CEFACT Architecture

Building on top of ebXML and Web Services SOA’s.

Page 28: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Key Architecture PrinciplesKey Architecture Principles

• Platform independence.• Event driven and Service Oriented Architecture.• Facilitation of multiple concurrent and/or different

implementations.• Component based architecture allowing eBusiness

components to be added, deleted or modified.• Allows proprietary protocol support, including custom

extensions for industry standards. This refers to, but is not constrained by, electronic message payloads.

• Custom workflow, information and syntax definitions are allowed in support of unique business rules and requirements, as may be defined by users.

• Incremental phased implementation.

Page 29: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003 UN/CEFACT eBusiness ArchitectureUN/CEFACT eBusiness Architecture

Registry/Repository

Business CollaborationFramework

Business Processes

Business Information

Trading Partner “A” Trading Partner “B”

Page 30: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

BUSINESS

TRANSACTIONS

BUSINESS

TRANSACTIONS

Viewedas

Information technologyaspects of

business transactions

Information technologyaspects of

business transactions

Business Operational View

Functional Service View

Business aspectsof

business transactions

Comply with

Covered by

BOV related

standards*

Comply with

Covered by

FSVrelated

standards

* UML Models

EDI Reference ModelEDI Reference Model

Page 31: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Page 32: Austrian Government Nov 18 2003 - Morning One

2003

SOAP and ebXML Messaging

Communication layer in SOA’s

Page 33: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

SOAPSOAP

• Simple Object Access Protocol.• XML over http• Work by W3C; moving to v 1.2• A simple and lightweight messaging standard

designed as replacement for XML-RPC.• Synchronous and Asynchronous.• Can use other low level transport protocols

Page 34: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Ebxml Messaging ServiceEbxml Messaging Service

• Built on top of SOAP and HTTP (can also use other low level protocols like FTP, SMTP)

• Requires a service level agreement.• Advanced security features• Advanced reliable messaging features.• If message does not get through – sender is advised.• Once and once only receipt by receiver.• Non-repudiation of sender.• Can carry any payload, 0, 1 or * attachments.• Conversation ID tracks differents threads.

Page 35: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

ebXML - Secure and ebXML - Secure and Reliable Reliable MessagingMessaging

Page 36: Austrian Government Nov 18 2003 - Morning One

2003

Business Service Interfaces

Using WSDL, CPP and CPA to describe services

09:30

Page 37: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

How do I describe services?How do I describe services?

UnsereComputer

?

?

?

?

??

?

?

Page 38: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Service descriptionsService descriptions

?

?

?

?

??

?

?Eco.xml

CPP

WSDL WSDL

WSDL

Eco.xml

CPP +BPSS

CPP +BPSSFocus:

Web Services Description Language (WSDL)Collaboration Protocol Profile (CPP)

Page 39: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Web Service Description Web Service Description LanguageLanguage

• WSDL provides a simple description of the service offered.

• WSDL is missing items – semantics, trading partners agreement references, constraints on who can use the service, etc.

• WSDL is a very lightweight, works well for web service descriptions.

• Minor binding to Messaging layer (SOAP only)

Page 40: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Business Service Interface Business Service Interface (BSI)(BSI)

• UN/CEFACT Architectural term.• An abstract architectural component

containing all aspects of an interface to a business including technical and business terms of use.

Page 41: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

ebXML – CPP and CPAebXML – CPP and CPA

• Trading Partner Profiles and Agreements. • Tells you Business Service Interfaces,

bindings etc.• Provide a list of Business Processes or Web

Services.• NOT designed to be a legal agreement.

example

Page 42: Austrian Government Nov 18 2003 - Morning One

2003

Registry and Directory Functionality in SOA’s

A look at UDDI, ebXML and ISO/IEC 11179 Registry and Directory Systems

13:00

Page 43: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Discovery - Discovery - Registry/RepositoryRegistry/Repository

?

?

?

?

??

?

?Eco.xml

CPP

WSDL WSDL

WSDL

Eco.xml

CPP +BPSS

CPP +BPSS

REGISTRY

Page 44: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

What is a Registry?What is a Registry?

• An XML registry is an infrastructure that enables the registration and discovery of services, ontology's or other artifacts for information sharing.

• It is a neutral third party that facilitates dynamic and loosely coupled interactions.

• A registry is available to organizations as a shared resource, often in the form of a web-based service.

Page 45: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Relationship of Registry Relationship of Registry standardsstandards

Page 46: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Businesses register public information about themselves

UDDI Directory DataUDDI Directory Data

White PagesWhite Pages

Yellow PagesYellow Pages

Green PagesGreen Pages

Standards bodies, programmers, businesses register information about their service types

Service type registrations (“tModels”)

Service type registrations (“tModels”)

Page 47: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

UDDI and SOAPUDDI and SOAP

Page 48: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

• The Registry is the heart of ebXML.• Powerful system of Registries and Distributed Repositories. • Loosely coupled.• Registries contain pointers and meta information. Meta

information constrained by Registry Information Model (RIM)• The Registry Services exposed by the interfaces have set

metadata for expressing queries and returns.

Repository RegistrySynchronization API

I / ORIM

ebXML Registry / RepositoryebXML Registry / Repository

Page 49: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

ISO Registry MetamodelISO Registry Metamodel

Page 50: Austrian Government Nov 18 2003 - Morning One

2003

Business Process and Choreography

BPSS and BPEL

Page 51: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Process = State ManagementProcess = State Management

Page 52: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

ebXML Business Process Specification ebXML Business Process Specification SchemaSchema

BPSS instances are Runtime and Design Time artifacts. • Captures particulars of process in an XML schema

controlled instance.• References Business Information used in each step of

process. • Contains conditions to guard against improper

execution of a specific process.• Controls Business Signals• Lacking support from software vendors

Page 53: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Business Process Execution Language Business Process Execution Language (BPEL)(BPEL)

• Similar to BPSS in concept.• Designed for Web Services.• Work is advancing rapidly – strong support

from major vendors.• Choreographs service use• Controls Business Signals

Page 54: Austrian Government Nov 18 2003 - Morning One

2003 Information

Core Components, BIE’s, Semantics, XML schema

Page 55: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

ebXML Business informationebXML Business information

ServiceDescriptio

n 1..

SupportedProcess

<<References>>

DTD’sSchemas?

DTD’sSchemas?

DTD’sSchemas?

<<Constructed From>>

1..

CoreComp.

CoreComp.

CoreComp.

CoreComp.

CoreComp.

CoreComp.

CoreComp

Business Information Entities

<<Constructed From>>

<<Constructed From>>

XML Representations

Bridge toLegacy Data

Page 56: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Core Components:Core Components:

• A Core Component captures information about a real world (business) concept. 

• A Core Component can be atomic or aggregate.

• It is ‘Core’ because it occurs in many different areas of industry/business information exchange.

• Think ISO 11179 Data Elements!

Page 57: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Core Components & BIE’s are Core Components & BIE’s are like…like…

Name

Address

email

Phone #

Company

Company

Phone #

email

Address

Name

Party

Party ID

Invoice

PO #

Line Item

Cost

Page 58: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Core Components – driven by Core Components – driven by UMMUMM

Page 59: Austrian Government Nov 18 2003 - Morning One

2003

The UN/CEFACT Modeling Methodology

An integral part of the UN/CEFACT Business Collaboration Framework

(BCF)

Page 60: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

The UMM Meta-modelThe UMM Meta-model

Page 61: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

UMM - expandedUMM - expanded

Page 62: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

What can UMM give us?What can UMM give us?

• Data in payloads, transport details in message envelope and verbs in BP* artifacts.

• Higher probability of interoperability between vocabularies.

• Alignment of semantics.• Smart, re-useable processes.• A complete view of choreography and state.• A statement of intent.

Page 63: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

Q & ASOA’s

Page 64: Austrian Government Nov 18 2003 - Morning One

© Copyright, Oktober 2003, All rights reserved.

2003

BREAK TIME!!!BREAK TIME!!!

• Back by 11:30 please.