Welcome to Babel’s documentation!

_images/logo-without-pole.png

Babel is an elegant way to write your integration solution. It tries to provide as much as possible validation during the definition of your integration solution in order to avoid time spent into testing or deploying invalid code.

Babel is a layer on top of the main integration frameworks and may be used from Scala and Java source code. The following documentation should guide you into your journey toward a new way to write integration in a secure and efficient way.

Currently, Babel provides an API on top of Apache Camel which may be used in Scala. Java API and other integration frameworks implementation would be implemented into the Babel experimental project (coming soon).

Modular

Babel provides extension which may get composed in order to add specific functionalities.

Typed

Babel provides typing validation all along your routes.

Functional

Babel allows you to use functions to configure your integration solution.


Multi languages

Babel provides API for both Java and Scala.

Integration

Babel aggregates main knowledge and technologies around EIPs such as modeled by Apache Camel and Spring Framework Integration

OSGi integrated

Babel may run into OSGi environment and is also packaged for Apache Karaf.


To get a rapid feeling over the main features provided by Babel, you may have a look at those slides: Babel overview .

To use Babel on top of Camel, you may use the Babel Camel module. Please have a look to the Babel Camel User Guide for more details and examples.

val routeBuilder = new RouteBuilder {
  //the input string is "4,3,1,2"
  from("direct:input").as[String].
    //the message body is split and then its output is sorted
    sort(msg => msg.body.getOrElse("").split(",")).
    //the output is List("1", "2", "3", "4")
    to("mock:output")
}

Note

In the following documentation,

  • Keywords are written such as from, to or process
  • Classes, packages, modules are written such as RouteBuilder or io.xtech.babel