Titel-Logo
Projektstudien
TraceLogger
Basics of Cryptography
Custom JBossAS Login
SOAP Webservice
Role Based Access Control
Introduction
Technologies
Project Structure
Recovery Points
A Walk through the App (I)
A Walk through the App (II)
Installation and Test
Download
Project structure

Since the release of Java EE 6 it has been possible to package EJBs (and CDI beans) into a WAR package. Furthermore EJBs can be put separately into a JAR. After the packaging the content of the (EJB-)JAR will be available within the [WAR]/WEB-INF.lib folder. It is even feasible to organize the WAR into an assembly of more than one JAR. Contrary to the old EAR packaging all classes will then be loaded with the same classloader.

I therefore decided to structure the WAR package into several compilation units. The RBAC-Model unit contains the JPA entity classes which define the object-relational mapping. The RBAC-Facade unit comprises the interfaces which can be used to access remotely the business logic of the RBAC application. The RBAC-Test unit uses the RBAC-Model and the RBAC-Facade units to run an integration test suite. Then we have the JAAS-Login-Module and last but not least the RBAC-Web unit which contains the JSF web application. The latter one is compiled into the actual WAR archive. The UML package diagram below illustrates the dependencies between the various packages.

rbac.png

Of course we can use a Maven parent module with sub-modules and appropriate dependencies sections to build the whole application.

A brief word at this point to the RBAC-Test package containing the (remote) test client. Since we didn't use EAR packaging we cannot utilize an Enterprise Application Client but must fall back on a so called standalone remote client.

Valid XHTML 1.0 Strict