Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Java Web Application Development Kick off – Technical Items

DZone's Guide to

Java Web Application Development Kick off – Technical Items

· Java Zone
Free Resource

Just released, a free O’Reilly book on Reactive Microsystems: The Evolution of Microservices at Scale. Brought to you in partnership with Lightbend.

Recently 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

Strategies and techniques for building scalable and resilient microservices to refactor a monolithic application step-by-step, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}