You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Anders Hessellund Jensen <ah...@trifork.com> on 2005/12/06 17:21:31 UTC

Corba spec / IDL issues

Hi all,

Currently, we need to compile idl files in at least two cases.

- The CORBA spec is based on idl.
- Interfaces for some test files is also defined in idl.

Currently everything is compiled with Suns idlj. This is not 
satisfactory because of a  couple of problems:

- Requires Sun JDK. This means that people using non-Sun JDK's can't 
compile the idl files.

- No support for local interfaces. The ORB uses some interfaces that are 
used internally only. These should be declared local in idl, so that the 
resulting java interfaces do not extend Remote.

Support for local interfaces is very important. Without this, the 
classes used in the internal implementation of the ORB throws a lot of 
unneccessary exceptions, which complicates the code that uses the 
generated classes.

Optimally, we would be able to take the idl files directly from OMG. 
They have published a set of idl files, which can be downloaded here:
http://www.omg.org/cgi-bin/doc?formal/02-07-02 . These files generally 
correspond to our own files in geronimo-spec-corba. Using the files 
provided from OMG would be advantageous, since that would guarantee the 
correctness and completeness of the IDL.

For the Trifork ORB we used the JacORB idl compiler. This compiler is 
apparently able to compile the idl files from OMG with only very minor 
modifications to these. The compiler is under the GPL.

Therefore, i propose we use the JacORB idl compiler instead of Suns 
idlj. This would solve both aforementioned issues.

To use it, we would have to bundle it and get it uploaded to the maven 
repos, and we would have to modify the idlj plugin to support using this 
compiler. Neither should take a huge amount of work. I would be happy to 
take care of the plugin modifications required.

Note that the compiler is only used in the build process. It will not be 
bundled with the finished product or anything like that. We are not 
going to have any GPL-code in the geronimo repository by using this 
compiler.

Any comments on this issue? Should i move on to integrating the JacORB 
compiler with the idlj plugin?

/Anders

Re: Corba spec / IDL issues

Posted by "Kresten Krab Thorup (Trifork)" <kr...@trifork.com>.
+1, I think this is the best solution with the means at hand.

Anders should be able to move forward with this next week: do the  
appropriate changes to the maven2 idlj plugin, and produce a complete  
patch for the necessary changes to the geronimo/corba-spec module.

The maven plugin needs to somehow know if it should (or should not)  
generate skels and stubs.  (corresponding to the JacORB idl  
compiler's -noskel and -nostub options).  Suns idlj has similar  
options in -fclient, -fserver and -fall, etc.

Kresten Krab Thorup
krab@trifork.com

"We do not inherit the Earth from our parents, we borrow it from our  
children." Saint Exupery



On Dec 7, 2005, at 3:24 AM, Alan D. Cabrera wrote:

> Anders Hessellund Jensen wrote, On 12/6/2005 3:09 PM:
>
>> Lars Kühne wrote:
>>
>>> This question hasn't been addressed yet. I really don't see the  
>>> point of maintaining our own copy either. Where did that copy  
>>> originate - isn't it based on the OMG files anyway?
>>
>>
>> I think the current files originate from the ORB in Trifork P4.  
>> Originally, OMG did not distribute the idl files for the spec (as  
>> far as i know).  They used idl in the specification document, but  
>> no raw idl files.
>>
>>> The OpenORB compiler supports local interfaces, and it is used to  
>>> compile the OMG idl files in the OpenORB build, so that part  
>>> could probably work. However the JacORB compiler is much more  
>>> stable than the OpenORB compiler which has a *huge* amount of  
>>> bugs, and one of those might become relevant for the test IDLs.
>>
>>
>> I did a bit of experimentation with the OpenORB compiler, and it  
>> is also my impression that the JacORB compiler is more mature. I  
>> also don't think the OpenORB compiler would be able to compile the  
>> OMG idl files without modifying these significantly, or at least  
>> more than we would have to with the JacORB compiler. With the  
>> JacORB compiler I was able to compile the orb.idl and  
>> PortableServer.idl from OMG with only one minor addition.
>
>
>
> Ok, let's follow Dain's advice and run with the JacORB compiler.
>
>
> Regards,
> Alan
>
>
>


Re: Corba spec / IDL issues

Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
Anders Hessellund Jensen wrote, On 12/6/2005 3:09 PM:

> Lars Kühne wrote:
>
>> This question hasn't been addressed yet. I really don't see the point 
>> of maintaining our own copy either. Where did that copy originate - 
>> isn't it based on the OMG files anyway?
>
>
> I think the current files originate from the ORB in Trifork P4. 
> Originally, OMG did not distribute the idl files for the spec (as far 
> as i know).  They used idl in the specification document, but no raw 
> idl files.
>
>> The OpenORB compiler supports local interfaces, and it is used to 
>> compile the OMG idl files in the OpenORB build, so that part could 
>> probably work. However the JacORB compiler is much more stable than 
>> the OpenORB compiler which has a *huge* amount of bugs, and one of 
>> those might become relevant for the test IDLs.
>
>
> I did a bit of experimentation with the OpenORB compiler, and it is 
> also my impression that the JacORB compiler is more mature. I also 
> don't think the OpenORB compiler would be able to compile the OMG idl 
> files without modifying these significantly, or at least more than we 
> would have to with the JacORB compiler. With the JacORB compiler I was 
> able to compile the orb.idl and PortableServer.idl from OMG with only 
> one minor addition.



Ok, let's follow Dain's advice and run with the JacORB compiler.


Regards,
Alan




Re: Corba spec / IDL issues

Posted by Anders Hessellund Jensen <ah...@trifork.com>.
Lars Kühne wrote:
> This question hasn't been addressed yet. I really don't see the point of 
> maintaining our own copy either. Where did that copy originate - isn't 
> it based on the OMG files anyway?

I think the current files originate from the ORB in Trifork P4. 
Originally, OMG did not distribute the idl files for the spec (as far as 
i know).  They used idl in the specification document, but no raw idl files.

> The OpenORB compiler supports local interfaces, and it is used to 
> compile the OMG idl files in the OpenORB build, so that part could 
> probably work. However the JacORB compiler is much more stable than the 
> OpenORB compiler which has a *huge* amount of bugs, and one of those 
> might become relevant for the test IDLs.

I did a bit of experimentation with the OpenORB compiler, and it is also 
my impression that the JacORB compiler is more mature. I also don't 
think the OpenORB compiler would be able to compile the OMG idl files 
without modifying these significantly, or at least more than we would 
have to with the JacORB compiler. With the JacORB compiler I was able to 
compile the orb.idl and PortableServer.idl from OMG with only one minor 
addition.

Re: Corba spec / IDL issues

Posted by Lars Kühne <la...@t-online.de>.
Alan D. Cabrera wrote:

> Anders Hessellund Jensen wrote, On 12/6/2005 8:21 AM:
>
>> Optimally, we would be able to take the idl files directly from OMG. 
>> They have published a set of idl files, which can be downloaded here:
>> http://www.omg.org/cgi-bin/doc?formal/02-07-02 . These files 
>> generally correspond to our own files in geronimo-spec-corba. Using 
>> the files provided from OMG would be advantageous, since that would 
>> guarantee the correctness and completeness of the IDL.
>>

This question hasn't been addressed yet. I really don't see the point of 
maintaining our own copy either. Where did that copy originate - isn't 
it based on the OMG files anyway?

>> [...]
>> Note that the compiler is only used in the build process. It will not 
>> be bundled with the finished product or anything like that. We are 
>> not going to have any GPL-code in the geronimo repository by using 
>> this compiler.
>>
>> Any comments on this issue? Should i move on to integrating the 
>> JacORB compiler with the idlj plugin? 
>
>
>
> I don't think that JacORB is properly licensed.  Does anyone know if 
> it's a problem using LGPL jars?
>

Many projects at Apache seem to use Checkstyle, which is also LGPL. So 
LGPL doesn't seem to be a problem for tools that are only used during 
the build (not redistributed and not stored on Apache servers).

> The ideal solution is to implement and use our own.


Yes, it would be great to have an Apache-Licensed IDL compiler, but that 
would take time and take away momentum from the core ORB development. We 
could do that in parallel if there is any interest.

>   I wonder if we could use OpenORB.  Lars?
>

The OpenORB compiler supports local interfaces, and it is used to 
compile the OMG idl files in the OpenORB build, so that part could 
probably work. However the JacORB compiler is much more stable than the 
OpenORB compiler which has a *huge* amount of bugs, and one of those 
might become relevant for the test IDLs.

Regards,
Lars


Re: Corba spec / IDL issues

Posted by Dain Sundstrom <da...@iq80.com>.
On Dec 6, 2005, at 8:56 AM, Alan D. Cabrera wrote:

> Anders Hessellund Jensen wrote, On 12/6/2005 8:21 AM:
>
>> Therefore, i propose we use the JacORB idl compiler instead of  
>> Suns idlj. This would solve both aforementioned issues.
>>
>> To use it, we would have to bundle it and get it uploaded to the  
>> maven repos, and we would have to modify the idlj plugin to  
>> support using this compiler. Neither should take a huge amount of  
>> work. I would be happy to take care of the plugin modifications  
>> required.
>>
>> Note that the compiler is only used in the build process. It will  
>> not be bundled with the finished product or anything like that. We  
>> are not going to have any GPL-code in the geronimo repository by  
>> using this compiler.
>>
>> Any comments on this issue? Should i move on to integrating the  
>> JacORB compiler with the idlj plugin?
>
>
> I don't think that JacORB is properly licensed.  Does anyone know  
> if it's a problem using LGPL jars?
>
> The ideal solution is to implement and use our own.  I wonder if we  
> could use OpenORB.  Lars?

Um, I was under the impression that using GPL compilers was ok.  Does  
Apache httpd build using gcc?

If we can use the JacORB idlj compiler today, I say we do and  
readdress this issue another day.

-dain

Re: Corba spec / IDL issues

Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
Anders Hessellund Jensen wrote, On 12/6/2005 8:21 AM:

> Hi all,
>
> Currently, we need to compile idl files in at least two cases.
>
> - The CORBA spec is based on idl.
> - Interfaces for some test files is also defined in idl.
>
> Currently everything is compiled with Suns idlj. This is not 
> satisfactory because of a  couple of problems:
>
> - Requires Sun JDK. This means that people using non-Sun JDK's can't 
> compile the idl files.
>
> - No support for local interfaces. The ORB uses some interfaces that 
> are used internally only. These should be declared local in idl, so 
> that the resulting java interfaces do not extend Remote.
>
> Support for local interfaces is very important. Without this, the 
> classes used in the internal implementation of the ORB throws a lot of 
> unneccessary exceptions, which complicates the code that uses the 
> generated classes.
>
> Optimally, we would be able to take the idl files directly from OMG. 
> They have published a set of idl files, which can be downloaded here:
> http://www.omg.org/cgi-bin/doc?formal/02-07-02 . These files generally 
> correspond to our own files in geronimo-spec-corba. Using the files 
> provided from OMG would be advantageous, since that would guarantee 
> the correctness and completeness of the IDL.
>
> For the Trifork ORB we used the JacORB idl compiler. This compiler is 
> apparently able to compile the idl files from OMG with only very minor 
> modifications to these. The compiler is under the GPL.
>
> Therefore, i propose we use the JacORB idl compiler instead of Suns 
> idlj. This would solve both aforementioned issues.
>
> To use it, we would have to bundle it and get it uploaded to the maven 
> repos, and we would have to modify the idlj plugin to support using 
> this compiler. Neither should take a huge amount of work. I would be 
> happy to take care of the plugin modifications required.
>
> Note that the compiler is only used in the build process. It will not 
> be bundled with the finished product or anything like that. We are not 
> going to have any GPL-code in the geronimo repository by using this 
> compiler.
>
> Any comments on this issue? Should i move on to integrating the JacORB 
> compiler with the idlj plugin? 


I don't think that JacORB is properly licensed.  Does anyone know if 
it's a problem using LGPL jars?

The ideal solution is to implement and use our own.  I wonder if we 
could use OpenORB.  Lars?


Regards,
Alan