JavaTM Programming with CORBATM : Advanced Techniques for Building Distributed Applications