Choosing the Right Deployment Architecture
A web application hardware requirements grow with the maximum number of concurrent users the system must be able to serve. To gain performances you might decide to run the application on a more powerful server (the so called vertical scalability) or to deploy the system on more nodes (the so called horizontal scalability).
This section helps you taking the right decision about the deployment architecture.
Projectivity is made up by 3 main components:
- The Application Server to run the presentation and business logic
- The Data Base Management System to manage the relational data
- The Version Control System to manage the documents repository
Projectivity makes use of JBoss AS, PostgreSQL and Subversion respectively.
Single Node Architecture
In a typical installation (up to 20 concurrent users) a single-node, i.e. an installation on a single server, deployment architecture is suggested. The following diagram depicts such a scenario with the 3 main software components deployed (JBoss, PostgreSQL and Subversion) on the same node.
NOTE: In this common scenario Projectivity accesses the Subversion Repository through the file protocol by the mean of a pure Java subversion implementation (SVNKit). In this case there is no need to install Subversion at all.
Two Nodes Architecture
The following diagram shows a more demanding scenario. In order to balance the work load between more nodes, JBoss runs on Node A and PostgreSQL and Subversion run on Node B. This results in a configuration able to serve more concurrent users. This configuration is also suggested if the available hardware resources do not meet the minimum hardware requirements. In fact having the components running on different nodes lower the CPU and memory requirements.
NOTE: In this scenario, Projectivity accesses the Subversion Repository through a network protocol (svn protocol). In this case the Node B needs to run svnserve, the server that allows access to the repository over the network.
In this case you have to install Subversion on Node B. You can install version up to 1.4.6 (1.5 in not yet supported but will be soon). Please refer to Subversion Download Page to find the installer that matches your needs.
In order to configure Projectivity to access the remote Subversion repository you just need to specify the repo svn URL, something like: svn://ip_address/pyrepo
In case of extremely demanding environments the deployment architecture shown may not guarantee the required quality of service. In those cases we provide the possibility to scale the architecture through clustering (i.e. to balance the work load between several server instances).
Get in contact in with our support team for assistance.