Re: JDBC over SwiftMQ, backward connection initialization
Monday, September 15, 2003 10:27 AM
Yes. Deploy 2 SwiftMQ routers with a Portmapper Swiftlet in each zone and let the router in the secure zone connect to the one in the insecure zone. You can use SSL for the routing connection.
In the Portmapper Swiftlet [secure zone] define a port provider that connects to your DB's TCP listener port, say 1683, and provides the port via a JMS queue, say, db@router2 (router2 is the name of the [secure zone] router). In the Portmapper Swiftlet [insecure zone] define a port listener that connects to the queue db@router2 of the port provider and maps it to your localhost [127.0.0.1] whatever port, say, 10111.
If you connect with your application in your insure zone to localhost:10111, a virtual bidirectional connection will be established between localhost:10111-db@router2-dbhost:1683. Thus, you have a transparent portmapping via JMS. Of course you can connect multiple times to the port 10111 and can run multiple DB connections simultaneously.
The Portmapper Swiftlet is a very cool thing. We use it ourself to create a virtual VPN and run IMAP, Perforce, Telnet, etc over it.