adding aggregate services to the mix: an soa implementation use case ben sisson paul gustavson karl...
Post on 18-Dec-2015
212 views
TRANSCRIPT
Adding Aggregate Services to the Mix: An SOA Implementation Use Case
Ben SissonPaul Gustavson
Karl CrossonSimVentions, Incorporated
11905 Bowman Drive, Suite 502Fredericksburg, VA 22408
[email protected]@simventions.com
Topics Covered
• Problem• SOA Approach• Use Case:
– BAF Design– Supported Aggregations– BASS Implementation– BOM Use
• Demonstration• Summary
Problem
•Tightly Coupled Environment•Custom Interfaces•Platform Dependent•System Specific Capability
•Selective Systems •Custom Bridges•Limited Capability
The “Mix”The “Mix”
Simulation Subsystem / ClientsSimulation Subsystem / Clients
Obfuscated Interoperability
SOA Approach
• Self-autonomous consumers and providers– Interact with each other– Platform independent
• Allows loose coupling– Interfaces comprehensible to consumers/providers– Interfaces serve as framework for messages
exchanged– Minimize unnecessary dependencies among
systems and software
• Web services – Key building block for SOA implementations – encapsulates application logic and functionality
Service provider
Service consumer
service request
service response
• eXtensible Markup Language technology used to describe, bind, and enable communication
– Web Services Description Language (WSDL)– Simple Object Access Protocol (SOAP)– Universal Description, Discover, and Integration
(UDDI) can enable the discovery of desired services
SimulationClients
SimulationClients
BOMs
SimulationClients
Interface elements
discovery
serv
ices
messaging
BAFWeb
Services
• Common interface(s)
• Loose coupling• Minimize
unnecessary dependencies
SOA Approach
The “Mix”The “Mix”
Simulation Subsystem / ClientsSimulation Subsystem / Clients
Capability as Service
IdentifiedMethods
SOA Design SOA Design
CapabilityDescriptions
CapabilityDescriptions
Well Understood InterfacesWell Understood Interfaces •XML•WSDL•SOAP•UDDi
Service Oriented Architecture (SOA)
FOCUS Information Managem
ent
Web Web ServiceService
MethodsMethods•Application Logic and Functionality•Platform Independent
Video Clip
Left uncontrolled, Obfuscated Interoperabilitycan lead to Extreme Irritability…
Minimizing the Obfuscation in the “Mix” - The Need for Aggregation Support
• Aggregation Obstacles– Models typically not built for
aggregation– Simulation systems often have to be
customized– Data loss during the aggregation
process– limited resources to perform
aggregation
• Aggregation Needs– Reduced customization
of simulation systems– Minimal burden to
manage aggregation by simulation systems
– Maintain validity
Aggregation - the coupling of multiple models/entities into a single inclusive group
SOA Use Case Design => BAFService Oriented
Architecture (SOA) FOCUS
• Common interface(s)
• Loose coupling• Minimize
unnecessary dependencies
• Aggregation Services – Model Composition aggregation /
deaggregation– Entity Instance aggregation /
deaggregation• Library Support Services
– Library Methods (load, search, fetch, add)
– Support for BOMs, FOMs, BTMs, BCIs
• Monitoring/Intercessory Services
– Data Logging Support– Load Balancing Support– Transfer Control Support– Model Transformation Support– Statistics/Scoreboard Support
• Support Services – BOM to FOM transformations– FOM to BOM transformations– FOM to FOM transformations
BAF goals:• Cost-effective mechanism for aggregation
/deaggregation before or during large-scale simulation exercises
• Reduce high resolution models to more efficient lower resolution models that can be aggregated
• Allow models representing various levels of resolution and depth of aggregation to be able to interact with one another
.
BAF Supported Aggregations
Model Aggregation Entity Instance Aggregation
Aggregation Types
1st Level 2ndt Level
Aggregation Levels
BAF Aggregate Triggers/Criteria
• Proximity to a specific obstacle, entity or feature • A change in the level of interest • An increase (or decrease) in the physical entity load
Possible aggregation due to proximity to geographical location or point
Possible aggregation due to proximity to client entities or domain of interest
SOA Implementation
The “Mix”The “Mix”
Simulation Subsystem / ClientsSimulation Subsystem / Clients
Methods
SOA Design: BAF SOA Design: BAF
•XML•WSDL•SOAP•UDDi
CapabilityDescriptions
CapabilityDescriptions
Well Understood InterfacesWell Understood Interfaces•Loosely Coupled Environment•Well Understood Interfaces•Platform Agnostic•Capability as Service
Information Managem
ent
BAF Logic Implemented
BASSBASSWeb ServicesWeb Services
Aggregation Services Library Support ServicesMonitoring/Intercessory Services Support Services
BAF Implementation => BASS
• Technologies Applied– Java (Eclipse)– Web Services– Independent WSDLs
for each service group– Not dependent on
dedicated server– Uses and generates BOMs– Apache
Apache Tomcat
entities
<<tank BOM>>M1 - 1403
<<tank BOM>>M1 - 1404
<<helo BOM>>Apache - 132
How BASS Uses BOMs for Aggregation
RPRBOMs
RP
R F
OM
OneSAF Objective System
• Data exchange interface elements
• Model Aggregations
Subsystemmodels
BO
Ms
gun
radar
vehicle
soldier
Humveeplatform
Compositepattern
BO
M
<<container bom>>agg -123
Flyweightpattern
• Entity Aggregations
BASS Demonstration
Federate(s)
(SV-AGG)
BASS
Federate: Requests to join BASS network
Federate: Registers BOM with BASS
BASSDatabase
ManagementSystem
Federate ID
Model ID
BOM
Entity Driver
Entity Data
Entity Aggregation
Simulation – BASS Monitors & Registers Federates
Federate(s)
(SV-AGG)
BASS
Federate: Requests aggregation solution of entities
InstanceData
Monitored
Entity Driver
Entity Data
Analyze Data
Entity Data
BASSDatabase
ManagementSystem
Solution ID
Monitoring
Simulation – BASS Monitors & Registers Federates
Federate(s)
(SV-AGG)
BASS
BASSDatabase
ManagementSystem
Federate: request aggregate solution
Entity Driver
Entity Data
Agg Solution
Federate implements aggregate solution reducing resource load and improving performance
Entity DataSolution ID
Monitoring
InstanceData
Monitored
SummaryBenefits
aggregation support w/o affecting simulation exercise resolution
Accessible by simulation clients regardless of architecture
Support aggregation without affecting the detailed level of the data presented during the simulation exercise
Implement aggregation to reduce processing entity loads
Facilitate better management of piece parts used to build the aggregation solution and govern the exchange of information within the simulation exercise
Provide aggregation support both pre-simulation and during simulation
Provide flexibility to aggregate entities of varying model types
Questions?
Ben SissonSimVentions, Inc.
www.simventions.com/sbir_agg
Addendum Slides
BAF MethodsBASS Specification Method Summary by Section
Model Aggregation Methods
Transformation Support
Data Logging Support Exercise Support
Model_RequestAggSolution BOMToFOM SetDataLoggerSettings JoinAggNetwork
Model_RequestDeaggSolution FOMToBOM GetDataLoggerSettings LeaveAggNetwork
Model_ExtractFromAgg FOMToFOM SetDataLoggingMode SelectModelID
Model_AppendToAgg BOMToBOM GetDataLoggingMode UnselectModelID
Model_QueryAgg FetchDataLog GetModelIDs
Model_FetchAggSolution GetClientIDs
Model_FetchDeaggSolution FetchSessionHistory
SetLoadSupportSettings
Entity Aggregation Methods
Library Support Service
Statistics / Scoreboard
GetLoadSupportSettings
Entity_RequestAggSolution GetItemsByType SetScoreboard SubscribeLoadSupport
Entity_RequestDeaggSolution SearchItemsByMetadata GetScoreboard UnsubscribeLoadSupport
Entity_ExtractFromAgg FetchItemByID CheckLoadSupportStatus
Enity_AppendToAgg FetchItemIDByName RequestTransferControl
Entity_QueryAgg AddItemToLibrary Error Handling CheckTransferControlStatus
Entity_FetchAggSolution DeleteItemFromLibrary GetErrorString AcknowledgeRequestForTransferControl
Entity_FetchDeaggSolution UpdateItemMetadata GetErrorCD CompleteTransferControl
Introduction• The “Mix” …
– Set of Independent systems, Simulations, Presentation tools
– Support a service joint or coalition focus need• Analysis• Testing• Training
• Obfuscated Interoperability– Entity Level Simulation
– Aggregate Level Simulations
– Data Exchange
– Not Understood
• The Remedy– Tight Coupling with Simulations of Common Breed
– Custom Bridges for Simulations of Different Pedigrees
• Better Way …– SOA Approach
SOA Approach
• Self-autonomous consumers and providers– Interact with each other– Platform independent
• Allows loose coupling– Interfaces comprehensible to consumers/providers– Interfaces serve as framework for messages
exchanged– Minimize unnecessary dependencies among
systems and software
• Web services – Key building block for SOA implementations – encapsulates application logic and functionality
Service provider
Service consumer
service request
service response
• eXtensible Markup Language technology used to describe, bind, and enable communication
– Web Services Description Language (WSDL)– Simple Object Access Protocol (SOAP)– Universal Description, Discover, and Integration
(UDDI) can enable the discovery of desired services
SimulationClients
SimulationClients
BOMs
SimulationClients
Interface elements
discovery
serv
ices
messaging
BAFWeb
Services
BASS Implementation
• An implementation of BAF called the BOM Aggregation Support Server (BASS) has been developed for supporting aggregation within different level simulations
• Operates as an independent, passive participant within the simulation environment
• Interface capable of processing entity level information from various clients of different platforms and architecture
• BASS provides web services to these clients which can be called in order to return aggregation solutions, deaggregation solutions, load balancing via monitoring, library management, and transformation support before or during simulation exercises
• The clients can implement the solutions offered by BASS to help facilitate better performance during a simulation exercise.
BAF Design
• A common framework to support aggregation and deaggregation within simulation environments is called the BOM Aggregation Framework (BAF).
• BAF is an SOA implementation which allows for loose coupling of agg-level and entity-level simulations
• Platform and language-independent mechanism for supporting aggregation and deaggregation for a myriad of clients
• Enhances interoperability and performance of systems and simulations within simulation environments
• Preserves simulation validity and throughput of simulation data exchanged between simulations of different echelon levels
• BAF provides support for clients and servers with the use of system component solutions called Base Object Models (BOMs).
• BAF defines a set of Web Services for enabling: aggregation / deaggregation transfer of entities load balancing model transformations logging of data library management of models and components
• BAF server provides web services that can be leveraged by participating clients, while non-participating clients continue to function independently within the simulation environment
• BAF web services can be available both at design time among model developers and at run-time with the constructive simulations that are at play over a network.
SOA Approach
• A provider – provides functional remote
services (modeling, data access, computational processing)
– can be offered by a web service or other means
• A consumer – can be a client application that
might request a provider for• computational analysis or • access of specific data and/or • the autonomously receipt of
subscribed information when it becomes available
• The mechanics of SOA attributed to the application of service consumers and service providers
– self-autonomous consumers and providers interact among one another
– Act as providers and consumers in a very loosely coupled environment
• Service consumer (client) sends a request message to a service provider (server)
– In HLA, a federate could be considered a service consumer
• Server subsequently sends response message back to client
• Interfaces serve as the framework for the exchanged messages
• The interfaces are defined in a way that is comprehensible to both the consumer and provider
• An SOA implementation encapsulates application logic and functionality by often using web services
Introduction• System strain based upon large-scale
simulations exercises– High entity loads – High degree of resolution needed– Undue strain on Federation
• Network• CPU• RTI Performance*
• A service oriented approach to provide aggregation services will aid in this process by– Developing a set of web services that a client can interface with to obtain aggregate
support during simulation exercises– Maintain an exercises high degree of resolution– Reduce the strain on Network, CPU, and RTI Performance*– Manage each clients level of interest separately
• The aggregation of models / entities can reduce these areas of strain
– Through the recognition that there are varying levels of interest
– Using the Composite and Flyweight design patterns aggregation can be used as a means to reduce the strain on system resources
BOM Elements• a component-based standard describing reusable piece
parts of a simulation or simulation space.
• BOMs can be used to document one or more of the following piece part elements:
– Conceptual Model• Patterns of interplay• State machines• Entities• Events
– Interface Description• Object classes / attributes• Interaction classes / parameters
– Mapping between Conceptual Model and Interface Description
• Used as a building block in the development and extension of a simulation and/or a federation of simulations.
• Provides developers and users a modular approach – for defining and adding new capabilities to a federate or federation, – for quickly composing object models such as HLA FOMs and SOMs through BOM
Assemblies.
Model Identification (Metadata)
Notes
Lexicon (definitions)
Object Model Definition
HLA Object Classes
HLA Object Class Attributes
HLA Object Classes
HLA Interaction Classes
HLA Interaction Class Parameters
HLA Interaction Classes
HLA Data Types
Conceptual Model Definition
Pattern of Interplay
State Machine
Entity Type
Event Type
Model Mapping
Entity Type Mapping
Event Type Mapping
Requires the Application of a Common Interface
• The key for SOA interoperability is the application of a common interface
How can common interfaces be established?
• The common interface must be leveraged by all participating software agents (i.e. federates)
• The interfaces must be accessible and understood by all providers and consumers
• Interfaces serve as the framework for the messages that are to be exchanged
• Minimal system behavior is provided by these interfaces (or messages)
• An XML schema should be applied to define the vocabulary and structure
• Additional services should be able to be added without impairing the common interface.
Service Oriented Architecture (SOA) FOCUS
SOAP
• Essentially a protocol for allowing one class to remotely call the methods found in another class.
• SOAP "marshals" the data passed as parameters or return values during a method call.
• Marshaling the data involves defining a transmission protocol that allows you to pass parameters and return values in a platform and language neutral manner.
• This is where XML comes into play.