Issue Details (XML | Word | Printable)

Key: GERONIMO-1111
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Alan Cabrera
Reporter: Kresten Krab Thorup
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Geronimo

Use Trifork CORBA (freeorb)

Created: 25/Oct/05 11:28 PM   Updated: 16/Jul/06 06:00 PM
Return to search
Component/s: CORBA
Affects Version/s: 1.2
Fix Version/s: None
Security Level: public (Regular issues)

Time Tracking:
Issue & Sub-Tasks
Issue Only
Not Specified

File Attachments:
  Size
XML File Licensed for inclusion in ASF works build.xml 2005-10-31 05:49 PM Kresten Krab Thorup 6 kB
File Licensed for inclusion in ASF works corba-diff-krab-31oct05.diff 2005-11-01 12:13 AM Kresten Krab Thorup 45 kB
File Licensed for inclusion in ASF works corbaidl.tgz 2005-10-31 05:49 PM Kresten Krab Thorup 37 kB
File Licensed for inclusion in ASF works freeorb-contrib.tgz 2005-10-25 11:31 PM Kresten Krab Thorup 61 kB

Patch Info: Patch Available
Resolution Date: 10/Nov/05 04:32 PM

Sub-Tasks  All   Open   
No sub-tasks match this view.

 Description  « Hide
As has been discussed previously, Trifork wants to donate a CORBA implementation. This message is to get things really started in context of Geronimo. Along with this message is a tar ball of the initial contribution, and I want to take this opportunity to describe what we are donating and how we would like to do this.

To set things straight, will not be donating a full CORBA implementation up front. What we are proposing is to donate the resources (read: developers) that it takes to do a full CORBA implementation in context of Apache Geronimo. Our concern with donating the full code is that we want to ensure that this is built as a community effort, so when we're done we are not the "single point of failure" for this to succeed as we go forward. We would like to avoid being the only ones to know the code, so that the CORBA implementation that comes out of this is something that can have a life without us pushing it forward. This is really the principal value that we see in contributing to this project. We want to have a free and independent CORBA implementation too, but we would like to avoid being stuck on it as we go forward.

Having said all that, we do have a CORBA implementation; and in our effort to bring this forward we will definitively use bits, pieces or even large chunks of this to make the Apache Geronimo CORBA implementation be complete and successful.

We know that there is eagerness in the Geronimo community to get things started in building a CORBA solution, and so hopefully this first contribution will be accepted as a starting point from which we will build a world-class CORBA system.

What is in this package is the foundation of a new I/O subsystem that I have previously talked about, and some of the code to hook that up with the client-side of the CORBA stack. As such, thins chunk of code is not in even self-contained nor complete. It's just the state of the code in our lab right now, and we want to move this into Geronimo space before we get too far along.

The mile stones that I imagine moving forward from here would be something like this:

1. Client-side stream-based invocation.
2. Value semantics (object serialization)
3. Server-side stream-based invocation handling, including POA implementation.
4. Dynamic stubs.
5. Local invocations.

There are a ton of sub-projects that I would love to see someone starting on; some of which already have place holders or stubs in the code that is part of the tar ball attached to this.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alan Cabrera added a comment - 26/Oct/05 05:36 AM
This is great. Let's start fleshing out ideas in http://wiki.apache.org/geronimo/CORBA.

Alan Cabrera added a comment - 28/Oct/05 10:36 AM
Kresten, bits of this code doesn't compile. IOSemaphoreClosedException seems to be missing, as are the CSIv2/IIOP CORBA classes.

Alan Cabrera added a comment - 29/Oct/05 01:59 AM
Maybe you could send the IDL files for us to compile. I think that we already have an IDL compiler from a previous donation. Packing up jar files from another project is not the way to go.

Alan Cabrera added a comment - 30/Oct/05 03:31 AM
FYI, Jason van Zyl is writing an IDL plugin for us.

Kresten Krab Thorup added a comment - 31/Oct/05 05:49 PM
Here's some IDL and a chunk of ANT script used to build the IDL files in our setup.

In my experience it can be a little tricky to get the IDL to compile correctly, because there are some pseudo IDL classes in there. As you can see in this script, for instance the generated ORB.java is deleted (since this one is hand-coded). Also, for most of these internal ORB interfaces, stubs and skeletons should not be generated; that is only for the "services".

Included in the tar file are also IDLs for CosNaming and CosTransactions (JTS) and CosSecurity. Those should maybe be compiled into separate modules because in principle they can evolve independently of the core ORB spec. Let me know what you think.


Kresten Krab Thorup added a comment - 01/Nov/05 12:13 AM
Here is a diff of today's work; this includes the IDL files needed to make it work. (so you should ignore the previous two attachments to this JIRA entry). Now we're down to one file that doesn't compile.

The patch includes diffs (including some new files) for spec/geronimo-spec-corba and sandbox/freeorb.

This also includes the geronimo-spec-corba as part of the spec top level build file.


Alan Cabrera added a comment - 10/Nov/05 04:32 PM
Patch applied.