OCS Architecture Talk How why using what Daniel

  • Slides: 13
Download presentation
OCS Architecture Talk How, why, using what? Daniel CHIRIȚĂ – DIGIT. B 1 29

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

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

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

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

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

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

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

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

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

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

Standards Compliancy… Semantic XHTML WCAG 2. 0 11

Deployment Maven + Bamboo OCS web application - EAR Admin - WAR Public –

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.

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