Boost logo

Boost :

From: vicente.botet (vicente.botet_at_[hidden])
Date: 2008-04-02 04:31:07


From: "Jonathan Biggar" <jon_at_[hidden]>
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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk