I am sumesh, student from india. I am new to coderanch and J2EE. I need some help in choosing technology for a web application. as a part of my study i need to do a project. I thinking it can done with J2EE. I have some knowledge in core Java. I found huge list of J2EE web application frameworks. I don't know which is best and which is suite for my project. My project topic is ERP. it's a web application. my requirements are simple, application must have rich user interface, simple, strong and with security enabled. I need your helps for choosing technologies, which i need to study to build web application with there features.
An application can be done in any technology. You may choose the one that is easier to work with, and universally applicable. Though you can use JEE for application development, ASP.NET is also a contending technology. Using ASP.NET you avoid getting confused on what framework to use, what database server to use, what application server to use etc...
In case you are bound to develop your application in JEE, you may also select a simple web application development framework such as Apache Wicket or the latest-and-greatest Spring. For persistence you may use either Hibernate or iBATIS framework.
One of the basic elements of ERP is having a comon database, with several different front-ends mounted on it.
Having a simple webserver, imo, won't serve your needs, and counteracts with the idea of loose-coupling.
My advice is to use JEE6 on a Glassfish or JBoss application server.
- Build an EJB Module using JPA and EJB's.
- Build a web module (or web service, or desktop app, or all three) using JSF/Facelets, CDI and a framework like RichFaces or PrimeFaces or .. any other you can find out there.
- Use maven to provide your EJB module to your front-end.
If you want to quick start, i would suggest the following:
- Get JBoss Developer Studio from Redhat (version 4.0)
- Jboss Application Server
- Development IDE (Based on Eclipse)
the nice thing is that after installing it, everything is ready to go. no need to waste time understanding
how to integrate or pack your application and deploy it from the beginning. The more you will learn
the more you'll understand how to do things on the side.