Ir a Tecsisa.com
15may/10

¿Por qué SOA?

En un post anterior hemos discutido sobre las ventajas que aporta un Enterprise Service Bus como implementación de SOA (Arquitectura Orientada a Servicios) en la organización. Sin embargo, previo a la decisión de desplegar un ESB en la compañía cabe plantearse por qué necesitamos SOA en nuestra implementación de los procesos de negocio.

Para entender qué ventajas aporta la arquitectura SOA tenemos que hablar del concepto de Coste de Propiedad o TCO (Total Cost of Ownership). El TCO es una estimación financiera que ayuda a los consumidores y gestores a determinar cuáles son los costes directos e indirectos de un producto o servicio. Es decir, independientemente del precio de un producto o servicio, debemos plantearnos cuáles son los costes de renovación, mantenimiento o incluso ecológicos y sociales ligados a la adquisición de dicho producto o servicio. En la industria del hardware y del software es particularmente importante considerar cuáles van a ser los costes implicados en la integración del nuevo desarrollo o producto adquirido con nuestros sistemas previos. Es decir, cómo de fácil o difícil será el encaje del nuevo sistema y de los futuros en la nueva configuración del mapa de sistemas.

13mar/09

Tutorial: primeros pasos con Apache ServiceMix 4

El ESB Apache ServiceMix incorpora el estándar OSGi para seguir liderando la implantación de soluciones SOA open source. En este tutorial daremos los primeros pasos con Apache ServiceMix 4 para hacernos una idea de hasta dónde podemos llegar integrando servicios web e implementando procesos de negocio.

Antecedentes

Service Mix 4 con entorno OSGiCon la publicación de la versión 3.3, el proyecto Apache ServiceMix ha dado por concluido el desarrollo de un ESB compatible por completo con el estándar JBI.

Esta versión ha dado muestras de gran estabilidad y robustez y es la distribución de ServiceMix recomendada para cualquier proyecto real basado en esta tecnología.  Por supuesto, el mantenimiento de esta versión está garantizado y es de esperar que en los próximos meses aparezcan mini releases de mantenimiento que resuelvan los defectos detectados en la versión 3.3 del producto.

Dicho esto, en la actualidad el equipo de proyecto está centrado en el desarrollo de una nueva versión del ESB, completamente renovada y rediseñada para soportar una arquitectura basada en OSGi. En este sentido, Apache ServiceMix 4 se alinea con la corriente predominante en los nuevos desarrollos de servidores de aplicaciones Java como Sun Glassfish, Bea Weblogic o el SpringSource dm server.

6mar/09

Tutorial: Integración de Apache Camel con el ESB Apache ServiceMix

Continuamos nuestra serie de tutoriales sobre el ESB Apache ServiceMix presentando un nuevo enfoque de implementación de EIPs distinta a la planteada en Enterprise Integration Patterns en ServiceMix. En este caso, exploraremos la integración del ESB Apache ServiceMix con Apache Camel presentando un sencillo caso de uso, típico de proyectos de integración de sistemas.

6mar/09

Tutorial: Domain-Specific Languages (DSLs) en Apache Camel

Este tutorial es una introducción a los lenguajes de dominio específico o DSLs (Domain-Specific Languages). Nos centraremos en los DSLs internos mediante la creación de una sencilla ruta o pipeline de Apache Camel utilizando Java como lenguaje base.

¿Qué son los DSL?

Los DSLs son lenguajes de programación especialmente diseñados para desarrollar software restringido a un dominio determinado. A diferencia de los lenguajes llamados de propósito general como Java, C++ o C#, los DSLs cuentan con un universo limitado de aplicación. No obstante, gracias precisamente a esta especialización, presentan facilidades y ventajas a la hora de abordar los problemas de software para los que fueron diseñados y desarrollados.

Domain Specific LanguacePara definir e implementar lenguajes DSL es posible basarnos en un lenguaje de propósito general que sirva como contenedor, o bien partir de cero, requiriendo en este caso de específicos compiladores o intérpretes. Los DSLs del primer tipo citado suelen denominarse DSLs internos dejando la categoría de externos para los del segundo tipo.

En este tutorial veremos que es posible desarrollar un DSL íntegramente en Java poniendo como ejemplo el enfoque dado a las rutas o pipelines en Apache Camel. Además, haremos hincapié en las ventajas que presenta el uso de lenguajes DSLs, y de los DSLs internos en particular, citando también sus inconvenientes y subrayando en qué casos aplica de forma más natural un DSL externo.

24feb/09

Tutorial: Enterprise Integration Patterns (EIP) en Apache ServiceMix

Continuamos con la serie de tutoriales que comenzamos con el artículo Explorando Apache ServiceMix en 15 minutos con el objetivo de introducir las potentes características que presenta el ESB Apache ServiceMix. En esta entrega, veremos como Apache ServiceMix soluciona escenarios de integración que se ajustan a los llamados patrones de integración empresariales o EIPs. Plantearemos un nuevo caso de uso típico de estos escenarios y lo resolveremos reduciendo al mínimo el acoplamiento entre los distintos componentes de la solución.

¿Por qué aplicar patrones de integración?

Los EIPs identifican problemas de integración comunes presentando una manera unificada de resolverlos sin entrar en el detalle de su implementación. Estos patrones fueron identificados y redactados por Gregor Hohpe y Bobby Woolf en el famoso libro Enterprise Integration Patterns manteniendo además una comunidad activa a través de su sitio web.

Tutorial sobre el uso de patrones de integración en ServiceMixLas necesidades de integración de sistemas y aplicaciones son comunes a la mayoría de organizaciones y son mayores conforme crece el tamaño o la complejidad tecnológica de la organización. Históricamente, se han venido desarrollando distintas maneras de enfocar el problema de la integración y por supuesto éste ha sido abordado con anterioridad a los ESBs. Desde los ficheros planos, o las bases de datos relacionales, hasta los más recientes productos del tipo hub and spoke, la evolución en el tratamiento de la integración se ha dirigido hacia la reducción del acoplamiento entre los distintos agentes intervinientes.

En este sentido, los ESBs, y en particular Apache ServiceMix, pueden verse como una culminación de esta tendencia en la que ni siquiera es necesario mantener un elemento central de orquestación, como ocurre con los hub and spoke, sino que la propia orquestación puede estar distribuida en varios nodos cada uno de ellos con su propia instancia de ESB.