Electronic Commerce Group
Institute for Software Technology and Interactive Systems
Vienna University of TechnologyFavoritenstraße 9-11/188-1 . 1040 Vienna .
Austria/EuropeTel.: +43 (1) 58801 - 18822, Fax: +43 (1) 58801 -
18896http://www.ec.tuwien.ac.at
UN/CEFACT‘s Modeling Methodology (UMM)
E-Commerce Technologien – WS09
Thomas Motal
2
Agenda
Introduction
UN/CEFACT‘s Modeling Methodology (UMM)
Business Requirements View (BRV)
Business Choreography View (BCV)
Business Information View (BIV)
Conclusion
3
1 Introduction
Web-Browser
EDI, ebXML & Web Services
B2B vs. B2C
H2A
B2C: Server dominates the business process Consumer reacts on the fly
B2B: Applications must interact with each other Applications must follow an agreed upon business process
A2A
The traditional approach
Document-centric Traditional EDI standards have been in use since the 1980’s
ANSI X12, UN/EDIFACT, ODETTE, VDA, EANCOM… Transmission over Value Added Networks (VAN), X.400,…,
floppy disks
UNB+UNOC:3+ATCABV+ATCABV+060529:1133+L0605291133001'UNH+16052911330001+PAYMUL:D:96A:UN'BGM+452+111112006052911333500001+9'DTM+137:20060529113335:203'FII+MR+471114711+14000:25:137‘…(extracted from an EDIFACT PAYMUL) Great efforts on standardizing business document
A
B
CD
E
A
B
CD
E Standard Format
þ Syntax
þ Document structure
ý Document contentMessage Implementation Guideline (MIG):
StandardMIG
User GroupMIG
CompanyMIG
Partner-specific
Overloaded document types require bilateral agreements between business partners
Ambiguous Document Standards
7
Order from Quote Business Scenario
What kind of apples do you have?
We provide 5 alternatives: …
What is the price of the 2nd and 4th option?
The 2nd is x$ and the 4th is y$
I take 5 pieces of the second option
Fine.Buyer Seller
8
Interoperability Requirements between Enterprises HOW are documents exchanged between enterprises?
Common definition in which order documents are exchanged Global process choreography vs. local process choreography Use of technologies for the unambiguous definition of process
choreographies UN/CEFACT‘s Modeling Methodology 2.0 (UMM)
WHICH documents are exchanged between enterprises? Common definition of the artifacts which are exchanged
between enterprises Business document standards UML Profile for Core Components 3.0 (UPCC)
Next
Week
XML Schema, BPEL,
workflow languages…
Functional Service View
related standards
UN/CEFACT’s Modeling Methodology (UMM)
& Core Component
Technical Specification (CCTS)
The Open-edi Reference Model
(ISO 14662)
Business Operational View related standards
Busin
ess T
rans
actio
ns Business aspectsof business transactions
Information technologyaspects of business
transactions
viewedas
complywith
coveredby
coveredby
complywith
transformedto
Business Operational View
Functional Service View
10
2 UMM
11
Principles of the UMM Solution
Separation of business logic and implementation technology Model-driven approach Based on the Unified Modeling Language (UML)
Process centric UMM is business process centric
Business state centric Adjust UMM to a business state centric methodology
12
UMM at a Glance
Graphical process modeling technique for inter-organizational (B2B) business processes
Concentrates on business semantics – it is implementation neutral
Provides a procedure similar to a software development process from requirements elicitation to process design
UMM is defined as a UML profile on top of UML 2.1.1
UMM is used in order to define global business choreographies
13
Process Choreography – The HOW
14
Orchestration vs. Choreography
15
What is a Global Choreography? If each organization defines its own choreography with
business partners, interoperability is unlikely
UMM describes collaborative business processes from a global and neutral point of view
Buyer‘s view Seller‘s view
Buyer Seller
Collaboration
16
UMM Terminology
Business Process Group of related activities that together create customer value Traditionally intra-organizational, but also inter-organizational
Business Collaboration Performed by two business partners (=binary collaboration)
ormore business partners (=multi-party collaboration)
Complex, composed of many activities (=business transactions) between the partners
Business Transaction Always a binary collaboration Realized by a request from one side and an optional response
from the other side
17
The UMM 2.0 Architecture
Development process of the UMM Business Requirements View (BRV) Business Choreography View (BCV) Business Information View (BIV)
17
UMM
BRV BCV BIV
18
UMM Package Structure
UMM Foundation ModuleBusinessRequirementsView
BusinessDomainView
BusinessRealizationView
BusinessPartnerViewBusinessEntityViewBusinessChoreographyVi
ew BusinessTransactionViewBusinessCollaborationView
BusinessInformationView
19
3Business
Requirements View
20
Announce Waste Transport
Waste Movement in EuropeExport Authority Import Authority
Notifier Notifiee
Announce Transport Arrival
21
Involved Parties
Exporter
ExportAuthori
ty
ImportAuthori
tyImporte
r
Announce WasteTransport
Announce WasteTransport
Announce WasteTransport
AnnounceTransport Arrival
AnnounceTransport Arrival
AnnounceTransport Arrival
22
The BRV Package Structure
UMM Foundation ModuleBusinessRequirementsView
BusinessDomainViewBusinessPartnerViewBusinessEntityView
BusinessChoreographyViewBusinessInformationView
23
The Business Domain View (BDV) Purpose
Getting to know the domain under consideration Discovery of existing business processes Rough identification of desired collaborations Important: No new business processes are created in the
BDV!
Artifacts Use case diagrams Activity diagrams
B Requirements V
BDV
BPV
BEV
24
Classifying Business Processes
Using the concept of Business Areas (bArea) and Process Areas the business modeler can classify the different processes
UMM does not mandate a particular structure
B Requirements V
BDV
BPV
BEV
25
«bProcessUC»Manage End-to-End
Waste Transport
ExportAuthority
(from Waste Management)
ImportAuthority
(from Waste Management)
Tax Agency
(from Waste Management)
«isOfInterestTo»
«participates»«participates»
BDV – Example [1]B Requirements V
BDV
BPV
BEV
26
«bProcessUC»Manage End-to-End
Waste Transport
ExportAuthority
(from Waste Management)
ImportAuthority
(from Waste Management)
Tax Agency
(from Waste Management)
«isOfInterestTo»
«participates»«participates»
Using Worksheets to Capture Requirements
A detailed definition of the different worksheets is provided in the UMM 2.0 specification.
27
:Importer:Exporter :ImportAuthority:ExportAuthority
«bESharedState»:WasteTransport
[announced]
«bESharedState»:WasteTransport
[arrived]
«bProcessAction»Pre-inform on waste transport
«bProcessAction»Pre-inform on waste transport
«bProcessAction»Inform on waste receipt
«bProcessAction»Inform on waste receipt
«bP...
«bESharedState»:WasteTransport
[accepted]
«bESharedState»:WasteTransport
[rejected]
«bProcessAction»Inform on waste transport
acceptance
«bProcessAction»Inform on waste transport
acceptance
«bProcessAction»Inform on waste transport rejection «bProcessAction»
Inform on waste transport rejection
«bP...
«bP...
«bP...
«bP...
«bP...
BDV – Example [2]B Requirements V
BDV
BPV
BEV
28
The Business Entity View (BEV) Purpose
Identification of relevant business entities a business entity is something that has business
significance (e.g., order, newspaper,...) Describing the lifecycle of business entities A business entity state that is shared between two
business partners is a strong indicator for a required exchange of business information
Artifacts State machine diagram describing the lifecycle of a
business entity Changes of business entity states may be visualized
in the business domain view
B Requirements V
BDV
BPV
BEV
29
BEV – ExampleB Requirements V
BDV
BPV
BEV
«bEState»accepted
«bEState»announced
«bEState»arriv ed
«bEState»rejected
Final
30
Relationship between BEV and BDV
B Requirements V
BDV
BPV
BEV
«bEState»accepted
«bEState»announced
«bEState»arrived
«bEState»rejected
Final
:Importer:Exporter :ImportAuthority:ExportAuthority
«bESharedState»:WasteTransport
[announced]
«bESharedState»:WasteTransport
[arrived]
«bProcessAction»Pre-inform on waste transport
«bProcessAction»Pre-inform on waste transport
«bProcessAction»Inform on waste receipt
«bProcessAction»Inform on waste receipt
«bP...
«bESharedState»:WasteTransport
[accepted]
«bESharedState»:WasteTransport
[rejected]
«bProcessAction»Inform on waste transport
acceptance
«bProcessAction»Inform on waste transport
acceptance
«bProcessAction»Inform on waste transport rejection «bProcessAction»
Inform on waste transport rejection
«bP...
«bP...
«bP...
«bP...
«bP...
31
The Business Partner View (BPV) Purpose
Container for business partners and stakeholders that are identified in the business domain view
Modeling organization relationships between those actors (optional)
Artifacts Use case diagram Business partners and stakeholders
B Requirements V
BDV
BPV
BEV
32
ExportAuthority ImportAuthority ImporterExporter
Tax Agency
BPV – Example B Requirements V
BDV
BPV
BEV
33
Relationship between BPV and BDV
:Importer:Exporter :ImportAuthority:ExportAuthority
«bESharedState»:WasteTransport
[announced]
«bESharedState»:WasteTransport
[arrived]
«bProcessAction»Pre-inform on waste transport
«bProcessAction»Pre-inform on waste transport
«bProcessAction»Inform on waste receipt
«bProcessAction»Inform on waste receipt
«bP...
«bESharedState»:WasteTransport
[accepted]
«bESharedState»:WasteTransport
[rejected]
«bProcessAction»Inform on waste transport
acceptance
«bProcessAction»Inform on waste transport
acceptance
«bProcessAction»Inform on waste transport rejection «bProcessAction»
Inform on waste transport rejection
«bP...
«bP...
«bP...
«bP...
«bP...
ExportAuthority ImportAuthority ImporterExporter Tax Agency
B Requirements V
BDV
BPV
BEV
34
4Business
Choreography View
35
The BCV Package Structure
UMM Foundation ModuleBusinessRequirementsView
BusinessRealizationView
BusinessChoreographyView BusinessTransactionVi
ewBusinessCollaborationView
BusinessInformationView
36
The Business Transaction View (BTV) Purpose
A business transaction describes the message exchange between exactly two business partners
The message exchange synchronizes the shared state of the two partners
Message exchange might be one-way or two-way
Artifacts Activity diagrams of the business transactions Use cases capturing the requirements
B Choreography V
BTV
BCV
BRV
37
BTV – Example [1]B Choreography V
BTV
BCV
BRV
«bTransactionUC»Announce Waste
Transport
Notifier Notifiee
«participates»«participates»
38
«bTransactionUC»Announce Waste
Transport
Notifier Notifiee
«participates»«participates»
BTV – Example [2]B Choreography V
BTV
BCV
BRV
:Notifiee
«bTPartition»
:Notifier
«bTPartition»
«ReqAction»
Notify Waste Transport
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
«ResAction»
Process Waste Movement Form
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
BusinessFailureBusinessSuccess
ControlFailure
«bESharedSt...:WasteTransport
[accepted]
«bESharedSt...:WasteTransport
[rejected]
[WasteMovementAcceptedForm !=null]
[WasteMovementRejectedForm !=null]
39
:Notifiee
«bTPartition»
:Notifier
«bTPartition»
«ReqAction»
Notify Waste Transport
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
«ResAction»
Process Waste Mov ement Form
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
BusinessFailureBusinessSuccess
ControlFailure
«bESharedSt...:WasteTransport
[accepted]
«bESharedSt...:WasteTransport
[rejected]
[WasteMovementAcceptedForm !=null]
[WasteMovementRejectedForm !=null]
«bTransactionUC»Announce Waste
TransportNotifier Notifiee
«participates»«participates»
Requirements areexpressed usinguse cases
A business transactionitself is expressed usingactivity diagrams
«bEState»accepted
«bEState»announced
«bEState»arrived
«bEState»rejected
Final
BTV – Example [3]
B Choreography V
BTV
BCV
BRV
40
BTV – Example [4]B Choreography V
BTV
BCV
BRV
:Notifiee
«bTPartition»
:Notifier
«bTPartition»
«ReqAction»
Notify Waste Transport
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
«ResAction»
Process Waste Movement Form
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
BusinessFailureBusinessSuccess
ControlFailure
«bESharedSt...:WasteTransport
[accepted]
«bESharedSt...:WasteTransport
[rejected]
[WasteMovementAcceptedForm !=null]
[WasteMovementRejectedForm !=null]
Time constraints
Security Flags
Retry Counter
Time Constraints
Security Flags
Security Flags
Security Flags
41
BTV – Example [4]
B Choreography V
BTV
BCV
BRV
:Notifiee
«bTPartition»
:Notifier
«bTPartition»
«ReqAction»
Notify Waste Transport
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
«ResAction»
Process Waste Movement Form
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
BusinessFailureBusinessSuccess
ControlFailure
«bESharedSt...:WasteTransport
[accepted]
«bESharedSt...:WasteTransport
[rejected]
[WasteMovementAcceptedForm !=null]
[WasteMovementRejectedForm !=null]
timeToPerform: 24 hrstimeToAcknowledgeReceipt: 2 hrstimeToAcknowledgeProcessing: 4 hrsisAuthorizationRequired: falseisNonRepudiationRequired: falseisNonRepudiationOfReceiptRequired: falseisIntelligibleCheckRequired: trueretryCount: 3 timeToPerform: 24 hrs
timeToAcknowledgeReceipt: 2 hrstimeToAcknowledgeProcessing: 4 hrsisAuthorizationRequired: falseisNonRepudiationRequired: falseisIntelligibleCheckRequired: true
isConfidential: NoisTamperProof: NoisAuthenticated: No
isConfidential: YesisTamperProof: YesisAuthenticated: Yes
42
The Business Collaboration View Purpose
A business collaboration describes the order in which business transactions are executed
A business collaboration describes the global choreography of an inter-organizational business processes.
Artifacts Activity diagrams of the business collaborations Use cases capturing the requirements
B Choreography V
BTV
BCV
BRV
43
«bCollaborationUC»Manage Waste
Transport
( from Announce Waste Transport)
«bTransactionUC»Announce Waste
Transport
( from Announce Transport Arrival)
«bTransactionUC»Announce Transport
Arrival
Outbound Role Inbound Role
«include»«include»
«participates»«participates»
BCV – Example [1]B Choreography V
BTV
BCV
BRV
44
«bCollaborationUC»Manage Waste
Transport
( from Announce Waste Transport)
«bTransactionUC»Announce Waste
Transport
( from Announce Transport Arrival)
«bTransactionUC»Announce Transport
Arrival
Outbound Role Inbound Role
«include»«include»
«participates»«participates»
BCV – Example [2]B Choreography V
BTV
BCV
BRV
«bCPartition» :Inbound Role«bCPartition» :Outbound Role
«bTransactionAction»
Announce Waste Transport :Announce Waste
Transport
«bTransactionAction»
Announce Transport Arrival :Announce Transport Arrival
Failure
Success
«initFlow» «initFlow»
«reFlow» «reFlow»
«initFlow»
[WasteTransport.arrived]
[WasteTransport.accepted]
[WasteTransport.rejected]
«initFlow»
45
BCV – Example [3]B Choreography V
BTV
BCV
BRV
«bCPartition» :Inbound Role«bCPartition» :Outbound Role
«bTransactionAction»
Announce Waste Transport :Announce Waste
Transport
«bTransactionAction»
Announce Transport Arrival :Announce Transport Arrival
Failure
Success
«initFlow» «initFlow»
«reFlow» «reFlow»
«initFlow»
[WasteTransport.arrived]
[WasteTransport.accepted]
[WasteTransport.rejected]
«initFlow»
«bCollaborationUC»Manage Waste
Transport
( from Announce Waste Transport)
«bTransactionUC»Announce Waste
Transport
( from Announce Transport Arrival)
«bTransactionUC»Announce Transport
Arrival
Outbound Role Inbound Role
«include»«include»
«participates»«participates»
46
«bCPartition» :Inbound Role«bCPartition» :Outbound Role
«bTransactionAction»
Announce Waste Transport :Announce Waste
Transport
«bTransactionAction»
Announce Transport Arrival :Announce Transport Arrival
Failure
Success
«initFlow» «initFlow»
«reFlow» «reFlow»
«initFlow»
[WasteTransport.arrived]
[WasteTransport.accepted]
[WasteTransport.rejected]
«initFlow»
:Notifiee
«bTPartition»
:Notifier
«bTPartition»
«ReqAction»
Notify Waste Transport
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
«ResAction»
Process Waste Mov ement Form
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
:WasteMovementForm
BusinessFailureBusinessSuccess
ControlFailure
«bESharedSt...:WasteTransport
[accepted]
«bESharedSt...:WasteTransport
[rejected]
[WasteMovementAcceptedForm !=null]
[WasteMovementRejectedForm !=null]
BCV – Example [5]
B Choreography V
BTV
BCV
BRV
47
«bCPartition» :Inbound Role«bCPartition» :Outbound Role
«bTransactionAction»
Announce Waste Transport :Announce Waste
Transport
«bTransactionAction»
Announce Transport Arrival :Announce Transport Arrival
Failure
Success
«initFlow» «initFlow»
«reFlow» «reFlow»
«initFlow»
[WasteTransport.arrived]
[WasteTransport.accepted]
[WasteTransport.rejected]
«initFlow»
BCV – Example [4]B Choreography V
BTV
BCV
BRV
timeToPerform: 24hrsisConcurrent: false
timeToPerform: 24hrsisConcurrent: false
48
The Business Realization View
Purpose Assigning business partners to authorized roles
participating in a collaboration. Collaboration Realizations allow that different sets
of business partners perform the same collaboration
Artifacts Use cases, Business partners, Authorized Roles
B Choreography V
BTV
BCV
BRV
49
Business Scenario B Choreography V
BTV
BCV
BRV
<<BusinessPartner>>
<<BusinessPartner>>
<<BusinessPartner>>
<<BusinessPartner>>
Importer
ExportAuthority
ImportAuthorityExporter
Business realizationExp-ExpA
Business realizationExpA-ImpA
Business realizationImpA-Imp
50
«bRealization»Manage Waste
Transport, ExA - ImA
Outbound Role Inbound Role
( from Manage Waste Transport)
«bCollaborationUC»Manage Waste
TransportInbound Role
( from Manage Waste Transport)
Outbound Role
( from Manage Waste Transport)
ExportAuthority
( from Waste Management)
ImportAuthority
( from Waste Management)
«mapsTo» «mapsTo»
«mapsTo»«mapsTo» «realizes»
«participates» «participates»
«participates»«participates»
BRV – Example [1]B Choreography V
BTV
BCV
BRV
51
«ReqAction»
:OrderPendingEnvelope
:OrderRejectionEnvelope
:OrderEnvelope
«ResAction»
:OrderPendingEnvelope
:OrderRejectionEnvelope
:OrderEnvelope
ControlFai lure
«bESharedSta...:Order
[pending]
«bESharedS...:Order
[rejected]
Business Success BusinessFai lure
[e lse][OrderPendingEnvelope!= nul l]
UMM/UPCC model
<wsdl:portType name=“Buyer“>….</wsdl:portType>
<wsdl:portType name=“Seller“>….</wsdl:portType>
Buyer.wsdl + XSD Seller.wsdl + XSD
<process> <partnerLinks/> <variables/> <sequence/></process>
<process> <partnerLinks/> <variables/> <sequence/></process>
Buyer.bpel Seller.bpel
agree
derive
agree
derive
1
2 2
1
deploy deploy3 3
5
automated B2B interactions
4 4addservice
bindings
addservicebindings
Business Service Interface Buyer
Business Service Interface Seller
BuyerSeller
Derivation of Deployment Artifacts
52
5 Business Information View
53
The Business Information View
Purpose The business information artifacts which are exchanged in the
different business transaction are described in the business information view
UN/CEFACT does not mandate a specific business document modeling methodology
However, it is strongly encouraged to use the UML Profile for Core Components (UPCC)
Artifacts Class diagrams and associations describing the business
documents
54
The BIV Package Structure
UMM Foundation ModuleBusinessRequirementsView
BusinessRealizationView
BusinessChoreographyView BusinessTransactionVi
ewBusinessCollaborationView
BusinessInformationView
55
BIV – Example [1]
«InfEnvelope»WasteMovementForm
«InfEnvelope»WasteMovementAcceptedForm
«InfEnvelope»WasteMovementRejectedForm
«InfEnvelope»CertificateOfWasteReceiptForm
B Information V
56
:Notifiee«bTPartition»
:Notifier«bTPartition»
«ReqAction»
Notify Waste Transport
:WasteMovementForm«ResAction»
Process Waste Movement Form
:WasteMovementRejectedForm
:WasteMovementAcceptedForm
Business FailureBusiness Success
ControlFailure
«bEShared...:WasteTransport
[accepted]
«bEShared...:WasteTransport
[rejected]
[WasteMovementAcceptedForm!= null]
[WasteMovementRejectedForm!= null]
BIV – Example [2]«InvEnvelope»
WasteMovementForm
«InvEnvelope»WasteMovementAcceptedForm
«InvEnvelope»WasteMovementRejectedForm
«InfEnvelope»CertificateOfWasteReceiptForm B Information V
57
6 Conclusion
58
Capture IT system requirements of distributed (service oriented) systems independent of the implementation technology
Define an agreement upon an inter-organizational business process between two business partners (global choreography)
Create the basis for the derivation of deployment artifacts for IT systems (generate abstract BPEL)
UMM – What it can do
59
UMM – What it can’t do
Provide models for the derivation of orchestrations (UMM does not provide an internal view of a business partner)
Generate ready-to-use deployment artifacts (e.g. executable BPEL) UMM is on the BOV layer UMM does not provide service definitions and service
bindings
60
UMM Technical Specification UMM 2.0 Foundation Model
http://www.untmg.org/umm/spec/foundation/2_0 UMM Development site
http://www.umm-dev.org UMM User Guide Example models Academic papers …
VIENNA Tool http://umm2-addin.googlecode.com
UMM Resources
61
ECT UMM Exercise Facts
Requirements Sparx Systems Enterprise Architect (30 day trial)
http://www.sparxsystems.com.au/products/ea/trial.html VIENNA Tool
http://umm2-addin.googlecode.com
Prepare a meaningful presentation [!]
62
? Questions
Top Related