TAO Branding

As many of you may already know it was the intention of The Center for Distributed Objects Computing at Washington University to obtain branding for TAO. This was due to the generous offer of The Open Group to provide its CORBA test suite at no cost. We were also naturally curious to see how completely our design goals for CORBA compliance had been met, as judged by an external test suite.

TAO is implemented using the OMG CORBA specifications. Any extensions and additional features are added to support for example sponsors' requirements, or research into new characteristics for object middleware that can then be submitted to the OMG for incorporation into the specifications. TAO source code is open and thus available for anybody to study, review, and comment on. Interoperability with other ORBs is another important criteria and our support for IIOP 1.1 is evidence of that commitment. We rapidly incorporate new aspects of the standard to test their validity in practice. Our project objectives are standards compliant middleware, able to meet the most demanding needs of our user base, and to continue to enjoy the trust of the user base.

Although we recognized that the test suite (called VsORB) from The Open Group was designed to exercise CORBA 2.1 functionality, we believed initially that our own 2.2 and 2.3 features would not cause conflict with the tests. During the testing activities we found out that this was a serious underestimation. As a result of our findings we have elected to postpone the testing until the suite is current with our version. To continue would have resulted in resources being applied to retrofit, in fact retrograde, TAO to enable it to pass the tests. We would then have been in the situation of having to disable or remove some of those capabilities in order to shift back to 2.2 and 2.3. We would have technically violated the terms of the branding program that requires you to maintain your code base consistent with the product standard (as indicated by the test suite) for as long as you wish to declare your product to be branded.

For those who interested in the technical issues, we have summarized some of them below.

  1. The CORBA 2.1 specification obviously requires the BOA. The Open Group conformance testing does not require the BOA tests as part of its product standard. However the new POA mappings of 2.2 change the relationships between servants and objects, between 2.1. This change, required by the 2.2 specification, results in incompatibility with the now somewhat obsolete features in the 2.1 specification that the test uses to verify "other" aspects of the ORB functionality.

  2. The OMG CORBA 2.1 specification was incomplete and as a result had several problems in the server-side mapping for C++. The 2.2 specification solved these problems, but unfortunately the solution is not backward compatible. In consequence a CORBA 2.2 compliant ORB generates skeletons that are different and incompatible, for some data types and data passing modes, with the 2.1 skeletons. The test suite uses the old mapping, making it impossible to run and compile it with a CORBA 2.2 ORB.

As stated previously, it would be possible to retrofit the 2.1 features into TAO. However this was clearly an instance where we really felt we should be judicious of our resources. The user community and our sponsors expect that we spend our resources improving the quality of the product, rather than trying to satisfy features no longer relevant to the latest CORBA. Particularly in this case when Open Group branding is the sole justification for the resource expenditure.

For those of you who were not aware of the differences in the OMG specifications 2.1 and 2,2 and the compatibility issues, we would like to make the following observations. There are very important reasons why the OMG decided to make changes between the CORBA 2.1 and CORBA 2.2 specifications, which resulted in incompatibility. The changes though seemingly minor, do greatly simplify the development of the server-side objects in an ORB, and were considered a worthwhile trade off. We would also like to point out that users porting from 2.1 ORBs, to later versions will in fact find these problems. Therefore you should be aware of them. Fortunately they can be easily fixed, from an application standpoint.

The TAO team, and we hope you, understand that The Open Group cannot simply apply those fixes to their test suite because that would invalidate the testing process at the 2.1 level. We understand that The Open Group are planning to upgrade the Open Brand program (and associated test suites) to match the new CORBA 2.3 specification as soon as it is ratified. TAO is committed to standards compliance, and testing by third parties to validate it. It continues to be our intention to work with OMG and The Open Group to ensure that the conformance requirements and test suites for 2.3 meet the needs of the market and confidently expect to be able to brand TAO at that stage.

We have no hidden agendas, or lock in strategies. We will continue to build TAO to be the standard in CORBA performance.


Back to the TAO page.

Last modified 11:34:24 CDT 28 September 2006