Composable Chat A Rich Services Introduction Barry Demchak and Ingolf Krüger California Institute for Telecommunications and Information Technology (Calit2) for Space and Naval Warfare Systems (SPAWAR) July 19, 2007
Composable ChatA Rich Services Introduction
Barry Demchak and Ingolf KrügerCalifornia Institute for Telecommunications and Information Technology (Calit2)
for Space and Naval Warfare Systems (SPAWAR)July 19, 2007
Composable Chat
• Complex Systems• DoD Chat Problem• Rich Services for Enterprise Chat
– Systems of Systems– Service Oriented Architectures
• Benefits of Rich Services (w/XMPP integration, too)
• Rich Services Development• Case Studies• Questions
Common Problem: Complex Systems
Credit Card System Loan System
Credit System
Law Enforcement
System
Employment Database
Tax Tracking System
Common Issues: Complex Systems
• Integration of existing solutions• Flexibility in configuration and management• Legacy and emergent capabilities• Trust between domains• Security• Governance• Provisioning and policies• Scalability
Common Issues: Complex Systems
• Disconnected operation• Degraded service• Low bandwidth• Point failures
The DoD’s Chat Problem
• Many different chat-class systems have been deployed
• Need – small set of standards and policies for federated Core
Enterprise Services (CES) to address gaps and overlaps– accommodate both federal and coalition networks– accommodate local autonomy and global
interoperability
The DoD’s Chat Problem (cont’d)• Enterprise Directory Services (white pages)• Enterprise presence awareness, IM, and chat• Enterprise authentication/authorization policies• Disconnected operation• Migration paths for current providers and
consumers• Services must be manageable and monitorable• Integration of domain knowledge
Our (Partial) Solution
System-of-Systems (SoS)+ Service Oriented Architecture (SOA)= Rich Services
System-of-Systems Perspective
• Military Applications– Command, Control, Computers, Communications,
Information (C4I)– Intelligence, Surveillance, and Reconnaissance (ISR)
• Information intensive systems integration– Development, integration, interoperability, optimization
of systems for battlefield scenarios• National transportation system• Integrated military and space exploration
Systems of Systems
Credit Card System Loan System
Credit System
Law Enforcement
System
Employment Database
Tax Tracking System
System-of-Systems Characterization
• Maier’s Criteria for Systems-of-Systems– Operational Independence of Elements– Managerial Independence of Elements– Evolutionary Development– Emergent Behavior– Geographical Distribution
• Others contributed by Purdue SoS– Interdisciplinary– Heterogeneity of Systems– System of Networks
Our (Partial) Solution
System-of-Systems (SoS)+ Service Oriented Architecture (SOA)
= Rich Services
Service Oriented Architectures
• Partitions system functions into logical, homogeneous modules
• Emerging as a convenient solution to create low cost, loosely coupled, interoperable systems
• Hides implementation details of the components that provide functionalities
• Particularly suited to integration of COTS
-- Ermagan, et al
NOT NECESSARILY WEB SERVICES
Chat System Entities (existing)
• Client• Server• Network• Gateway
• Message system• Chat room• Presence system• Subscription database• Contact list database• Personal information database• Privacy list database
• Message• Message confirmation• Subscription request• Subscription confirmation• Presence update message• Presence broadcast
message
• Contact list request• Contact list message• Personal info request• Personal info message• Privacy list request• Privacy list message
Supports
Message System
Chat Room
System
Presence System
Subscription Database
Contact List Database
Personal Information Database
Privacy List Database
Client Server
Network
Gateway
Chat System Model
Comm LinkLogical LinkEntity
Legend
Chat Deployment
Server
Backbone Network
Client Client Client
Server
Client Client
Gateway
} Local Networks
Key ObservationInterserver traffic consists of• Presence subscriptions• Presence updates• Messaging• Client information• etc
Server
Backbone Network
Client Client Client
Server
Client Client
Gateway
} Local Networks
Chat System as SOA
Client Presence System
Client
SetPresence
AckPresencePublishPresence
ClientClient
Client
Chat Room
System
Presence System
Subscription Database
Contact List Database
Personal Information Database
Privacy List Database
Message Bus
Hypothetical and simplified
Client
Chat Room
System
Presence System
Subscription Database
Contact List Database
Personal Information Database
Privacy List Database
Logging System
Policy System
Server Policy System
Logging System
Client
Chat Room
System
Presence System
Subscription Database
Contact List Database
Personal Information Database
Privacy List Database
Client
Chat Room
System
Presence System
Subscription Database
Contact List Database
Personal Information Database
Privacy List Database
Logging System
Policy System
Policy System
Logging System
Gateway
Chat System
Server
Server
Much closer to reality
Client
Chat Room
System
Presence System
Subscription Database
Contact List Database
Personal Information Database
Privacy List Database
Logging System
Policy System
Messages can bepre-processed!
Chat System as Rich Service
Rich Services in General
Messenger
Router/Interceptor
Policy
Ser
vice
/Dat
aC
onne
ctor
Messenger
Router/Interceptor
Failure Manager
...
<<Rich Service>> S
Ser
vice
/Dat
aC
onne
ctor
...<<Rich Service>> S.n
Service/DataConnector }<<
Rich Infrastructure
Services>>
EncryptionService/DataConnector
LoggingService/Data
Connector
Failure Manager
Service/DataConnector
...
Service/DataConnector
S.1
Service/DataConnector
S.2
Service/DataConnector
}<<
Rich Application Services
>>
S.n.2
Service/DataConnector
S.n.m
Service/DataConnector
}
<<Rich
Application Services
>>
S.n.1
Service/DataConnector
Service/DataConnector
Logging
Service/DataConnector
Encryption
Service/DataConnector
Policy ...
Service/DataConnector
Service/DataConnector
<<Rich
Infrastructure Services
>>}
Chat System Benefiting from Rich Service
Chat Proxy
Policy System
Logging System
Enhanced Chat System
Gateway
Monitor Service
Management Service
Directory Service
Presence System
DOS Monitor
Suspicious Activity Monitor
Chat Engine
CertificateAuthority
Original Objectives– Enterprise
Directory Services
– Enterprise Presence Services
– Enterprise authentication/ authorization
– Disconnected operation
– Migration paths for current providers and consumers
– Manageable and monitorable
– Integrate domain knowledge
Additional Benefits– Leverages existing systems without
modification– Move chat system to other venues– Opportunities for novel processing
Chat Systems in System-of-Systems
Chat System 1
Logging System
Policy System
System-of-Chat-Systems
Chat System 3
Chat System 2
Presence System
Directory Service
Management Service
Monitor Service
DOS Monitor
Suspicious Activity Monitor
Chat Proxy
Policy System
Logging System
Gateway
Monitor Service
Management Service
Directory Service
Presence System
DOS Monitor
Suspicious Activity Monitor
Chat Engine
CertificateAuthority
CertificateAuthority
Domain-dependent policies
Chat System with XMPPusing Rich Services Integration Framework
• Streaming XML• Authentication• Encryption
– Client/server– Server/server
• Addressing• Presence mgmt• List mgmt
– Subscribe– Contacts– Blocks
Chat System 1
Logging System
Policy System
System-of-Chat-Systems (incorporating XMPP)
Chat System 3
Chat System 2
Directory Service
Management Service
Monitor Service
DOS Monitor
Suspicious Activity Monitor
Chat Proxy
Policy System
Logging System
Gateway
Monitor Service
Management Service
Directory Service
DOS Monitor
Suspicious Activity Monitor
XMPP Services
XMPP Services
Certification Authority
Presence System
Presence System
Certification Authority
Rich Service Development
• Multistage concurrently
• Logical vs Deployment
Rich Services Virtual Network
Rich ServicesRAS4
Services
Service S1
Roles
U1
U2
U3
U4
U5
Use Case Graph
ConcernsC1 C2 C3
C4CC1
CC2CC3
Domain Model
R1 R2
R3 R4
R5 R6
R1 R2
msg
R3
CC1CC2
Role Domain Model
R1 R2
R3 R4
R5 R6
CC1 CC2 CC3
Router/Interceptor
Messenger/Communicator
RAS1 RAS2
CC1 CC4 CC5
Router/Interceptor
Messenger/Communicator
RAS5 RAS6RAS3
S/D
S/D
RIS:
RIS:
Serv
ice
Elic
itatio
nR
ich
Serv
ice
Arc
hite
ctur
e
RAS7
System of Systems Topology
H1 H2
H3
H5
H6
H7
H8
H9H4
RAS1 RAS2 RAS3
RAS5 RAS6 RAS7
Infrastructure Mapping
H1:RAS1 H2:RAS2
H3:CC1
H5:RAS2
H6:RAS5
H7:RAS7H8:RAS7
H9:RAS6
H4:RAS3
Opt
imiz
atio
n ImplementationRAS1 RAS2
RAS3 RAS4
RAS5 RAS6
RAS7 CC1
CC2 CC3
CC4 CC5
Ana
lysi
s
Synt
hesi
s
Ana
lysi
s
Iden
tific
atio
n
Def
initi
on
Con
solid
atio
n
Refinement
Hierarchic composition
Refinement
Logical Model
Syst
em A
rchi
tect
ure
Def
initi
on
Logical Architecture Loop
Deployment Loop
• Soup-to-Nuts
• Incremental
Case Study – RESCUE
Policy System
Logging System
RESCUE
ODBC Adapter
Research Data Feed
Visualization ToolDatabase
Authorization Monitor
• Perpetual data capture
• Visualization of correlations
• Opportunistic access
• Access control
Case Study – ORION-CA
• 10s of institutes
• 1000s of researchers
• 1000s of instruments
• 100s of operators
Global Scale Observatory Modeling Facility Research LaboratoryS/D Connector S/D Connector S/D Connector
Regional Cabled Observatory
Observatory Service
S/D Connector
Identity Authentication Policy Accounting LoggingS/D ConnectorS/D ConnectorS/D ConnectorS/D ConnectorS/D Connector
Identity Authentication Policy Accounting LoggingS/DS/DS/DS/DS/D
Router / Interceptor and Messenger / Communicator
Identity LoggingData
Service
S/D
Router / Interceptor
Messenger / Communicator
...
Acquisition scheduler
Science Instrument Web Service
Matlab Processing
Engine
Power Monitor
Instrument
Service Repository
S/D Connector
Storage
S/D Connector
Scheduler
S/D Connector
Resource Repository
S/D Connector
State Management
S/D Connector
Router / Interceptor and Messenger / Communicator
. . .
INTERNET
Service Rep.
. . .
State Mng.
S/D
S/D
S/D
Summary
• Rich Services
– can be used as an integration architecture– provides guidance for understanding
exploitable relationships between entities– provides framework for analysis and future
growth
• Rich Services Development Model– end-to-end (logicaldeployment,
reqsphysical)– integrated, iterative, concurrent
Further Reading• [PDM III] DoD CIO. “PDM III Core Enterprise Services Finding and Recommendations
Report”. September 2006.• [IMP-REQS] Day, M., Aggarwal, S., Mohr, G., and J. Vincent. "Instant Messaging /
Presence Protocol Requirements". RFC 2779, February 2000.• [XMPP-IM] Saint-Andre, P., Ed. "Extensible Messaging and Presence Protocol (XMPP):
Instant Messaging and Presence". RFC 3921, October 2004.• [XMPP-CORE] Saint-Andre, P. "Extensible Messaging and Presence Protocol (XMPP):
Core". RFC 3920, October 2004.• [Prog Jabber] Adams, D.J. “Programming Jabber”. O’Reilly Media, Inc. January, 2002.• [Wikipedia] http://en.wikipedia.org/wiki/System_of_systems, March 2007.• [Maier] Maier, M.W. “Architecting Principals for Systems-of-Systems”. http://
www.infoed.com/Open/PAPERS/systems.htm, 1996.• [Purdue] https://engineering.purdue.edu/Engr/Research/Initiatives/SoS/• [Ermagan] V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini, “
A Service-Oriented Blueprint for COTS Integration: the Hidden Part of the Iceberg,” in Proceedings of the ICSE Second International Workshop on Incorporating COTS Software into Software Systems: Tools and Techniques (IWICSS'07), Minneapolis, MN, USA. IEEE Computer Society, May 2007, p. 10.
• [Arrott] M. Arrott, B. Demchak, V. Ermagan, C. Farcas, E. Farcas, I. H. Krüger, and M. Menarini, “Rich Services: The Integration Piece of the SOA Puzzle,” in Proceedings of the IEEE International Conference on Web Services (ICWS), Salt Lake City, Utah, USA. Jul. 2007
Questions
Mobile Rich Services
Policy System
Logging System
Presence Service
Location ServiceDatabase
Failure Monitor
Degraded Service Monitor
User
• Message rerouting as appropriate
• Graceful degradation• Service provisioning via
registries
• Message persistence (supports disconnected operation)