Merapi Project Utilizes Java to Expand the Desktop Capabilities of Adobe Air

| by Scott Delap Follow 0 Followers on May 22, 2009. Estimated reading time: 1 minute |

The Merapi project recently was open sourced.  Merapi is a technology that can be used as a messaging bridge between applications that run in the Adobe Flash player or Adobe AIR and applications written in Java.  Air's security sandbox allows some common desktop interactions like systray support, file access, etc.  However, it does not allow other operations such as access to USB devices or launching of native applications.  This is where Merapi comes in by creating a simple messaging framework to allow Flash, Flex and Air applications to communicate Java.   Java can then be used to proxy requests and interation with such sources. Sending messages can be done via a simple API:

var message : Message = new Message(); = " Hello from Merapi Flex.";
message.type = "Reply";
Bridge.instance.sendMessage( message );

One of the higher profile uses of the new technology is in the Tesla Model S car:

...Merapi is a revolutionary solution for bridging traditional desktop and Web technologies, closing the gap between what has traditionally been a separation of the two. Merapi's key advantages include:
-- Access to hardware devices: Browser-based technologies (Adobe Flash, Microsoft Silverlight, AJAX) previously did not have native access to hardware other than microphone and Web cam.
-- Access to existing APIs: Merapi makes existing open source and commercial software accessible from the browser or from runtime engines such as Adobe AIR without the need for a server.
-- Improved core performance of an application.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Thanks by Adam Flater

Thanks for the coverage. There's also more on my blog about the release:


GPL3 by Roger Voss

We lost complete interest in Merapi when we saw it decided to go with GPL3 license.

This licensing is the kiss of death per any manner of corporate update of this library.

It's architecture ended up being frustrating anyway. What we wanted was a mini JMS-like message broker sitting on the Java side where multiple AIR apps (and/or other Java processes) could connect as clients (i.e., multiple clients). And that concepts like pub/sub topics would be supported.

Looks like we can take BlazeDS servlet, drop it in to jetty, and embed jetty in the Java app to accomplish exactly that. Then we'll have a much more flexible solution than Merapi. BlazeDS has a basic intrinsic pub/sub messaging capability. It supports a persistent-style of Comet connection to enable message push. So bi-directional messaging can be accomadated.

Re: GPL3 by 万 安平


Re: GPL3 by Adam Flater

Could you elaborate on your concerns about the license? It's licensed under LGPL3 not GPL3.. meaning, all you have to do is include our source (or link back to it). This does not require your source to be open or free.

That said, it's not going to be the solution for every problem. Our goal is to start reaching many platforms in a ubiquitous manner. That leaves out using platform specific technologies to build the framework on. Also, we're looking to keep it very light weight. Blaze + Jetty is just a too heavy for many problems.

Thanks for the feedback.

Re: GPL3 (is actually LGPL3) by Roger Voss

Adam Flater clarified with me in private email exchange that Merapi is under LGPL3 - not GPL3. The Merapi google code web site is being adjusted to where the license is properly referenced as LGPL3.

As such our company will get behind Merapi as the definitive open source solution for Java and AIR interprocess communication.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

5 Discuss