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