This repository contains the OpenCS's Basic JEE Skill Test. It is a very simple web application that uses a database, a set of services and a user interface implemented using JSF.
The actual statement of the test will be delivery to the candidates during the application of the test.
This project was written using Eclipse IDE for Enterprise Java Developers. It requeres the following extra componets:
To install Apache Derby inside Apache TomEE, just copy the jar file derby.jar into TomEE lib directory.
In order to create the development workspace, just execute the following steps:
- Import all projects of the repository into a new workspace;
- Create a new TomEE server for testing;
- Set the WAR file as a deployable artifact;
The project can be build by running mvn install inside the directory <repo>/ocs-jee-test. This will build all modules and create the war package that will be found inside <repo>/ocs-jee-test-web/target.
This is a very simple JEE 6 Web application that uses only JPA, EJB and JSF. It has only 5 layers:
- User interface (JSF xhtml files): The actual user interface;
- User interface Implementation (JSF Managed Beans): UI logic only;
- Services (EJB): Actual business logic;
- Database Repositories (EJB): Database operations;
- Database Abstraction (JPA): Database entities;
The relational database used by this test is Apache Derby. All tables will be created by the JPA implementation on the first run.
Project | Description |
---|---|
ocs-jee-test | The parent project. |
ocs-jee-test-db-core | The implementation of the JPA entities with unit-tests. |
ocs-jee-test-db | The JPA unit implementation (no classes). |
ocs-jee-test-core | The business logic (EJBs) |
ocs-jee-test-web | The web application (war). |
- As a test of skills, this project do contains some errors that are expected to be found and fixed during the test;
- If you find an error that cannot be fixed during the expected timeframe, write it down and justify your decision;
- Use the standard Java naming conventions and coding styles;
- All the documentation and names must be in English;
- All public and protected classes and methods must be properly documented using JavaDoc and/or Doxygen syntax;
- Do not add other libraries to the project unless strictly required. If you decide to use one anyway, justify its use and take extreme care with the license of the library. The license of the end result must be a 3-Clause BSD license as the original project;
This project is licensed under 3-Clause BSD license.