BlueJADE


Subject: BlueJADE
From: Dick Cowan (rm.cowan@verizon.net)
Date: Wed Sep 18 2002 - 00:22:57 MET DST


I couldn't agree more with point #2 posted by Bob Kessler. A truly outstanding moment will come when developers responsible for developing mission critical applications decide that agent technology is the best technology to use to deliver new functionality to their applications. We have a ways to go and as Fabio asked in his initial email we have to understand the advantages to both the agent and application communities.

As long as the two technologies remain independent I don't feel we will ever have an answer. BlueJADE is only a small first step. Currently developers on the J2EE side don't see any advantage to using agents - aside from some who don't understand the current technology and assume that by using agents they will get applications which lean, adapt to changing environments, have a default high level of intelligence, and understand (with no programming) how to interact with legacy systems, etc. Yah - right, wishful thinking! Developers on the agent side are more likely to begin to recognize why they would like to leverage J2EE functionality when they desire to add web interaction (HTTP, WAP, JSPs, voice XML, etc), robust management, or scalability to their current agent applications. My personal opinion is that true integration of the two technologies will likely not happen until some J2EE platform developer decides to integrate and maintain agent functionality (say JAS) just as they already do with JNDI, JDBC, JMS, JSP, and other standard subsystems. I notice that today nearly 2 million copies of JBoss have been downloaded! This represents a truly huge development community and a wonderful opportunity for the agent community to establish a foothold for its technology. When I posted a request for assistance to the JBoss community, I got zero replies. It was only after talking with the JBoss, chief technologist that I got 3 volunteers. So this supports the theory that there is little interest or understanding today about agents from the J2EE community. This is where BlueJADE comes in and where you can help. I must point out that both technologies are complex and their implementations often require considerable effort to become comfortable with. I had to buy two books on J2EE and JBoss - and both are significant door stops!

With the BlueJADE package you describe with an XML file the collection of agents to be started along with each agent's attributes (arguments, restart on failure, etc). You can manage JADE as you would any other service using the JMX interface. You can send messages to your agents using the provided JSP's. Your agents will restart when they crash. While this is a start it certainly wouldn't convince a J2EE developer that they should embrace agents. They will just tell you that they could do any of that with standard Java classes - and they are right.

I think most people would agree that any significant application will need to leverage more than the services offered by an agent platform. We want to leverage scalability, manageability, configuration, security, web support, naming, and other services - not build an "agent variant" of them. I see two areas of focus for the agent community.

First, agent platforms should attempt to leverage any existing services if they are being provided. This will make the merging of the two technologies easier. This effort is complicated by the fact that neither technology at this point in time wants to depend on the other. But this doesn't mean that mechanisms can't be designed to discover and exploit what common services are being provided. What we learn here may be incorporated into subsequent releases or new standards such as JAS.

The second area of focus deals with the question "Why agents?" and attempts to get the J2EE community excited. But before going to that community we need to convince ourselves. Here are four subquestions:
  1. What is it that we can show or describe that provides a compelling justification for the use of Agent Technology (AT)?
  2. What novel new applications are enabled (only) by AT alone or in combination with other things (such as an application server)?

  3. How does AT address key development issues not handled by other technologies?

  4. What efforts are directed at standards and mainstreaming AT to overcome adoption barriers?
It is my hope that a few of you from the JADE community will join this effort and that we can not only start to answer these questions but also provide clear directions to JADE in terms of new or modified functionality. Those directions will only become clear with expanded usage and experimentation. Let me conclude by saying that I feel we can do the initial work on what exists today. There is a tendency (and I'm very guilty of it) to say we are doing agent related work when in reality we are simply building more infrastructure. We need to stay focused on providing answers to the above questions.

Regards

Dick

Links to relevant material:

1. The BlueJADE package may be downloaded from: https://sourceforge.net/projects/bluejade/

2. JBoss may be downloaded from: http://www.jboss.org/

3. "Making Software Agent Technology Available to Enterprise Applications", Dick Cowan, Martin Griss, July 2002.
See http://www.hpl.hp.com/techreports/2002/HPL-2002-211.html

I couldn't agree more with point #2 posted by Bob Kessler. A truly outstanding moment will come when developers responsible for developing mission critical applications decide that agent technology is the best technology to use to deliver new functionality to their applications. We have a ways to go and as Fabio asked in his initial email we have to understand the advantages to both the agent and application communities.
 
As long as the two technologies remain independent I don't feel we will ever have an answer. BlueJADE is only a small first step. Currently developers on the J2EE side don't see any advantage to using agents - aside from some who don't understand the current technology and assume that by using agents they will get applications which lean, adapt to changing environments, have a default high level of intelligence, and understand (with no programming) how to interact with legacy systems, etc. Yah - right, wishful thinking!  Developers on the agent side are more likely to begin to recognize why they would like to leverage J2EE functionality when they desire to add web interaction (HTTP, WAP, JSPs, voice XML, etc), robust management, or scalability to their current agent applications. My personal opinion is that true integration of the two technologies will likely not happen until some J2EE platform developer decides to integrate and maintain agent functionality (say JAS) just as they already do with JNDI, JDBC, JMS, JSP, and other standard subsystems. I notice that today nearly 2 million copies of JBoss have been downloaded! This represents a truly huge development community and a wonderful opportunity for the agent community to establish a foothold for its technology. When I posted a request for assistance to the JBoss community, I got zero replies. It was only after talking with the JBoss, chief technologist that I got 3 volunteers. So this supports the theory that there is little interest or understanding today about agents from the J2EE community. This is where BlueJADE comes in and where you can help. I must point out that both technologies are complex and their implementations often require considerable effort to become comfortable with. I had to buy two books on J2EE and JBoss - and both are significant door stops!
 
With the BlueJADE package you describe with an XML file the collection of agents to be started along with each agent's attributes (arguments, restart on failure, etc). You can manage JADE as you would any other service using the JMX interface. You can send messages to your agents using the provided JSP's. Your agents will restart when they crash. While this is a start it certainly wouldn't convince a J2EE developer that they should embrace agents. They will just tell you that they could do any of that with standard Java classes - and they are right.
 
I think most people would agree that any significant application will need to leverage more than the services offered by an agent platform. We want to leverage scalability, manageability, configuration, security, web support, naming, and other services  - not build an "agent variant" of them. I see two areas of focus for the agent community.
 
First, agent platforms should attempt to leverage any existing services if they are being provided. This will make the merging of the two technologies easier. This effort is complicated by the fact that neither technology at this point in time wants to depend on the other. But this doesn't mean that mechanisms can't be designed to discover and exploit what common services are being provided. What we learn here may be incorporated into subsequent releases or new standards such as JAS.
 
The second area of focus deals with the question "Why agents?" and attempts to get the J2EE community excited. But before going to that community we need to convince ourselves. Here are four subquestions:
1. What is it that we can show or describe that provides a compelling justification for the use of Agent Technology (AT)?
2. What novel new applications are enabled (only) by AT alone or in combination with other things (such as an application server)?
 
3. How does AT address key development issues not handled by other technologies?
 
4. What efforts are directed at standards and mainstreaming AT to overcome adoption barriers?
It is my hope that a few of you from the JADE community will join this effort and that we can not only start to answer these questions but also provide clear directions to JADE in terms of new or modified functionality. Those directions will only become clear with expanded usage and experimentation. Let me conclude by saying that I feel we can do the initial work on what exists today. There is a tendency (and I'm very guilty of it) to say we are doing agent related work when in reality we are simply building more infrastructure. We need to stay focused on providing answers to the above questions.
 
Regards
 
Dick
 
Links to relevant material:
 
1. The BlueJADE package may be downloaded from: https://sourceforge.net/projects/bluejade/
 
2. JBoss may be downloaded from: http://www.jboss.org/
 
3. “Making Software Agent Technology Available to Enterprise Applications”, Dick Cowan, Martin Griss, July 2002.
See
http://www.hpl.hp.com/techreports/2002/HPL-2002-211.html



This archive was generated by hypermail 2a22 : Wed Sep 18 2002 - 00:21:02 MET DST