adding aggregate services to the mix: an soa implementation use case ben sisson paul gustavson karl...

30
Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive, Suite 502 Fredericksburg, VA 22408 540-372-7727 [email protected] [email protected] [email protected]

Post on 18-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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]

[email protected]@simventions.com

Page 2: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

Topics Covered

• Problem• SOA Approach• Use Case:

– BAF Design– Supported Aggregations– BASS Implementation– BOM Use

• Demonstration• Summary

Page 3: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 4: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 5: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

• 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

Page 6: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

Video Clip

Left uncontrolled, Obfuscated Interoperabilitycan lead to Extreme Irritability…

Page 7: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,
Page 8: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 9: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

.

Page 10: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

BAF Supported Aggregations

Model Aggregation Entity Instance Aggregation

Aggregation Types

1st Level 2ndt Level

Aggregation Levels

Page 11: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 12: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 13: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 14: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 15: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 16: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 17: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 18: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 19: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

Questions?

Ben SissonSimVentions, Inc.

[email protected]

www.simventions.com/sbir_agg

Page 20: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

Addendum Slides

Page 21: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 22: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 23: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 24: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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.

Page 25: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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.

Page 26: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 27: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 28: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 29: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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

Page 30: Adding Aggregate Services to the Mix: An SOA Implementation Use Case Ben Sisson Paul Gustavson Karl Crosson SimVentions, Incorporated 11905 Bowman Drive,

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.