INTEGRACIÓN DE APLICACIONES
UN LENGUAJE ESPECÍFICO DE DOMINIO PARA EL
DISEÑO DE SOLUCIONES DE INTEGRACIÓN
RAFAEL Z. FRANTZ
UNIVERSIDAD DE SEVILLA
RESEARCH REPORT
DR. RAFAEL CORCHUELO
JUNIO, 2008
First published in June 2008 by
The Distributed Group
ETSI Informática
Avda. de la Reina Mercedes s/n
Sevilla, 41012. SPAIN
Copyright c MMVIII The Distributed Group
http://www.tdg-seville.info
[email protected]
In keeping with the traditional purpose of furthering science, education and research,
it is the policy of the publisher, whenever possible, to permit non-commercial use and
redistribution of the information contained in the documents whose copyright they
own. You however are notallowed to take money for the distribution or use of these
results except for a nominal charge for photocopying, sending copies, or whichever
means you use redistribute them. The results in this document have been tested ca-
refully, but they are not guaranteed for any particular purpose. The publisher or the
holder of the copyright do not offer any warranties or representations, nor do they
accept any liabilities with respect to them.
Categorías (ACM 1998): D.2.11 [Software Architectures]: Domain-specific architectu-
res; D.2.13 [Reusable Software]: Domain engineering.
Financiación: Evangelischer Entwicklungsdienst e.V. (EED), Plan Nacional de I+D+I
(expediente TIN2007-64119) y la Orden de Incentivos de la Junta de Andalucía (expe-
diente P07-TIC-02602). Parte de esta financiación procede de fondos FEDER.
Amimujeryamispadres.
Índicegeneral
Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IX
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI
I Prefacio
1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Contexto de investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Propósito de esta investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2
1.2.1 Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3 Validación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Resumen de contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4
2.1
2.2
2 Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Alcance de las herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2 Capacidades de modelado . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.3 Características técnicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Discusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4
II Revisión de propuestas
II
Índicegeneral
3.1
3.2 Apache Camel
3 Herramientas para la integración . . . . . . . . . . . . . . . . . . . . . 29
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.1 Mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.2 Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.3 Puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.4 Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.5 Despliegue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.6 Ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.7 Miscelánea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3 Mule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3.1 Mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3.2 Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.3 Puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3.4 Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.5 Despliegue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3.6 Ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3.7 Miscelánea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4 Apache ServiceMix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.1 Mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.4.2 Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4.3 Puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4.4 Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4.5 Despliegue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4.6 Ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4.7 Miscelánea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Spring Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5.1 Mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5.2 Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.5.3 Puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.5.4 Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.5.5 Despliegue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5.6 Ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.5.7 Miscelánea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
BizTalk 2006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.6.1 Mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.6.2 Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.6.3 Puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.5
3.6
Índicegeneral
III
3.6.4 Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.6.5 Despliegue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.6.6 Ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.6.7 Miscelánea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.7
III Nuestra propuesta
4 Metamodelo Guaraná . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.1
4.2
Estructura de la solución de integración . . . . . . . . . . . . . . . . . . . . . 84
4.3 Mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Building blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.4
Puertos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.5
4.6
Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.7
4.8
Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
IV Consideraciones finales
5 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
V Apéndices
A Terminación de la documentación . . . . . . . . . . . . . . . . . . . 111
B Calidad de la documentación . . . . . . . . . . . . . . . . . . . . . . . 113
Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
IV
Índicegeneral
Índicedefiguras
Estructura y taxonomía de los mensajes y exchanges en Camel
Estructura y taxonomía de las tareas de Camel
3.1 Conceptos del mundo de la integración . . . . . . . . . . . . . . . . . . . . . . . . . 31
. . . . . . . . . . . . . . . . . . 33
3.2 Modelo conceptual de la arquitectura de Camel
3.3
. . . . . 35
3.4
. . . . . . . . . . . . . . . . . . . 39
3.5 Modelo conceptual de la arquitectura de Mule . . . . . . . . . . . . . . . . . . . 42
3.6
Estructura de los mensajes en Mule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Tipos de tareas de Mule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comentarios de: Integración de aplicaciones (0)
No hay comentarios