Mobile Agents with Aglets By Shane Lunceford
Objectives By the end of this presentation you should be able to: Describe what a mobile agent is Explain some possible uses for mobile agents Demonstrate knowledge of security concerns with mobile agent technology Set up the IBM Aglet development environment Run example aglets offered by IBM Create and deploy a “Hello World” aglet
What is an agent? Used to access, create, or compile information It’s an interface, not a complete program Agents simply tap into existing resources Database agents are common
Types of agents Server based agents – Common with databases – Many languages Client based agents – System administrators may use these to monitor your activities at work – Virus Scanning Utilities Mobile agents – Ability to transfer self, code, and state information from one host to another
Mobile agents- what are they good for? The ability to transfer state – Intelligence The ability to run without a network connection – Bandwidth concerns – Unreliable connection concerns Distributed in nature – Agents can work together
How do agents work? Aglets – Agile Applets Require an “agent enabled” machine Host machines run hosting/deployment software, such as IBM’s “Tahiti” Lifecycle operations – Create, Clone, Dispose Runtime Operations – Dispatch, Retract, Activate, Deactivate
Master and slave agents Agents can communicate with one another One agent can control another, or several other agents Can you think of some uses of these features?
Security concerns For the host – Malicious mobile agents – Traceability – Permissions For the agent – Code capturing / reverse engineering – Sensitive data – Chameleon agents
Getting started - software Required Software Java 1.1.8_010/_16 JDK Aglet SDK- Suggested Software VMware - – UltraEdit -
“Hello World” example Package examples.shane; import com.ibm.aglet.*; import com.ibm.aglet.event.*; public class HelloWorld extends Aglet { public void onCreation(Object init) { setText("Hello World."); } } Compile and put in your AGLET_HOME\public directory. Don’t forget to add a shane directory for the package.
Exercise – Installing ASDK
Exercise – Running Tahiti If you are in a classroom where a live demo is available, stop this presentation now for a live demonstration. If you are watching this via the Internet, please wait one moment and we will continue.
Exercise – Running Tahiti
Congratulations! You have just made your first aglet. Study the examples given in your AGLET_HOME\public directory and build upon them
Summary Describe what a mobile agent is Explain some possible uses for mobile agents Demonstrate knowledge of security concerns with mobile agent technology Set up the IBM Aglet development environment Run example aglets offered by IBM Create and deploy a “Hello World” aglet
Resources Mobile Agents, by William T Cockayne and Michael Zyda (Manning publishing, copyright 1997) ISBN – Out of print Tahiti user guide by IBM - Download ASDK Aglet SDK ets/TahitiAgletServerAndViewer.html Tahiti Aglet Server and Viewer documentation
Resources - continued