Transcript EMM

Enterprise Message Model
Secret Sauce for SOA Success
Dave McComb
June 29 2006
7/17/2015
© 2006 Semantic Arts, Inc
1
Two main approaches to Planning
SOA
• Edges in: Use discovery technology to
understand existing interfaces and
rationalize them
• Center out: define a shared semantic
model of interaction and base message
traffic off of this (EMM)
7/17/2015
© 2006 Semantic Arts, Inc
2
“Edges In” Approach
• Start from existing services
• Create a formal definition of the service
– Get beyond keywords
• Design Time
• Run Time
7/17/2015
© 2006 Semantic Arts, Inc
3
Standard Web service cycle
Register
Find
Service Registry
Search for Service
1. Register WSDL
3 WSDL
Service Provider
6. Process Request
7. Reply
2. UDDI
Service Consumer
5 SOAP
8 SOAP
4 Compose Request
based on WSDL
9. Consume Info
Bind
7/17/2015
© 2006 Semantic Arts, Inc
4
Build a service
Taxonomy
Semantic Angle
Register
Find
Service Registry
Search for Service
1. Register WSDL
3 WSDL
Service Provider
6. Process Request
7. Reply
2. UDDI
Service Consumer
5 SOAP
8 SOAP
4 Compose Request
based on WSDL
9. Consume Info
To make it easier
to find service you
need
Bind
7/17/2015
© 2006 Semantic Arts, Inc
5
Semantic Angle
Register
Find
Service Registry
Search for Service
1. Register WSDL
3 WSDL
Service Provider
6. Process Request
7. Reply
2. UDDI
Service Consumer
5 SOAP
8 SOAP
4 Compose Request
based on WSDL
9. Consume Info
Bind
Deconstruct WSDL (OWL-S,
WSDL/S, WSMO or USDL)
7/17/2015
© 2006 Semantic Arts, Inc
6
Semantic Angle
Register
Find
Service Registry
Search for Service
1. Register WSDL
3 WSDL
Service Provider
6. Process Request
7. Reply
Service Code that
actually does
something
7/17/2015
2. UDDI
Service Consumer
5 SOAP
8 SOAP
Bind
© 2006 Semantic Arts, Inc
4 Compose Request
based on WSDL
9. Consume Info
Build and use a “side effects”
ontology
7
Semantic Angle
Register
Find
Service Registry
Search for Service
1. Register WSDL
3 WSDL
Service Provider
6. Process Request
7. Reply
Service Code that
actually does
something
7/17/2015
2. UDDI
Service Consumer
5 SOAP
8 SOAP
Bind
© 2006 Semantic Arts, Inc
4 Compose Request
based on WSDL
9. Consume Info
Run time discovery,
based on one of the three
8
Center Out Approach
Alternate Approach:
Rather than having each provider build
services and hope consumers can find
them
Define the kinds of services the
enterprise will want, and pre-define the
interfaces to them
7/17/2015
© 2006 Semantic Arts, Inc
9
Enterprise Message Modeling
Methodology (E3M)
Capture
External
Events
Event Analysis
Existing
Partitioning
Partition
Applications
Design Canonical
Messages
7/17/2015
Define Service
Requirements
Design Service
Message
Interface
Elicit Semantic
Model
Define
Information
Sets
Publish
Canonical
Messages
Partition
Services
Message
Related
© 2006 Semantic Arts, Inc
Partitioning
Related
10
Enterprise Message Modeling
Methodology (E3M)
Capture
External
Events
Event Analysis
Existing
Partitioning
Partition
Applications
Design Canonical
Messages
7/17/2015
Define Service
Requirements
Design Service
Message
Interface
Elicit Semantic
Model
Define
Information
Sets
Publish
Canonical
Messages
Partition
Services
Message
Related
© 2006 Semantic Arts, Inc
Partitioning
Related
11
Event Model Diagram
Event : Receive Medical Bill
Medical Bill
Denial
Notification
Provider Identity
Claimant identity
Treatment
Denial
Notification
Denial
notification
Claim
Claimant
Claim
Pricing Tables
Treatment Authorizations
Open Claims
Treatment Authorizations
Service Price
Treatment Accumulator
Capture
Electronic Bill
Roles :
Frequency :
Description
Capture Paper
Bill
Validate Provider
Roles :
Frequency :
Description
Valid
provider?
Validate
Claimant
Roles :
Frequency :
Description
Valid
Claimant
?
Validate
Treatment
Roles :
Frequency :
Description
Price Bill
Valid
treatment
?
Pay Bill
Roles :
Frequency :
Description
Roles :
Frequency :
Description
Paper Bill
Roles :
Frequency :
Description
Medical Bill
Payment
Provider Identity
Provider Identity
Payee/Providor
Claimant identity
Claimant identity
Amount
Treatment
Account
Medical Bill
Treatment
Treatment
Accumulator
s
Amount
Treatment counts
Treatment
Treatment code
Justification
Claim
7/17/2015
© 2006 Semantic Arts, Inc
12
Capture External Events
<Document>
<Element>
Define the events which
originate outside the
enterprise, to which the
enterprise must respond,
as well as the actions that
the enterprise will take
that will be felt outside.
At this point we are merely
cataloging the events, not
designing the messages.
<Element>
<Document>
<Element>
<Document>
<Element>
<Element>
<Element>
<Document>
<Document>
<Element>
<Element>
<Element>
<Element>
<Document>
<Element>
<Element>
<Document>
<Element>
<Element>
<Document>
<Document>
<Document>
<Element>
<Element>
<Element>
<Element>
<Element>
<Element>
Enterprise
Systems
<Document>
<Element>
<Document>
<Element>
<Element>
<Document>
<Element>
<Element>
<Element>
<Document>
<Element>
<Element>
<Document>
<Element>
<Element>
7/17/2015
© 2006 Semantic Arts, Inc
13
Enterprise Message Modeling
Methodology (E3M)
Capture
External
Events
Event Analysis
Existing
Partitioning
Partition
Applications
Design Canonical
Messages
7/17/2015
Define Service
Requirements
Design Service
Message
Interface
Elicit Semantic
Model
Define
Information
Sets
Publish
Canonical
Messages
Partition
Services
Message
Related
© 2006 Semantic Arts, Inc
Partitioning
Related
14
Application partitioning techniques
• Examine existing partitioning.
CVP
60
EMPLOYEE
FREIGHT
50
SHIP
QUALITY
PRODSCHED
PRODENT
PRICE
INTERFACE
INV
ORDER
PRICE
PRODENT
40
30
ORDER
PRODSCHED
20
INV
Programs
QUALITY
10
INTERFACE
SHIP
FREIGHT
SYS
SHIP
PRICE
PRODENT
INV
ORDER
INTERFACE
ENUM
FREIGHT
CVP
CVP
EMPLOYEE
DATAWHSE
QUALITY
0
EMPLOYEE
DATAWHSE
• Data access analysis.
DATAWHSE
Tables
Updates
Independent
Mecdical
Exam
Medical
Provider
Employer
Notification
Employer
Claimant
• Business event analysis.
Report
Of
Accident
Employer
Services
Assign To
Risk Class
Record
Claim
Claims
Managment
Verify
Claim
Determine
Time Loss
Benefits
Schedule
Payments
Approve
Medical
Benefits
Claimant
Claim
Benefit Approval
Payment
Person
Claimant
Claimant
Claim
Employer
Claim
Employee
Claims Manager
Employer
Claim Event
Make
Payment
Claimant
Claim
Medical Benefit
Benefit
Time Loss
Injury Accident
7/17/2015
© 2006 Semantic Arts, Inc
15
The “one data base, one
application” rule.
• The application’s dependence on your
data structures is your tightest coupling, as
measured by the number of references.
• Therefore, in practice, all the apps that
share a database should be considered a
single app until proven otherwise.
7/17/2015
© 2006 Semantic Arts, Inc
16
Data Access Analysis
# Of Updates
CVP
DATAWHSE
60
EMPLOYEE
ORDER
PRICE
PRODENT
PRODSCHED
QUALITY
SHIP
40
30
ORDER
Program
Programs
Groups
20
INV
10
INTERFACE
FREIGHT
0
Updates
7/17/2015
© 2006 Semantic Arts, Inc
PRODENT
PRICE
ORDER
INTERFACE
FREIGHT
ENUM
DATAWHSE
CVP
CVP
EMPLOYEE
DATAWHSE
INV
EMPLOYEE
SYS
INV
50
SHIP
QUALITY
PRODSCHED
PRODENT
PRICE
SHIP
INTERFACE
QUALITY
FREIGHT
Table
Tables
Groups
17
Event Based Partitioning
Stimulus
Data Flow
Process
Data Flow
Process
Data Flow
Process
Response
Data Flow
Ref: Creating Customer Focused Organizations; Brian Dickinson
7/17/2015
© 2006 Semantic Arts, Inc
18
Enterprise Message Modeling
Methodology (E3M)
Capture
External
Events
Event Analysis
Existing
Partitioning
Partition
Applications
Design Canonical
Messages
7/17/2015
Define Service
Requirements
Design Service
Message
Interface
Elicit Semantic
Model
Define
Information
Sets
Publish
Canonical
Messages
Partition
Services
Message
Related
© 2006 Semantic Arts, Inc
Partitioning
Related
19
What makes a good shared
service ?
(Some things are worth sharing, some things just aren’t.)
7/17/2015
© 2006 Semantic Arts, Inc
20
Service Oriented Architecture
“The SOA models the business as a collection of selfcontained services that are available across the enterprise
that can be evoked through standard protocols both
internally and externally.” (Hohpe)
Our Focus
• Services are course grained collections of
functionality rather than small components.
• Services are partitioned out of their applications to
eliminate duplicated functionality.
• Services are runtime shareable functions.
7/17/2015
© 2006 Semantic Arts, Inc
21
Types Of Service
• Business Services
Business Applications
Core business functionality
– Accounts Receivable
– Accounts Payable
• Business-Neutral Services
–
–
–
–
–
Inbound Correspondence
Outbound Correspondence
Work Flow
External Data Interchange
Information Delivery
• Infrastructure Services
Business Services
Provide application level
functions that relate to a
specific business task
Business Neutral Services
Application level functions
applicable across multiple
business functions
Infrastructure Services
Provide applications or other services with
core services that are not specific to a
particular application or business function.
– Security
– Rules Engine
Ref: Gregor Hohpe. Web Services pathway to a Service Oriented Architecture, www.thoughtworks.com
7/17/2015
© 2006 Semantic Arts, Inc
22
Partitioning for Reusability – Shared Services
Business
Application
Info Deliv.
Data Exch.
Rules
Inbound
Outbound
Security
Business
Application
Business
Application
Info Deliv.
Rules
Inbound
Outbound
Security
Workflow
Workflow
Core Business
Function
7/17/2015
Core Business
Function
© 2006 Semantic Arts, Inc
Business
Application
Info Deliv.
Info Deliv.
Data Exch.
Data Exch.
Rules
Rules
Inbound
Inbound
Outbound
Outbound
Security
Security
Workflow
Workflow
Core Business
Function
Core Business
Function
23
Identifying Candidate Services
ELELEVATOR
INSPECTION &
TRACKINGLicensing & Permits
The System provides automated
procedures to create, maintain,
and track WA Conveyance and
Owner/Location Information,
allows for the entry and logging of
inspection and re-inspection
reports; generates invoices,
operating permits, inspection and
re-inspection notices; assists in
the orderly collection of accounts
receivables; and prints Accounts
related Receivable
reports and listings. Functions
include automated renewal,
certification, record keeping and
report generation. In 2000, there
were 10,678 inspections
conducted and over $1,366,600
Information Delivery
in fees collected.
-------------------FUNCTION
Mission Critical: Yes
Customer: Specialty Compliance
Strategy: Elevator Program
Category: Financial, Agency Specific
Function Points / Users: 1573 / 23
Interfaces: none
Implementation Date: 07/01/1990
-------------------TECHNOLOGY
DBMS: ISAM-FAST
Language:
COBOL,PERL,TRANSACT,MICROFOCUS
OS: UNIX
Platform: HEWLETT-PACKARD 9000
Workflow
-------------------SUPPORT
Manager:
# of FTEs: 1.5
-------------------NOTES
This is a central office application only, not
used by regional offices. Cash receipts are
posted here and in EPIRRS. This is
currently being re-written in Sybase/Delphi
and will be called "ELVTR".
Core
7/17/2015
© 2006 Semantic Arts, Inc
24
Identifying Candidate Services
ELELEVATOR
INSPECTION &
TRACKINGLicensing & Permits
The System provides automated
procedures to create, maintain,
and track WA Conveyance and
Owner/Location Information,
allows for the entry and logging of
inspection and re-inspection
reports; generates invoices,
operating permits, inspection and
re-inspection notices; assists in
the orderly collection of accounts
receivables; and prints Accounts
related Receivable
reports and listings. Functions
include automated renewal,
certification, record keeping and
report generation. In 2000, there
were 10,678 inspections
conducted and over $1,366,600
Information Delivery
in fees collected.
15% Common Licensing and Permitting code
20% Accounts Receivable functionality
15% Information Delivery (Reporting)
-------------------FUNCTION
Mission Critical: Yes
Customer: Specialty Compliance
Strategy: Elevator Program
Category: Financial, Agency Specific
Function Points / Users: 1573 / 23
Interfaces: none
Implementation Date: 07/01/1990
20% Custom Workflow
-------------------TECHNOLOGY
DBMS: ISAM-FAST
Language:
COBOL,PERL,TRANSACT,MICROFOCUS
OS: UNIX
Platform: HEWLETT-PACKARD 9000
Workflow
-------------------SUPPORT
Manager:
# of FTEs: 1.5
30% Core Business Logic
-------------------NOTES
This is a central office application only, not
used by regional offices. Cash receipts are
posted here and in EPIRRS. This is
currently being re-written in Sybase/Delphi
and will be called "ELVTR".
Core
7/17/2015
© 2006 Semantic Arts, Inc
25
Identifying Candidate Services
• Event Modeling
–
–
–
–
Validate candidate services.
Gather frequency and volume statistics.
Outline interface messages.
Primarily business users.
• Service Requirement Sessions
– Refine technical requirements.
– Primarily application developers.
7/17/2015
© 2006 Semantic Arts, Inc
26
Service Requirements
• Functionality
– The superset of functionality for the service across the
enterprise.
• Interface
– Service messages.
• Quality of Service
– Availability.
– Response Time.
• Demand Scenarios
– How will the service be invoked.
7/17/2015
© 2006 Semantic Arts, Inc
27
Service Contract
• Service Level
Agreement
• Pre and post
conditions
• Security Impositions
Service Interface
Messages
Definitions
Syntax /
Signature
• Availability
• Response Time
Contract
Ref: Modeling For SOA Richard Veryard CBDI Journal
Feb 2003
Cost per use
$ and resources
Logical
Contract
Quality Of
Service
Contract
Semantics /
Logic
Semantics /
Vocabulary
Commercial
Contract
Enterprise
Enterprise
Message
Model
Message
Definitions
Model
Definitions
7/17/2015
© 2006 Semantic Arts, Inc
28
Partitioning for Reusability – Shared Services
Business
Application
Core Business
Function
Information
Delivery
Service
7/17/2015
External Data
Interchange
Service
Business
Application
Business
Application
Core Business
Function
Rules
Service
Core Business
Function
Outbound
Corr.
Service
© 2006 Semantic Arts, Inc
Inbound Corr.
Service
Business
Application
Core Business
Function
Security
Service
Workflow
Service
29
Enterprise Message Modeling
Methodology (E3M)
Capture
External
Events
Event Analysis
Existing
Partitioning
Partition
Applications
Design Canonical
Messages
7/17/2015
Define Service
Requirements
Design Service
Message
Interface
Elicit Semantic
Model
Define
Information
Sets
Publish
Canonical
Messages
Partition
Services
Message
Related
© 2006 Semantic Arts, Inc
Partitioning
Related
30
Application Ontology
• Essentially an
ontological
representation of the
application schema
Tenant
ElevatorBill
Type
Elevator
size, type
etc etc
7/17/2015
© 2006 Semantic Arts, Inc
31
Enterprise Ontology
• What everyone in the enterprise could be
expected to agree with
Organizational
Role
Medical
Provider
Party
Employer
Organization
Personal Role
Person
Claimant
Payment
Claim Event
7/17/2015
Injury Accident
Vocational
Guidance
© 2006 Semantic Arts, Inc
Claims Manager
Financial
Transaction
Claim
Medical
Treatment
Employee
Medical
Payment
Reciept
Time Loss
Payment
Employer
Premium
32
Enterprise Ontology/
Semantic Model
• A lot like an Enterprise Data Model
– Focus on shared information
– Focus on resolving level of abstraction issues
7/17/2015
© 2006 Semantic Arts, Inc
33
Gist: an Upper Ontology
IntellectualProperty
GeoRegion
PhysicalMatter
Active
PhysicalDiscreteItem
GeoPoint
Artifact
Constraint
Query
Generative
Template
Assertion
Efferent
Sensor
Calculation
LivingThings
Person
Time
Legal
Entity
Landmark
Instant
Interval
Substance
Process
UnitOfMeansure
Language
UoCount
Text
ID
Category
Domain
OrdianlCat
Temporal
UoDistance
Media
PlannedActivity
UoMass
Picture
HistoricalActivity
UoTime
NominalCat
Video
Audio
Transaction
UoEMF
Offer
UoLight
Transfer
Commitment
Directive
DurableTemporalRelationships
Communique
ExchangeRate
UoTemp
RatioUnit
Ownership
Observation
ProductUnit
Measurement
Recording
Description
RightToAlter
RightToView
Agent
(Person OR
ActiveObject)
Subject
(Large union of classes)
Property
(owned by a legal entity)
Membership
Rights
RightToCopy
Currency
Measure
CategoricalDimension
Symbol
Collection
Extensional
Intensional
RightToTraverse
RightToDestroy
Hypothesis
Expectation
RightToExtract
RightToTransfer
Context
Freely available at gist-ont.com or ontologies.semanticarts.com/gist
7/17/2015
© 2006 Semantic Arts, Inc
34
Worked Example: Disambiguation
Legal Entity
GeoRegion
?
Legal Entity
Legal Entity
GeoRegion
GeoRegion
Country
Administrator
Region
Political Entity
Country
7/17/2015
Jurisdiction
Country
© 2006 Semantic Arts, Inc
35
Worked Example:
approximate agreement
Legal Entity
Upper
Ontology
Enterprise
Ontology
IP
Person
Agreement
Party
Invoice
Customer
Elevator terms
Tenant
Category
Document
Terms
Substantiation
ElevatorBill
Type
Elevator
size, type
etc etc
7/17/2015
© 2006 Semantic Arts, Inc
36
Mapping across abstraction
levels
Single_Family_Loan
Loan
Loan Id
Loan Type Loan Amt
Code
Loan Amount
A1
SF
$350,000
01
$250,000
B2
MF
$2,250,0000
<<restriction>>
SF_Loan
LoanType"SF":string
Multi_Family_Loan
Code
Loan Amount
02
$1,200,0000
Single_Family_Loan
LoanId :string
LoanAmount :string
Loan
LoanId :string
LoanAmount :string
LoanType :string
<<restriction>>
MF_Loan:
LoanType"MF":string
7/17/2015
© 2006 Semantic Arts, Inc
Multi_Family_Loan
LoanId :string
LoanAmount :string
37
Common Subject Projections - Claimant
ClaimantID
Identifier View
PersonID
FirstName
Standard View
MiddleName
LastName
BirthDate
DeathDate
SSN
Claimant
ResidenceID
ClaimantID
ResidedFromDate
Complete
record
ResidedToDate
StreetAddress
Residence
City
PhyscialLocation
State
Zip
Country
MarriageDate
DivorceDate
PersonID
FirstName
MiddleName
LastName
BirthDate
DeathDate
SSN
Spouce
MaxOccurs: unbounded
ResidenceID
Person
ResidedFromDate
ResidedToDate
Summary View
StreetAddress
Residence
City
PhyscialLocation
State
Zip
Country
LegallyResponsibleFromDate
Basic identifying information
LegallyResponsibleToDate
Person
PersonID
FirstName
MiddleName
LastName
BirthDate
ClaimantID
DeathDate
SSN
Child
MaxOccurs: unbounded
Claimant
ResidenceID
Person
ResidedFromDate
ResidedToDate
PersonID
StreetAddress
Residence
City
SSN
PhyscialLocation
State
Zip
Country
FirstName
DependentFromDate
LastName
DependentToDate
PersonID
FirstName
MiddleName
MiddleName
LastName
BirthDate
BirthDate
DeathDate
Claimant
SSN
Person
Person
ResidedFromDate
Dependent
------------- Choice -------------
ResidedToDate
AddressLine
StreetAddress
StreetAddress
Residence
MailboxNumber
City
PhyscialLocation
State
Zip
Country
PrimaryContactAddress
MailingAddress
City
ContributionAmount
This needs definition. Is this at the
time of the accident ?
State
DependentType
Zip
AddressLine
Needs defintion
------------- Choice ------------StreetAddress
PrimaryContactAddress
MailingAddress
Country
MailboxNumber
City
State
Zip
Country
------------- Choice ------------Description
------------- Choice -------------
EmailAddress
TelephoneNumber
FaxNumber
WebAddress
AddressLine
StreetAddress
SecondaryContactLocation
MaxOccurs: unbounded
MailingAddress
MailboxNumber
City
State
Zip
Country
7/17/2015
© 2006 Semantic Arts, Inc
38
Enterprise Message Modeling
Methodology (E3M)
Capture
External
Events
Event Analysis
Existing
Partitioning
Partition
Applications
Design Canonical
Messages
7/17/2015
Define Service
Requirements
Design Service
Message
Interface
Elicit Semantic
Model
Define
Information
Sets
Publish
Canonical
Messages
Partition
Services
Message
Related
© 2006 Semantic Arts, Inc
Partitioning
Related
39
Event Analysis and Message
Modeling
Independent
Mecdical
Exam
Medical
Provider
Employer
Notification
Employer
Claimant
Report
Of
Accident
Employer
Services
Assign To
Risk Class
Record
Claim
Claims
Managment
Verify
Claim
Determine
Time Loss
Benefits
Schedule
Payments
Approve
Medical
Benefits
Claimant
Claim
Benefit Approval
Make
Payment
Payment
Person
Claimant
Claimant
Claimant
Claim
Employer
Claim
Claim
Employee
Claims Manager
Employer
Claim Event
Medical Benefit
Benefit
Time Loss
Injury Accident
7/17/2015
© 2006 Semantic Arts, Inc
40
Organizational
Role
Medical
Provider
Party
Employer
Personal Role
Organization
Person
Claimant
Employee
Financial
Transaction
Claim
Payment
Claim Event
Medical
Treatment
Medical
Treatment
Vocational
Guidance
Injury Accident
Medical
Provider
Organization
Medical
Payment
Reciept
Time Loss
Payment
Medical
Payment
Claim
Medical
Provider
Employer
Claims Manager
Claim
Claim Event
Employer
Premium
Claimant
Medical
Treatment
Claimant
Medical
Payment
Claims Manager
Person
Claim
Employee
Employer
Medical
Treatment
Medical
Provider
Injury Accident
Vocational
Guidance
7/17/2015
© 2006 Semantic Arts, Inc
All messages are hierarchical
projections of the semantic
model.
41
Organizational
Role
Medical
Provider
Party
Employer
Personal Role
Organization
Person
Claimant
Employee
Financial
Transaction
Claim
Payment
Claim Event
Medical
Treatment
Medical
Treatment
Vocational
Guidance
Injury Accident
Medical
Provider
Organization
Medical
Payment
Reciept
Time Loss
Payment
Medical
Payment
Claim
Medical
Provider
Employer
Claims Manager
Claim
Claim Event
Employer
Premium
Claimant
Medical
Treatment
Claimant
Medical
Payment
Claims Manager
Person
Claim
Employee
Employer
Medical
Treatment
Medical
Provider
Injury Accident
Vocational
Guidance
7/17/2015
© 2006 Semantic Arts, Inc
42
Common Exchange Model
Organizational
Role
Medical
Provider
Party
Employer
Organization
Personal Role
Person
Claimant
Payment
Claim Event
Vocational
Guidance
Injury Accident
Policy
Management
Claims
Medical
Treatment
Medical
Payment
Medical
Provider
Employer
Claims Manager
Claim
Claim Event
Accounts Payable
Claimant
Medical
Treatment
Medical
Payment
Employer
Premium
Accounts
Receivable
Medical
Payment
Claimant
Organization
Reciept
Time Loss
Payment
Health And Safety
Claim
Medical
Provider
Claims Manager
Financial
Transaction
Claim
Medical
Treatment
Employee
Person
Claim
Employee
Employer
Medical
Treatment
Medical
Provider
Injury Accident
Vocational
Guidance
Information
Delivery
Service
7/17/2015
External Data
Interchange
Service
Rules
Service
Outbound
Corr.
Service
Set of canonical messages
derived from a common
semantic model
Inbound Corr.
Service
© 2006 Semantic Arts, Inc
Security
Service
Workflow
Service
43
Enterprise Message Modeling
Methodology (E3M)
Capture
External
Events
Event Analysis
Existing
Partitioning
Partition
Applications
Design Canonical
Messages
7/17/2015
Define Service
Requirements
Design Service
Message
Interface
Elicit Semantic
Model
Define
Information
Sets
Publish
Canonical
Messages
Partition
Services
Message
Related
© 2006 Semantic Arts, Inc
Partitioning
Related
44
Summary
• There are two ways to skin the SOA cat:
– From the edges in
– From the center out
• You may find you have to do an edges in
strategy
– If so, there are some techniques that will help
organize the chaos
• If you opt for a center centric approach, following
the methodology presented here should save a
lot of heartache
7/17/2015
© 2006 Semantic Arts, Inc
45