Ad Astra Mobilizes Java

One of the biggest problems developers face when creating distributed software is how to deal with the constant change taking place on corporate networks. Servers are taken down, moved and migrated regularly, and programmers need a way to make sure the connections between software components don’t break.

For Java developers struggling with this problem, Ad Astra Engineering ( created Jumping Beans, a CORBA-based framework for creating Java applications that can "move themselves around a network during their lifetime," says Chris Rygaard, Ad Astra’s chief architect. Jumping Beans implements an enhanced version of the Object Management Group’s (OMG’s) mobile Common Object Request Broker Architecture standard, which details how applications can automatically bind to appropriate server-side objects. That binding remains intact even after a server-side object moves, explains Rygaard.

CORBA, which many developers use to enable communication between distributed objects, includes support for creating transportable applications using the Internet InterORB Protocol. But Rygaard says ordinary CORBA doesn't let server-side objects move because client-side objects bound to them lose the bind during a move.

The OMG encourages developers to add to the spec, as long as they maintain compatibility. "We're writing specifications and software developers should want to add value," says Andrew Watson, vice president of technology at OMG. "We are happy to see companies add features to differentiate products, as long as they comply with the underlying specification."

According to Ad Astra, in addition to wireless applications, transportable -- or relocatable -- CORBA is useful for network management, workflow and database access. According to the company, with Jumping Beans developers can dispatch mobile applications that interact with target devices, such as printers, switches and routers, laboratory instruments and manufacturing equipment. Jumping Beans sends an application to the device for interaction and then returns with the results. A user can run software on a networked device by creating the mobile application on a desktop machine and then dispatching it to a networked machine.

Just like the underlying CORBA spec, Jumping Beans relies upon Java to maintain compatibility with multiple platforms and operating environments across the enterprise. In fact, Ad Astra's Rygaard calls Java the ultimate transportable object-oriented language. "Java does mobility very well," Rygaard says. "Developers want a program to move to different machines upon programmatic command, and Java is the enabling technology under Jumping Beans to help do this."

At least one health care-related company is using Jumping Beans to help more physicians access computer medical record systems, among other things. This is a growth area because professional medical associations estimate fewer than 10 percent of all physicians have computerized medical record systems.

"Jumping Beans allowed us to easily accomplish several critical goals," says Suresh Neelagaru, M.D., president of Medstream Software Labs ( "Our earlier applications used CORBA's Inter ORB references, which limited our products' functionality. After using Ad Astra's Mobile CORBA, however, we could improve our applications' mobility across all of our client bases."

Neelagaru adds that security and footprint size are an issue when implementing browser-reliant systems in hospitals and clinics, which are often populated by systems running on dated processors. Thus, Jumping Beans, with its footprint that consumes little memory and its ability to run on relatively slow processors, is ideal for the health care setting.

The complete Jumping Beans mobility API is packaged in a 130 KB Java archive, which includes the Jumping Beans Mobile CORBA technology, all required ORB libraries and all other Jumping Beans features, such as security, persistence, central management and guaranteed delivery.