Way back in the November 2001 issue of JDJ (Vol. 6, issue
11), I took a look at Aligo's M-1 Mobile Application Server. Back
then, the technology market was still in the heady "bubble" days and
wireless was the next big frontier. Fast-forward to mid-2003 and here
we are wallowing in the throes of an extended technology slump.
However, wireless applications are still a part of the next big
frontier, and the team at Aligo has been hard at work updating their
software. I recently had the chance to get my hands dirty with the
latest, forthcoming release of the Aligo Omni Mobile Platform.
Aligo's Vision for Mobile
Enterprise Computing
Aligo's core value proposition has not changed - mobile
applications must be tightly integrated with the organization's
preexisting enterprise infrastructure. Aligo's product has evolved
into a full-blown platform, with support for thousands of different
devices on worldwide networks. With its latest release of the
software, the team at Aligo has included powerful synchronization
capabilities in the Omni Mobile Platform, allowing both connected and
disconnected access to enterprise applications. The Aligo software
platform is a J2EE application that takes advantage of J2ME, Personal
Profile, and pJava. For example, now you can build a PDA-based time
card application for your mobile field force that can be disconnected
from the network. Users can enter transactions into their handheld
device and later synchronize the results back into their ERP, CRM, or
SCM application. The Aligo team has also created some prebuilt
applications for Groupware, Sales Force Automation, and Field
Services.
In its next version of Omni Mobile Platform, Aligo will
include native support for Microsoft devices by rendering client
applications into C#, so users will be able to build once and deploy
across every type of mobile device. This will be the first time that
applications running within the compact .NET framework will be able
to directly access Java back-end processes.
Addressing Wireless
Technical Challenges
Adding a wireless layer to your enterprise applications still
presents some unique challenges:
Mobile devices depend on different markup languages and/or
protocols and have a wide array of operating capabilities (screen
size, memory, etc.).
The wireless network may require intermittent connectivity
and often has a higher latency and lower bandwidth.
Wireless applications offer new messaging channels (such as SMS).
Transaction integrity into back-end enterprise databases and
applications can be more complex (due to broken connections from the
wireless device).
Certain applications may work better utilizing a
"synchronization" model, rather than requiring a continuous
connection to the back-end server.
In the new incarnation as a software platform, the Aligo team
has added some powerful enhancements. The platform includes a
synchronization engine that allows for offline access to data.
Disconnected applications operate primarily on your mobile device,
and these applications can function without an active connection to
your back-end server or enterprise application. Any device that
supports either J2ME or a pJava JVM can be used with Aligo. Aligo's
Profile Manager allows developers to provide customized profiles for
each and every mobile device (phones, Palm Pilots, Pocket PCs, etc.).
If you choose to deploy "connected" applications, the Session Manager
will handle transaction integrity for you. Should you lose a
connection, your mobile device can seamlessly reconnect to
applications without data loss. You can connect to your enterprise
databases through your application server - or directly to the
database via Aligo's Data Access Builder, which provides connection
pooling, fallback recovery, and transaction rollback for JDBC, XML,
HTML, and JNI-enabled (and other) data sources. If you choose to run
disconnected applications, the Omni Mobile Platform server will
handle synchronization transparently for you, according to any set of
business rules that you include with your applications.
Building Mobile Applications with the Aligo Omni Mobile Studio
As always, Aligo makes the latest version of their software
available for evaluation. The installation kit is packaged as an
InstallAnywhere application. The Omni Mobile Platform is built using
100% Java, so it can be deployed with your favorite application
server. The installation kit includes an extensive developer
reference guide, but I suggest you start out with the "Getting
Started with Mobile Applications" guide and the new "Job Tracker"
application. Mobile applications require some different design
disciplines and the sample application will help you get a feel for
these differences, especially the design of "synchronized"
applications. The starting point for testing the Job Tracker
application is the Omni Mobile Studio, shown in Figure 1.
The Studio provides you with a stand-alone development
environment that simplifies the development of mobile applications.
The server-side components are deployed as a WAR file, and the client
is deployed as a MIDlet. I continue to be impressed with the ease at
which you can switch between devices, and the new version makes it
just as easy to switch between connected and disconnected operations.
Aligo employs a drag-and-drop type interface for laying out the
mobile application (as shown in Figure 1). The graphical buttons at
the top and side of the panel control the various functions of your
application (and the Omni Mobile Studio environment). The graphics
match the functions pretty well, so you'll come up to speed with the
Studio interface fairly quickly. The core metaphor for building
applications is constructed around "actions." Actions control the
display of information on mobile devices and the workflow of the
application. While designing an action you can provide for a
"connected" behavior (e.g., a servlet or JSP) and a "disconnected"
behavior (e.g., J2ME/pJava/Personal Profile). Should you wish to
forgo some of the automation that is offered in the Studio interface,
you can switch to writing Java code directly, as shown in Figure 2.
I found the Omni Mobile Studio development environment very
easy to use, and the documentation is terrific. I was particularly
impressed with the "Getting Started" guide.
Summary
One of the biggest advantages to the Java platform is the
ability to leverage best-of-breed solutions. It's refreshing to work
with a powerful product like the Omni Mobile Platform, as it blends
so well with other Java investments that you already have. This
latest release truly makes the product a robust solution for building
and deploying complete mobile applications - both connected and
disconnected.
Aligo, Inc.
444 De Haro Street, Suite 211
San Francisco, CA 94107
Phone: 415 593-8200
Fax: 415 553-8896
E-mail: info@aligo.com
Web: www.aligo.com
Specifications
Platforms: Windows NT/2000, Linux, various
Pricing: Contact Aligo for pricing
Test Environment
Toshiba Satellite Pro 4600 1 CPU (847MHz),
Windows 2000 Professional SP2 256MB RAM
Snapshot
Target Audience: Java developers; mobile application
developers; ERP, CRM, and SCM application managers
Level: Mid-level to advanced
Pros:
Multi-device support
Integration with leading J2EE application servers
Support for ERP applications
Aligo Omni Mobile Platform Studio
Synchronization engine
J2ME/pJava support for disconnected applications
Support for 500+ mobile phones, PDAs, and Pocket PC devices
Cons:
None significant
About The Author
Jim Milbery is a vice president with William Blair Capital Partners,
a venture capital firm based in Chicago. He has over 19 years of
experience in application development and relational databases. He is
the former applications editor for Wireless Business and Technology,
the past product reviews editor for Java Developer's Journal, and the
author of Making the Technical Sale.
jmilbery@williamblair.com