Introducción a la Cría de Camellos

María Arias de Reyna

@delawen

Vengo a hablaros de
Open Source
Integration Frameworks for
IPaaS
on Hybrid Platforms
using EIP
#Buzzword #Buzzword
#Buzzword #Buzzword for
#Buzzword
on #Buzzword #Buzzword
using #Buzzword
Framework for Data Workflows #Buzzword for #Buzzword #Buzzword MOVER DATOS DE UN LAO PA' OTRO

Enterprise Integration Patterns

Spring Integration, Apache Camel, Red Hat Fuse, Mule ESB, Guaraná DSL

Apache Camel NO es:

Una biblioteca de conectores


Apache Camel es:

Un framework para crear workflow de datos

incluyendo una biblioteca de conectores,

una biblioteca de conversores

y un enrutador

...y todo esto en menos de 5 megas

¿Cómo puedo definir un workflow?


//Definir claves

from("twitter-search:#svqtech")

  //Conversores

  .to("rest:get/procesar/{body.twit}?host=my.rest.endpoint/")

  //Conversores

  .to("jdbc:mydb")

¿Cómo puedo definir un workflow?


//Definir claves

from("twitter-search:#svqtech")

  .process(processor1)

  .to("rest:get/procesar/{body.twit}?host=my.rest.endpoint/")

  .process(new Processor() {

    public void process(Exchange exchange) throws Exception {

      String payload = exchange.getIn().getBody(String.class);

      // do something with the payload and/or exchange here

      exchange.getIn().setBody("Changed body");

    }

  })

  .to("jdbc:mydb")

¿Cómo puedo definir un workflow?


from("twitter-search:#svqtech")

  .choice()

    .multicast().parallelProcessing()

      .to("rest:get/procesar/{twit}?host=my.rest.endpoint/", "jdbc:mydb")

¿Cómo puedo definir un workflow?


from("twitter-search:#svqtech")

  .to("rest:get/procesar/{body.twit}?host=my.rest.endpoint/")

  .choice()

    .when(header("myFlag").regex(myPattern))

      .to("jms:myqueue")

    .otherwise()

      .to("jdbc:mydb")

¿Tengo que programar? ¿Sólo puedo usar Java?

¿Querías algo que no fuera Java?

Tenemos XML

<route>

  <from uri="twitter-search:#svqtech"/>

  <to uri="rest:get/procesar/{twit}?host=my.rest.endpoint/"/>

  <to uri="jdbc:mydb"/>

</route>

Spring-Boot compatible

Camel-K

Camel Quarkus

¿Y no hay una interfaz gráfica para dummies?

¿Y tengo que entender de todo esto para usarlo?

¿Y no hay una forma más sencilla para no desarrolladores?

(O para desarrolladores que se quieren simplificar la vida)

Demo time!

Os he hablado de


Open Source

Integration Frameworks

for IPaaS

on Hybrid Platforms

using EIP

¿Preguntas?