Boost logo

Boost :

From: Ames Andreas (Andreas.Ames_at_[hidden])
Date: 2007-03-06 12:04:03

> -----Original Message-----
> From: boost-bounces_at_[hidden]
> [mailto:boost-bounces_at_[hidden]] On Behalf Of Jeff Garland
> Sent: Tuesday, March 06, 2007 4:32 PM
> Subject: Re: [boost] [soc] orb project was (asio projects)
> Stefan Seefeld wrote:
> > Jeff Garland wrote:
> > Out of curiosity: What's the relationship between an ORB
> and, and
> > why would want to have its own ?
> Good question. Some would probably like to have an ORB

I'd say, there is no such relation. As I said before, I don't think a
useful ORB implementation would be doable in 3 month (or even thirteen
months). The proposal as it stands is not practical (if such a thing
as a Boost ORB would be considered useful at all).

I propose a different project, maybe as a subproject of 'Implementing
application level protocols using asio'.


Implement GIOP 1.2 on top of asio


GIOP is commonly used as an communications protocal between CORBA
ORBs. Unfortunately the programming model that CORBA exposes is
cumbersome (although portable and language agnostic). Furthermore
standard CORBA doesn't provide an asynchronous API on the server side.
This project should create a strictly asynchronous API for low-level
GIOP programming on top of boost's asio library.


The library created by this project should enable writing servers
and/or clients purely in C++ (i.e. without IDL etc.) that can
communicate with CORBA ORB implementations (analogy:  you can
implement HTTP communications without a SOAP framework).
The protocol is well documented and features only eight message types.
Additional points of interest:
* The lib should cleanly seperate OSI layer 7 (GIOP messages) from
  layer 6 (CDR).  Layer 6 could perhaps be implemented as a
  serialization archive.
* Only IIOP and TCP as transport layer is of interest.
* The lib should/could provide a whole range of customisation points
  such that the user can directly control possibly every aspect of
  message assembly down to the bitstream.  This could be useful to
  test ORB applications.
* The implementation should provide backwards compatibility to GIOP
  1.0 and 1.1.
* An optional goal could be to show off the interoperability of the
  protocol implementation by providing a simple 'transparent' gateway
  between a traditional CORBA object and a traditional CORBA client
  (like between the usual 'echo' object and its client)
Knowledge or the ability to become acquainted with:
* C++
* Selected Boost libraries (at least asio and serialization, hopefully
* Event-driven programming
* Understanding and implementing network protocols
Andreas Ames | Programmer | Comergo GmbH | ames AT avaya DOT com
Sitz der Gesellschaft: Stuttgart
Registergericht: Amtsgericht Stuttgart - HRB 22107
Geschäftsführer: Andreas von Meyer zu Knonow, Udo Bühler, Thomas Kreikemeier

Boost list run by bdawes at, gregod at, cpdaniel at, john at