Aglet Overview"CREATE ONCE, GO ANYWHERE" |
|
|
Aglet Overview Aglets are Java objects that can move from one host on the network to another. That is, an aglet that executes on one host can suddenly halt execution, dispatch to a remote host, and start executing again. When the aglet moves, it takes along its program code as well as the states of all the objects it is carrying. A built-in security mechanism makes it safe to host untrusted aglets. (Aglet Specification). During the life of the aglet, these are events it may have.
As mentioned in the mobility overview, an agent maintains state at the application level and transports that state between distributed memory spaces using Javas serialization methods. A good overview of Java's object serialization is available here. Javas object serialization marshals and unmarshals an object to and from a stream of bytes. The communications support underlying the stream can take the form of any suitable distributed systems architecture such as RMI, CORBA or the Aglet Transportation Protocol (ATP). The Aglet architecture defined in the Aglet Specification is shown in the following diagram.
The communication layer is used to transport serialized aglets, for messaging between aglets and for communications between Tahiti and a remote aglet. The Aglet communication API provides a wrapper around the underlying communication protocols and is derived from the OMG standard MASIF (Mobile Agent System Interoperability Facility). The communication layer itself is depicted in the following diagram.
As always, see the specification for the definitive source on Aglet mobility. |
For problems or questions regarding this web contact [jalwan@shrike.depaul.edu].
|