Java Web Application Development Kick off – Technical Items
Join the DZone community and get the full member experience.
Join For FreeRecently I got a chance to start development of a new application. During initial analysis I thought of having a list of constituents for development of a web application. I tried to look on the web for it but couldn’t gather much on it. Then I decided to prepare a list on my own. Once I finished preparing the list, I find it helping me too much in planning and project execution. Here in this blog I am sharing the list and hoping that this would help other as well. In this I have mentioned tools/api/software that can be used but no recommendation of anyone and there could be lots more for a task.
Requirement | Description | Few Sample Available API/Tool/Software options |
---|---|---|
Application Server | Required for - Application Deployment - Could be different for dev and prod environment - if required access LDAP,JNDI And connection pooling features can be used | Tomcat,Jboss, WebLogic, WebSphere…. |
Auditing | Required for Audit requirement for the application. - Action based auditing - Transaction based auditing | Log4j or slf4j, ApacheCommonLogging. |
Authentication | Required to Authenticate a used entering into system | LDAP, JAAS, Simple J2EE container based, Database/file storage or authentication information |
Caching | Required at different layers - Application server level - Application level for session - Application level for populating list/combos | Session based, application server based, custom code |
Chart/Graph Reports | Required for creating good looking and user friendly reports | Jasper Reports |
Connection Pooling | Required to improve the performance of database operations in a data centric application | Application server based or api from vendor(primrose and many more) |
Continuous Integration/Software Configuration | Required for Software Configuration management | Subversion, Team City |
Data tables | Required for displaying data table on screen with pagination and other actions | Display Tag, GWT, JSF |
Database | Required for storing application data | MySQL, Oracle, SQL Server, Postgres |
Defect Tracking | Required for defect tracking | Excel sheets, Sharepoint tasklist, Bugzilla, JIRA |
Logging | Required for logging - different levels. - different types of output based on log level | Log4j or slf4j, ApacheCommonLogging. |
MVC | Application request Control and Navigation | JSF, Spring webflow, Struts2, or simple JSP/servlet |
Page Design/ Inclusion | Page inclusion mechanism | Tiles |
Encryption | How to encrypt secret information like passwords | Password Hashing or Multiple level of security, or relying of external system like LDAP for the same. |
Persistence | Required to persist the data in application (ORM or Normal JDBC) | Hibernate, JPA, Ibatis, Spring JDBC Template |
Project build/make | Automatic build and distribution of application | Maven, Ant, Gradle |
Tabular Reports | Reports | Jasper Reports |
UI Components and pages | UI design | JSPs, Flex |
Unit test | Automated unit testing | Junit , HttpUnit |
WebServices | Exposing application funtionality via web services | RESTful webservices,SOAP based Web Services Spring remoting, Axis2, Xfire |
XML Processing | XML handling | JAXP (SAX, DOM), JAXB |
Suggestions to improve this list are welcome.
From http://sudhirmongia.blogspot.com/2010/12/java-web-application-development-kick.html
Opinions expressed by DZone contributors are their own.
Comments