Ir a Tecsisa.com
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.