i think this should look like..
applet
jdbc-> lokal server someport
lokal sever someport
get data_for_sqlserver
embed data_for_sqlserver -> post_http_data_for_sqlserver
socket port 80-> http://yourwebserver/servlet
send post_http_data_for_sqlserver (use POST)
is this ok for u ?
remote server with servlet
getPost post_http_data_for_sqlserver
unwrap post_http_data_for_sqlserver -> data_for_sqlserver
socket-> mysql on right port
send data_for_sqlserver
lokal server someport
receive http_response_data_from_sqlserver
unwrap http_response_data_from_sqlserver -> data_from_sqlserver
send data_from_sqlserver
applet
jdbc.get data_from_sqlserver -> ResultSet
as you can see this is a lot of work and im not sure if you can open a
serverport in untrusted applets.
so if you can connect to port 80 without a runing webserver you can
write your own jdbc-redirect-proxy
applet
jdbc-> your jdbcproxy on port 80
jdbcproxy
get data_to_sqlserver
socket-> mysql on right port
send data_to_sqlserver
get response -> data_from_sqlserver
send data_from_sqlserver
You can use the RMI proxy CGI that ships
with the JDK, but it will be _very_ slow.
Your best bet is to write an
application-specific HTTP proxy that
encapsulates things at your application
level, and sends the calls using HTTP
from behind the firewall over to a
servlet/cgi/perl script that you write
that does the server work.
The book "Java Servlets Second Edition"
by Karl Moss has some good information
about this. There`s a chapter on using
a technique he calls HTTP tunneling to
make remote calls on the server, and
return the information to the client.
Kind of like RMI but through HTTP,
not TCP/IP.
Communication level proxies (RMI or JDBC over HTTP) incur a _ton_ of overhead,
so you want to choose something a little-less fine-grained than that.