[omniORB] Finding methods / part 3

Yu Baofeng baofyu@ns.dept3.buaa.edu.cn
Thu, 2 Dec 1999 20:21:19 +0800


Hi! Everyone

Why not use Jini?

Kind Regards say:

Ok, You have all the reason. Test only the methods is danger. I
   have to find the interfaces, and then test the methods. But I want
   to do that in a distributed way ... Imagine the following scenario:

   Program A wants to know what Laser Printers are out of paper;
   There are programs monitoring the printers say, these monitors
   check periodically the printer to see its status and send events
   about it; and in the other side, these monitor have a CORBA interface
   so you can manage the printer from another program:

   A program monitor has:
         1) code to check the printer periodically
         2) code to send events to the Eventchannel or something like
            this (the Communication Adapter) so we can notify the
            status to other programs
         3) code to receive events that contain commands
         4) a corba interface to allow another program manage the
            printer, just like this program was the monitor

   so Program A don't  
   manage the printers directly and A don't know nothing about the
   monitoring programs; Program A and the monitors talks using a
   event channel or something like this. So to do something useful,
   A must check:

      1) first all the printers
      2) then for the printers available, all the laser printers
      3) from this, printers that are out of paper.

   There are 2 ways to do this
       
      1) Use the Naming service, register all the monitors on it,
         and then use object references for all of them from the
         program A, and use their interfaces to check the conditions
         but this has two problems: 1) It requires lots of connections
         to do this and 2) is very centralized, so if A crash, I have
         problems.

      2) The other way is to use a comunication media says an Event
         channel, or something like this, so A can query to the rest  
         of programs (in this scenario, the monitors) for those that
         are monitoring laser printers, that are out of paper. The  
         monitors that check the conditions (monitors monitoring
         laser printers that are out of paper) send the answer to  
         program A; so A can use the Monitor CORBA interface to  
         manage this printers. This is way is distributed (each
         monitor checks itself the conditions) and requires less
         connections. I think my steps must follow this path

  Baofeng Yu

Advanced Simulation Technology Lab
email: baofyu@ns.dept3.buaa.edu.cn