Arquitectura orientada a servicios (SOA) y servicios en la nube, dentro de su presupuesto

Las dificultades que afectan a la economía actual plantean nuevos desafíos para las organizaciones. Los presupuestos interdepartamentales se están reduciendo, y las grandes adquisiciones se están revisando cuidadosamente. Los costosos programas informáticos empresariales y los sistemas de computación mainframe, que antes prometían mucho, están siendo reconsiderados a nivel global en favor de sistemas más ágiles y basados en componentes, que reducen los costos y aumentan la eficiencia mediante conceptos innovadores como la arquitectura orientada a servicios (SOA) y la computación en la nube. Estos conceptos arquitectónicos incorporan tecnologías modernas y enfoques orientados a objetos para resolver problemas tecnológicos reales en entornos complejos, al tiempo que reducen los costos de mantenimiento, integración y despliegue gracias a un diseño modular y la reutilización de componentes.

El Altova MissionKit es un conjunto de herramientas muy asequible, especialmente diseñado para adaptarse a esta transición hacia infraestructuras más flexibles y ligeras. Con un sólido soporte para XML, UML, bases de datos y tecnologías de integración de datos, MissionKit ofrece todas las herramientas necesarias para construir arquitecturas ágiles, que incluyan servicios repetibles, componentes reutilizables y recursos escalables.

Arquitectura Orientada a Servicios y Computación en la Nube

La arquitectura orientada a servicios (SOA) y los servicios web/en la nube son dos de los términos más utilizados en el ámbito tecnológico actual. Aunque presentan diferencias significativas, ambos conceptos representan un cambio de paradigma, pasando de los sistemas empresariales a gran escala a arquitecturas basadas en servicios, construidas con componentes modulares y funcionalidades reutilizables. El enfoque de la SOA busca ayudar a las organizaciones a responder más rápidamente a las necesidades del negocio, encapsulando los procesos como una red de servicios interoperables y repetibles. Esta modularidad proporciona flexibilidad al sistema y ofrece a los desarrolladores la agilidad necesaria para integrar nuevas funcionalidades en el sistema existente, según sea necesario, sin tener que "reinventar la rueda".

La Arquitectura Orientada a Servicios (SOA) es, fundamentalmente, una serie de servicios interconectados y autónomos, cuya funcionalidad se localiza y se invoca dinámicamente en función de ciertos criterios, que se comunican a través de mensajes. En el núcleo de la SOA se encuentra un alto nivel de reutilización de componentes, lo que reduce los costos y aumenta la eficiencia en una arquitectura totalmente escalable.

Los servicios en la nube se basan en el concepto de servicios interoperables, añadiendo un componente de virtualización para ayudar a aliviar la carga de los servidores internos, que de otro modo serían sobrecargados por el uso constante de estos servicios dentro del sistema. Este modelo utiliza Internet y tecnologías habilitadas para Internet para aumentar el rendimiento y la velocidad de procesamiento, almacenando la información de forma permanente en la "nube" y almacenándola temporalmente en los dispositivos cliente. La implementación de la computación en la nube es una opción poderosa para aumentar la capacidad y las funcionalidades del sistema, aprovechando los centros de datos de última generación en combinación con la World Wide Web.

Tanto la arquitectura orientada a servicios (SOA) como la computación en la nube buscan solucionar los problemas generados por arquitecturas rígidas que dependen en gran medida de una infraestructura de aplicaciones empresariales altamente integrada. Este enfoque en la interoperabilidad y los servicios de software independientes revela una solución distribuida que es impulsada por eventos, flexible y eficiente en costos en prácticamente cualquier entorno.

Anatomía de una arquitectura basada en servicios

Desde su creación, XML y los servicios web han ganado continuamente reconocimiento como los estándares preferidos para el intercambio de datos seguro, eficiente e independiente de la plataforma entre aplicaciones de software y a través de Internet. XML proporciona la base para los protocolos que sustentan la infraestructura de los servicios web: WSDL (Lenguaje de Descripción de Servicios Web) y SOAP, un estándar de mensajería basado en XML. Los servicios web son independientes del hardware, del lenguaje de programación y del sistema operativo, lo que significa que son perfectamente adecuados para el intercambio fluido e interoperable de datos a través de una red y están especialmente diseñados para sistemas basados en componentes.

Arquitectura de servicios web

Tanto las arquitecturas orientadas a servicios (SOA) como las basadas en la nube generalmente se basan en WSDL para describir la interacción y la funcionalidad, y para localizar los componentes operativos dentro del sistema. WSDL funciona en conjunto con SOAP, un protocolo de mensajería utilizado por la aplicación cliente para invocar los métodos y funciones definidos en la descripción WSDL. El ejemplo a continuación es el ejemplo de cotización de acciones utilizado en la especificación W3C WSDL y describe un servicio simple que realiza una única operación: recuperar los precios de las acciones en tiempo real, basándose en el símbolo de la acción proporcionado como entrada. Por supuesto, la mayoría de los servicios que existen dentro de las arquitecturas empresariales son mucho más complejos.

Tomemos como ejemplo los servicios de Amazon Web Services, que son de acceso público y ofrecen servicios y una infraestructura en la nube accesibles a un número creciente de empresas en todo el mundo, incluyendo Twitter, SmugMug y WordPress.com. Estos servicios permiten, esencialmente, que organizaciones independientes alquilen parte de la enorme capacidad del entorno de computación distribuida de Amazon, y que añadan la misma escalabilidad, fiabilidad y capacidad de adaptación a su presencia en línea a una fracción del costo.

El muy esperado Windows Azure de Microsoft® funciona según un modelo similar, ofreciendo a los desarrolladores la oportunidad de crear y desplegar aplicaciones basadas en la nube con recursos mínimos en el sitio. Amazon proporciona un archivo WSDL que contiene la definición del servicio web, las solicitudes que el servicio acepta, y así sucesivamente. Los desarrolladores pueden entonces crear una aplicación cliente basada en SOAP que invoque el servicio web de Amazon para aprovechar las funcionalidades que ofrece. (Actualmente, Amazon ofrece una serie de servicios basados en la nube para el alojamiento de aplicaciones, copias de seguridad y almacenamiento, entrega de contenido, comercio electrónico, búsqueda y computación de alto rendimiento.)

Altova MissionKit

Recientemente galardonado con el premio "Mejor Entorno de Desarrollo" en los Jolt Product Excellence Awards, Altova MissionKit es un conjunto diverso de herramientas de software que ofrece opciones escalables para aprovechar sus activos de software existentes en un entorno de servicios orientados a la arquitectura (SOA) o en la nube.

Sólido soporte para XML, servicios web, integración de datos, automatización de procesos y bases de datos, así como el acceso a potentes APIs, ofrecen a los desarrolladores opciones flexibles para crear soluciones basadas en servicios y una alternativa económica a los costosos honorarios de consultoría, las herramientas de extracción, transformación y carga (ETL) y/o los productos de bus de servicios empresariales (ESB). El Altova MissionKit* admite el desarrollo integral de servicios web e incluye un editor gráfico de WSDL, un constructor visual de servicios web, capacidades avanzadas para gestionar las relaciones entre archivos WSDL y otros archivos XML, un cliente y depurador de SOAP, integración de datos WSDL, generación de código y mucho más.

En conjunto, todas estas características ofrecen una solución sólida para integrar servicios y sistemas diversos en un entorno de computación distribuida, ya sean componentes propios, de la red o basados en la nube.

Editor WSDL

XMLSpy Editor de XML proporciona una interfaz gráfica de usuario (GUI) para el diseño y.. Edición de documentos WSDL. La estructura y los componentes de WSDL se crean en la ventana de diseño principal, utilizando mecanismos de diseño gráfico (con pestañas que permiten a los usuarios alternar entre la vista de texto). Además, se habilitan funciones de edición adicionales a través de ventanas de ayuda completas. Los usuarios pueden crear y editar fácilmente mensajes, tipos, operaciones, tipos de puerto, enlaces, etc., directamente en la interfaz. Además, se pueden abrir instantáneamente archivos WSDL de uso público, como el servicio Amazon Simple Storage Service, o Amazon S3 (mencionado a continuación), utilizando Abrir URL comando en XMLSpy.

XMLSpy Editor WSDL Ofrece a los desarrolladores un entorno avanzado para el desarrollo rápido de servicios web, gestionando la sintaxis y la validación de WSDL a través de una interfaz gráfica intuitiva de arrastrar y soltar. La incorporación de una función de generación de documentación permite compartir todos los detalles de una interfaz de servicio web con personas no técnicas, en formato HTML o Microsoft Word.

Cliente SOAP

Las solicitudes SOAP se pueden crear manualmente en XMLSpy Cliente SOAP Basándose en las operaciones definidas en el WSDL, una vez que se selecciona una operación, XMLSpy inicia la solicitud utilizando las conexiones proporcionadas en el WSDL y muestra la sintaxis XML del sobre SOAP en la ventana principal. El mensaje puede entonces enviarse directamente al servidor para obtener una respuesta inmediata.

Depurador SOAP

XMLSpy también incluye un depurador SOAP, que actúa como un servidor proxy para los servicios web entre el cliente y el servidor, permitiendo a los desarrolladores analizar los archivos WSDL y sus componentes de mensajes SOAP, ejecutar transacciones paso a paso, establecer puntos de interrupción en las funciones SOAP e incluso definir puntos de interrupción condicionales que se activan mediante una consulta XPath específica.

Desarrollo de servicios web

Una vez que se completa la definición WSDL, también se puede implementar visualmente utilizando MapForce, la herramienta de conversión de cualquier formato a cualquier otro de Altova herramienta de integración de datos. MapForce ofrece a los usuarios la posibilidad de mapear datos hacia o desde operaciones WSDL. La estrecha integración con Visual Studio y Eclipse permite luego compilar el código dentro de cualquiera de estos entornos de desarrollo integrado (IDE) y desplegar el servicio en la máquina del cliente. Cuando se crea un nuevo proyecto de servicio web especificando un archivo de definición de servicios web (WSDL), MapForce genera automáticamente archivos de mapeo para cada operación SOAP individual.

Los mensajes de entrada y salida en formato SOAP pueden luego ser fácilmente adaptados a otros componentes de datos (XML, bases de datos, archivos de texto plano, EDI, XBRL, Excel 2007) para crear una operación completa de servicios web. También se pueden insertar funciones de procesamiento de datos, filtros y constantes para convertir los datos en tiempo real.

MapForce puede generar automáticamente el código de implementación de servicios web en Java o C# para la parte del servidor, y también es accesible para la automatización a través de la línea de comandos y a través de MapForce Server.

Gestión de relaciones con archivos

Para aplicaciones web complejas que incluyen una gran cantidad de archivos diversos y múltiples partes interesadas en el proyecto, MissionKit ofrece una herramienta gráfica avanzada para la gestión de relaciones entre archivos XML, integrada en SchemaAgent. SchemaAgent puede analizar y gestionar las relaciones entre esquemas XML, documentos de instancia XML (SOAP), archivos WSDL y XSLT. La opción cliente/servidor permite visualizar cualquier cambio en tiempo real para todos los miembros del grupo de trabajo.

Esto permite a las organizaciones rastrear y gestionar sus archivos de arquitectura orientada a servicios (SOA) más importantes como componentes individuales reutilizables, lo que reduce el tiempo de desarrollo y la probabilidad de errores.

Integración de datos

Un factor clave de cualquier arquitectura orientada a servicios (SOA) es la capacidad de que sistemas diferentes se comuniquen de forma fluida a través de procesos automatizados. MapForce, como herramienta gráfica de integración de datos y de implementación de servicios web que permite la comunicación entre cualquier sistema y cualquier otro, facilita esta tarea al ofrecer soporte para una amplia variedad de formatos de datos, incluyendo XML, bases de datos, archivos de texto plano (que pueden ser fácilmente procesados para la integración con sistemas heredados gracias a la utilidad exclusiva FlexText™), EDI, XBRL, Excel 2007 y servicios web.

MapForce admite escenarios complejos de mapeo de datos con múltiples fuentes y destinos, así como funciones avanzadas de procesamiento de datos. Las transformaciones se pueden automatizar fácilmente a través de MapForce Server. La integración completa con Visual Studio y Eclipse también convierte a esta herramienta en una opción ideal para el desarrollo en proyectos empresariales a gran escala, sin un costo elevado. Esto proporciona a los desarrolladores un componente de middleware flexible y ágil que puede funcionar en prácticamente cualquier arquitectura basada en servicios. La capacidad de integrar datos dispares de forma dinámica es un requisito fundamental en sistemas empresariales y sistemas interempresariales reales, donde los sistemas heredados y otros formatos menos flexibles coexisten con XML y otras normas modernas e interoperables.

Gestión de bases de datos

Incluso en el entorno web 2.0, que evoluciona rápidamente y se basa en la semántica, la mayoría de las empresas siguen utilizando una o varias bases de datos relacionales para almacenar y gestionar sus datos internos. El conjunto de herramientas Altova MissionKit permite trabajar con estos sistemas, que son los más utilizados, de diversas maneras. El soporte para bases de datos se ofrece en XMLSpy, MapForce, StyleVision y, por supuesto, en DatabaseSpy.

DatabaseSpy Es una herramienta integral para consultar, editar, diseñar y comparar bases de datos, que permite a los usuarios conectarse directamente a todas las bases de datos principales y editar datos, así como diseñar estructuras, a través de una interfaz gráfica de usuario. Esta herramienta ofrece funciones como la navegación por tablas, la edición de datos, asistentes de autocompletado de consultas SQL, el diseño visual de tablas, la comparación y fusión de contenido, y múltiples formatos de exportación. En una arquitectura basada en servicios, la capacidad de comparar y fusionar datos directamente en su formato nativo de la base de datos es un gran beneficio para los desarrolladores que necesitan identificar cambios, migrar diferencias o sincronizar versiones de tablas de bases de datos entre entornos de prueba y producción.

Como parte del MissionKit, DatabaseSpy ofrece a diferentes grupos dentro de las organizaciones la flexibilidad de trabajar con datos de múltiples bases de datos a través de una única interfaz centralizada. Ya sea que estos datos se integren eventualmente en otros sistemas o aplicaciones, o permanezcan permanentemente en la base de datos, DatabaseSpy proporciona una solución sencilla y flexible para la gestión y el mantenimiento de grandes volúmenes de datos.

Publicación de contenido exclusivo

En el mundo actual, caracterizado por la automatización avanzada en la transferencia y gestión de datos, sigue siendo necesario que los usuarios humanos consuman finalmente los datos en algún formato. El problema que a menudo enfrentan las organizaciones es, precisamente, en qué formato publicar la información. XML y la publicación desde una única fuente han revolucionado la gestión de contenidos, el intercambio de documentos e incluso las comunicaciones multilingües, al separar la estructura del contenido de su presentación. Un sistema de documentación basado en XML puede reducir significativamente los costos al facilitar la conversión para su entrega en diversos formatos de datos y tipos de aplicaciones. El concepto de "única fuente" garantiza que los procesos de trabajo (es decir, la conversión, las ediciones, etc.) no tengan que repetirse o reelaborarse, y que todo el contenido del repositorio solo requiera una mínima reestructuración y adaptación antes de ser cargado en las aplicaciones correspondientes para su entrega.

Altova StyleVision es una herramienta gráfica para el diseño de hojas de estilo que permite a los usuarios aplicar fácilmente Publicación de una sola fuente para XML, XBRL y contenido de bases de datos, sin afectar en absoluto los datos originales. De esta manera, las empresas pueden crear diseños de plantillas reutilizables para los datos, que luego pueden ser renderizados automáticamente en HTML, RTF, PDF, Microsoft Word 2007, e incluso en un formulario electrónico auténtico, para su publicación inmediata en cualquier medio imaginable, sin interrumpir ningún proceso, lo que resulta en la presentación de información precisa, consistente y estandarizada en tiempo real.

La publicación mediante una única fuente permite a las organizaciones añadir un componente humano a sus flujos de trabajo de procesamiento de datos altamente automatizados, permitiéndoles visualizar informes de transmisión en cualquier etapa. Por ejemplo, en un entorno donde la gestión del cumplimiento normativo juega un papel tan importante en las operaciones diarias de una empresa, StyleVision puede integrarse en cualquier arquitectura orientada a servicios (SOA) para proporcionar una especie de registro de auditoría visual que permita la revisión manual de transacciones XML, XBRL y de bases de datos. El enfoque basado en plantillas de StyleVision para el diseño de hojas de estilo lo convierte en una adición ideal para un entorno de desarrollo distribuido, donde los procesos repetibles son una parte integral de la eficiencia general del sistema.

Conclusiones

Las crisis económicas pueden dificultar la decisión de invertir en tecnología. Sin embargo, las organizaciones con visión de futuro descubrirán que centrarse en la reestructuración de los activos existentes, la automatización de los procesos internos y la incorporación de una capa de virtualización a su infraestructura de aplicaciones puede conducir a aumentos en la eficiencia, la velocidad y, potencialmente, a un retorno de la inversión enorme. El Altova MissionKit proporciona a las empresas todas las herramientas necesarias para mejorar su arquitectura empresarial con soluciones iterativas y orientadas a procesos que permitirán recuperar costes a través de la reutilización de los activos existentes y la capacidad de implementar la automatización basada en la web, tanto dentro como entre organizaciones, a escala global.

MissionKit es una solución muy asequible que ofrece a desarrolladores, arquitectos de software y usuarios de TI todas las herramientas necesarias para crear soluciones tecnológicas flexibles y potentes, así como mejorar la eficiencia, todo ello sin exceder el presupuesto.