Austrian Government Nov 18 2003 - Morning One

Preview:

Citation preview

2003

Service Oriented ArchitectureService Oriented Architecture

Wien, OsterreichWien, Osterreich

18 November 200318 November 2003

Sprecher: Duane NickullSprecher: Duane Nickullduane@yellowdragonsoft.comduane@yellowdragonsoft.com

© 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• Duane@yellowdragonsoft.com

© 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

© 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

2003

An Introduction to Service Oriented Architectures

Understanding the technological and cultural factors driving their adoption

09:30

© 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

© Copyright, Oktober 2003, All rights reserved.

2003

B to C

Disintermediation

B to B

Collaboration

Infomediary

Malls

Business Interaction ModelsBusiness Interaction Models

© 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

© 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)

© 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)

© 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

© 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

© 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

© 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>

2003

The ebXML SOA Architecture

By UN/CEFACT and OASIS

11:05

© 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)

© Copyright, Oktober 2003, All rights reserved.

2003

ebXML Service Oriented ebXML Service Oriented ArchitectureArchitecture

© 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…

© 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…

© 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

© 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)

2003

The W3C Web Services SOA Architecture

A generic SOA.

© Copyright, Oktober 2003, All rights reserved.

2003

Web Service – simple modelWeb Service – simple model

© Copyright, Oktober 2003, All rights reserved.

2003

Web Service Architecture – Web Service Architecture – expandedexpanded

© 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

© Copyright, Oktober 2003, All rights reserved.

2003

WS RelationshipsWS Relationships

2003

The UN/CEFACT Architecture

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

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

© 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”

© 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

© Copyright, Oktober 2003, All rights reserved.

2003

2003

SOAP and ebXML Messaging

Communication layer in SOA’s

© 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

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

© Copyright, Oktober 2003, All rights reserved.

2003

ebXML - Secure and ebXML - Secure and Reliable Reliable MessagingMessaging

2003

Business Service Interfaces

Using WSDL, CPP and CPA to describe services

09:30

© Copyright, Oktober 2003, All rights reserved.

2003

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

UnsereComputer

?

?

?

?

??

?

?

© 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)

© 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)

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

© 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

2003

Registry and Directory Functionality in SOA’s

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

13:00

© 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

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

© Copyright, Oktober 2003, All rights reserved.

2003

Relationship of Registry Relationship of Registry standardsstandards

© 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”)

© Copyright, Oktober 2003, All rights reserved.

2003

UDDI and SOAPUDDI and SOAP

© 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

© Copyright, Oktober 2003, All rights reserved.

2003

ISO Registry MetamodelISO Registry Metamodel

2003

Business Process and Choreography

BPSS and BPEL

© Copyright, Oktober 2003, All rights reserved.

2003

Process = State ManagementProcess = State Management

© 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

© 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

2003 Information

Core Components, BIE’s, Semantics, XML schema

© 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

© 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!

© 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

© Copyright, Oktober 2003, All rights reserved.

2003

Core Components – driven by Core Components – driven by UMMUMM

2003

The UN/CEFACT Modeling Methodology

An integral part of the UN/CEFACT Business Collaboration Framework

(BCF)

© Copyright, Oktober 2003, All rights reserved.

2003

The UMM Meta-modelThe UMM Meta-model

© Copyright, Oktober 2003, All rights reserved.

2003

UMM - expandedUMM - expanded

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

© Copyright, Oktober 2003, All rights reserved.

2003

Q & ASOA’s

© Copyright, Oktober 2003, All rights reserved.

2003

BREAK TIME!!!BREAK TIME!!!

• Back by 11:30 please.