Syncrhonous and Asynchronous calls
Todd Wright
twright at bbn.com
Thu Nov 15 14:43:36 EST 2007
Morgan Duchène wrote:
> I have downloaded the latest release of Cougaar. It seems like all
> designs have not been coded in the Mandelbrot example.
Right, only the first three examples have been implemented.
> Is there a plan to add them
Yes, I'd like to implement the remaining examples but it's been a low priority.
I plan to implement them sometime early next year, ideally in time for the
12.6 release.
> or did you consider they were part of other tutorials?
The distributed example (design 6) is similar to the ping demo, which is
included in the Cougaar release as:
demo-ping.zip
> Because this is a very good tutorial and nice to have it explicitly
> explain all designs.
Thanks.
> On the other hand, we could probably help to add them.
Thanks for the offer. My guess is that it'd be easier for me to implement the
remaining examples, but I'm sure you could help with a similar tutorial.
For example, it'd be great to have a UI tutorial that illustrates the same
basic application implemented different ways. The application could be a
simple blackboard object counter that displays a table of classname to count, e.g.:
CLASSNAME, COUNT
Relay, 1234
Task, 234
Asset, 4321
...
and implement several different designs:
1) HTML page
2) HTML + AJAX
3) Applet (embedded Swing JTable, talks to Servlet)
4) Google Web Toolkit (embedded GWT widgets, talks to Servlet)
5) Swing GUI (stand-alone application, talks to Servlet via URLConnection)
6) SOAP client (talks to Cougaar WebServicesService "webaxis" plugin)
The existing Cougaar demos only illustrate simple HTML pages.
Similarly, it'd be very interesting to see a UI example where Google Maps
and/or Google Earth talks to a Cougaar servlet. The servlet would generate KML
data for Google's Map API to display.
Todd
>
> Thanks,
> Morgan
>
> Todd Wright a écrit :
>>
>> This design issue is discussed in the "Mandelbrot" demo:
>> http://cougaar.org/docman/view.php/17/201/cougaar_mandelbrot.ppt
>>
>> The code is included in the Cougaar 12.4 release, in:
>> demo-mandelbrot.zip
>>
>> Three design options are discussed:
>>
>> v1) Servlet is self-contained
>>
>> v2) Servlet invokes a synchronous Service, e.g. a service advertised
>> by another plugin.
>>
>> v3) Servlet publishes a blackboard "Job" request and waits for a
>> synchronized "notify()" event or subscription change.
>>
>> Similar to design v3, your servlet could publish a blackboard request
>> and then poll the blackboard for the result, or have the client poll
>> the servlet. Polling is easy to implement but can be inefficient.
>>
>> Todd
>>
>> Morgan Duchène wrote:
>>> Hi,
>>>
>>> I have a basic architecture question about the development model with
>>> Cougaar.
>>> * Developments with Cougaar and plugins are based on blackboard
>>> registrations to events (objects, tasks, ...). So it is an
>>> asynchronous model where plugins are awaken when new events they are
>>> interested in are published.
>>> * Cougaar also offers to interact with "the outside world" with
>>> servlets to receive commands for example. When a browser sends a
>>> requests for a page to and http server, it's a synchronous call as it
>>> waits for the answer.
>>>
>>> So my simple question it this one: if we don't have the data
>>> available on the blackboard as the servlet is sending the search
>>> parameters (database, files, ...), what is the best way to have
>>> plugins give the answer to the servlet?
>>>
>>> Thanks,
>>> Morgan
>>>
>>> _______________________________________________
>>> Cougaar-developers mailing list
>>> Cougaar-developers at cougaar.org
>>> http://cougaar.org/mailman/listinfo/cougaar-developers
>>>
>>
>>
>> __________ NOD32 2658 (20071114) Information __________
>>
>> This message was checked by NOD32 antivirus system.
>> http://www.eset.com
>>
>>
>>
>
>
>
More information about the Cougaar-developers
mailing list