Bond-Jini Interoperability Mathew Lowery This presentation will probably involve audience discussion, which will create action items. Use PowerPoint to keep track of these action items during your presentation In Slide Show, click on the right mouse button Select “Meeting Minder” Select the “Action Items” tab Type in action items as they come up Click OK to dismiss this box This will automatically create an Action Item slide at the end of your presentation with your points entered. Project Status Bond-Jini Interoperability Mathew Lowery
Status Summary Bond-Jini Project Overview Phase One: Bond inside Jini network Part One: Bond agent consuming Jini object services. Part Two: Bond agent offering services in Jini network. Phase Two: Jini inside Bond network Part One: Jini object consuming Bond agent services. Part Two: Jini object offering services in Bond network.
Status Summary (continued) Current Status Phase One, Parts One and Two are complete. Figure 1 illustrates Phase One, Part Two. (Phase One, Part One is simpler).
Status Summary (continued) Bond object Jini server object Jini lookup service Jini client object register lookup method calls Stub of Jini server object Shown in this slide is a Bond object which has a Jini object that registers its services in a Jini lookup service. Next a client object gets a stub to the registered object. Then the server object passes along method calls to the Bond object. In this way the Bond object behaves synchronously when offering or consuming services on a Jini network. Figure 1 Bond server in Jini network
Progress Coded and tested convenience classes that allow for Jini service discovery and registration. Multicast discovery of lookup services. Service search. Service registration. Subclassed bondDefaultStrategy to create Jini-enabled strategy using bondTupleSpaceEnabledStrategy as an example.
Progress (continued) Sublassed bondJiniEnabledStrategy into ServiceLookupTestStrategy and ServiceRegistrationTestStrategy. Created simple Bond blueprints for testing new strategies called ServiceLookupTest.bpt and ServiceRegistrationTest.bpt respectively. For debugging purposes, created BondJiniGUI class (a subclass of bondGuiStrategy). This allows user to see error messages on the console.
Progress (continued) Met with Dr. Ji to discuss progress. Demonstrated current functionality. Discussed “other direction.” This means a Jini server in a Bond network. See Figure 2. Dr. Ji agreed that this is one possible solution. Now beginning Phase Two.
Progress (continued) Figure 2 Jini server in Bond network Bond object Jini stub Stub of Jini server object Bond directory Jini server object addAlias find method calls Bond client object KQML messages Here a Bond object queries a lookup service for a stub. Next that Bond object registers in the Bond directory. It is now available to handle client requests. A Bond client queries the directory. It then sends KQML messages to the Bond object. That bond object is responsible for translating that message into an RMI call. Figure 2 Jini server in Bond network
Current Deliveries Everything necessary to execute Bond-Jini examples, including: 4 Jini convenience classes. 1 Jini-enabled strategy. 2 strategies that subclass Jini-enabled strategy. 2 test blueprints (one for each subclass of Jini-enabled strategy). 1 README file.