OCS Architecture Talk How why using what Daniel
- Slides: 13
OCS Architecture Talk How, why, using what? Daniel CHIRIȚĂ – DIGIT. B 1 29 th of November 2012 1
What is OCS? Online Collection System – part of ECI Tool for helping organizers collect the 1 million required signatures 2
What is OCS? OCS You wish to collect online? Get your system certified. Collect statements of support in at least 7 member states. Max. 12 months Get statements of support certified by member states. 3
Design Decisions Portability Security I 18 n Flexible business rules High volumes of data Standards compliancy 4
Technologies / Portability JEE 5 – Glassfish, Weblogic EJB 3. 0 JPA 2. 0 using Hibernate – My. SQL, Oracle JMS JAXB Spring MVC / Security 3. x Swing Maven 5
Modules Overview OCS web application Admin Public Crypto Tool desktop application 6
Public Home page Support form Citizens Crypto Tool Organiser Initiative set-up Login screen Monitor signatures System status Reporting/ Exporting 7
Security… Asymmetric encryption Two-factor authentication Other measures Usage of "salt" for hashing Hashed passwords Encrypted private key Vulnerability and penetration testing OWASP best practices 8
Flexible Business Rules… Main requirement: easy to maintain validation rules Approach: Business rules contained at the database level Static using regular expressions Dynamic using JAXEL 9
High Volumes of Data… Bottleneck: exporting signatures Approach: Asynchronous processing – JMS queues Reducing number of database accesses by means of caching 10
Standards Compliancy… Semantic XHTML WCAG 2. 0 11
Deployment Maven + Bamboo OCS web application - EAR Admin - WAR Public – WAR Shared: Persistence, entities, business, etc. - JARs Encryption – JAR Crypto Tool desktop application – JAR Encryption – JAR 12
Resources OCS Joinup Page: http: //joinup. ec. europa. eu/software/ocs/home European Citizens' Initiative: http: //ec. europa. eu/citizens-initiative/ Regulation (EU) No 1179/2011: http: //eur-lex. europa. eu/Lex. Uri. Serv. do? uri=OJ: L: 2011: 301: 0003: 0009: EN: PDF Web Content Accessibility Guidelines (WCAG) 2. 0: http: //www. w 3. org/TR/WCAG/ OWASP: https: //www. owasp. org/ 13