File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes EJB and other Java EE Technologies and the fly likes Need Help Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Need Help" Watch "Need Help" New topic

Need Help

Maya Pillai
Ranch Hand

Joined: Jul 17, 2008
Posts: 60
We are planning to use the below architecture (attached image) for a jee project. The architecture will have three tiers.

JSF in the presentation.
Spring is used to implement the business-logic tier.
Hibernate in the DAO part.

This is a big application(like an ERP) and it has around 12 modules....each module will have around 40 screens average.

My questions are,

Is this a good method to implement this requirement.?
When the application get bigger,will there any performance issues when building.?
Is there any better method to handle multiple modules in a single web application.?
We are planing to use tomcat as server. is it a good choice?

Please share your views.


[Thumbnail for 1.jpg]

Chris Lb

Joined: Apr 25, 2010
Posts: 5
Suggestion - Create an enterprise application using Net Beans and look at the organization for creating EJB & Web tiers.
You may want to separate your biz tier & web tier components under separate nodes.
Typically, I use something along the lines of the following organization, where my subdomain might be what you are referring to a module or might be a higher level of enterprise granulation for a large segment within a domain.

web ->,model,controller) (jsp, jsf pages)

ejb ->,service,dao,entity,etc)

The general rule of thumb is that a package should have on the order of 9 to 12 implementation units. Once you get above a dozen (i.e 15 to 20 and up), you should consider different organization for better modularity. That metric goes way back to OO best practices by Booch et al.

Tomcat is a good server and is used widely.
As for your choice in technology, would suggest you do more research and evaluation before making a choice.
If JEE6 is an option, you may want to investigate GlassFish & JBoss for AS, and other JEE6 technologies including JPA, JPQL and CDI. JPA can work with Hibernate but it provides a level of wrapping (abstraction) that makes it independent of Hibernate. In JEE6 you don't really need Spring any longer. CDI and Weld facilitate dependency injection within the JEE6 APIs with the benefit that it is an officially sanctioned API for Java.
You may want to try out Net Beans 6.8 with GlassFish v3 to evaluate. It is pretty easy to work with.
You can also consider tools like to generate components for rapid development
Maya Pillai
Ranch Hand

Joined: Jul 17, 2008
Posts: 60
Thanks for sharing your views...
Devaka Cooray
ExamLab Creator

Joined: Jul 29, 2008
Posts: 3915

Maya, Please UseAMeaningfulSubjectLine instead of something like "Need Help" when you post a question.
Please edit your post to add a meaningful subject line by clicking the button.

Author of ExamLab ExamLab - a free SCJP / OCPJP exam simulator
What would SCJP exam questions look like? -- Home -- Twitter -- How to Ask a Question
I agree. Here's the link:
subject: Need Help
It's not a secret anymore!