TECHNICAL AND SOCIAL FEATURES
SMART PCP is developed with the idea of being completely platform-independent - it does not require any compromises when SMART PCP is being deployed in specific customers' technical environments:
- SMART PCP uses Glassfish application server. It runs on top of Java Virtual Machine. Implementation of Java Virtual Machine exists on all of major operating systems, including Linux, Solaris, OS X and Windows. It allows the deployment on any platform supported by this virtual machine.
- For the purposes of communication with the database the Java Persistence API is used. It allows using any relation database that has particular Java Database Driver implemented. Any
Security is a vital part of SMART PCP. There are many different threats that need to be addressed. For this purpose Secure HTTP and build-in authentication and authorization mechanism to protect sensible data is used as well as encryption of most sensible data.
Quality is an invisible parameter with the great value for the software, especially, in production environment when any bugs are unacceptable. Quality is determined by the software development process. SMART PCP uses continuous integration and automatic testing in order to preserve deserved software quality level. Automatic testing is about running the pre-defined tests in order to check whether the software works as expected. Continues integration is a system that runs these tests after every change in code. As this whole process happens in seconds it provides almost immediate feedback about the status of the software.
Interaction with the outside world brings the constant flow of further requirements and thus SMART PCP represents a never finished project.
SMART PCP is reliable and robust application as it deals with the financial domain where failures can cost a lot. SMART PCP uses Glassfish - broad used JavaEE server and a reference implementation of JavaEE. This ensures almost zero chance of possible occurrence of serious problem.
Scalability of the SMART PCP deals with anticipation of future bigger load to the platform. SMART PCP is prepared for such an event ensuring it will react the same way (e.g. with the same response time, without bugs) whether there will be few tens or few thousands of users.
- JPA enables to run the SMART PCP on most of the relation databases. MySQL has been chosen for the current implementation due to the number of possibilities to scale it depending on the given requirements.
- Web technologies like HTTP are used to build the infrastructure with load balancer that will distribute user request to more machines in order to lower big burden.
CRM, social networking
For the management of "Phase Zero" of PCP we build a Living Lab community that brings together different stakeholders (such as municipalities, solution providers, RTD organizations and citizens) and in which all users are provided with various CRM features.
Especially through knowledge sharing. The ideas generated during "Phase Zero" are automatically formalized by the users themselves, through the set of built-in functionalities and provided back to the users.