architecting composite component systems for...
TRANSCRIPT
1
Architecting Composite Component Systems
for Heterogeneous Environments with Open
Standards
Derek Dominish
Aerospace Division Future Information Architectures
MilCIS - Canberra 14th November 2013
© Commonwealth of Australia
The NCW Integration Complexity Problem
Solution Space • Enormous accidental & inherent complexities
• Continuous evolution & change
• Highly heterogeneous environments
Problem Space • Network-centric, dynamic, very large-scale
“systems of systems”
• Stringent simultaneous quality of service (QoS)
demands
• Highly diverse & complex problem domains
Mapping & integrating problem artifacts
to solution artifacts is extremely difficult
CHAOTIC
Adapted from: “Overview of the OMG Data Distribution Service”, Schmidt/Parsons (DDS.ppt; pp 7)
2
Open Architecture through Open Standards
Common Platform Functions
Ser
vice
Ori
enta
ted
- O
pen
Arc
hit
ectu
re
Common Computing
Environment
Common Computing
Environment
Common Computing
Environment
Surface System
Aircraft System
Land System
SCS System Unique & Common
Applications & Interfaces
Aircraft System Unique & Common
Applications & Interfaces
Soldier System Unique & Common
Applications & Interfaces
Surface Combatant
Unique Functions
Aircraft Unique Functions
Land Unique Functions
Sub-Surface System
Submarine System Unique & Common
Applications & Interfaces
Common Functions
Common Functions
Common Functions
Common Functions
Standards Based Computing
Environment
Standards Based Computing
Environment
Standards Based Computing
Environment
Standards Based Computing
Environment
Sub-Surface Unique Functions
‘POSIX’, CORBA, DDS, etc.
‘POSIX’, CORBA, DDS, etc.
‘POSIX’, CORBA, DDS, etc.
‘POSIX’, CORBA, DDS, etc.
TM, NAV, ID, etc.
TM, NAV, ID, etc.
TM, NAV, ID, etc.
TM, NAV, ID, etc.
Platform Unique
Functions
Common Computing
Environment
Common Middleware Bus Architecture
Interoperable
System-of-Systems
Adapted from: “Open Architecture” , Strei; 2/2/2004 (NOAbrf.ppt; slide 4)
Net Centric Mission Environment
Levels Of Information Systems Interoperability (LISI) Reference Model
Adapted from: “Overview of the OMG Data Distribution Service”, Schmidt/Parsons (DDS.ppt; slide 8)
3
Layered Reference Architecture Tactical SOA (OA)
The Strategic Architecture Reference Model (SARM)
The Strategic Architecture Reference Model (SARM)
The SARM is;
• an open communications and information
architecture framework supported by NCOIC,
• based upon commercial and government
interfacing standards (IDL),
• organized to address system-wide network
design issues,
• an enabling technology framework to allow
platforms and tactical systems to interface to
the Global Information Grid,
• allows for interoperable nodes on the network.
Adapted from:
Technical Reference Model for Network-Centric Operations
Bradley C. Logan. The Boeing Company
(Crosstalk Aug 2003; Vol16, No8)
Tactical SOA Reference Architecture Business Services
Business Services are;
• a unit of autonomous behaviour that meets a
particular business need,
• constructed / assembled from one or more
components that support a business ontology,
• conform to an infrastructure plug and play
deployment policy,
• orchestrated through an application,
• collaborate with other peer services within a
network,
• location and machine architecture independent,
• built upon standardised infrastructure services
and mechanisms,
• often needed to adapt to legacy environments,
• expressed through formal and interoperable
service interface definitions (IDL [PIM]) to the
network.
• not necessarily reliant on any particular
networking protocol or communications
infrastructure.
4
Net-Centric Reference Architecture (SOA)
Platform Environment – Posix Compliant Operating System / Services (Solaris/Windows)
Communications Environment – Transports / Protocols (TCP/UDP/IIOP)
Information Infrastructure Core - Middleware Environment (CORBA/DDS/RMI)
Domain Environment
Information
Assurance Filter
Search / Query
Interface Control
Schema
Security
Boundary
Database
Tables
COP
Generator
COP Adaptor
Domain Environment (CCM/EJB/Web-Services)
Application
Application
Configuration
Correlation
Fusion
Interface Control
Ontology / Schema
Database Tables
COP
Generator
COP Adaptor
Adaptor
API
Device/System
System-of-Systems Integration Infrastructure Architecture A Standardised Middleware Approach
Information Assurance
Communication: QoS, encryption, bandwidth
Security: boundaries, classification, communication routes
Authentication: information ownership, need to know
Service Infrastructure – Middleware Fabric (L0)
System Integration Through Service Composition
5
System-of-Systems Integration Infrastructure Architecture A Standardised Middleware Approach
Interoperating across vendors and systems
Ontological Conformity
Integrate “services” through layering
Standardisation
Interfaces
Protocols
Hooking into appropriate layer
Easier, cheaper to change and upgrade
Open business practices
Indeterminate liability
Certification
L2
L1
L3 L2.5
B2
B4 B5
B3
B1
L2
L3
B3
L1 L1
L0
Architecture layers
(partial applications)
Application Server
‘Application Store’
Gesta
lt
Application Server (process)
Serv
ice C
onfig
ura
tor
Gesta
lt
Application Components
(services)
Infra
structu
re
Se
rvices Contro
l - Sta
tus
Ap
plic
atio
n S
erv
er In
terfa
ce
Business Services
implements
Service
Configuration
loads
contro
ls
Managed Infrastructure Services • Thread Management
• Transaction Management
• Communications control
• DDS Domain / Participant / Topic / Type
• Instrumentation
• Visualisation
Application Servers;
• manage component service complexity,
• dynamically and statically load and configure
service components,
• provide infrastructure capabilities and services
to hosted components;
• logging,
• aids to debugging,
• instrumentation,
• capabilities dynamically configurable and
extensible.
• manage coupled middleware environment;
• security and access policy enforcement,
• Communications, protocols and bearers,
• … many other environmental aspects.
• manage lifecycle of hosted components
(initialisation, shutdown, suspend, resume),
• facilitate the navigability to individual
component interface implementations,
• manage the optimisation of peer component
interactions through collocation,
• location and machine architecture independent,
• built upon standardised infrastructure services
mechanisms and patterns,
• supports a network accessible service control
and status interface.
6
Technical Architecture ‘putting it all together’
Application Server
Service Configurator
Domain/Middleware
Communications/Platform
Service Configurator Component Configurator
Service Gestalt
realises
Net Warrior D10 Process Domain
TADIL Network (L16)
MSRC (ASCEL - AOD)
FOCAL (C3ID) ISRAIL (ISRD)
External
Feeds
Network
Management
System
Tactical Data Links (Link-16)
OMG – Data Distribution Service (DDS)
OMG – Common Object Request Broker Architecture (CORBA)
IBM – Web-Services (SOAP)
Extensible Mark-Up Language (XML)
Proprietary Technology / Interface
Legend of Technology
ROC
ISR
Integration
(ADIIB)
Legend of Adapter Transform
DDS – XML
DDS – Web-Services
Proprietary – Web-Services
DDS – CORBA
Network / Physical IP/TCP/UDP/IIOP/HTTP Solaris/Linux/Windows
Middleware OMG –
DDS/CORBA
IDL/WSDL/SOAP
Fu
ll Mo
tion
Vid
eo
Correlation
and
Tracking
Command Centre
Operational
Information
Portal Visualisation
GIS
MSRC (AEW&C - AOD) Wedgetail
Scenario (IWARS)
WIRE Wedgetail
(SOA)
Recorded
Feed
Data-Link
Gateway
7
Net Warrior (D10 Event) Bus Architecture A Standardised Middleware Approach – Demonstration Event
DDS
CORBA
Surveillance
Gateway
Visualisation
Enterprise
TDL
Mission Systems Bridge
SOAP
Network
Management
XML
SOAP
XML
TDL
CORBA
Tracking
Stimulation
(truth)
TDL
SOAP SOAP
Real Time Publish/Subscribe & Synchronous Control Bus – (CORBA/DDS)
Enterprise Information Service Bus – (Web-Services)
Tactical Data Link Network – (Link16/Link11/VMF)
Demonstration Artefacts -This really works!
The Build Process.
perl %ACE_ROOT%/bin/mwc.pl -type vc10 -name_modifier *_vc10 -apply_project TAF_DAF.mwc
project(CORBAService) : taflib, taolib_with_idl
{
sharedname = *
idlflags += -Wb,export_macro=CORBAService_Export \
-Wb,export_include=CORBAService_export.h
libout = $(DAF_ROOT)/lib
libpaths += $(DAF_ROOT)/lib
macros += CORBASERVICE_BUILD_DLL
prebuild = perl $(ACE_ROOT)/bin/generate_export_file.pl CORBAService > CORBAService_export.h
IDL_Files {
CORBAService.idl
}
Header_Files {
CORBAService.h
CORBAService_export.h
}
Inline_Files {
}
Source_Files {
CORBAService.cpp
}
}
The Development Process.
• Create a service project MakeProjectCreator descriptor for MPC toolset
• Use MakeProjectCreator (MPC) to build solution files for platform
toolsets (Windows/Linux …).
• Load project into toolset environment (i.e. Windows - VC10)
• Build binaries with toolset applicable to platform environment.
• Define an interface (IDL)
• Implement interface providing service
descriptors for application server deployment
control (CORBAService.cpp).
• Deploy with configuration (DSTO.conf)