0ca6a443894287376a36e78bf343caa2.ppt
- Количество слайдов: 15
Test & Evaluation/Science & Technology Program Net-Centric Systems Test (NST) Test Technology Area Virtual Management Information Base (VMIB) Overview Scott Oppenlander (Principal Investigator) March 2012 DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited.
Acknowledgement This project is funded by the Test Resource Management Center (TRMC) Test and Evaluation/Science & Technology (T&E/S&T) Program through the U. S. Army Program Executive Office for Simulation, Training and Instrumentation (PEO STRI) under contract number W 900 KK-10 -C-0022. DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 2
What is the business problem? • The emphasis on development and integration of net centric programs has resulted in diverse and interrelated web services to test and troubleshoot. • Debugging complex SOA environments requires costly and scarce on-site subject matter experts (SME). • Test range time with live assets is expensive and scheduled months in advance. Time spent investigating web service failures instead of testing interoperability with live assets is wasted funding. • The additional time required to debug complex SOA environments directly drives the schedule and budget overruns when deploying a system. This leads to delays in providing the warfighter with the tools required to accomplish their mission. DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 3
Example – Document Retrieval DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 4
Pitfalls of net-centricity • Applications that invoke web services must be written to gracefully handle all possible return values and exceptions. • Target web services must be written both to gracefully handle all conditions as well as to return meaningful information in the case of exception conditions. • Chained web services (i. e. web services that themselves invoke web services) do not return the root cause of failure • Different web services are frequently coded and maintained by different vendors and agencies, each with variable coding practices, support procedures, opacity, and general helpfulness. • Susceptible to time synchronization, server certificate or trust store issues. DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 5
Consequence of Failure org. mc 4 j. ems. connection. Ems. Invocation. Exception: Exception on invocation of [find. Monitor. Deadlocked. Threads]org. mc 4 j. ems. connection. Ems. Connect. Exception: Connection failure null at org. mc 4 j. ems. impl. jmx. connection. bean. operation. DOperation. invoke(DOperation. java: 127) at org. rhq. plugins. jmx. MBean. Resource. Component. invoke. Operation(MBean. Resource. Component. java: 547) at org. rhq. plugins. jmx. MBean. Resource. Component. invoke. Operation(MBean. Resource. Component. java: 517) at org. rhq. plugins. jmx. Thread. Data. Measurement. Component. invoke. Operation(Thread. Data. Measurement. Component. java: 65) at sun. reflect. Native. Method. Accessor. Impl. invoke 0(Native Method) at sun. reflect. Native. Method. Accessor. Impl. invoke(Native. Method. Accessor. Impl. java: 57) at sun. reflect. Delegating. Method. Accessor. Impl. invoke(Delegating. Method. Accessor. Impl. java: 43) at java. lang. reflect. Method. invoke(Method. java: 616) at org. rhq. core. pc. inventory. Resource. Container$Component. Invocation. Thread. call(Resource. Container. java: 525) at java. util. concurrent. Future. Task$Sync. inner. Run(Future. Task. java: 334) at java. util. concurrent. Future. Task. run(Future. Task. java: 166) at java. util. concurrent. Thread. Pool. Executor. run. Worker(Thread. Pool. Executor. java: 1110) at java. util. concurrent. Thread. Pool. Executor$Worker. run(Thread. Pool. Executor. java: 603) at java. lang. Thread. run(Thread. java: 636) Caused by: MBean. Exception: null Cause: javax. management. Instance. Not. Found. Exception: java. lang: type=Threading is not registered. at org. jboss. mx. interceptor. Reflected. Dispatcher. handle. Invocation. Exceptions(Reflected. Dispatcher. java: 180) at org. jboss. mx. interceptor. Reflected. Dispatcher. invoke(Reflected. Dispatcher. java: 163) at org. jboss. mx. server. Invocation. dispatch(Invocation. java: 94) at org. jboss. mx. interceptor. Abstract. Interceptor. invoke(Abstract. Interceptor. java: 133) at org. jboss. mx. server. Invocation. invoke(Invocation. java: 88) at sun. rmi. transport. tcp. TCPTransport$Connection. Handler. run 0(TCPTransport. java: 808) at sun. rmi. transport. tcp. TCPTransport$Connection. Handler. run(TCPTransport. java: 667). . . 3 more Caused by: javax. management. Instance. Not. Found. Exception: java. lang: type=Threading is not registered. at org. jboss. mx. server. registry. Basic. MBean. Registry. get(Basic. MBean. Registry. java: 523) at org. jboss. mx. server. registry. Basic. MBean. Registry. get. Value(Basic. MBean. Registry. java: 561) at sun. reflect. Native. Method. Accessor. Impl. invoke 0(Native Method) at sun. reflect. Native. Method. Accessor. Impl. invoke(Native. Method. Accessor. Impl. java: 57) at sun. reflect. Delegating. Method. Accessor. Impl. invoke(Delegating. Method. Accessor. Impl. java: 43) at java. lang. reflect. Method. invoke(Method. java: 616) at org. jboss. mx. interceptor. Reflected. Dispatcher. invoke(Reflected. Dispatcher. java: 155). . . 48 more DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 6
How can VMIB help? • Visibility inside the encryption boundary to examine messages • Detection and diagnosis of failure in chained web services • Open interface allows “bring your own” analytics • Simple to install and back out • Pairing of SOAP requests and responses • No code or service endpoint modifications required. No proxy agents to configure. • Toolkit allows users to write custom instrumentation DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 7
Chained web services VMIB agent JVM VMIB agent JVM DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 8
Installation • Shut down JVM • Copy VMIB probe. jar files VMIB client • Update $JAVA_OPTS • Restart JVM VMIB probe JVM • Deploy VMIB client application DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 9
Concept of Operations DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 10
VMIB Components • Probe – captures information about classes and exceptions as specified on the command line. The JVM under test is modified in memory by the VMIB probe to provide instrumentation. • Log 4 VMIB – a small, high speed bridge class that accepts data from the VMIB probe and inserts it into the HSQL database. • HSQL (hyper structured query language database) – a small, high performance, in memory database that acts as a buffer between the probe and the agent. • Agent – an application that extracts instrumentation from the HSQL database and publishes it via web service. • Hub – VMIB analytics and visualization on a separate server. DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 11
Supported Platforms and Protocols • Java 5 and 6 • JBoss-WS 4. 2. 2 • JAX-WS 2. 1 • Apache CXF 2. 2 and 2. 3 • Weblogic 10. 3 • SOAP • JSON DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 12
Future Features and Issues • Disconnected operations • Limited bandwidth • Prioritization of traffic • Bandwidth throttling • Tiered hubs • Address accreditation questions • Investigate automated generation of instrumentation DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 13
Contact Information Scott Oppenlander soppenlander@lce. com (214) 766 -1804 DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 14
Questions ? DISTRIBUTION STATEMENT A. Approved for public release; distribution is unlimited. 15