[cad-linux] Re: CAD with server/client architecture

  • From: Lee Fickenscher <elfick@xxxxxxxxxx>
  • To: cad-linux@xxxxxxxxxxxxx
  • Date: Fri, 9 May 2003 13:20:55 -0400

Since both of these posts seemed so much alike, i decided to combine
them and contiue the thread under Rolf's much more accurate subject.

On Fri, May 09, 2003 at 05:43:12PM +0200, Thomas Schmidt wrote:
> You talked about client/server architecture. Could give me some more
> information about that client/server idea? What should be the task of
> the
> server? Just data storage? Computing solutions for algorithms
> (modeller)?=
> =20
> And of course, what would be the benefits for a user?

and,

On Fri, May 09, 2003 at 06:05:48PM +0200, rolfinternet@xxxxxx wrote:
> What is the meaning of "CAD with client/server architecture"?
> For me, this term is clear from applications of database.(i.e. ERP)

What I mean by client/server for a cad application is mainly the
seperation of the CAD engine from the user's interface. This seperation
could mean that the engine runs on a server ( one instance for all the
clients ) and the gui runs on a workstation, or they could both be
running on the same machine.

The server/engine would do the bulk of the work that wasn't directly
related to the user interface. Such work would include calculations,
database manipulations, etc...

The client/user-interface would handle the interaction between the user
and the engine. Its main task would be object rendering. It would also
send manipulation requests (draw a line from point A to point B) to the
server for processing.

The benefits that I see in this approach are twofold:

First, the user isn't tied into UI/toolkit that they don't want and/or 
aren't interested in. This is my problem with QCAD, I don't have any other
programs that use QT, and I don't want to install QT just for one
program. If the engine is seperated, then it is just a matter of writing
an UI for the toolkit that you prefer. And if the functions used by the
engine are well documented, then writing a UI should be fairly simple
for someone familiar with that toolkit. I consider this the primary
benefit of engine/interface seperation.

Second, the client/server approach may allow UIs that don't require X.
While I haven't fully thought out this possibility, it at least seems
interesting.

There are probably also benifits with regarding the engine as
middleware, allowing one engine and one database to serve multiple
clients.

More important, in my opinion, is that the engine and UI be extensible
to allow modules to be added for functions that apply to specific
engineering disciplines. This however, may actually be made more
difficult by a client/server architecture, but I'm not certain.

I'm interested in hearing any and all comments (short of 'you are a
dumb-a**) regarding these ideas.

I'm also _extremely_ interested in laying or helping in laying the
groundwork for Generic All-purpose CAD for Linux GACL (tm) :-)
rather than seeing anymore YASCLs littering the abondonware road.

Regards,
Lee
-- 
Lee Fickenscher
IT Manager
Philip Post & Associates

Other related posts: