Austrian Government Nov 18 2003 - Morning One
Transcript of 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
© 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]
© 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
Phone #
Company
Company
Phone #
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.