Current Status

Sai-Lai Lo S.Lo@orl.co.uk
Fri, 10 Oct 1997 15:40:55 +0100


Since I have received a number of queries regarding the development of
omniORB, it seems appropriate to summarise the current status and the
medium term development plan.

(1) Release omniORB_2.4.0

    I want to get this release out of the door as soon as I can. I still
    have some more testing to do before I'm satisfied to release it both
    internally and externally.

    This (long overdued?) release will include:

     - fixes to all the bugs discovered since 2.2.0

     - Proper support for late binding.
         Given interface A and B inherits from A and a process which only
         has the stub for interface A linked in. With 2.2.0, if the process
         expects a A but receives an object reference for a B, it would not
         know B is A. With 2.4.0, it will know by using the _is_a()
         operation to find out if B is indeed A.
 
     - Cache connection shutdown doesn't cause a COMM_FAILURE.

     - Connections are closed automatically after they are idle for a
       period of time. The idle period can be controlled by the
       application. This check is done both at the client and the server
       end.

     - Proper BOA shutdown. It is even restartable.

     - Support for life cycle service. This provides all the hooks to
       implement object migration.

     - omniORB specific extensions to allow applications to install
       per-object or global exception handlers to deal with
       CORBA::TRANSIENT, CORBA::COMM_FAILURE and CORBA::SystemException
       (other than the previous 2) raised during remote object invocation.

     - more examples, including sample code that demonstrate
       interoperability with some java ORBs.

     - New ports:

	OpenVMS  - by Bruce Visscher
        Irix 6.x - by Hans Heubner
        AIX      - by Andrey Slepuhin and Gary Duzan
        x86 Solaris
        

(2) Any and Typecode

     Testing of the runtime has completed. Eoin still has to modify the
     idl compiler to generate the stub. Dynamic any has to be done.
     Some of you have expressed an interest in beta testing the any
     support. I think we probably will release a beta version asap.
     
(3) DII and DSI

     This will have to come after Any and Typecode. To be honest, we don't
     really find this useful and there is no demand for it internally.
     You can understand we are not very keen on doing it and other higher
     priority tasks may take precedence.

     So if you think you can help, please contact us. This task is quite
     self-contained and should not require extensive changes to other parts
     of the ORB.

(4) On-demand object loading, application defined variable length object
    IDs and support for POA.

     I'm going to work on this after 2.4.0. This is likely to be a major
     task and I'll have to do some significant code reorganisation. 


In addition to the DII and DSI, I think it would be ideal if some of you
can take up the task of implementing the security service, either at the
SSL level or at least provide end-to-end authentication. This will require
changes to the ORB proper and I'm quite willing to coordinate the changes.


Comments?

Sai-Lai