IIOP is a connection-oriented protocol based on TCP/IP. Typically, a standard ORBs makes connections from each client to each object/server they use. This approach gives good latency but can result is poor throughput and scalability as the number of clients and servers increases.The connection concentrator implementation in the ORB funnels client/server communication (in both directions) to reduce connection resource utilization on the server. The clients are actually connected to the connection concentrator, called gateway, instead of the ultimate target object and all traffic to and from the client flows through the gateway.
![]()
Fig. 1: Concentrating requests from several client over a single connection to the server.Multiple connection concentrators can be started and the clients connecting to the server are automatically load balanced to these. Using this feature of the ORB, an application can literally support tens of thousands of simultaneously connected clients.
Starting Gateways
The gateways can be started on any node on the network and registered with the ORB daemon running on the network. For example,gateway -ORBDefaultInitRef iiopboot://godel:2506starts up a gateway on the local machine, which then registers itself with the ORB daemon running on host "godel" and port 2506. You can start multiple gateways.Configuring the Clients Dynamically
If the client ORB is initialized with the ORBUseGateway parameter, the client invokes on the ORB daemon and gets back a gateway through which it communicates with all the servers it talks to. Note that this is an optional quality of service that can be applied without any change to your client or server programs.See the Makefile for the gateway example. The secure bank client is started with additional parameters (-ORBUseGateway true).
Static Client Configuration
The clients can be configured statically to use a specific gateway by specifying the URL of the gateway. Multiple physical addresses can be specifies and the client automatically picks up of of the available gateways.For example:
java -DORBGatewayURL=iiop://host1:7777,host2:7777 myClientdirects the ORB to look for a gateway running on port 7777 at host host1. If it is not available, then port 7777 at host2 is tried. This feature can be used to navigate a firewall by running a gateway process on the firewall machine itself.
Copyright © 1998-2003, Novell, Inc. All rights reserved.