Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!europa.eng.gtefsd.com!howland.reston.ans.net!newsserver.jvnc.net!jvnc.net!franklin-tty10.jvnc.net!user
From: mikek@krt.com (Michael Kranzdorf)
Subject: Re: VisualWorks client/server questions
Message-ID: <mikek-2710941845040001@franklin-tty10.jvnc.net>
Sender: news@tigger.jvnc.net (Zee News Genie)
Nntp-Posting-Host: franklin-tty10.jvnc.net
Organization: Kranzco Realty Trust
References: <38mbsp$j2g@cesl.rutgers.edu>
Date: Thu, 27 Oct 1994 23:45:04 GMT
Lines: 88

I'm surprised no one from ParcPlace has responded to this. I'll give it a
shot and maybe they'll correct me where I get it wrong. 

In article <38mbsp$j2g@cesl.rutgers.edu>, Richard L. Peskin
<peskin@caip.rutgers.edu> wrote:

> Perhaps someone can provide me with some details on VisualWorks 2.0
> client/server capabilities. The documentation is sparse on multiplatform
> support issues. It is clear that in building a Unix based client to Unix
> based server application, that the supplied Socket classes are employed.
> But what if I want to build a Macintosh or Windows based client to
> connect to a Unix based server? Specifically, what is supplied (either in
> the VisualWorks package as sold or in the "available" drivers) to support
> multiplatform communication?
> 

If you want to write "distributed applications" (i.e. you write Smalltalk
code for both the server and the client (or peers)) I think ParcPlace will
steer you towards HP Distributed Smalltalk which is built on VisualWorks.
I don't know how or even if it supports Mac clients. 

In VW 2.0, the IPC classes for the MacOS say "currently unsupported". For
Windows, they look for Sockets (WinSock?) and if not there, it says
"currently unsupported". For unix, there are lots of classes and methods
for sockets and pipes.

> To be more concrete, what if I want to develop a Mac based client program
> in VisualWorks to connect to a Unix based Oracle database? Does ParcPlace
> assume that I have MacTCP (assumption OK under OS 7.5) running and they
> supply appropriate TCP/IP based drivers for both sides? 

The VisualWorks Database Connect for Oracle package from PP is a set of
classes that uses Oracle's OCI (Oracle Call Interface). It assumes your
Mac can already talk to the Oracle server, but I don't think it cares how.
We use SQL*Net. If you can launch something like SQL*dba on your Mac and
connect to an Oracle server, VW can talk to the server too. We have
Oracle7 on an Apple Workgroup Server 95 with an Ethertalk (not TCP/IP)
connection to our development Macs. The VW documentation only talks about
using MacTCP (it's not supplied though) and a TCP/IP network but we have
had no problems using Ethertalk. The AWS95 version of Oracle7 comes with
SQL*Net for both server and clients. I think you'd have to buy it
separately in most configurations. The Oracle Mac client tools package
includes SQL*Net and OCI. You might be able to use someone else's
middleware instead, but I don't really know.

> What if I want to connect my Mac based client to a Mac based Oracle?  

If you mean the no-longer-supported Oracle6 for Mac System 7, I assume it
would work fine since it think it also includes SQL*Net for both sides.
Just a guess though.

>Is there an AppleEvent
> based communication supplied with the drivers? Is there an AppleEvent
> class, i.e. support within VisualWorks to develop AppleEvent handlers,
> etc.? VisualWorks 2.0 is claimed to support AppleEvents. What does this
> mean, just the required core events?

I don't see anything about AppleEvents in the application or the
documentation. They probably mean you can support it with the C Connect
package. Boo.

> I could ask similar questions about the Windows clients, namely how is
> the IPC handled for multiplatform (I mean different OS environments)
> client/server models?

I told you all I know. Someone from PP should really step in here.

> Most of these issues are addressed in SmalltalkAgents (Mac only at this
> time), and I assume they are addressed, in part, under the Digitalk
> "Parts" system although I am not that familiar with "Parts".

BTW, ObjectLens is pretty darn cool. STA has nothing like it. While I
don't like the VW environment as much as STA, I think I can write nice
database applications with minimal effort. (I've only been testing it for
2 weeks.) It maps tables to classes with appropriate accessors (inferring
foreign key relationships) that you can add your own functionality to,
keeps track of collections through the foreign keys (one to manys), and
transparently implements joins for selects and inserts. Queries get built
for you automatically when you draw a screen, even when you embed one
screen inside another. You get a smalltalk/SQL language for queries, or
you can use any of the OCI calls, which have all been turned into methods.
QKS says it will have a version in an early '95 release. No breath holding
here.

Let me know if any of this isn't clear or if you want more details on anything.
Regards,

Mike Kranzdorf                   mikek@krt.com
