Title: WEB SERVICES A SOLUTION FOR REAL TIME M
1WEB SERVICESA SOLUTION FOR REAL TIME MS DATA
STORAGE, RETRIEVAL AND VISUALIZATION
- Saikou Diallo, Kevin Dupigny,
- Andreas Tolk
- Virginia Modeling Analysis Simulation Center
- Old Dominion University
- Norfolk, Virginia, USA
- Sdiallo,Kdupi,atolk_at_odu.edu
2Outline
- Motivation
- What is the problem with the traditional approach
when coupling C2 and MS systems? - How do Service Oriented Architectures improve the
process? - What do I need to couple MS and C2 systems
- Web Service
- Common Reference Model
- Mediation engine
- Visualization
- Prototypical Implementation
3Motivation
- What are the limitations of the traditional
approach? - How do Service Oriented Architectures help me
4The Traditional approach
- Point-to-point Solutions
- Identify the two systems that we want to couple
- Bring in experts on both sides
- Resolve Data exchange issues (ontology,
resolution levels, aggregation/deaggregation) - Agree on a Communication Protocol (HLA )
- Create a well defined interface between the two
systems - General Challenge What if I want to bring in a
third system - How do I ensure that It talks to the first two
without starting from scratch? - What about a fourth, fifth or Nth systems
5Service Oriented Architectures
- Software applications offered as services
- Service provider/server describes and publishes
available services and communication protocol
(how to ask politely!!!) - Client discovers and requests a service
- Provider responds to client if asked properly
- Advantages
- Status of the client does not affect status of
the server - Completely flexible and dynamic architecture
- Results in WELL-DEFINED INTERFACES
6Focus of Existing Data Administration Policy is
Pre-defined Point-to-Point Interfaces
Data exchanged across engineered, well-defined
interfaces
System A
System B
7What do I need to couple MS and C2 systems
- Web Service
- Common Reference Model
- Mediation engine
8Web Services
- Web-services are discrete web-based applications
that interact dynamically with other web-services - Data Structures are defined using XML
- Services are described using WSDL
- The information is published in UDDI
- For data exchange SOAP is used
Web services are transaction-oriented
(client-server) Current standards do not address
publish-subscribe
9Common Reference Model
- Why do I need one?
- Reduces the size and complexity of interface
development from O(N2) to O(N) - Brings more systems into play with less effort
(more flexibility) - Data managers need to know of only two systems
- What if the one I have is not complete ?
- Create extensions according to engineering
principles - Pick another one that covers the entire scope of
the simulation domain
10Mediation Engine
- Script or program capable of transforming the
systems native language into that of the
reference model and vice versa - It is a reflection of an expert mapping process
- The mapping process has to be done according to
Data Engineering Process - Data managers need to know of only two systems
- (see also 05F-SIW-120)
11Components of Data Engineering
- Data Administration
- Managing the information exchange needs incl.
source, format, context of validity, fidelity,
and credibility - Data Management
- Planning, organizing and managing of data, define
and standardize the meaning of data as of their
relations
- Data Alignment
- Ensuring that data to be exchanged exist in all
participating systems - Data Transformation
- Technical process of mapping information elements
to each other (often implemented in gateways and
interfaces)
12Visualization
13Service Orchestration
- Needs to be done in order to provide access
flexibility - Atomic Services
- Access to individual elements
- Allows meaningful composition of data elements
- Divide the reference model into well-defined
concepts (who ,what, where, when, why) - Composed Services
- Access to a set of correlated elements
- Yield more than just data (information)
The combination of atomic and composed services
results in a fully flexible visualization engine
14Prototypical Implementation
15Tools and Requirements
- Requirements
- Use only open source software and standards
- Provide a stable prototype demonstrating the
ideas and concepts discussed earlier - Visualization engine has to be configurable on
the fly using XML files
- TOOLS
- Connectivity
- J2EE SDK 1.4.2
- Web services
- Tomcat Server V 5.0
- Database connectivity
- MySQL V4.0.2.1
- JDBC driver
- Visualization engine
- Netbeans
- Openmap
16Architecture Overview
17Architecture Overview
18Architecture Overview
19Architecture Overview
20Architecture Overview
21Architecture Overview
22Architecture Overview
23Sample WSDL
lt?xml version"1.0" encoding"UTF-8" ?gt
ltwsdldefinitionsgt xmlnssoapenc"http//schemas
.xmlsoap.org/soap/encoding/" xmlnstns1"http//ww
w.w3.org/1999/XMLSchema" xmlnswsdl"http//schema
s.xmlsoap.org/wsdl/" xmlnswsdlsoap"http//schema
s.xmlsoap.org/wsdl/soap/" xmlnsxsd"http//www.w3
.org/2001/XMLSchema"gt ltwsdltypesgt
ltwsdlmessage name"getMilOrgTypeRequest"gt
ltwsdlmessage name"getAircraftRequest"gt
ltwsdlmessage name"getActEffectItemRequest"gt
ltwsdlmessage name"getActionsRequest"gt
ltwsdlmessage name"getUnitsRequest"gt
ltwsdlmessage name"getVehiclesRequest"gt
ltwsdlmessage name"getOrgMaterialsRequest"gt
ltwsdlmessage name"getTaskFormationRequest"gt
ltwsdlmessage name"getMilPostRequest"gt
ltwsdlmessage name"getLandWeaponryRequest"gt
ltwsdlmessage name"getActEffectTypeRequest"gt
ltwsdlmessage name"getLocationRequest"gt
ltwsdlmessage name"getEquipmentRequest"gt
ltwsdlmessage name"getOrganizationsRequest" /gt
ltwsdlportType name"WSmethods"gt
ltwsdlbinding name"WSmethodsSoapBinding"
type"implWSmethods"gt ltwsdlservice
name"WSmethodsService"gt lt/wsdldefinitionsgt
lt?xml version"1.0" encoding"UTF-8" ?gt
ltwsdldefinitions xmlnsapachesoap"http//xml.a
pache.org/xml-soap" xmlnssoapenc"http//schemas.
xmlsoap.org/soap/encoding/" xmlnstns1"http//www
.w3.org/1999/XMLSchema" xmlnstns2"http//www.w3
.org/2003/05/soap-encoding" xmlnswsdl"http//sch
emas.xmlsoap.org/wsdl/" xmlnswsdlsoap"http//sch
emas.xmlsoap.org/wsdl/soap/" xmlnsxsd"http//www
.w3.org/2001/XMLSchema"gt ltwsdlmessage
name"WhyRequest"gt ltwsdlmessage
name"WhoRequest"gt ltwsdlmessage
name"PullRequest"gt ltwsdlmessage
name"WhoResponse"gt ltwsdlmessage
name"What_WhenResponse"gt ltwsdlmessage
name"WhereResponse"gt ltwsdlmessage
name"mainRequest"gt ltwsdlmessage
name"WhereRequest"gt ltwsdlmessage
name"push_objectResponse"gt ltwsdlmessage
name"What_WhenRequest"gt ltwsdlmessage
name"push_objectRequest"gt ltwsdlmessage
name"c2iedmconnectResponse"gt ltwsdlmessage
name"act_associationRequest"gt ltwsdlmessage
name"act_associationResponse"gt ltwsdlmessage
name"c2iedmconnectRequest"gt ltwsdlmessage
name"WhyResponse"gt ltwsdlportType
name"Connect2DB_C2IEDM"gt ltwsdlbinding
name"Connect2DB_C2IEDMSoapBinding"
type"implConnect2DB_C2IEDM"gt ltwsdlservice
name"Connect2DB_C2IEDM"gt lt/wsdldefinitionsgt
24Structure of the C2IEDMBuilt to be Extended
- As a hub, the C2IEDM was designed to be extended
- There are over 190 different entities
- 15 of those entities are independent, the rest
are dependent - The two most important trees are those of Object
and Action
25Customizable Interface Visualization tool
26Summary
- A combination of web services, a reference model
and a mediation engine results in a fully
flexible real time MS to C2 coupling
architecture - Expert level work is still greatly needed
- Common Reference Model is necessary
- Common Namespace
- Recommend C2IEDM as the initial core
DEMONSTRATION OF THE PROTOTYPEIN THE VMASC BOOTH
27THANK YOU