SVG 2D Graphics Research
Engineering Database Architecture

Engineering Database

Not quite finished - coming soon. Please read on to see what will be there when the Engineering Database Architecture demo is working.

Databases and Graphics for Automated Diagram Production

This is such a special kind of Application that we want to highlight it here.

Pretty much all data is stored in databases nowadays, yet many companies still produce the database data and then use interactive graphics to produce related diagrams. Yet the architecture for producing diagrams from databases is very elegant and straightforward.

Our Oil Well demo is a powerful example of such a system. Please note how fast it is. PenDraw is fast, and the SVG it produces is lean and compact, so download times are very short, even with slow transmission lines.

Automatic Configuration is the Key

For the Oil Well to work, we have to be able to take database data, and then build the assembly logic into the Graphics App. This is pretty straightforward for an Oil Well: engineering components have to be joined by pipe, and they must assemble in depth order. That makes the Graphics App logical and programmable. Without knowledge of the logic, it would be impossible. But all engineering has a logic. Hence it can be programmed.

Engineering Database Architecture

Assume that your server-side DP App is written in PHP (but it could be Perl, java, etc)

  1. Your PHP App retrieves the data from your database. This can be for a specific assembly, or many assemblies, the process is basically the same
  2. It passes the relevant data to the Graphics App (PenDraw is ideal for this work) with the name of the file to put it into (using tempnam function to generate a unique file name)
  3. The Graphics App produces SVG from the data passed to it, putting it into the file
  4. The Graphics App terminates, which passes control back to the PHP App
  5. The PHP App reads the SVG in the file (readfile function does it in one go), produces all the XHTML (or HTML or XML), including the SVG as an <object> (and can include any number of diagrams, of course, with each diagram its own <object>).

Interactivity

Remember, your SVG graphics can also be interactive. Each graphical element can respond to the mouse, and you can program client-side in javascript or VBscript, and pass interactive moves made by the user back to another server-side script. The potential is enormous. So you can link this App in to a whole Information System. Hence your Engineering Database Architecture becomes part of your overall IS Architecture.

Hyperlinking

Remember, too, that any part of the SVG graphics picture can act as a hyper link, so you can construct documents that have rich semantic structures, and offer the user natural and helpful interfaces.