A Squeak ORB
Last updated at 6:54 am UTC on 21 November 2006
I don't know enough about writing an ORB to begin coding, so at this point I'm simply reading existing ORB code and rediscovering the objects which would make up an ORB.
One essential feature of a Squeak ORB is IIOP – this is part of the CORBA spec, but even if the ORB isn't initially compliant, being able to communicate from [eg] a Java Servlet using a Java ORB to Squeak opens up a ton of potential.
Done right, a Squeak ORB could be similar to SAMBA where CORBA servers just seem to get developed and maintained faster.
Some papers and online references:
Roadmap for a bottom up implementation:
- Aligned Binary Stream reading and writing
- CDR reading and writing
- Definition Types (Modules, Interface, Typedef, etc.)
- Interface Repository
- GIOP Message reading and writing
- Stuff - (ORB Interface , Portable Object Adapters, ????)
- Uncertain just what goes here just yet
- IDL Parser
- Stub generator (Not necessary with an all dynamic approach)
Would it be sensible to implement this in raw Squeak? There are a number of (L)GPL implementations out there, some of them very good indeed: cf. OmniORB, TAO et al. There could also be a good argument for the creation of a 'dynamic only' ORB (DSI and DII) which could push a lot of the logic up, but would probably be a very general solution. This is all hot wind, of course. [jgp 28/8/2001]
The "All Dynamic" approach is actually a good one. In fact that's how DST and SmalltalkBroker work internally. John Dougan
How about SOAPOpera? It's a SOAP Orb for Squeak...
There is another page on this Swiki dealing with SOAP.
See also SqueakOrb and rST - Remote Smalltalk.