[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