Starting a new Project
By kcavanaugh on May 16, 2006
My name is Ken Cavanaugh. I have been the Java CORBA project lead at Sun since 1998. I've been at Sun since 1994, working mostly on CORBA. This blog will primarily discuss Java CORBA related issues, particular as CORBA is used in the enterprise.
I am also the owner of the GlassFish CORBA project at java.net. This project provides the CORBA source code for the GlassFish application server. The rest of the Sun CORBA team and I have been working to get all of the source code, tests, and documentation into this project in support of the efforts to open source all of the code for GlassFish. The documentation is available for anyone to view. A good place to start is the ORB notes document.
A lot of changes were necessary to prepare our internal development for an open source project on java.net. The roots of our ORB development go back a long time: all the way to the very first Java ORB written around 1995. Almost everything has changed or been rewritten since then, but the history leaves a lot of confusing details that are difficult to explain, as well as even more confusing documentation that describes things that have long since changed.
Here are some of the changes we needed to make to get to this point:
- Clean up the structure of the tests. Some of the tests require multiple versions of the same class file in order to test serialization of evolved classes. This resulted in a confusing test directory structure. I've tried to clean this up: now all of the tests live in the test directory.
- Include only documentation that is still relevant and useful. I've been incorporating documentation from a variety of sources, both internal and external. This is still in progress, but sufficient documentation exists to start to understand what we have been doing.
- Set things up so that we can develop CORBA either in Sun's TeamWare source code control system or in CVS. TeamWare has some significant technical advantages over CVS, but the CVS tools that are available (particularly in the NetBeans CVS support) are compelling. For a project with a low commit rate, the problems of CVS don't matter as much as high-quality tools that work well on the internet.
- Remove source code that is not shipped anywhere. Such code simply makes it harder to understand the project.
- Clean up and simplify the build. We started out using makefiles, then added ant support a few years ago. I recently updated the ant support so that the tests can all be run from ant. This eliminates most of the needs for makefiles in this project.
- Add good support for NetBeans. If you use NetBeans to get the source files, NetBeans can automatically open GlassFish-CORBA and be immediately ready to build and run tests. You don't even need to read the instructions on how to build the project (but you'll need to if you don't use NetBeans).
This is just the beginning for this project. The GlassFish-CORBA home page gives a list of some of the work currently in progress, as well as some of the other things that we would like to work on. If you are interested in Java and CORBA, come take a look at what we've been doing.