From 17df3380df34b43e59f3029ee925ccdf9423a396 Mon Sep 17 00:00:00 2001 From: konrad Date: Tue, 20 Jul 2010 20:57:50 +0000 Subject: [PATCH] document server architecture remove bogus listing file git-svn-id: https://silmor.de/svn/softmagic/smoke/trunk@569 6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33 --- doc/prog_arch.html | 66 ++++++++++++++++++++++++++++++++++++++++++-------- www/inc/listing.php | 14 ----------- 2 files changed, 55 insertions(+), 25 deletions(-) delete mode 100644 www/inc/listing.php diff --git a/doc/prog_arch.html b/doc/prog_arch.html index e17aec1..e8f9f81 100644 --- a/doc/prog_arch.html +++ b/doc/prog_arch.html @@ -8,24 +8,68 @@ MagicSmoke uses a basic Client-Server-Architecture with the server being impleme The stand-alone client is implemented in Qt to run natively on each platform.

-Furthermore MagicSmoke in organized in the classic three-tier layout:

- - - - - - - +This architecture follows the model of the PACK framework.

+ +A more complete rendering of the architecture:
+

Layer 3Qt-Client or Browser
(Interface)HTTP Protocol
Layer 2PHP/Apache based Server
(Interface)DB-Protocol
Layer 1(MySQL) Database
+ + + + + + + + + + +
Theater Access + Admin Access + Customer Access +
Qt Client + Browser +
Network (HTTP)
machine.php
(Theater Interface) +
admin.php
(Admin Interface) +
index.php
(Customer Interface) +
MagicSmoke Middleware (Server)
PACK Framework
PHP5/Apache
MySQL or PgSQL Database

-

Server: Overall Architecture

+

Backend: WOBs and WOLFs

+ +

Server: Interfaces

+ +index.php is the customer interface. It decides according to the parameters given to it by the users browser how to render itself and what data to show.

+ +admin.php is the admin interface. It is used to create and initialize the database. Except for the option to create new admin users, actual account management is done from the Qt client. The purpose of this interface is to get MagicSmoke started far enough so that the client can continue.

+ +machine.php is the machine interface for the stand alone Qt client. It uses the web service protocol of PACK to communicate and will not display anything to a normal browser. For details of the transactions it can handle see the Web Object documentation. + +

Server: Files and Directories

+ +www is the root directory of the server - it can be used directly during development.

+ +autoload.php is contained in most sub-directories of www. It registers all classes declared in that directory with the autoloading mechanism of PACK.

+ +www/images and www/styles are part of the example layout pages of the customer interface.

+ +www/template contains the template files for the customer interface. See the Template Documentation for details.

+ +www/inc/* contains all classes used by the server components.

+ +www/inc/wbase is a symbolic link to the PHP base classes of the PACK framework.

+ +www/inc/Twig is a symbolic link to the Twig template engine.

+ +www/inc/classes some base classes for the system - mostly related to the customer interface.

+www/inc/db special adaptations of database code for MagicSmoke.

+www/inc/machine files related to the machine interface of MagicSmoke. Most of them are indirectly called by transactions.

-

Server: Machine Interface

+www/inc/rendering classes related to rendering pages of the customer interface.

-

Server: Browser Interface

+www/inc/wob automatically generated code for the transactions that the MagicSmoke server can perform. The web object classes (WO*) defined here are used throughout the server to represent data in the MagicSmoke database, The transaction classes (Wtr*) defined here are used both by the machine interface and the customer interface to execute specific queries on the backend. See the Web Object docu for a language independent description of those classes and the PHP source docu for implementation details.

+www/inc/wext extensions to abstract web object classes. These extensions implement specific handling of some data items, calculations of some properties, and the implementation of most of the transactions.

Qt based Client

diff --git a/www/inc/listing.php b/www/inc/listing.php deleted file mode 100644 index a6c85a8..0000000 --- a/www/inc/listing.php +++ /dev/null @@ -1,14 +0,0 @@ -setVar("PAGE",$p->parseFile("reserve.html")); -} - -?> \ No newline at end of file -- 1.7.2.5