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

  • From: Lee Fickenscher <elfick@xxxxxxxxxx>
  • To: cad-linux@xxxxxxxxxxxxx
  • Date: Mon, 12 May 2003 19:52:26 -0400

On Mon, May 12, 2003 at 06:32:22PM -0500, Eric Wilhelm wrote:
> If you have read my paper on this proposal, I apologize for not making enough 
> sense yet.  If you haven't read it, please do, and I will make slightly more 
> or less sense when you are done.

Yes, I've read the paper. I'll read it again just to make sure I
understand your points correctly.

> I am proposing a system which allows this database to be always maintained in 
> an up-to-date and coherent (native) format.  Whatever is required to 
> accomplish this would be handled by the core, which is not the same as the 
> CAD engine.

Ok, so core does the database interaction (which includes permissions,
inserts, updates, deletes, etc...) Is there an "engine" in your vision
of the app? If so, what is its purpose? Would it be primarily drawing?

> The way I see it, it would be two projects forming the basis for a universal 
> cad system:  the core and the kernel.  

The core does the above mentioned stuff. Is the kernel what I am
unknowingly refering to as the engine? If not, what is the kernel's
purpose?

> The core would act (to some extent) like an operating system, allowing access 
> to the data, which it would present as "files" to the cad programs, though 
> these files would only be on a VFS such as a ramdisk.  This might be better 
> handled by having system-calls directly requesting the data (or a slice of 
> it), but this would be only for a program which fully-supports the system.  
> Programs which have not yet been "ported" to the system (aren't aware of the 
> relations between entities or are unable to fully utilize them as yet) would 
> see their native file format in the VFS, which would actually be just a 
> snapshot of the portions of the main database relevant to that program.

Would a file in this case be a "drawing" or some other logical construct?

> The kernel would be used by closed and open source projects (maybe LGPL), and 
> would provide modeling tools and high-level interfaces to the low-level 
> functions of the core.  The kernel would be very similar to the kernels used 
> in commercial modeling programs, but would be open source and mainly intended 
> as a way to consolidate the current open source cad projects.

Ah, ok... This makes things much clearer. I think I'm beginning to
understand where you are going with this. This may be the seperation I
was grasping for when I originally mentiond client/server architecture.

> The way I see it, if you give a place to consolidate all of the cad work that 
> is currently underway and a way to make this work with other modeling systems 
> (those currently in use in the industry), you are advancing the open source 
> programs and creating an incentive for commercial vendors to compete on this 
> new platform by providing the project management tools and interoperability 
> that cad managers need, without requiring draftsmen to learn new interfaces.  
> 
> Making the whole thing open-source prevents the subversion of the standard 
> and 
> allows code-reuse, while also creating a standard that will outlive any one 
> entity.

Excellent points. It would also allow custom GUIs to be created to fit
the need of individual shops, which was one of my original concerns. 

-Lee

Other related posts: