HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

Aligo, Inc.
444 De Haro Street, Suite 211
San Francisco, CA 94107
Web: www.aligo.com
Phone: 415 593-8200
Fax: 415 553-8896
E-mail: [email protected]

Test Environment
Dell 1400 PowerEdge 1 CPU (795MHz), Windows 2000 Server SP1 256MB RAM

Platforms: Windows NT/2000, various Unix
Pricing: Contact Aligo for pricing

As an industry we used to consider mobile/wireless computing to be the next frontier. Now it has become part and parcel of critical, enterprise applications ranging from Customer Resource Management to Enterprise Resource Planning. Many of the early mobile computing efforts that I've run across were built around external application service providers (ASPs) and relied on gateway technology. From an investment perspective it made perfect sense to approach the problem in this manner.

First-stage projects in new markets (such as mobile computing) often rely on "one-off" technology stacks. However, we've reached the stage where mobile computing projects should be integrated into the organization's core infrastructure. Aligo has taken this integrated approach with its M-1 Server. I recently had the opportunity to sit down with the team at Aligo and get my hands on the latest version of their software.

Aligo's Vision for Mobile Computing
Aligo's core proposition is that mobile applications must be tightly integrated with the organization's preexisting enterprise infrastructure and allow an enterprise to leverage its investment in Java resources, including developers, software, tools, and methodology. The idea is to avoid creating new mobile technology "islands" that are isolated from the mainstream of development. The Aligo approach is built around 100% J2EE technology; their product, the M-1 Server, adds mobile/wireless capabilities to any J2EE application server. While mobile applications have some unique operating characteristics, they will almost always be integrated into an organization's enterprise applications. For example, if you want to build a mobile PDA-based time card application for your mobile field force, most likely you'll integrate the time card data back into your current CRM or HR application. Adding a wireless layer to your enterprise applications presents some unique challenges:

  • Mobile devices use different mark-up languages and provide a different 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).
Aligo's M-1 Server addresses many of these challenges by providing a Java-based solution that can be deployed against your favorite application server, such as BEA's WebLogic, Oracle9iAS, and IBM's WebSphere. It also simplifies development by allowing applications written once in Java to be accessible on multiple types of mobile devices without requiring a Java Virtual Machine (JVM). The M-1 Server offers a suite of components that addresses the unique requirements of mobile applications.

The Presentation Manager layer handles the presentation across a variety of mobile devices, while the Cache Manager automatically manages the handling of dynamic content. Aligo's Device Profile Manager allows developers to provide customized profiles for each and every mobile device (i-mode, WAP phones, Palm Pilots, PocketPCs, Voice, etc.). Transaction integrity is handled by the Session Manager, which transparently manages sessions without the need for cookies. (Devices can seamlessly reconnect to applications without data loss.)

M-1 can connect to your enterprise databases through your application server - or directly to the database via M-1's Data Access Manager, which provides connection pooling, fallback recovery, and transaction rollback for JDBC-enabled data sources. One unique requirement of mobile applications is the need for unified messaging. Aligo's Notification Manager can send unified messages through the corporate firewall to multiple message channels including fax, SMS, and voice mail.

Working with Aligo M-1 Server
The latest version of the M-1 Server is available for download and evaluation on the Aligo Web site, free of charge. You must register with Aligo before you can install the software, but it's a painless process. The installation kit is packaged as a 23MB InstallAnywhere application. The M-1 Server is built using 100% Java, so theoretically it can be deployed with your favorite application server. However, to make the software trial zip along more smoothly, the Aligo team provides a preconfigured version of the Tomcat server with the installation kit. I was able to get the M-1 Server installed and running on my Dell server in a matter of minutes.

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 sample "restaurant" application. I think you'll find the restaurant application overview to be valuable, even if you are an experienced Java developer. Mobile applications require some different design disciplines and the sample application will help you get a feel for these differences. To access the sample application (and build your own apps) Aligo provides a specialized Application Builder for the M-1 Server as shown in Figure 1.

You can use any J2EE development tool (e.g., Sun Forte, Borland J-Builder) to build your applications. To simplify the development of mobile applications, however, the M-1 Application Builder also provides a specialized graphical user interface. To use the sample restaurant application you'll have to build and deploy it on your local development machine. As you can see from Figure 1, the application automatically launches the YoSpace Nokia phone emulator. You can also download a variety of emulators (e.g., from Openwave or Palm) to test your applications. The restaurant application prompts you to enter your name and then choose from a series of cuisines and restaurants. After you've chosen a particular place to dine, it can send you directions via fax, SMS, or e-mail.

Once I had my hands around the emulator application, I powered up my Palm VIIx and used the DPWeb browser to access the same demo application (which you can see in the overlay in Figure 1). I had the M-1 Server send me directions via e-mail to my desktop.

Figure 1
Figure  1:

Aligo is completely Java-based, so Java developers should have no trouble getting acclimated to the M-1 Server platform. You're free to use M-1 with your favorite application server and to use your favorite Java IDE to develop applications. All you need to do is make the class files available to your IDE and away you go. When I visited the Aligo team in San Francisco several weeks back, they demonstrated their updated Application Builder (named M-1 Studio), which makes use of a slick drag-and-drop interface. Even if you're committed to using your existing Java IDE, I would consider trying the updated Application Builder when it becomes available (see Figure 2).

Figure 2
Figure  2:

Mobile applications are here to stay and Aligo offers a compelling solution for developing wireless applications with its M-1 Server. Aligo's clean implementation using Java is compatible with your existing investments in application server technology and enterprise systems. If you're looking to add wireless computing to your systems, consider putting Aligo on your short list.

JDJ Product Snapshot

Target Audience: Java developers, mobile application developers
Level: Mid-level to advanced
Pros: Multidevice support, integration with leading application servers, mobile developer IDE
Cons: None significant

Reviewed by
Jim Milbery [email protected]

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.