Welcome!

Java Authors: Ezhil Arasan Babaraj, Maureen O'Gara, Bruce Armstrong, Liz McMillan, Walter H. Pinson, III

Related Topics: Java

Java: Article

Aligo Omni Mobile Platform

Aligo Omni Mobile Platform

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.

More Stories By Jim Milbery

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 Journal and the author of "Making the Technical Sale". Jim can be reached at jmilbery@williamblair.com, or via the company web site at http://www.wbcapitalpartners.com

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.