Who Should Read This Book? This book is about how to program mobile Internet agents in Java with the help of the Aglet application programming interface (API). A freely available implementation of the Aglet API from IBM Corporation has spurred a tremendous interest in aglets. Consequently, there have been numerous calls for a reference book on the aglet, its API, and its use. As the inventors of the aglet, we decided to put in some long nights to write the definitive book about how to program Java aglets. We hope you enjoy reading it. The book is intended for daring programmers, students, and researchers at the frontier of network programming. No particular knowledge about agent-related technologies is required, but fluency in Java is a must. .
Organization of This Book The following outline shows the progression of the material we present. Chapters 1 and 2 are a general introduction to various aspects of the mobile agent paradigm. Chapter 3 provides a bridge between the mobile agent paradigm and Java by introducing the Aglet API. Chapters 4 through 7 systematically cover the Aglet API in detail, and Chapters 8 through 10 are dedicated to advanced subjects: agent design patterns, the Aglet API and its implementation, and mobile agent security.
Chapter 1: Introduction to Mobile Agents This chapter leads you into the world of mobile agents, an emerging technology that makes it much easier to design, implement, and maintain distributed systems. We explain the benefits of mobile agents and demonstrate their impact on the design of distributed systems. The chapter also includes a brief overview of contemporary mobile agent systems.
Chapter 2: Elements of a Mobile Agent System This chapter helps you to develop a basic understanding of the elements of a mobile agent system. We present the basic conceptual model of mobile agents, which includes the two core concepts of any mobile agent system: agent and place. The chapter also describes the essentials of agent behavior, including the creation and disposal of agents and their transfer over a network.
Chapter 3: Mobile Agents with Java This chapter shows what it is that makes Java a powerful tool for agent development. This chapter introduces you to the agletoa Java-based agile agentoand gives you a brief overview of the Aglet API. The purpose of this overview is to link the mobile agent model with Java.
Chapter 4: Anatomy of an Aglet This chapter teaches you about the methods in the Aglet class that can be overridden by the programmer. These methods are systematically invoked by the system as important events in the life of an aglet. The chapter shows you the principles of using these methods, including important information about the order in which they are invoked by the system when specific events take place. With this knowledge, you will be in a position to create aglets that can perform simple tasks on remote computers.
Chapter 5: Aglet Context This chapter covers one of the key elements of the Aglet API, namely, the AgletContext interface. The interface defines the execution context for aglets, and in this chapter we teach you about the methods that an aglet can invoke in its current context to create new aglets, retrieve aglets contained in the same as well as remote contexts, and much more.
Chapter 6: Aglet Messaging This chapter covers the basics of aglet messaging. Several means of interaglet communication are supported in the Aglet API, and you will learn about simple messaging with and without reply, advanced message management, and multicast messaging between aglets. The classes covered in this chapter include Message, MessageManager, and FutureReply.
Chapter 7: Aglet Collaboration This chapter introduces the aglet proxy, AgletProxy, and describes the rationale behind this important element of the Aglet API. This overview is followed by a demonstration of different ways to control aglets to make them collaborate with one another.
Chapter 8: Agent Design Patterns This chapter focuses on a set of design patterns for creating mobile agent applications. Design patterns have proved to be highly useful in object-oriented programming and have helped developers to achieve good design of applications through reusability of validated components. We hope that the design patterns described in this chapter will serve this purpose in the context of aglet-based .
Chapter 9: Inside Aglets This chapter presents a general overview of the components of the Aglets framework, with a special focus on selected parts of the framework. After reading this chapter you should have a sufficient understanding of the inner workings of the Aglets Framework to optimize the performance of your aglets, to understand why apparently healthy aglets are malfunctioning, and overall to better use the Aglet API in your programming. .
Chapter 10: Aglet Security This chapter introduces you to network security technologies in general and mobile agent security in particular. We first show you what can go wrong when mobile agents are released in a network. This is followed by a taxonomy of attacks, which introduces you to some potential attacks related to mobile agents. We then briefly explain cryptography as a general basis of security before continuing with a description of the set of security services available for mobile agents. The remainder of this chapter is devoted to a description of security policies for mobile agent systems in general and the Aglets framework in particular. .
Appendix: The Aglet API Documentation The appendix contains the API documentation of the Aglet API (limited to the aglet package).
Bibliography We offer this list of works for further reading on related topics. The list is by no means exhaustive, and other excellent works exist on most of the .
Conventions Used in This Book All the code examples in the text have been compiled and run on Java Development Kit (JDK) 1.1.5 using the first release of IBMis Aglets Software Development Kit. Source code for examples in this book can be retrieved on-line from the Web sites listed in the Introduction.
A constant-width font is used for the following:
Code examples
public class MyFirstAglet extends Aglet {
... }
Class, method, and variable names within the text
URLs set in italics
We have attempted to be complete and accurate throughout this book. Changes in future releases of IBMis Aglets Software Development Kit, as well as changes in future releases of JavaSoftis JDK, make it impossible to be completely accurate in all cases. We welcome your feedback about this book, especially if you spot errors or omissions. We prefer to use the Aglets mailing list (see the Introduction) as the communication channel for this book. However, if you wish to contact us directly, feel free to send your electronic mail to danny@acm.
0201325829P04062001
The next huge wave of Internet development, Java Aglets are lightweight mobile agents that enable the autonomous execution of programs on remote heterogeneous hosts. Because Java aglets automate many of the processes users must now perform manually, the technology is poised to transform the way many users interact with the Internet.
Written by the creators of the technology, this book gives you the knowledge and skills you need to create Java aglets using IBM's Aglets Software Development Kit. Practical in focus, the book features numerous real-world examples of Java code that illustrate concepts and demonstrate Java aglets in action.
Geared for Java programmers with no previous agent experience, the book presents a clear introduction to mobile agents that explains the basic conceptual model, agent behavior, the creation and disposal of agents, and agent transfer over a network. The appendix provides systematic, detailed coverage of the Java Aglet API describes and illustrates aglet anatomy, context, messaging, and collaboration.
Moving beyond these basics, the book also presents advanced topics, such as design patterns for creating mobile agent applications, and provides a deeper look inside the Aglets framework to help you optimize the performance of your aglets. Aglet security, a topic of critical importance for this mobile technology, is covered in depth.
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
14 of 15 people found the following review helpful:
2.0 out of 5 stars
Great Attempt But Falls Short,
This review is from: Programming and Deploying Java™ Mobile Agents with Aglets™ (Paperback)
The IBM Aglets Software Development Kit is, to me, the most promising leap to intelligent and mobile application development yet. I applaud the research and development by IBM, Danny B. Lange, and Mitsuru Oshima. But this book creates more questions than answers, and with IBM's lack of current up-to-date documentation, I cannot see the java developer community embracing this NOW as the next logical java leap; which I think it is. My initial excitement waned after I purchased this book. Many of the examples did not work. Written to the JDK 1.1.5, no comparison/contrast with ASDK 1.0.3 and 1.1.b2 is mentioned. Furthermore, the Tahiti server (Aglet Environment) is not even explored. To me this is a fatal oversight because an aglet cannot exist without an environment. That environment at least initially is Tahiti which comes with the ASDK the book mentions. In short, this work is excellent in concept and poor in real-world implementation. The authors should work on a second edition. Is it worth buying? Easy. For understanding the Java Aglet concept, yes. Implementation, no.
9 of 9 people found the following review helpful:
5.0 out of 5 stars
Very useful.,
By T.Papaioannou@lboro.ac.uk (Great Britain) - See all my reviews
This review is from: Programming and Deploying Java™ Mobile Agents with Aglets™ (Paperback)
The content covered in this book is both extremely useful and well written. The basics of mobile agents and why you would want to use them, the security issues involved and the fundamental issues facing someone wishing to implement their own system using Aglets are all examined. The code examples are all easy to follow, gradually grow more complex and demonstrate the power of the Aglets package. The latter part of the book covers more advanced topics such as design patterns found in mobile agent based applications and an in depth look at the Aglet Framework, the underlying structure behind the programmers Aglet API.If you are currently, or are thinking, about doing anything with aglets then this book is a MUST read. Even battle hardened agleteers can learn the best way to build and optimise their aglets. If you simple want to find out more about mobile agents and see them working within a successful framework then this book is also for you.
8 of 10 people found the following review helpful:
4.0 out of 5 stars
Highly Recommended,
By A Customer
This review is from: Programming and Deploying Java™ Mobile Agents with Aglets™ (Paperback)
This is a great book about an exciting technology. The concepts are presented in a clear and concise manner. Unlike many computer-related books, it is not at all repetitive and doesn't dwell on minor issues. The programming examples are reasonable.
Share your thoughts with other customers: Create your own review
|
|
Suggested Tags from Similar Products(What's this?)Be the first one to add a relevant tag (keyword that's strongly related to this product).
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|