I'm super excited to announce RxMule, my latest open source project. RxMule
provides reactive extensions for Mule ESB, via a set of specific bindings for
For several years, I've been mulling over the idea of creating a DSL for
configuring Mule. Indeed, there is a treasure trove of pre-existing
transports and connectors for Mule, which is very compelling for anyone
building connected applications (which, nowadays, is probably everybody).
Unfortunately developers can be put off by the XML-based DSL used to
configure Mule, and thus may pass the opportunity to leverage all this
As Rx is gaining traction, more and more developers are getting accustomed to
its concepts and primitives. With this mind, and knowing that Mule is at core
an event processing platform, it dawned on me that instead of creating a DSL
that would mimic the XML artifacts... (more)
Call Me Never (Ignite Talk)
I've been super honored to give an ignite talk during DevOps Days Vancouver
2014. Ignite talks are intense, as the slides mercilessly fly-by every 15
seconds, and this for 5 minutes sharp (yes, that's just 20 slides!).
In this talk, I tried to present some of the lessons we've learned
at Unbounce while rebuilding our page serving infrastructure. Our
availability target is five-nines (that's an allowance of 6 seconds of
downtime per week) so we've put lots of effort into building a stable,
self-healing, gracefully-degrading piece of software. We had a f... (more)
In Mule ESB, outbound dispatching to a destination whose address is known at
runtime only is a pretty trivial endeavor. A less frequent practice consists
in programmatically defining inbound service endpoints.
I recently had to do such thing for a little side project I'm running where
Mule is used as a frontal bus and load throttler in front of a R nodes
exposed over RMI. The goal was to have a non-fixed number of file inbound
endpoints defined in a simple properties file and declare them on a
particular service during the initialization sequence of Mule.
As an integration framewo... (more)
I'm happy to announce the very first release of my latest Erlang open source
project, jerg, a JSON Schema to Erlang Records Generator.
The objective of this project is to be a build tool that parses a rich domain
model defined in JSON Schema (as specified in the IETF Internet Draft) in
order to generate record definitions that can be used to Erlang applications
to both read and write JSON.
I believe that having a formally defined object model for the data that's
exchange over web resources is a major plus for APIs. It doesn't necessary
imply that consumers have to generate static c... (more)
To be able to do anything useful, an ESB must be configured with all sorts of
parameters, from endpoint connection URIs to message transformation scripts
to content-based routing definitions. Moreover, ESBs like Mule can host
custom components, which will process messages and perform user-specific
actions on them.
Deploying a new version of an ESB configuration raises the question of
whether it will break anything. How can we build confidence that everything
will be just fine? If unit testing did it for standard software development,
what can it do in the realm of the ESB? Since... (more)