Apollo + Artemis: these Greek twins have got to irk Microsoft

In Greek mythology, Artemis was the twin sister of Apollo … In todays world Artemis is a community project to extend and enhance Adobe’s Apollo by connecting it with Java … the idea is to build very rich and interactive User Experiences for desktop Java applications in traditionally Internet based user interface technologies Flex/Flash/AJAX instead of using traditionally desktop UI technologies like Java Swing.

Artemis Project

All of us who have built front-ends for desktop software in Swing/.Net etc. earlier and later moved to developing RIA user interfaces in Flex understand how much simpler things are with Flex. I have done a lot of Swing development in the past and it is truly a very powerful framework that can be used to create anything that you can create in Flex … but, it can get quite hard and cumbersome as the complexity of the interface increases. Enter Artemis …. with Artemis you can develop your desktop based application in Java and create a User Interface for it in Flex/Flash or even AJAX. Isn’t that awesome!!

Apollo has out of the box support for reading/writing Files and windowing but with Artemis it brakes all boundaries, any kind of desktop software could now have a Flex interface. You could now have an Apollo/Flex application start/stop processes, talk to hardware devices on your system, make RPC calls to other process, make system calls … pretty much anything Java can do on the desktop, you can do it with this new combo of technologies but now not only is your user interface easier and faster to build and maintain, it can look a lot better than what desktop software ever have. With this, Apollo is in true competition with Microsoft’s WPF, I wonder what Microsoft feels about that ;)

The Artemis project was started by Adam Flater, Sean Christmann and Tony Hillerson from effectiveUI but their intention is to run it as community project where developers can write and publish the Java and Flex components that make up an Artemis library at the Artemis Website. Any Java library that you have can be converted to an Apollo accessible form using the Artemis bridge. Artemis just like Apollo is still in alpha and currently there are three java libraries present in the project:

  • Screenshot Library
  • Generic JDBC Connection Library
  • XSLT Library

Artemis

There is a very nice example Apollo application Artemis Screenshot available for download on the Artemis download page …. an awesome demo of the Wii light saber application that was showcased in Apollo Camp can be seen here at Adam’s blog.

I was my self thinking of possible applications that i could build using Java+Artemis+Apollo+Flex and the first thing that came to mind was the very first enterprise application that I ever worked on at EMC during my first job … EMC AutoStart which is a high availability clustering solution that allows you create and mange clusters of as much as a hundred systems in order to ensure high availability of enterprise applications like databases, email servers, banking software etc. The core of AutoStart is very complex and has evolved a lot in over 10 years so maintaining this core left us developers very little time for the Swing based UI. My first thought was that with Artemis AutoStart team could now very easily replace their existing UI with a nice Flex interface and the effort involved would also not be much .. i hope someone from my old team is listening.

So you see … this new project has a lot of scope and I am very excited about it.

To get more information about Artemis .. head over to the project homepage. Many other people have talked about Artemis on their blogs and I am leaving links to some of these posts for your reference:

ZuesI noticed something funny on the Artemis home page .. the author of the different news items is called Zues … this is funny because according to Greek mythology Zeus was the father of Apollo and Artemis :)


About this entry