[jacorb-developer] TAO_IMR ImR_Client ImplRepo.idl is different between JacORB and TAO

Phil Mesnier mesnierp at ociweb.com
Thu Nov 26 03:35:43 CET 2015


Hi Tim,

You are correct that the Implementation Repository is considered a "proprietary" service by the spec.

OCI has been working on the TAO implementation repository for a customer who has very severe demands on the ImR. They have funded many major changes including the change to the list operation. I had to do some digging, it seems the list operation was extended prior to the release of TAO 2.2a but after the contribution of the tao_imr idl's to JacORB. It is unfortunate that the signature of the list operation was modified rather than adding a new operation, but it happened. 

So there are two ways to reconcile this conflict. Update the tao_imr/ImplRepo.idl in JacORB or refactor TAO's ImplRepo.idl to restore the old list signature and add a "listExt" operation with the new signature.  Or I could do both. There have been some nifty extensions added to the ImR since TAO 2.2a was released. 

Now the aforementioned customer uses the TAO supplied command line utility for in the control of the ImR, but I don't know how to refactor TAO's ImplRepo.idl in a way that doesn't break anyone else's client. Of course the likelihood of that is small.

How extensively does your application code make use of the ImplementationRepository::Administration interface? How about the list() operation in particular? If you only use it in a couple of places, the easiest solution is to just update the ImplRepo.idl that's shared and then you can add the "determine_active_status" flag to your code.

-Phil

> On Nov 25, 2015, at 2:10 PM, Timothy Astle <timothy.astle at caris.com> wrote:
> 
> I just observed something and I wanted to solicit some thoughts.
> 
> A while ago, we abandoned generating our own client stubs generated from the ImplRepo.idl since JacORB now provides these stubs.  (We thought that was quite nice.)  The client uses JacORB 3.7.
> 
> Our server uses TAO, and has upgraded to use 2.2a_p6 distributed by OCI.
> 
> We observed a problem calling the list operation from our Java client.  It appears that the IDLs are now different between the two libraries.  I'll point out the difference in the interface.
> 
> https://github.com/DOCGroup/ATCD/blob/master/TAO/tao/ImR_Client/ImplRepo.idl
> 
>    /// Returns at most @a how_many servers in @a server_list.  If there
>    /// are additional servers, they can be received through the
>    /// @a server_iterator.  If there are no more servers, then
>    /// @a server_iterator is null.
>    /// If @a how_many == 0, then returns all servers.
>    /// If @a determine_active_status is true then
>    /// set ServerInformation::active_status attribute by determining
>    /// if the server is alive.
>    void list (in unsigned long how_many,
>               in boolean determine_active_status,
>               out ServerInformationList server_list,
>               out ServerInformationIterator server_iterator);
> 
> https://github.com/JacORB/JacORB/blob/master/idl/tao_imr/ImplRepo.idl
> 
>    /// Returns at most <how_many> servers in <server_list>.  If there
>    /// are additional servers, they can be received through the
>    /// <server_iterator>.  If there are no more servers, then
>    /// <server_iterator> is null.
>    /// If how_many == 0, then returns all servers.
>    void list (in unsigned long how_many,
>               out ServerInformationList server_list,
>               out ServerInformationIterator server_iterator);
> 
> I'm pretty sure interfacing to an Implementation Repository is not a part of the CORBA specification (from what little I recall from that large book).
> 
> I'm just curious as to what we should do?  Is there a plan for JacORB to somehow manage the versions of the ImplRepo.idl for all of the changes made in TAO?  Is there some plan to try to maintain some type of compatibility for this interface between projects?  Or is did we make a mistake by using the generated stubs provided by JacORB?
> 
> I'm pretty sure I've seen the same committers working in both projects, so I'd appreciate your thoughts.
> 
> Thanks for your time,
> 
> 
> Tim
> _______________________________________________
> jacorb-developer maillist  -  jacorb-developer at lists.spline.inf.fu-berlin.de
> https://lists.spline.inf.fu-berlin.de/mailman/listinfo/jacorb-developer

--
Phil Mesnier
Principal Software Engineer and Partner,   http://www.ociweb.com
Object Computing, Inc.                     +01.314.579.0066 x225






More information about the jacorb-developer mailing list