Tuesday, November 10, 2009

Some Java Application Servers and Application Frameworks

  • Application Servers, JSP enabled (javax.servlet container):

    • TomCat from Apache
      Servlet container, no EJBs (Approx 6 Megabytes)
    • Jetty
      no EJBs, light, run on Android
    • JBoss from RedHat
      JSP, Servlets and EJBs
    • Blazix from Desiderata Soft
      JSP, Servlets and EJBs (1.5 Megabytes)
    • WebLogic from BEA Systems
      JSP, Servlets and EJBs (Approx 40 Megabytes)
    • WebSphere from IBM
      JSP, Servlets and EJBs (Approx 100 Megabytes)
    • GlassFish from Sun/Oracle
      JSP, Servlets and EJBs


  • Application Frameworks

    • Spring
      - for the Java platform and .NET Framework
      - alternative to, replacement for, or even addition to the EJB model.
      - light weight
    • Tapestry
      - builds upon the standard Java Servlet API
      - integrates with any kind of backend, including JEE, Spring and Hibernate.
      - successor of HiveMind
      - light weight
    • Hibernate
      - many Java frameworks use Hibernate as a persistence layer, which can generate a database schema at runtime capable of persisting the necessary information. This allows the application designer to design business objects without needing to explicitly define a database schema.
      - Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions.
      - Hibernate's primary feature is mapping from Java classes to database tables (and from Java data types to SQL data types). Hibernate also provides data query and retrieval facilities. Hibernate generates the SQL calls and relieves the developer from manual result set handling and object conversion, keeping the application portable to all supported SQL databases, with database portability delivered at very little performance overhead.
      - Hibernate can use the XML file or the annotation to maintain the database schema.
    • Struts
      - cleanly separate the model (application logic that interacts with a database) from the view (HTML pages presented to the client) and the controller (instance that passes information between view and model). Struts provides the controller (a servlet known as ActionServlet) and facilitates the writing of templates for the view or presentation layer (typically in JSP, but XML/XSLT and Velocity are also supported).
      - face competititon from "light weight" MVC frameworks such as Spring MVC, Stripes, Wicket, MyFaces and Tapestry
    • JBoss Seam
      - managed by Gavin King, initiator of Hibernate
      - Seam combines the two frameworks Enterprise JavaBeans (EJB3) and JavaServer Faces (JSF).
    • See also:
      - java-source.net
  • No comments: