
From: "Jonathan Biggar" <jon@biggar.org> Subject: Re: [boost] CORBA iimplementation for Boost interest?
vicente.botet wrote:
I think that a C++ CORBA implementation is a big deal. In addition a corba implemenation is not very useful without a minimal set of CORBA services.
Yes, it's a big deal. I've been working on this for a *very* long time on my own.
Are you mapping idl files to C++ using a generator?
Yes, I have an IDL compiler.
This is a good starting point.
Do you use the standard C++ mapping, or a mapping using more generic C++ techniques?
It's the standard mapping for now, but the underlying engine could be used underneath a new experimental mapping.
I think that we need an standard binding, otherwise application that use already the standard binding (throug other CORBA implementations) could not switch to the Boost one without major changes. I'm sure that you should have already a lot of work boostifying your current implementation. A more C++-friendly interface binding will need more experimental work, and I'm sure that there will be a lot of boosters that have already a lot of ideas. Maybe some one really involved in this task can start a new page on the Boost wiki. This more C++-friendly binding could be : * a wrapper to the standard C++ binding or C binding * a new inteface idependent from the standard C++ binding and using a common infrastructure - a wrapper has the advantage to be used with other ORB providers and the drawback to be constrained by the standard binding, - a new interface idependent from the current binding has the advantage of freedom but could not be reused with other ORB providers. The definition of this common infrastructure will be already un interesting project by itself.
Could you present your current implementation, OS, middleware, ...
Runs on UNIX (Solaris), Linux and Windows NT or later.
Could you present a little bit your project, contents, architecture, ...
Here's the basics of what I've got:
1. An IDL compiler, currently mostly written in Perl, but I've been thinking about rewriting it using Wave and Spirit.
Even if this is an interesting project by itself, I think that it has a lower priority than boostifying your current implementation.
2. An ORB library to link with. This includes a pretty much complete implementation of CORBA 2.6, including the C++ binding, GIOP/IIOP implementation, valuetypes and abstract interfaces, the Dynamic Invocation and Skeleton interfaces, and almost all of the CORBA messaging specification (async and polling invocations and the policy framework). I have a partial implementation of portable interceptors.
Could you enumerate the features your implementation do not provides? Which one will be mandatory for a first release?
3. Naming service and a simplistic implementation launching service.
Do you have everything you need already in Boost?
With ASIO and the newer Thread library, I think I have everything I need for the ORB library. I have been using ACE up till now. (I actually started this project long before the ACE team started TAO.) If I rewrite the IDL compiler in Wave and Spirit, then I won't need Perl anymore either.
I'm surprised that using ACE currently you don't need nothing more not yet pressent in Boost. I suppose then that your implementation will contain a lot of infrastructure classes that could be seen as separated libraries. We will see.
-- Jon Biggar
Finnaly, I see atleast three independent projects: * the one you were proposing initially, boostify your ORB implementation * boostify the IDL to C++ compiler * look for a more c++-friendly interface Thanks for your answer. Have a good project _____________________ Vicente Juan Botet Escriba