Following diagram gives a first look how G-Framework is structured :
Act like an HUB for client calls. Is responsible for the client authentication and authorization and will route the program flow through the right way depending by the type of client request. The type of calls, Engine can handle, is extensible by developing new plugins.
Every installation can handle an infinite number of applications. Every application has it’s own private session data, despite in theory a client session can access to all session data. Work is under way in order to implement a formal mechanism for inter applications data exchange.
Applications are made by the following components :
- Views written in XML. Each view has it own ‘code file’ and eventually a Style Sheet file.
- Local RPC Calls
- Local Hotpluggable Javascrips functions
- The G-Conf registry
All communications are carried through the http o https protocol and are regulated by a complex authentication/authorization system with plugin for various protocols.
Web presentation :
Webgets are responsible for build the views. Views can be in HTML, XUL, PDF, or a custom format(mime). A Core Developer can made an Engine plugin and a number of webget in order to build it’s own custom ‘view’ output.
Realtime Interaction (not yet implemented)
G-BUS let Web application and their users to reach an extreme interaction level :
- views can interact each other whether they are in the same client or not
- server can push information to the clients (a single client , a group or all)
- webgets can modify their behavior, e.g. by changing their content or i.e their theme at runtime
- on line collaborative activities (like Google Drive)
Others bindings (not yet implemented)
Works are in progress in order to build linking libraries for the widespread programming languages and platforms like Python and Android
Come on friends! A lot of work is necessary to make this project a great project! If you like my idea, please feel free to contact me in order to share all detail and start to work together!!!! This software is Open Source!