hajime hajime - 4 months ago 15
Java Question

Java EE 6 Framework

GWT Framework, Spring framework, Play Framework, Seam framework were used to create a MVC style framework for Java.

I've been searching online for the past 3 days to find if a framework should be used for Java EE 6 but I'm having a hard time finding the right answer.

This article here says that frameworks are not needed in Java EE 6 anymore:


Moving from Spring to Java EE 6: The Age of Frameworks is Over


I read this post:


Do I need frameworks to complement a Java EE 6, JSF-2 Web-App? Which ones?


But I still don't get the answer of what framework to use ?

Is a framework really required? If not, is there a diagram that will show equivalent Java EE 6 frameworkworks ?

Is JSF a framework ?

Answer

I will start with a big NO. You do not need any framework to create a web application.

Now, when we see the current state of enterprise web applications. There are widely accepted standards/patterns. These standards will help you in creating a modular infrastructure.

Before deciding on the framework. Before looking into what to use or what to avoid, just ask few questions to yourself.

  • What is your problem domain?
  • What is the scope of your web applications?
  • Who is going to maintain the application in long run?

A framework will provide you an infrastructure to design over. If I talk about the Spring Framework, it will provide MVC infrastructure. Along with this, it will also support you in other aspects of your application. For example, it will manage your container and all the application's modules through its own IOC container. When you need some aspect implementation, it will give you AOP layer to implement your aspect. This framework will be ready to give you out of the box transaction management when your needs grow. It will also provide a good abstracted database layer. There are many more.

So, define your needs. Find the solution. Once your needs are defined, you can explore the ability/<> of the frameworks.

Yes, JSF is a framework. It is used to create UI design. This is a java based framework and provides AJAX like solution for web applications.