I have recently blogged a little on Funambol, the open source mobile
application server. After spending the last week playing with this software and
finally having some success with PIM synchronisation, I thought it may be a
good idea to take a closer look and go through the basic steps required to getthings running.
What is it?
an open source mobile application server platform which provides both a data
synchronisation engine and a software development platform for mobile
applications. Funambol is the de facto standard implementation of the Open Mobile Alliance
Data Synchronization and Device Management protocols (OMA DS and DM, formerlyknown as SyncML).
What does it offer?
Funambol claims to offer the following:
- Push E-mail
- Address book and calendar (PIM) data synchronisation
- Application provisioning
- Device management for wireless devices and PCs
- This means BlackBerry-like capabilities on commodity handsets
Now I say that Funambol claims to offer these features, as
while looking into the project, I have found that there is a divide between
what Funambol can actually do in the real world and what people may be led to
believe it can accomplish. There is quite a bit of future tense being used on
the mailing lists; well come to this later. I am, of course, approaching thisfrom the viewpoint of an enterprise user rather than that of a mobile operator.
Many different devices are supported by Funambol and its
various plugins/connectors. SyncML-enabled mobile phones (from Sony Ericsson,
Nokia, Motorola, Samsung and others), RIM Blackberry, Windows Mobile (pocket
pc), Palm, and even Apple's iPod can be used with the data synchronisation
engine. On top of that, various software clients can be used includingMicrosoft Outlook and Mozilla.
The history of Funambol dates back to 2001software
developers saw the potential of SyncML for mobile computing but did not see a
platform independent (java) open source implementation. The Sync4j project later
became Funambol and has gone way beyond the original engine with manycomponents now available:
- Funambol Data
Synchronization Server: a mobile application server providing
synchronization services for wireless clients and PCs, including pushemail.
- Funambol Device Management: an OMA DM server to remotely manage mobile devices.
- Funambol Connectors:
gateways to file systems, databases, email systems, and applications fortwo-way synchronization with existing data assets.
- Funambol Client Plug-ins:
synchronize their email messages and PIM data (address book, calendar,tasks and notes) with the server.
- Funambol Software
Development Kit: tools to develop sometimes-connected mobile applications
Getting stuck in
Ok, thats enough of the sales jargonI think the best way
to find out whether something can be of use is to try it out. This can be
especially true with open source software, as the only cost of testing it is
that of time. Hopefully Ill be able to guide you through the basic setup and
configuration, saving a lot of wasted time trawling through mailing listarchives and hundreds of useless Google results!
The fact that Funambol runs on a standard java-based
application server platform (JBoss)
means it can be deployed on almost any platform. Pre-packaged server bundles
are available for Linux / Windows and individual packages can also bedownloaded.
Other than a platform capable of running java applications
whats required to run and use Funambol? I would recommend having a
SyncML-compatible mobile phone (I have used both a Sony Ericsson W550i andW800i) and Outlook in order to test the synchronisation server.
Some type of static internet address is also needed. If
youre looking to use Funambol at home rather than in a corporate environment,
dont panic; there are various solutions. I have successfully been using DynDNS along with the built-in IP updater in
my NetGear DSL router and had no problems. I created a new service in the
router for port 8080 and then added a firewall rule to redirect all incoming
connections for that service to the internal IP of my Funambol serverthis
almost worked perfectly. The only issue was thatinternallyredirection
didnt work, meaning the Outlook connector wouldnt connect to the service. Two
solutions to this were viable, and both worked: (1) Insert dynamic.dnsdomain.com 192.168.0.x into your hosts file, where
192.168.0.x is the internal Funambol server IP. (2) Set the server address in
the Outlook connector to statically point to the internal server (e.g., Server
URI=http://192.168.0.x:8080/funambol/ds). These fixes only work if you are
going to be on the internal networkif youre outside of the network on a
laptop, etc., then the dynamic DNS should resolve and the firewall rules will
forward data correctly. If you hold a static IP, then there is, of course, no needto worry about this, youll be fine.
Funambol can be downloaded as a Server Bundle or as
individual components. If youre starting from scratch, I guess its probably
best to go with a bundle. The components, along with additional connectors, canall be downloaded here.
My first attempt at installing Funambol was using the Latest
Beta (v3.0) bundle on a clean Ubuntu server. Despite the simple install process
(simply execute the install script) this gave me nothing but trouble. I
couldnt get the server admin tool running, so after wasting an hour looking
for solutions and fixes, I decided to dump that idea and install it on
Windowsafter all, Im only evaluating the software, not building a full-time
production system. The Latest Beta (v3.0) for Windows installed flawlessly;simply execute the downloaded installer and follow the prompts.
I now have the application server and Funambol installed,
but I need to configure the Data Server, SyncSources (more on this later too)
and mobile devices. Next week, Ill follow up with details on accomplishingthis, while avoiding the initial problems that I ran into.
If anybody is already using Funambol (or possibly a similar
mobile synchronisation system) in production, it would be interesting to hearyour experiencesleave a comment for us.