OrbGate FAQ


1. What is OrbGate

OrbGate is a 'CORBA extender' that provides ability to build browser-based Java CORBA client applications. All CORBA traffic is wrapped into HTTP requests and therefore can easily traverse firewalls. OrbGate also allows using HTTPS (i.e. HTTP over SSL) as its transport.

2. How OrbGate differs from other Java ORBs

OrbGate does not represent a full-blown Java ORB. It implements only client-side CORBA interfaces and thus restricts applets to be only clients of some server-side objects. Protocol is asymmetric, only client can send requests. These restrictions allowed to use HTTP protocol implementation built into browser. The result is that Java ORB runtime is very small - 40K, plus 120K standard CORBA runtime. The runtime thus can be easily downloaded even with moderate network bandwidth. Despite its size, OrbGate Java runtime is fully OMG-compatible, so you can use any OMG-compatible tools (for instance, Sun idlj) to create IDL stubs - no proprietary interfaces, just standard CORBA. OrbGate runtime supports both stream- and DII-style stubs.

3. What platforms does OrbGate support

OrbGate has two server components: web server module (mod_orbgate) and CORBA proxy server (orbgate). mod_orbgate is developed as Apache module and (hopefully) can support as many platforms as Apache itself. orbgate is built over the TAO ORB runtime. TAO (http://www.cs.wustl.edu/~schmidt/TAO.html ) has extensive platform support, including, among others, Linux, FreeBSD, Solaris, AIX, SCO, HP-UX and Win32.

4. What browsers does OrbGate support

OrbGate Java runtime is Java-1.1 compatible and thus can be used in many existing browsers - MS Internet Explorer, Netscape 4.x (see INSTALL for special notice), and Netscape 6.x.

5. How OrbGate works

When Java applet makes a CORBA call, proxy/stub code marshals all input arguments into CDR stream. OrbGate Java runtime encapsulates serialized arguments to HTTP POST request and sends to the web server. Mod_orbgate module receives the message, removes HTTP envelope and transfers contents to the OrbGate server. OrbGate server prepares CORBA client request using the contents of client's CDR stream. Then OrbGate performs the invocation of this request and receives reply from the target CORBA server. The received reply CDR stream is then passed to the client through mod_orbgate. Java runtime on the client unmarshals output parameters or exceptions and delivers them to the application.


For more information, send e-mail to Viatcheslav Batenine