Did you know? DZone has great portals for Python, Cloud, NoSQL, and HTML5!

I am Sudhir. I am a techie with 7 years of Hands on experience on Java and J2EE. Currently I have got exposure to Finance domain and BPM. Sudhir has posted 2 posts at DZone. You can read more from them at their website. View Full User Profile

Java Web Application Development Kick off – Technical Items

12.29.2010
Email
Views: 6152
  • submit to reddit

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.


RequirementDescriptionFew 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….
AuditingRequired for Audit requirement for the application.
- Action based auditing
- Transaction based auditing
Log4j or slf4j, ApacheCommonLogging.
AuthenticationRequired to Authenticate a used entering into systemLDAP, JAAS, Simple J2EE container based, Database/file storage or authentication information
CachingRequired 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 ReportsRequired for creating good looking and user friendly reports Jasper Reports
Connection PoolingRequired to improve the performance of database operations in a data centric applicationApplication server based or api from vendor(primrose and many more)
Continuous Integration/Software ConfigurationRequired for Software Configuration managementSubversion, Team City
Data tablesRequired for displaying data table on screen with pagination and other actionsDisplay Tag, GWT, JSF
DatabaseRequired for storing application dataMySQL, Oracle, SQL Server, Postgres
Defect TrackingRequired for defect trackingExcel sheets, Sharepoint tasklist, Bugzilla, JIRA
LoggingRequired for logging
- different levels.
- different types of output based on log level
Log4j or slf4j, ApacheCommonLogging.
MVCApplication request Control and NavigationJSF, Spring webflow, Struts2, or simple JSP/servlet
Page Design/ InclusionPage inclusion mechanismTiles
EncryptionHow to encrypt secret information like passwordsPassword Hashing or
Multiple level of security, or relying of external system like LDAP for the same.
PersistenceRequired to persist the data in application (ORM or Normal JDBC)Hibernate, JPA, Ibatis, Spring JDBC Template
Project build/makeAutomatic build and distribution of applicationMaven, Ant, Gradle
Tabular ReportsReportsJasper Reports
UI Components and pagesUI designJSPs, Flex
Unit testAutomated unit testingJunit , HttpUnit
WebServicesExposing application funtionality via web servicesRESTful webservices,SOAP based Web Services Spring remoting, Axis2, Xfire
XML ProcessingXML handlingJAXP (SAX, DOM), JAXB


Suggestions to improve this list are welcome.

From http://sudhirmongia.blogspot.com/2010/12/java-web-application-development-kick.html

Tags:
Published at DZone with permission of its author, Sudhir Mongia.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Tomasz Nurkiewicz replied on Wed, 2010/12/29 - 7:22am

Great post, it would be great to have such one constantly available somewhere on the Internet and responsibly updated by the community. For instance, I miss (I'm trying to be reasonable):

Auditing/Logging: Logback
Authentication: Spring security
Connection Pooling: DBCP/C3P0
Continuous Integration/Software Configuration: Git, Hudson, Bamboo
Unit test: TestNG, FEST, Mockito. HttpUnit is not actually intended for unit testing
WebServices: Apache CXF

 However, great sum-up, hope to see it one day in more expanded version.

Jonathan Fisher replied on Wed, 2010/12/29 - 1:49pm in response to: nurkiewicz

>>Auditing/Logging: Logback Be sure to code to the SLF4J api when using Logback... But SLF4J friggen rocks! Best loggin framework ever... now if the idiots at SpringSource would drop commons-loggin already

Sudhir Mongia replied on Wed, 2010/12/29 - 10:25pm

@Tomasz Nurkiewicz Thanks for adding more items.. I'll add this on my blog list.

Pavan Dhanapuneni replied on Sat, 2011/01/08 - 9:17am

Good post!!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.