150 likes | 379 Views
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. Acknowledgement.
E N D
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
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 W900KK-10-C-0022.
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.
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.
Consequence of Failure org.mc4j.ems.connection.EmsInvocationException: Exception on invocation of [findMonitorDeadlockedThreads]org.mc4j.ems.connection.EmsConnectException: Connection failure nullat org.mc4j.ems.impl.jmx.connection.bean.operation.DOperation.invoke(DOperation.java:127)at org.rhq.plugins.jmx.MBeanResourceComponent.invokeOperation(MBeanResourceComponent.java:547)at org.rhq.plugins.jmx.MBeanResourceComponent.invokeOperation(MBeanResourceComponent.java:517)at org.rhq.plugins.jmx.ThreadDataMeasurementComponent.invokeOperation(ThreadDataMeasurementComponent.java:65)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:616)at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:525)at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)at java.util.concurrent.FutureTask.run(FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)at java.lang.Thread.run(Thread.java:636)Caused by: MBeanException: null Cause: javax.management.InstanceNotFoundException: java.lang:type=Threading is not registered.at org.jboss.mx.interceptor.ReflectedDispatcher.handleInvocationExceptions(ReflectedDispatcher.java:180)at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:163)at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)... 3 moreCaused by: javax.management.InstanceNotFoundException: java.lang:type=Threading is not registered.at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:523)at org.jboss.mx.server.registry.BasicMBeanRegistry.getValue(BasicMBeanRegistry.java:561)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:616)at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)... 48 more
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
Chained web services VMIB agent JVM VMIB agent VMIB agent JVM JVM VMIB agent JVM
Installation • Shut down JVM • Copy VMIB probe .jar files VMIB client • Update $JAVA_OPTS • Restart JVM VMIB probe JVM • Deploy VMIB client application
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. • Log4VMIB – 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.
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
Future Features and Issues • Disconnected operations • Limited bandwidth • Prioritization of traffic • Bandwidth throttling • Tiered hubs • Address accreditation questions • Investigate automated generation of instrumentation
Contact Information Scott Oppenlander soppenlander@lce.com (214) 766-1804