Friday, October 19, 2007

How to install and run Adobe LiveCycle Data Services ES 2.5.1 on Mac OS X

This post outlines step-by-step instructions to get the latest Adobe LiveCycle Data Services ES (formerly Flex Data Services) running natively on a Mac. Okay – before you get excited, Adobe does not support this but I did some tinkering around with JBoss 4.2.1 GA and Adobe LiveCycle Data Services ES 2.5.1 and got it running natively on Mac OS X. Below is the screenshot in Safari.

Before you read how to do this, please understand a few things. First, Adobe LiveCycle Data Services ES is not supported on Mac OS X. In fact, we do not even release it (but don’t worry, it is not hard to install). If you do not know what LiveCycle Data Services ES is, it used to be called Flex Data Services. It is now part of the LiveCycle Service platform and has lots of great features. It has a really cool server component that can do wicked messaging stuff to round trip between a J2EE environment and Adobe Flex, AIR, HTML or AJAX applications.

Why? I ported this over and posted this as a result of Adobe MAX 2007 in Barcelona. Macs were everywhere. At JavaOne and MAX, I suspect that about 50-60% of the developers are now using Macs. We used Macs in our hands-on training rooms and they got taken up first.

Here are the full instructions for getting LiveCycle Data Services ES running on a Mac. Please don’t complain if it doesn’t work. We don’t support it (currently -- but if you’re interested tell me and I’ll work on product management to see if we can get it supported) and we’re on our own for now. Here are the steps:

1. Go to and download the JBoss 4.2.1GA release. Unzip it somewhere (I put it on my desktop).

2. Grab a terminal and navigate to the /bin and enter “sh ./” as shown below. Note – you must run it with sufficient privileges. If you have trouble try entering “sudo sh ./” and you will be prompted for the SU password.

3. Grab Safari and go to http://localhost:8080 to verify it works. You should see a screen welcoming you to JBoss app server.

4. If it worked, stop the application server by going to the /bin and typing “sh ./”, then hit enter. Or, you can simply put the cursor in the shell and hit “Control-C”. The latter is not recommended but it works.

5. Go to and follow the steps to download LiveCycle Data Services ES version 2.5.1. Make sure you select the AIX version. When you finish downloading it, click the file and install it. (note: it does install even though Adobe does not claim it installs). It will create a directory on the Mac at /Adobe/ as shown below.

6. Now the important part. Expand the LiveCycle Data Services ES 2.5.1/resources/security/tomcat/ directory then copy the <lcds_install_root>/resources/security/tomcat/flex-tomcat-common.jar and <lcds_install_root>/resources/security/tomcat/flex-tomcat-server.jar into the jboss_root/server/default/lib folder of your JBoss install. This will allow custom authentication to work.

7. From the same location, copy <lcds_install_root>/resources/security/tomcat/context.xml to your JBoss under the WEB-INF directory or adjust an existing context.xml to add the <valve>. You’ll have to open the context.xml files to compare them. Copying works best if you have a fresh install of JBoss.

8. Expand your <lcds_install_directory> and copy the following files:
flex-admin.war flex.war samples.war

9. Paste those samples in the <jboss_install_directory>/server/default/deploy directory.

10. Restart JBoss as described above (Step 2). Get your browser and go to http://localhost:8080/samples and you should see this:

Now try the samples. If they work you have succeeded! Congratulations.

Running it on a Mac, I noticed several advantages. First, the start up time is really fast -- it started in 28 seconds. For contrast, at MAX 2007 in Barcelona, the same software on a PC with 2 GB RAM took about 1:35 to start. I have 4 GB of RAM on an Intel Core 2 Duo machine so it gives it a small advantage.

Enjoy! Let me know if you thought this was cool.

Adobe MAX 2008 - help us!

Adobe MAX 2008 has been officially announced. It will take place at the Moscone Center in San Francisco, CA. While looking around for comments on this I found someone on Ben Forta's blog post on the subject who objected to the location due to the expense. Sometimes in an attempt to just make things happen, we let details like this slip through the cracks.

I would like to invite anyone who has ideas for how we can make MAX 2008 better to comment on this blog post and give us ideas. One of our corporate mantras is "good ideas come from everywhere in the company" and it seems like now is a good time to go with a truncated Web 2.0 version of that - good ideas come from everywhere.