New Cry/Get Me My Agent! -- As Sun and Microsoft draw new battle lines, autonomous objects called agents promise undreamt-of software portability November 4, 1997
Information Week : The Sun Microsystems-Microsoft lawsuit over Java has once again raised the issue of portability. Many say that Java's promise of "write once, run anywhere" is our best hope for achieving the long-sought goal of platform independence. But they may be thinking too modestly. This radical portable language/environment could let us leapfrog platform independence entirely and move to a new generation of application architecture where there are no longer platforms per se, just nodes in a network with mobile objects shuttling among them. Over the years, our notion of what moves in a portable system, and how often, has been considerably refined. In the '80s, IBM customers dreamed of the ability to pick up an application and move it to another platform-usually an IBM alternative, but increasingly platforms from other vendors as well-without having to rewrite it. By the early '90s, well into the client-server era, developers were talking about portability in terms of moving certain portions of the application around to fatten servers or shrink clients. Such platform re-weighing could dramatically improve the performance of sluggish systems. This approach had modest success, with development environments like Forte and Dynasty making it possible to repartition apps without reprogramming. Then the Web tidal wave hit. Portability again became a hot topic as architects scrambled to find ways to ship more than static pages of graphics. The result:Java applets containing tiny application fragments so portable, they could be downloaded to any browser as needed, ready to move around and even compute on our home screens. But Java's portability potential is much greater. Glimpses of what's ahead come in a new middleware product called Voyager from ObjectSpace Inc. in Dallas (you can grab a copy free at www.objectspace.com). This is a Java framework and set of tools for deploying objects that move about the network freely, act autonomously, and intercommunicate transparently. Where current distributed object technology fixes objects to specific platforms and has them send messages back and forth, Voyager adds mobile objects that zip around the network themselves, like traveling application reps. These autonomous objects are called agents. They know a great deal about what they are supposed to accomplish and where to find the resources they need. For example, a user can send a message to an agent telling it to move to the OrderProcess server in Cincinnati. Once on site, the object can collaborate at very high speed with the local server objects to accomplish its goal. It's an elegant way to keep function close to the data it works on. Client- server performance quickly breaks down when the data is spread among several servers in different locations-summoning all this data to a central client where the function lives can be expensive. It often makes more sense to shoot the interested object around to do a bit of work with each one. Imagine the improvements in workflow, to consider just one area. In place of those complex flow graphs that send passive objects around distant nodes on a network, we'll have small, smart agents that scoot about under their own steam, fulfilling their implanted goals. This is why many in the object community despair at Microsoft's increasingly cynical attempts to derail Java as a platform-independent development environment. Mobile objects cannot succeed without a completely portable language. Whether we know it yet or not, portable objects are what "the industry," "the public," "our customers," " America," and whomever else Microsoft claims to speak for, really want. John Tibbetts and Barbara Bernstein are partners in Kinexis, a San Francisco consulting firm. You can visit them at their Web site at www.kinexis.com. |