This document describes the architecture of the Professionals.az website. It has over 8,000 registered users and is built using Java technologies like JSP, Servlets, JBoss, and MySQL on a CentOS server. It follows an MVC pattern and uses ORM, security filters, and caching for performance. The document discusses migrating the site to the Grails framework for its rapid development features and use of Groovy. Grails provides more agility, dynamic behavior, and robustness compared to traditional Java web development.
3. About
Over 8000 registered users
Based on Java Technologies
Centos 5.5 OS with 1024 MB RAM (VPS)
Only 1 Server
- Application Server
- MYSQL Database
- MailServer
- Subversion
10. Security Problems
Cross-Site Scripting ATTACKS
SOLUTION: Use filter
Sql Injection ATTACKS
SOLUTION: Use filter
Cross-Site Request Forgery ATTACKS
SOLUTION: Use token,session control
Application Server ATTACKS
Server ATTACKS
11. Server/Client side Validation
Java Scrpit validation problems
SOLUTION: Use server side validation
Email, Url validation etc.
SOLUTION: Use server side validation
Double submissions
SOLUTION: Use token
Browsers compatibility
SOLUTION: Use JavaScript framework (JQuery)
19. Migration to Groovy on Grails
Build modern, sophisticated and robust
Groovy web applications in record time!
Grails brings back the enjoyment of Java
web development.
20. Why GRAILS ?
Rapid Have your next Web project done in weeks instead of months. Grails
delivers a new age of Java web application productivity.
Dynamic Get instant feedback, see instant results. Grails is the premier
dynamic language web framework for the JVM.
Robust Powered by Spring and designed for the JVM, Grails outperforms
the competition. Dynamic, agile web development without compromises.
22. Why GRAILS ?
Based on battle tested and proven Java frameworks (Spring, Hibernate,
SiteMesh, Quartz, etc)
Based on Groovy language
GORM(Grails Object Relational Mapping)
Doesn’t stop you from using the power of underlying frameworks
Easy to set-up and get started
Minimal server restart required while development
Convention over Configuration / No painful XML configuration & XML
Management
Tag Lib Authoring mechanism
Tons of available plugins
23. COMPANIES USING GRAILS
“Groovy is so much quicker and simpler to write code with, so
we can get applications up and running faster,” Mullen
confirms. “With Groovy and Grails we can create a new feature
in a week, when before it could easily take a month or more.”
EJB is a server-side component that encapsulates the business logic of an application
JMS Interfaces: connectionfactory: administrative object used by client to create a connection connection: an active connection for JMS provider destination: administrative object that encapsulates the identity of a message destination session: a single-threaded context for sending/receiving message messageproducer: an object created by a session that is used for sending msg to a dest messageconsumer: similar
JMS Interfaces: connectionfactory: administrative object used by client to create a connection connection: an active connection for JMS provider destination: administrative object that encapsulates the identity of a message destination session: a single-threaded context for sending/receiving message messageproducer: an object created by a session that is used for sending msg to a dest messageconsumer: similar