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