Sunday, August 2, 2009

JEE Web Development Framework Requirements Revisited

There is an excellent blog post on choosing a web development framework/toolkit by Ilya Sterin. It captures very well most of the web app framework requirements and limitations we all face on a daily basis in our projects.

As mentioned in the write-up, most of the J2EE developers think, at one time or the other, about what features they really need from a web application framework and why there is no single framework that supports all those features.

If I have to pick top 5 features I look for in an ideal web application framework, they would be:

  1. Isolation from the domain layer so presentation and domain layers can evolve independently w/o (adversely) impacting each other.
  2. Simple and Easy Data binding between the Domain, Controller, and Presentation layers, so the developers don't have to write unnecessary and useless boiler plate code to convert the same data from a DO -> DTO -> Struts Action Form -> JSP/HMTL field to just select some data from a back-end data store anddisplay it on a web page.
  3. Support for data validation that works in all the layers w/o any additional coding.
  4. Support for AJAX functionality.
  5. Controller class methods can be exposed as RESTful Web Services w/o lot of extra coding or configuration.

The presentation layer classes should also be unit testable w/o having to deploy the web application into a container.

Ilya talks about the persistence concern as well. Unless the web application in question is a simple data driven application that can use a solution like RoR or Grails, I am not sure if persistence is really a concern from the web application side. In an ideal architecture, presentation layer should never access the persistence layer directly. It should always go thru the domain layer for the retrieval and modification of the data stored in the back-end data store. So, if the domain model and its boundaries are well defined and implemented, I don't worry too much about the persistence concern when I look for a web application framework.

I have been using Spring MVC in the recent projects. It supports all the items listed above except for the AJAX support. But I read that Spring WebFlow framework (which includes Spring JavaScript and integration with Dojo) has AJAX support, so that's good news for the developers who are using Spring.

I am also eagerly waiting to start using Spring 3 framework which makes it even easier to expose controller class methods as REST web services and also has Expression Language (EL) support which is another nice feature to have when working in the MVC part of an enterprise application.

32 comments:

ramiro said...

Hi
nice blog. thanks

Web development company new York
New York website development company

shankar said...

nice blog thanks for sharing here.

frater said...

HI
nice info.....
thanks for sharing this useful info....

Web development
Web Design New York

jeane said...

Nice blog buddy!!!!!!!!Thanks for the information,dear.........It really helped me.... Web development
Web designers

Shopping Cart said...

J2EE web development framework is an extraordinary framework for developing large scale web applications. It separates all of the logic of the application into three separate layers named 1)Model 2)View and 3) Controller.Shopping Cart

dorla said...

nice blog! Thanks for this template web application

Joomladesign said...

Its a really nice information that you have shared.As a Joomla Web Developer I really appriciate your work.

Edefiner Technology - Web Design Company said...
This comment has been removed by the author.
Web Design & Development Company said...

Thanks for sharing this nice post. Memphis Web Design

Citec Web Solutions said...

very useful tips. Website design delhi

Wildnet Technologies said...

Thanks for sharing your great post for web designing and u have share great knowledge with us
website development are given due importance as they form the first impression and a long lasting one.
Web development Services

Khajan Singh said...

Addictive Media is a Professional Website Design Company Delhi we provide web services like website design,development SEO,SMO(marketing). Addictive Media(web design delhi)serving from last 3 years with brands clients of India like ND TV,Times of India,Jindal Group, PVR bluo Religare wellness and many more..........

Fakhruddin40 said...

JEE Web development Framework is very valuable and its importance is increasing day by day.

Plastic Card

Shobhana Bhardwaj said...

Hello ,
Thanks for the heads up and the nice deal. Thanks for all the helpful advice. It’s great that someone out there really wants to help other people succeed.
Digital Marketing-
affiliate network advertising.

shane said...

really its nice and informative news with unique content so thanks for sharing such a useful information.
- Joomla Development

sashastri said...

Looks amazing!!!! /I look forward to your feedback /thanks for this man it was very helpful.

Website Design and Development

Sonia said...

What an exciting experience!/Hilarious! Delightful! True!/wonderful stuff! thank you!

Website Development Company

Rocket CPA said...

Thank you for a awesome article.Very interesting. You have given me some ideas and a differnt way to to write articles rather than just plain text.

Thanks
Rpcket CPA Affiliate Advertising Network

Addictive Media said...

Congratulations on having one of the most sophisticated blogs Ive arrive across in some time! Its just incredible how significantly you can take away from one thing simply because of how visually beautiful it's. Youve put together a fantastic weblog space --great graphics, videos, layout. This is unquestionably a must-see weblog Website Design Company Gurgaon

VC Internet Media said...

Thank you for a awesome article.You have given me some ideas and a different way to to write articles.

Thanks
vCommissionTop Publishers

Nitheesh said...

Great thoughts you got there, believe I may possibly try just some of it throughout my daily life.


Web Devlopment Company

Sunitha said...

Well, excellent info on "JEE Web Development Framework Requirements Revisited". I really doubled my knowledge here. Thanks for sharing this useful info guys. Joomla Website Development

e-Definers Technology - Web Design Company said...
This comment has been removed by the author.
web design company said...

You have given the good idea about the ideal web application framework, this is wonderful to read this blog. you are shared here good information only. Really interested to update your blog. register website domain

William said...

It was just informative news sharing and it's really helpful for everyone. Thanks for that.
- step up transformer

madhuri said...

Great stuff you have here and nice post. Whatever is being written here is certainly a big help.
web design company

roopa said...

I wonder how you got so wonderful. This is really a fascinating blog site, lots of stuff that I can get into. One thing I just want to say is that your Blogging site is so perfect!android developer

jackmartin said...

it was just informative news and thanks for sharing such a useful information.
- florida beach resorts

sathya said...

This is a must read blog. The technical help presented on this blog is just so amazing. I don’t know where else I would have got all the information I had, but from this article. I count myself lucky for having come across this great work. I’m so impressed with this blog.
Hire magento designer

Android app development said...

I like your blog definition.This is one of the easy understanding post.Your blog technique is really valuable.
Android app developers

sowmya said...

This blog seems to be really excellent. I make sure to visit this post regularly..
Seo forum india

Mike Lowson said...

Have you ever considered writing an e-book
or guest authoring on other websites? I have a blog based
on the same topics you discuss and would really like to have you share some stories/information.
I know my subscribers would enjoy your work. If you're even remotely interested, feel free to send me an e-mail.
How I can Create YouTube Channel?