> Hi there,
> I need some help.
> We are making a model of a 3-tier client server architecture
> with a thin VB (Win95) client, thick Unix, C++ application
> server and a Unix-Sybase 10 database server. We have no clue
> about how these components will integrate.
Well, there are several ways you could go. Some of them:
1. Remote OLE. VB has built-in support for this. The Unix side
is a bit trickier, but there are several alternatives.
a. SCO has a Unix Remote OLE implementation that runs on
most Unix servers (HP, Sun, IBM etc). See
http://www.vision.sco.com/news/sole/
b. Open Environment has a product called OLEEnterprise that
implements a version of remote OLE via TCP/IP. See
http://www.openenv.com
c. Software AG has released remote OLE implementations for
several Unix platforms. See
http://www.sagus.com/Prod-i~1/net-comp/dcom/index.htm
d. Sybase announced OLE middleware called ObjectConnect
a while back; I don't know what they've done with it,
though.
A warning: remote OLE can be slow. Benchmark early and often
if you plan to go this route.
2. Remote Procedure Calls. There are lots of products on the
market to facilitate this; perhaps the best-known is
EZ-RPC from NobleNet (which seems to have changed its name
to NobleNet RPC). See
http://www.noblenet.com
3. Plain old sockets. The roll-your-own approach. You can call
the winsock API directly from VB, or use a library or OCX
available from several vendors. On the Unix side there's
a lot of free example C++ source available. See, e.g.
http://w3imagis.imag.fr/Membres/Stephane.Riviere/doc/libc++.faq
4. Some of the freely-available C++ sockets libraries have
reached very high levels of sophistication, in particular the
ACE (Adaptive Communication Environment) toolkit. I don't
think that a VB interface has been written, but it might
be a worthwhile project. See
http://www.cs.wustl.edu/~schmidt/ACE.html
What would I recommend? Well, I'd probably recommend
re-evaluating your proposed architecture. Each of these proposed
architectures has its drawbacks, and any of them have the
potential to turn a six-week project into a six-month project.
What application requiremnts are driving your decision to
put a Unix/C++ application server in the middle?