xds toolkit version 3
DESCRIPTION
XDS Toolkit Version 3. Bill Majurski NIST May 14, 2014. Toolkit Contains. Client to initiate Transactions Test mode, Utility mode Simulators to accept Transactions Several logging systems A few dozen validators that are integral to client and sims Configuration tools, monitoring tools - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/1.jpg)
XDS ToolkitVersion 3
Bill MajurskiNIST
May 14, 2014
![Page 2: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/2.jpg)
Toolkit Contains
• Client to initiate Transactions– Test mode, Utility mode
• Simulators to accept Transactions• Several logging systems• A few dozen validators that are integral to
client and sims• Configuration tools, monitoring tools• UI, deployment model
![Page 3: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/3.jpg)
Problems
• Each tool, validator, parser is hard wired and rigidly defined
• Multiple logging systems, each inadequate to current challenges
• Too hard to create new tool, simulator, client• Not the right shade of blue
![Page 4: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/4.jpg)
V3 Goals
• New architecture• New common logging system• Reorganize code for reuse – components• Components are combined into tools,
simulators, services
![Page 5: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/5.jpg)
Architectural Focus
Focus Areas• Simulators• Tools• Services• ProxySupported by • Re-usable components and a structure for combining them
![Page 6: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/6.jpg)
Simulators
• Same definition as before – an Actor implementation, aimed at testing, that starts operation by receiving a Transaction
• New internal organization
![Page 7: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/7.jpg)
Tools
• Things that have a user interface so they can be driven by the user
![Page 8: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/8.jpg)
Services
• Things that are driven by a REST/SOAP interface
• Allows toolkit functionality to be integrated into larger things
![Page 9: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/9.jpg)
Proxy
• Drive operation by capture of messages via a proxy
• Post-capture analysis• Tools (user interface) to trigger and/or display
analysis
![Page 10: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/10.jpg)
Components
• All of these systemic approaches are composed of Components
• Components are the reusable pieces of the system• Components are organized into Components
Groups which link and organize the components• A Component Group + UI = Tool• A Component Group + REST Interface = Service
![Page 11: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/11.jpg)
Component Groups
• Current v2 code will be broken up into components and glued back together into Component Groups
• A Component catalog will be maintained• A Component Group is composed via
configuration file, not code re-compilation• Configurable – code implements “validate SOAP
header”, config param controls what SOAP Action is expected.
![Page 12: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/12.jpg)
Component Groups(2)
• With Components and Component Groups, creating a new test or simulator should be much faster if something similar has been done before
![Page 13: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/13.jpg)
Component Group
Component
Component
Component
Component
Tool (UI Interface) Service (REST Interface)
Simulator (Servlet) Command Line
Component = Java class + properties + inputs + outputs
![Page 14: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/14.jpg)
Components
• A Component is a Java class which implements a simple Interface
• Component Groups are orchestrated by an execution engine
• Components:– Linked by setters/getters– Getters found by class inspection at runtime– Setters identified by Java Annotations
• @Inject void setMetadata(Metadata metadata)– This Pub/Sub mechanism is type/class sensitive
![Page 15: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/15.jpg)
Validator-type Components
• If a component does validation, two approaches are available:– Direct calls to Assertion API to record validation
results– Indirect execution organized by Java Annotations
on the Component• Each validation is a method with proper annotation
![Page 16: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/16.jpg)
Logging system
• To be used by all tools• Capture more detail from validators• Common UI• Based on MIT/Google work on Artifact
Repositories• Each artifact is made up of property collection plus
optional document• Our implementation uses raw file system for
storage
![Page 17: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/17.jpg)
Log Browser View
![Page 18: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/18.jpg)
Raw Message
![Page 19: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/19.jpg)
Search
![Page 20: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/20.jpg)
Proxy Filtering
![Page 21: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/21.jpg)
Proxy Filtering Setup
![Page 22: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/22.jpg)
Schedule
First developer release June 1• Core System ✔• Log system and viewer ✔• Component and validation engines ✔• Examples, documentation• One example simulator (SOAP Responder)• Simulation Servlet so sim can be exercised by
v2 toolkit or other external tools
![Page 23: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/23.jpg)
Developer Release
• Set of 1 or more JAR files• Downloadable via public Maven Nexus
repository (coming soon)• Sources included
![Page 24: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/24.jpg)
Focus areas of later releases
• SOAP Async• Updated UI (long term project)• Test engine cleanup and update• Proxy• Service interfaces• Convert additional sims• New tests and sims
![Page 25: XDS Toolkit Version 3](https://reader033.vdocuments.us/reader033/viewer/2022061617/56816554550346895dd7d060/html5/thumbnails/25.jpg)