Tag: JavaScript

Mariano Gonzalez on Tuesday, February 3, 2015

Library upgrades in Mule ESB 3.6


If you have read the Mule ESB 3.6 release notes then you already know what I’m about to say, but just to recap, here we go…

A lot of effort was put in 3.6 to upgrade our libraries stack. Even though we try to stay innovative, it doesn’t make sense to reinvent the wheel all the time, so we use a lot of third-party libraries. However, keeping those up-to-date while maintaining our strict backwards compatibility policy is something that’s really difficult to do. As a result, we haven’t always managed to keep up.

Mike Stowe on Monday, February 2, 2015

Meetups@MuleSoft: ProtoNight


Welcome to the first episode of Meetups@MuleSoft, a new podcast series that highlights some of the coolest meetup groups in the San Francisco area. In this episode, we’re talking about ProtoNight – a meetup where ideas meet developers, FreeCodeCamp.com, Fiskkit, Xiki, and a recap of the 2014 APICon hackathon.

A special thank you to everyone that participated in this inaugural Meetups@MuleSoft podcast!  

Sometimes when transforming complex data structures or applying business rules to your integration, you may face the need to add some custom code. We make our best effort to try to productize and solve every common use case we come across, but sometimes it’s just not enough. When that happens, you probably turn to the programming language you love the most for help. If you’re a Java guy, you can build your own custom components and/or transformers inside Mule. If you’re into .NET, we recently released our .NET integration framework. We also have something we call the “scripting pack” which enables the use of scripting languages such as Groovy, Javascript, Python or Ruby inside your flows. For Mule 3.6, we decided to give it a big upgrade!

At Mulesoft we have open source software deep in our DNA: Our core product source code is on github. We have hundreds of public projects there as well, and we have contributed to many open source projects including Node.js itself. We’re excited about Node.js and have several large, sophisticated Node.js projects in development. Our use of cutting edge Node.js features has resulted in both a lot of knowledge gained and, no surprise, a lot of pain experienced.

It’s been a long time coming, but we’re glad it’s here. Oracle just announced the arrival of Java 8 – a long-anticipated update which includes the addition of lambda expressions and support for functional programming. Here’s a look at some of the new features and why they are important to engineering at MuleSoft.

Functional Support

Lambda expressions bring functional programming to the Java language. Lambdas enable you to treat functionality as a method argument, or code as data and express instances of single-method interfaces more compactly. We experiment in different languages here all the time and functional programming has made a big comeback in the past few years with more developers moving to JavaScript, Scala and Clojure due to their expressiveness and ease of use. It’s great to see Lamba support in Java and acknowledgement that sometimes there are simpler ways to do things.

alberto.pose on Wednesday, September 25, 2013

Introducing the NPM Maven Plugin



Suppose that you have a Maven project and you want to download Node.js modules previously uploaded to NPM. One way of doing that without running node is by using the npm-maven-plugin. It allows the user to download the required Node modules without running node.js: It is completely implemented on the JVM.

Getting Started

First of all you will need to add the Mule Maven repo to you pom.xml file:

After doing that, you will need to add the following to the build->plugin section of your pom.xml file:

When you come from a class based programming language, doing objects in JavaScript feels weird: Where is the class keyword? How can I do inheritance?

As we are going to see, JavaScript is actually pretty simple. It supports class like definition of objects and single-inheritance out of the box.

But first, a small tip to change your reading experience. By using your browser JavaScript console, you can play with the examples without leaving this page:

  • Chrome: MacOSX Cmd-Alt-J / Windows Ctrl-Shift-J
  • Firefox: MacOSX Cmd-Alt-K / Windows Ctrl-Alt-K
  • Safari: Cmd-Alt-C (only if you enable the Develop menu on Advanced Settings)

If you’ve evaluated RESTx, our brand new platform for building RESTful web services, you’ve certainly noticed its Python-Java hybrid nature. Indeed, besides its vocation of being the simplest way to create RESTful web services, RESTx has been designed with the idea of letting programmers use their favorite JVM language when creating resource components.

So far, we naturally had Python, with which the RESTx core has been written, and Java, the default language of the JVM. We’re happy to announce that, since version 0.9.4it is now possible to write RESTx components with JavaScript!

By adding support for JavaScript in RESTx, our goal was to open the door of RESTful web services and application integration to web developers. To be sure, the need for integrating systems and applications is not the preserve of enterprise developers anymore, especially with the advent of SaaS and cloud computing. With RESTx, web developers can now accomplish such a complex task within the comfort of their favorite language.

Version 0.9.4 of RESTx – the fastest way to create RESTful web services – has just been released. The main features introduced by this version are the ability to write components in server-side JavaScript, the addition of a JavaScript client library and much improved handling of content types for input and output. You can download it now.

I am very excited to announce that MuleSoft has launched a new open source integration product called iBeans (short for Integration Beans). iBeans provide a way to dramatically simplify common integration tasks for Web application developers.

Why did we create iBeans?