Building agile systems with mobile code
Mobile code has been championed as a solution to a plethora of software problems. This paper describes investigative work undertaken in order to evaluate the mobile code abstractions of Mobile Agents and Mobile Objects, and to understand the implications of using these abstractions to build distributed systems. We describe two systems built to support the Sales Order Process of a distributed manufacturing enterprise, using IBM's Aglets Software Development Kit. The Sales Order Process model and the requirements for agility used as the basis for these implementations are derived from data collected in an industrial case study. Both systems are evaluated using the Goal/Question/Metric methodology. Two new metrics for Semantic Alignment and Change Capability are presented and used to evaluate each system with respect to the degree of system agility supported. The systems are evaluated through a set of scenarios generated during the case study in an attempt to see if they support system integration and agility in the manufacturing domain. Further we examine the implications of using a mobile code abstraction when compared with the abstraction offered by traditional distribution technology. The work described provides evidence that both Mobile Agent and Mobile Object systems have inherent properties that can be used to build agile distributed systems. Further, Mobile Agents with their additional autonomy provide marginally greater support.
mobile agents mobile objects distributed systems aglets system agility enterprise integration sales/order processing