
Ames Andreas wrote:
I beg to differ, at least somehow. Although I'm with you, that a whole ORB implementation would not even remotely be feasible, I think a more constraint approach could be both interesting and useful.
Would it be possible to rephrase that proposal to sth. like:
'Implement GIOP 1.2 on top of asio'?
It would probably be most natural to concentrate on the asynchronous flavours of CORBA:
* AMI on the client side (it's in the offical CORBA specs)
* AMH for the server side (it's a proposal by Douglas Schmidt and implemented in TAO, see www.cs.wustl.edu/~schmidt/PDF/AMH.pdf for example)
I know nothing about AMI and AMH but it seems like a good approach.
Both flavours shouldn't differ on the protocol level from the normal synchronous approach but most probably they will affect the API layer.
Some further points may be important:
* Nicely separate layers 7 (GIOP primitives) and 6 (CDR)
* Use TAO, OmniORB and/or a Java ORB (JacORB or the Sun ORB) to test interoperability
* Provide an API to enable tampering with other protocol implementations (this would include the ability to customise the stack down to the bits)
* Provide backwards compatibility with GIOP 1.1 and 1.0
As a possible outcome/proof of concept I could imagine the following (in ascending order of complexity):
* Provide a transparent GIOP proxy, e.g. for logging the traffic between two ORBs
If the proxy is the only thing an end-user could try, it is probably not worth the effort.
* Try to replace the native GIOP stack in TAO or OmniORB with the new one and measure performance differences for common usage scenarios
I like the idea. This would open up a possibility to share asio "channel" with other network activities of an application. Do you have a estimate on a completity of this task?
* Provide python bindings for the mentioned tamoering API
-- Alexander Nasonov http://nasonov.blogspot.com God loves each of us as if there were only one of us. -- Saint Augustine -- This quote is generated by: /usr/pkg/bin/curl -L http://tinyurl.com/veusy \ | sed -e 's/^document\.write(.//' -e 's/.);$/ --/' \ -e 's/<[^>]*>//g' -e 's/^More quotes from //' \ | fmt | tee ~/.signature-quote