Marco de pruebas para ayudar a los desarrolladores y los administradores de la red
Al contrario de lo que ocurre con los programas de software, los servicios de redes complejas generalmente se implementan en diferentes lenguajes de programación; funcionan en distintas plataformas y pueden ser suministrados por diferentes vendedores. Para los administradores, esto plantea la pregunta de cómo interactuarán los distintos componentes y cómo se pueden integrar los componentes recién programados en una red existente. El marco de pruebas COACH es una aplicación de código abierto basada en CORBA (Arquitectura Broker de Objeto Común), una interfaz de software comúnmente utilizada que permite a los módulos de software comunicarse entre sí con independencia de su lugar de ubicación en la red o incluso en Internet. Hace uso de la tecnología del Modelo Componente de CORBA (CCM) y de su lenguaje de definición de interfaz (IDL). No requiere modificación alguna en las propias aplicaciones. El marco COACH se basa en módulos de actor, reactor y localizador. Estos componentes se pueden usar para probar y depurar los sistemas incluso antes de implementar todos los componentes del sistema. El componente actor puede ser configurado por el usuario para invocar las operaciones de los módulos de software que están siendo sometidos a pruebas, mientras que un marco localizador de dos partes localiza y muestra esas invocaciones. TraceServer recoge los datos de identidad y tiempo de cada suceso e interacción en el sistema. TraceViewer permite al usuario interrogar a esta base de datos a través de una herramienta web que devuelve los resultados en XML. Los módulos reactor, mientras tanto, se pueden emplear para sustituir e imitar el comportamiento de los componentes que aún no se han implementado en la red. Pueden programarse en cualquier lenguaje para mostrar los mismos sucesos y reacciones que los componentes que faltan a efectos de las pruebas. Con COACH, se pueden localizar los componentes que no funcionan correctamente. El fallo se puede localizar incluso dentro del componente y del lenguaje depurado de forma independiente. Además, el marco se puede utilizar como un servicio para realizar las pruebas y desarrollar al mismo tiempo una aplicación. En este sentido, acelerará el proceso de desarrollo y permitirá una comercialización más rápida.