Rick Grehan La meta básica de SOA es poner los recursos disponibles en la red de tal manera que estén accesibles por las aplicaciones cliente sin que tengan que recurrir a APIs de bajo nivel (específicos de un lenguaje o de una plataforma). Los recursos tienen con frecuencia capacidades de procesamiento y por consecuencia son referidos como servicios. En ese sentido, acceder a un servicio es muy parecido a efectuar una llamada a un procedimiento remoto muy elaborado. Tener en toda la empresa, servicios ampliamente disponibles y fácilmente extensibles -el santo Grial del SOA- es la meta a la que aspira la suite Crossvision de Software AG. Es una colección de servicios, herramientas, y componentes unidos por CentraSite, una especie de combinación de servidor de aplicaciones, sistema de administración y repositorio. Crossvision es una suite ESB, y su lenguaje XML es BPEL (Lenguaje de Ejecución de Procesos de Negocios). Como hacen algunos ESBs reseñados previamente por InfoWorld, Crossvision puede tomar JMS, pero puede recibir documentos de otras fuentes (HTTP, e-mail, incluso un archivo). La suite es “completa” en el sentido de que no necesita tener su propio servidor Web o base de datos. CentraSite proporciona el programa de respaldo persistente, e integra al menos Apache/Tomcat, no tuve que instalaras por separado. El IDE Orquestador del Servicio también tiene capacidades de simulación de manera que puedes probar un servicio antes de instalarlo. El Integrador de Información ayuda a los consumidores a ir más allá que simplemente reacomodar la información, les ayuda a sacar conclusiones de ella. Legacy Integrator pone la información (por ejemplo, VSAM) y las aplicaciones de ayer (por ejemplo las escritas en PL/1 y COBOL) disponibles para las aplicaciones de hoy. También proporciona envolturas que permiten a aquellas aplicaciones heredadas acceder a recursos modernos como los servicios Web. Con el Business Process Manager (Administrador de Procesos de Negocios), puede describir la información involucrada, los recursos requeridos, las funciones, responsabilidades permitidas, y otras características que definen una tarea de negocios. CentraSite y Service Orchestrator consyituyen el corazón de Crossvision. CentraSite sirve como el centro de control y administración de los esfuerzos de SOA. Por su parte, Orchestrator es el motor de ejecución en tiempo real de los servicios de Crossvision, y Orchestrator Studio es la IDE que le permite crear, depurar y desplegar esos servicios. CentraSite actúa como intermediario -administrando un directorio de servicios disponibles- y una especie de base de datos para esos servicios. Orchestrator actúa como una especie de sistema digestivo de documentos. Un documento llega, enviado por correo electrónico, JMS, un mensaje SOAP, o HTTP; su llegada dispara la ejecución de código que examina las características como el nombre del documento, su extensión, su origen, y contenidos específicos para determinar cómo será procesado. Después de que Orchestrator establece el “cómo” del procesamiento, llama al código apropiado para hacer el trabajo real. Este trabajo puede ser tan simple como transportar el documento a su destino o tan complejo como extraer datos diferentes de varias porciones del documento, formando un documento nuevo con él y depositando el resultado en un buzón de correo electrónico. La documentación de Orchestrator se refiere al código fuente como una “secuencia”, la cual es una mezcla de componentes Java y XML. Un Sequence Document es una colección de elementos de procesamiento que puede llamar del mismo modo en que llama a los métodos en una API. En Orchestrator, los “métodos” son los componentes Java, y los mensajes son los documentos. El XML actúa como un pegamento ejecutable, pues liga a los elementos de procesamiento, e instrumenta su comportamiento en un programa utilizable. Este pegamento incluye un control básico de secuencias (ejecuta la orden A, y luego la orden B) y tomador de decisiones (esto es, expresiones si/entonces). Orchestrator viene con aproximadamente 30 componentes integrados que cubren casi cualquier aspecto del procesamiento de documentos y protocolos de transmisión. Aunque normalmente nunca necesitará “adentrarse” en un componente Java, Software AG proporciona herramientas de desarrollo si requiere crear sus propios componentes. Creación de secuencias Para crear un servicio, -esto es, escribir el código XML, un documento de secuencia, depurarlo, y desplegar el resultado- debe visitar el Orchestrator Studio. Puede crear el código de un proyecto de manera gráfica o en modo texto como una serie de sentencias XML. El diseñador gráfico de Studio es lo que realmente hace accesible Crossvision a los programadores menos experimentados, pues todo se puede hacer con el mouse, depurar incluso, e instalar el nuevo servicio, haciendo de la construcción de un sitio SOA algo que hasta ellos pueden hacer.