UXComm: Universal XML Communicator, an Agent Architecture
-
Upload
george-vanecek -
Category
Software
-
view
117 -
download
2
description
Transcript of UXComm: Universal XML Communicator, an Agent Architecture
![Page 1: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/1.jpg)
AutonomIQ™ Technology OverviewJune 2005
By Dr. George Vanecek, Jr.
![Page 2: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/2.jpg)
UXComm Objectives
Create a service management middleware, based on
A generalized and extensible protocol mediation and translation and API abstraction mechanism, to
Configure, control, monitor, and provision networked service assets, and
Address heterogeneity, interoperability, and change in the service assets.
![Page 3: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/3.jpg)
UXComm Solution
Create an engine that Is very small by providing minimal built-in
functionality Is O.S. independent Is powerful by extending its support
capabilities on demand Offers a self-describing service views of
native services Can support an agent architecture
![Page 4: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/4.jpg)
Service Request/Response
CLIENTor
AGENT AGENT
Service Requestwith Reference to a Service Specification
XML/HTMLResponse
DownloadServer
Service Specification,Adaptors,
andRequired Libraries4
12
3
Service RequestExecution
HTTP/S
Holds for requests over other protocols such as SNMP or CLI over Telnet.
![Page 5: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/5.jpg)
IA2 Engine
Applications as Collection of Services
WorkflowManager
CLI (Telnet) Web (HTTP)
PersistentStore
EventManager
SNMPManager
WMIClient
HPIClient
SNMPAgent
Example Application Service
IA2 Engine executes servicesand facilitates communication between services viaservice requests
![Page 6: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/6.jpg)
IA2 Engine(Java)
Service Specification(XDS written in XDL)
Service Request(XSR)
Service Execution Environment
Service Request
Service Definition(Interface)
Service Implementation
Shared Libraries
External APIs, Protocols, O.S.s, Applications
Adaptor Actions
![Page 7: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/7.jpg)
XDL: eXtensible Design Language
Is a meta-language for authoring the service specifications (XDS’s)
Decomposes a complex service into a hierarchy or groups of logical sub-services
Offers a natural encoding of pre/post actions associated with each sub-service
Is compiled by the engine (not interpreted)Allows imports of engine extensions by
loading adaptors and share libraries/stacks
![Page 8: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/8.jpg)
Example Specification and RequestCisco IOSSpecification
Request toInstall a tar file
![Page 9: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/9.jpg)
XDS Example (as XML)<xds id=“…” …> <node name=“demo” xmlns:io=“/adapter/IOAdapter.jar”> <args> …Arguments… </args> <subnodes> <node name=“createHelloWorld” …> <args>…Arguments… </args> <do> <io:open file=“path”/> <io:write string=“hello world”/> … <io:close/> </do> </node> …Other Commands… </subnodes> </node></xds>
demo
createHelloWorld …
![Page 10: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/10.jpg)
Script Programs
All command are supplied by adaptors
Commands are simple or structured
Use typed arguments Support exchange of
POJO’s
![Page 11: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/11.jpg)
Engine Adaptor Collection of related commands Written in Java (Bundled as JAR files) Designed to extend the engine’s run-time
support Optionally provide access to reusable libraries
and stacks Loaded when some XDS requires them Support drag & drop visual editing of XDS
scripts in IDE Adaptor commands are engine co-agents:
Self-parsing from XDS XML file Self-printing to the XDS XML file
![Page 12: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/12.jpg)
Example ScriptNote:IOS XDS implemented as CLI over Telnet with
IO Expect FCLang Exception
adaptors.
![Page 13: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/13.jpg)
Using AIQ Adaptors
XDS<node name … xmlns:an=“URL”><do> … <an:some-action arg1=“…” arg2=“…”/> …</do>
AdaptorLoader/Cache
Load Adaptor
class SomeAction extends XDSAction{ String arg1; String arg2;
exec(…) { } printXML(…){ } parse(…) { } }
InstantiateAction
Execute
![Page 14: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/14.jpg)
Name
XDS Structure
Arguments(name,type,default)
PreActions
PostActions
Exception Handlers
Programbased on actions
from imported adaptors
Adaptor/Library Imports
An XDS node represents a sub-service
![Page 15: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/15.jpg)
XDS, XWSSpecifications
IA2 Engine
AutonomIQ Engine Architecture
O.S. + Hardware
JVM
XDL Compiler
XSR Interpreter
XDS Cache
Adaptor Cache
SNMP
IPMI
HPIJDBC
Telnet
WakeOnLAN
HTTP/S SBLIM
WMI
SOAP
CIM
XML
Applications
Adaptor/Lib Repository
<xsr ref=“http://xds.uxcomm.com/dsp/workflows/provisionBlade.xws”> <provisionBlade tmip=“10.10.10.4” tmport=“6964” …/></xsr>
ServiceRequests
…
XML Repository
HTTPHTTP
HTTP
![Page 16: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/16.jpg)
Engine Execution Layers
Stack
ComponentSpecialization
AdaptorInterface
Java
ComponentSpecification
Workflows
Application
XDS
XWS
Projects
ApplicationSpecification
Java Threads
Task Thread Management
Workflow Interface
Workflow Scheduler
DiscoveryFail-over Provisioning
On-Demand Asset Tracking (OAT)
SNMP Agent
SNMP Interface
SNMPManager/Handler
SNMP Stack
OAT Master/Agents
RequestDrivenLoading
ExamplesOnly
Adaptor
![Page 17: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/17.jpg)
AIQ IDE:The Integrated Development and Execution Environment
![Page 18: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/18.jpg)
Building Application Services1. Using IDE, author services
Create low-level service specifications(to control legacy components) SNMP, IPMI, WMI, Cisco IOS, …
Create application component service specifications (to add new components) Workflow Manager, Persistence Store, Event Handler,
Event Monitor, … Create application service specifications
(using low-level/application components) Internet Gateway, Download Server, ATCA NMS…
1. Optionally Build UI2. Deploy Agent (Engine with Front-End such as HTTP or
CLI) With access to service specifications and support files.
![Page 19: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/19.jpg)
IDE: Key Components
ManageProjects
ServiceRequests
Editor
Service RequestsExecute/Trace/Debug
ManageAdaptors
XDS Editor
ScriptEditor
![Page 20: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/20.jpg)
IDE: Support Dialogs
ManageIDE Add-ons
Monitor Threads
Edit IDEProperties
Profiler
Heap Monitor
![Page 21: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/21.jpg)
IDE: XDS Editor SupportAdaptorChooser
ExpressionEditor
![Page 22: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/22.jpg)
IDE: Workflow EditingWorkflow
EditorTask
WizardGraphicalViewer
![Page 23: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/23.jpg)
IDE: HTML/Request WizardHTML Wizard
Wizard Interface
HTML TextEditor
Web BrowserPreview andExecution
![Page 24: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/24.jpg)
IDE: Documentation Support
IntegratedWeb
Browser
ComponentPaneHelp
XDSDocViewer
![Page 25: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/25.jpg)
IDE: Request Support
XSR Debugger
BreakpointsAnd
Single StepExecution
![Page 26: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/26.jpg)
Example AIQ Adaptors:SNMP, CLI
![Page 27: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/27.jpg)
SNMP Adaptor and Service
Versions v1, v2c, v3 Manager Agent
SNMPv2 USM and VACM Trap/Inform Handler Proxy Forwarder MIB
Table Support MIB Parser for SMIv1 and
SMIv2 Programmable MIB
queries
![Page 28: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/28.jpg)
CLI Adaptor and Service Telnet/SSH protocols User-based Access Control Command history Command-line editing (e.g., Emacs) Built-in commands
(e.g., help, up) XDS programmable
Input Syntax XML or Text Output
Syntax (via XSLT) Multiple-session capable XSR interoperable
![Page 29: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/29.jpg)
AIQ SDK:The Service Development Kit
![Page 30: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/30.jpg)
AIQ SDK: Service Development Kit
Engine and agent run-time support. Set of adaptors and required libraries IDE for
Authoring service specifications Authoring simple HTML UIs Authoring and execution service requests
Support for Authoring new AIQ Adaptors (given JAPI)
Documentation Sample Adaptor source code Sample Projects with support files
![Page 31: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/31.jpg)
SDK: Included Adaptors Admin Agent administration Array Array data structure CLID CLI Server Exception Exception handling Expect I/O pattern filter FCLang Flow control and variable support IO File I/O, sockets, and process support Log Logging RegExp Regular Expressions System Thread, timers, and synchronization Table Hash table data structure HTTPD Web server JDBC SQL SNMP SNMP v1, v2c and v3 agent, manager, mib XML XML parser and DOM Workflow Workflow execution and management
![Page 32: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/32.jpg)
AIQ Agent Run-time Requirements
JVM Supports J2ME CDC 1.1 with base adaptor set
(J2SE 1.3). J2SE 1.4 with full adaptor set
Disk Requirements AIQ engine 256K Support libraries <2M (e.g. XML parser, JSSE) Base adaptor set <1M
Memory Requirements Minimum 16Mb
![Page 33: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/33.jpg)
Summary: What this all means is that
The IA2 engine supports a reconfigurable agent architecture for creating new domain specific parsers and execution environments (XDS’s) for various classes of service requests (XSR’s).
![Page 34: UXComm: Universal XML Communicator, an Agent Architecture](https://reader033.fdocuments.net/reader033/viewer/2022042701/559e19f31a28abb24e8b4605/html5/thumbnails/34.jpg)
Summary Universal eXtensible Communicator Ergo, UXComm