A Service Oriented Architecture (SOA) Approach to Department of Defense Architecture Framework

A Service Oriented Architecture
(SOA) Approach to Department of
Defense Architecture Framework
(DoDAF) Architecting
Kevin M. Gunn
Fatma Dandashi
David J. Edwards
The MITRE Corporation
© 2008 The MITRE Corporation. All rights reserved
The Scenario
You have an environment with some
idea of the requirements to transfer
information in support of operational
decision-making
You know most of the “players” who
will produce and consume this
information, but perhaps not all of
them;
There are existing automated systems
in place that facilitate some of the
information exchanges, and some
systems that are planned or assumed;
You are required to invest your budget
constrained funds to migrate to a
service-oriented architecture while
maintaining your current capabilities.
© 2008 The MITRE Corporation. All rights reserved
Our Approach
Describe the “traditional”
DoDAF approach to establish
a common understanding of
the problem space
Define an approach toward
guiding the infrastructure and
investment plans toward a
service-oriented solution
© 2008 The MITRE Corporation. All rights reserved
Characteristics of the Environment
Dynamically assembled:
often integrated from
existing components
Evolving requirements:
typically articulated as
vision statements or
broad architectures.
Often contradictory.
Emergent functionality/behavior:
from the interaction of the
components themselves w/o specific
direction
Crosses program boundaries:
competition for resources &
alternative solutions
© 2008 The MITRE Corporation. All rights reserved
The Approach

Make DODAF make sense to the “customer”
 How will it help them make decisions on where to invest money in the
“to be” capability

Start with what you know
 Use DODAF as a common architecture “vocabulary”
 Use a vetted scenario in the problem space

How should things be done

Focus on the information flows
 All action (Operational Activities) is either fed by, produces, or is
triggered by information
 All “Services” produce and/or consume information
 Capability is a combination of people using tools to perform tasks
© 2008 The MITRE Corporation. All rights reserved
Educating the Customer:
Data Exchanges:
(examples)
Architecture
Is provided by
Capability
Is provided by
Operational
Activities:
(examples)
• Mission Planning
• COP Mgmt
• Sensor Placement
• etc.
Information
Exchanges:
(examples)
• Orders
• Mission Reports
• Sensor Reports
• etc.
Op Node
• XML document
• USMTF msg
• TADIL-J
• VOIP
• etc.
Performs
Operational
Activities
Produce
Information
Consume Exchanges
Are automated by
Are fulfilled by
System
Functions:
(examples)
Are
Data
created
Exchanges
by
Are
performed
System
by
Functions
System(s)
• Data transmit
• Data query
• Correlation
• Fusion
• etc.
How do we know what systems to buy, when, to get
The
Problem?
How do we
analyze
the problem?
the capability we need?
6
© 2008 The MITRE Corporation. All rights reserved
Capability = People + Processes + Tools
How do you decide who should use what tools?
People
Performing
tasks
Op Node
That is—where do you invest in technology?
Performs
Operational
Activities
Produce
Information
Consume Exchanges
Are automated by
Are fulfilled by
Are
created
Data
by
Exchanges
Using tools
Are
performed
System
by
Functions
System(s)
© 2008 The MITRE Corporation. All rights reserved
Start with what you know:
Document the “As-is” Architecture
Capture how
the customer
operates
today…
Op Node
Performs
Are automated by
Operational
Activities
Produce
Information
Consume Exchanges
Are fulfilled by
Are
created
Data
by
Exchanges
Are
performed
System
by
Functions
What information
is required…
System(s)
What systems
they use…
© 2008 The MITRE Corporation. All rights reserved
Then Focus on the Information Flows
Op Node
Performs
Operational
Activities
Produce
Information
Consume Exchanges
Are automated by
Are fulfilled by
Are
created
Data
by
Exchanges
Are
performed
System
by
Functions
All actions in the architecture (Operational
Activities) are fed by, produced, or triggered
by information (IERs*).
System(s)
* IERs = Information Exchange Requirements
© 2008 The MITRE Corporation. All rights reserved
IERs and Services
Op Node
Performs
Operational
Activities
Produce
IERs*
Information
Consume Exchanges
A Service can, however, be
reflected in the system views as a
system performing a system
function to produce a data
exchange to satisfy the IER
A Service is really a technical
solution
for an IER, so it is
Are automated
by
not directly represented in
operational view.
Are fulfilledany
by
Are
created
Data
by
Exchanges
Are
performed
System
by
Functions
System(s)
Services
© 2008 The MITRE Corporation. All rights reserved
Service Defined
OASIS Definition:
Service = “The means by which the needs of a
consumer are brought together with the capabilities of
a provider.”
Source: OASIS, Reference Model for Service Oriented Architecture 1.0, 2 Aug 2006.
Working Definition:
Services
Service = Wrapping a “System Function” and it’s corresponding “Data
Exchange(s)” into a visible, accessible, and understandable interface to
fulfill an IER in an operational thread.
© 2008 The MITRE Corporation. All rights reserved
Automating an IER from the Bottom-Up
Information Exchange Requirement (IER)
Source
Node
+
Source
Activity
Information
Element
+
+
Sink
Activity
Sink
Node
+
Is accessible to
Is accessible to
Automates
(SV-5)
Automates
(SV-5)
Fulfills
System A
Performs
System Function:
Publish XML
document A
Data Exchange:
XML document A
(USMTF Format)
Creates
System Function:
Subscribe to XML
document A
System B
Performs
Reads/Updates
© 2008 The MITRE Corporation. All rights reserved
IER Analysis (Part I)
Information Exchange Requirement (IER)
Source
Node
+
Source
Activity
+
Information
Element
+
Sink
Activity
+
Sink
Node
Do we need to field a web
Is accessible to
service to provide the data
exchange ?Automates
What
information
exchanges
Is accessible
accessible
to
Is
to
(IEs) are not supported by a
Automates
Automates
system data exchange
(gap)?
(SV-5)
(SV-5)
(SV-5)
Fulfills
System A
Performs
System Function:
Publish XML
document A
Data Exchange:
XML document A
(USMTF Format)
System Function:
Subscribe to XML
document A
System B
Performs
Can we levy a requirement on an existing program of record (POR) to
Creates
Reads/Updates
provide this function/data exchange?
© 2008 The MITRE Corporation. All rights reserved
IER Analysis (Part II)
Information Exchange Requirement (IER)
Source
Node
+
Source
Activity
Information
Element
+
+
Sink
Activity
Sink
Node
+
Is accessible to
What POR can be “enticed”
to make it work?
accessible
to
WillIsall
the data
exchanges
actually work?
Automates
(SV-5)
Automates
(SV-5)
Fulfills
System A
Performs
System Function:
Publish XML
document A
Data Exchange:
XML document A
(USMTF Format)
Creates
System Function:
Subscribe to XML
document A
System B
Performs
Reads/Updates
© 2008 The MITRE Corporation. All rights reserved
IER Analysis (Part III)
Information Exchange Requirement (IER)
Source
Node
+
Source
Activity
Information
Element
+
Is accessible
accessible
Is
to be met by
What
IEs can
several data exchanges
Automates
(redundancy)? (SV-5)
+
Sink
Activity
Sink
Node
+
Can we consolidate
functions?
Automates
Is accessible to
(SV-5)
Fulfills
System A
Performs
System Function:
Publish XML
document A
Data Exchange:
XML document A
(USMTF Format)
Creates
System Function:
Subscribe to XML
document A
System B
Performs
Reads/Updates
Merge programs of record?
© 2008 The MITRE Corporation. All rights reserved
Analysis to support investment strategy

What information exchanges (IEs) are not supported by a system
data exchange (gap)?
 Can we levy a requirement on an existing program of record (POR) to
provide this function/data exchange?
 Do we need to field a web service to provide the data exchange ?

Will all the data exchanges actually work (i.e., can we answer yes to
all the questions on the previous slide)?
 What POR can be “enticed” to make it work?

What IEs can be met by several data exchanges (redundancy)?
 Can we consolidate functions?
 Merge programs of record?
© 2008 The MITRE Corporation. All rights reserved
The Top-Down Approach
(When you don’t have the fidelity in Data Exchanges or System Functions)
Information Exchange Requirement (IER)
Source
Node
+
Is accessible to
Source
Activity
Information
Element
+
+
Sink
Activity
Sink
Node
+
Is accessible to
When this is all you know…
Automates
(SV-5)
Automates
(SV-5)
Fulfills
System A
Performs
System Function:
Publish XML
document A
Data Exchange:
XML document A
(USMTF Format)
Creates
System Function:
Subscribe to XML
document A
System B
Performs
Reads/Updates
© 2008 The MITRE Corporation. All rights reserved
Publishing to Services
Information Exchange Requirement (IER)
Source
Node
+
Source
Activity
Information
Element
+
+
Sink
Activity
+
Sink
Node
Is accessible to
Is accessible to
The Source Node uses
Automates
“System A” to(SV-5)
Publish or
Fulfills
Produce some information…
Automates
Publish
(SV-5)
System A
Performs
System Function:
Publish XML
document A
Data Exchange:
XML document A
(USMTF Format)
Creates
System Function:
Subscribe to XML
document A
System B
Performs
Reads/Updates
© 2008 The MITRE Corporation. All rights reserved
Publishing to Services
Information Exchange Requirement (IER)
Source
Node
+
Source
Activity
Information
Element
+
+
Sink
Activity
Sink
Node
+
Is accessible to
The Sink Node uses “System
B” to Subscribe toAutomates
or
(SV-5)
Consume that information…
System A
Performs
System Function:
Publish XML
document A
Is accessible to
Automates
Subscribe
(SV-5)
Fulfills
Data Exchange:
XML document A
(USMTF Format)
Creates
System Function:
Subscribe to XML
document A
System B
Performs
Reads/Updates
© 2008 The MITRE Corporation. All rights reserved
Analysis to support investment strategy
(cont’d)

What information exchanges are consumed by multiple operational nodes?
 Good candidates for web services (prototyping and experimentation)

Are there common identifiers, formats, and protocols (IFaP) used by the
systems that produce and consume data in the model?
 Form a Community of Interest (a la DOD Net-Centric Data Strategy) to bite off
small pieces
 Borrow heavily from existing COI (BA, Strike, TST, BFT, etc.)
© 2008 The MITRE Corporation. All rights reserved
Completing the Transaction
Information Exchange Requirement (IER)
Source
Node
+
Source
Activity
+
Information
Element
Is accessible to
Publish
Information Element
+
Sink
Activity
Sink
Node
+
Subscribe to
Information Element
Automates
(SV-5)
Is accessible to
Automates
(SV-5)
Fulfills
System A
Performs
System Function:
Publish XML
document A
Data Exchange:
XML document A
(USMTF Format)
System Function:
Subscribe to XML
document A
System B
Performs
Today, a direct link is required between System A
Creates
Reads/Updates
and System B to make
this transaction work
© 2008 The MITRE Corporation. All rights reserved
…in a Service Oriented Architecture
Information Exchange Requirement (IER)
Source
Node
+
Source
Activity
Publish
Information
Element
Is accessible to
Is accessible to
$s
+
Information
Element
+
Sink
Activity
Sink
Node
+
Subscribe to
Information Element
Is accessible to
Service Oriented Architecture
Automates
Automates
(SV-5)
(SV-5)
Infrastructure
Fulfills
$s
System A
System Function:
Data Exchange:is needed
System
System B
An SOA Infrastructure
to Function:
Publish XML
XML document A
Subscribe to XML
SOA “Wrapper”
SOA “Wrapper”
make services
visible, accessible,
and
Performs
Performs
document A
(USMTF Format)
document A
understandable. The SOA “Wrappers”
enable legacy systems to publish and
Creates
subcribe in theReads/Updates
SOA
© 2008 The MITRE Corporation. All rights reserved
Completing the Transaction
Information Exchange Requirement (IER)
Source
Node
+
Source
Activity
+
Publish
Information
Element
Is accessible to
Sink
Activity
+
+
Sink
Node
Subscribe to
Information Element
Is accessible to
New Service Q
Information
Element
Is accessible to
Service Oriented Architecture
Automates
AutomatesNew Service R
(SV-5)
(SV-5)
Infrastructure
Fulfills
System A
System Function:
Exchange:
System
System B
…and newData
services
can be added
toFunction:
Publish XML
XML document A
Subscribe to XML
SOA “Wrapper”
SOA “Wrapper”
the environment
over time using
the
Performs
Performs
document A
(USMTF Format)
document A
same infrastructure.
Creates
Reads/Updates
© 2008 The MITRE Corporation. All rights reserved
What will it take?



How much does it cost to “wrap” an existing system to
provide/consume a service?
System A
System F
Can a new service be developed cheaper?
Publish XM
SOA
“Wrapper”
Performs
How much infrastructure is needed?
document






Is accessible to
What hardware?
What software?
Who owns it?
Who maintains it?
Service Oriented Architecture
Infrastructure
How do we invest in “infrastructure?”
At what point does it make sense to replace functionality of a
system with a separately maintained service?
© 2008 The MITRE Corporation. All rights reserved