Wiki source code of Systemarchitektur
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{content/}} | ||
2 | |||
3 | {{formcycle/}} is a pure Java application that can be run on any operating system that supports Java and has installed an application server such as Tomcat or JBoss. It is based upon a modularized or layer oriented component architecture. All interaction with a database is managed by the //Java Database Connectivity API// ({{smallcaps}}Jdbc{{/smallcaps}}). | ||
4 | |||
5 | == System architecture without a frontend server == | ||
6 | |||
7 | {{figure image="systemarchitektur.png" width="300"}} | ||
8 | Architecture of {{formcycle/}} when run with only a single master server. | ||
9 | {{/figure}} | ||
10 | |||
11 | {{table preSort="0-asc" dataTypeAlpha="0" colWidth="200-500"}} | ||
12 | |=Module|=Description | ||
13 | |Frontend|Administration interface | ||
14 | |API (REST)|REST interface for administrative settings. May be used to integrate the {{formcycle/}} interface into other programs. | ||
15 | |API (RPC)|Provides access to form records, states, workflow processing, actions and more. | ||
16 | |Logic|Logic layer of the application. | ||
17 | |Logic (Plug In)|Provides support for custom plugins that provide additional functionality. | ||
18 | |DAO|Data access object, for accessing the database ({{smallcaps}}Jdbc{{/smallcaps}} databases) or the file system. | ||
19 | |Common|Services and functions common to all layers. | ||
20 | {{/table}} | ||
21 | |||
22 | == System architecture with an optional frontend server == | ||
23 | |||
24 | {{figure image="systemarchitektur2.png" width="300"}} | ||
25 | Architecture of {{formcycle/}} when using both a master server as well as a frontend server. | ||
26 | {{/figure}} | ||
27 | |||
28 | Setting up a [[frontend server>>doc:Formcycle.SystemSettings.UserInterface.FrontendServer]] may be useful for the following use cases: | ||
29 | |||
30 | * network installation, such as local intranet + DMZ | ||
31 | * load distribution | ||
32 | * splitting (multiple client, each with their own frontend server) | ||
33 | * customer specific extensions (such as integrating {{formcycle/}} into existing user interfaces) | ||
34 | |||
35 | {{table dataTypeAlpha="0" preSort="0-asc" colWidth="200-500"}} | ||
36 | |=Module|=Description | ||
37 | |Frontend|Status information of the current server, or own interfaces | ||
38 | |API (RPC)|Provides access to form records, states, workflow processing, actions and more. | ||
39 | |Common|Services and functions common to all layers. | ||
40 | |BSV|Bidirectional socket connection between the master server and the frontend server. | ||
41 | {{/table}} |