IV. CLASSIFICATION OF JEE APPLICATION
FRAMEWORKS
JEE frameworks themselves have grown to be very large and
complex, include several underlying technologies and may use
other frameworks as well. JEE frameworks can also be further
categorized into 3 categories [14]:
1) Lightweight Containers: lightweight containers are
frameworks that use inversion of control with component-based
development; this type of frameworks is gaining more attraction
as they provide an easier implementation than EJBs. An example
of these frameworks in Spring framework.
2) Data Persistence Frameworks: or Object Relational
Mapping (ORM) frameworks which handle the mapping of
database records to object entities such as Hibernate and Java
Persistence API (JPA).
3) Presentation Frameworks: JEE may use another type
of frameworks that handles the view part of the application. An
example of these frameworks is the Java Server Faces (JSF).
V. TECHNOLOGY SELECTION
Using a well designed and reliable web application
framework is critical to the success of any project. Having
started this project (i-Selangkah) which need to integrate with
another on-going project (Selangkah) has made the solution
selection more difficult and challenging. Therefore, selectinga
WAF is a key activity due to the big number of technologies and
frameworks available [11] [13]. In this research we used a stack
of JEE technologies which fully consists of open source tools.
The SEAM framework which can be considered as a
presentation framework with a huge set of features have been
used to support integration and simplify development work.
SEAM framework has been selected over other frameworks for
these reasons:
1) SEAM is designed from the ground up to eliminate the
complexity of developing J2EE applications.
2) SEAM is a powerful framework that provides the ability
to seamlessly integrate different technologies together.
3) It supports and transparently merges J2EE standards such
as (JSF, EJB and JPA).
4) SEAM provides an easy and convenient development
model using annotations.
5) The big number of services that it supports including web
services.
6) The good community support.
This project fully depends on open source technologies. The
technology stack that is used in this project includes:
1) Linux Centos 5.5 distribution
2) JBoss Application Server
3) PostGres Database Server
4) SOAPUI Testing suite
5) Eclipse Integrated development environment
6) RESTEasy web services