Apuntes camel


Introducción

primero que todo, debo advertir que si buscar una definición exacta y estricta, este articulo no es para ti. Estos apuntes están dirigidos para quien desea realizar pruebas de manera rápida, familiarizarse de forma veloz con los principales conceptos y aprender de forma empírica CAMEL.

A medida que he ido ocupando la herramienta en el trabajo he ido anotando los apuntes, con la intención de leer y recordar de forma eficiente las ideas mas importantes. Espero que esto también le pueda servir a otro tanto como a mi :) 

¿Qué es Camel?

Camel es un integrador de servicios, o sea le damos un origen y un lugar de salida para que comunique distintos sistemas. Es como un enlace, una herramienta que se encuentra al medio de la comunicación de dos ambientes distintos.

Camel lo podemos usar con JAVA y este a su vez con Spring boot y maven, de esta forma podemos utilizar Camel en proyectos Spring boot basados con Maven. solo agregando las dependencias necesarias.

1- Creamos un servicio básico

Este servicio tendrá el propósito de tener disponible una ruta GET que obtiene como parámetro un nombre, de esta forma lo procesa y saluda con ese nombre, o sea es algo super simple nada fuera de este mundo.

Vamos a la web https://start.spring.io/ 


Creamos nuestra aplicación con las dependencias Web Services y DevTools .  


1.2 Abrimos nuestro proyecto con nuestro IDE favorito y creamos nuestro endpoint,  este es una ruta Get que recibe el nombre como parámetro para saludar:


2-  Creamos un servicio CAMEL
 Por otro lado tendremos nuestro servicio con CAMEL para habilitar una ruta REST y que a su vez consuma el servicio anterior para dar la bienvenida. 

Por ejemplo:
Endpoint habilitado por Camel: localhost:8002/bienvenido/pepe: este enviara el nombre "pepe" al servicio "saludo" para consumirlo y devolver la respuesta del mismo, o sea camel funciona como un intermediario recibe un parámetro y lo envía al servicio "saludo" quien realiza el trabajo, de procesar el saludo.


Empezando creando el proyecto Spring boot:
Es igual al proyecto "saludo", pero agregamos la dependencia CAMEL y le cambiamos el nombre al proyecto.







De esta forma con Camel habilitaremos u

2- Segundo ejemplo: Consumir un servicio REST API desde una ruta Camel

En este caso tendremos un servicio Sprint boot, con una ruta que obtendrá un nombre y este servicio devolverá un saludo pero con el nombre al revés:

"localhost:8082/sociable/jorge" devolverá "hola egroj"


De esta forma el usuario final ejecutara la ruta CAMEL y este por detrás consumirá el primer servicio y mostrara el resultado en pantalla, de esta forma camel habilita un punto y llama a otro punto, actúa como comunicador, un intermediario en el flujo de datos.







 Tenemos dos formas de hacer las rutas para restfull

Camel java DSL

from("rest:api/orders").to("jms:orders");


rest DSL

rest("api").{method}("orders").to("jms:orders");



las transformaciones las podemos hacer con un bean o con process


Comentarios

Entradas populares de este blog

¿Como llamar una función del componente padre desde un componente hijo, en angular 8?

Frontend: Suscripciones y Observables con Angular 8

Enrutado con lazy loading en angular 8