Architecture and Concept

Overview

The HR-CRM-CLIENT offers an JSF web interface to save, retrieve, display, modify and change data based on the OASIS CIQ v3 standard. We assume that a server with an exposed web service is present and that it provides a set of essential methods for the mentioned operations. The server part is covered by the associated HR-CRM project, in spite of that we also provide a simple server in our distribution.

Architecture

In the following section is an explanation of the architecture.

We used the JAX-WS wsimport tool to generate the web service artifacts (Data Beans, Service Endpoints, Interfaces etc..), which are necessary for the web service usage. On top of these artifacts we build the actual application. The java packages are organized in the following way:

  • at.ac.tuwien.vitalab.hrcrm.client.bo
  • Contains business object classes that encapsulate the CIQ entities.
  • at.ac.tuwien.vitalab.hrcrm.client.beans
  • Contains java backing beans, which are used for the JSF pages (e.g. forms, datatables ) and navigation purposes.
  • at.ac.tuwien.vitalab.hrcrm.client.config
  • The binding file for the JAXB is here, the wsimport tool and also an internationalized message property file
  • at.ac.tuwien.vitalab.hrcrm.client.util
  • Helper and converter classes
  • at.ac.tuwien.vitalab.hrcrm.client.util.controller
  • Controller for the web service calls
In our project we currently cover the CIQ entities: PartyName, OrganizationName, PersonName, Address and Party. The associations between name and address come together in the Party entity. If you want you can of course implement other entities like "Name And Address". To do that you would have to implement a class in the business object package with all the necessery getter and setter methods.

To secure the communication between server and client, we rely on the security mechanisms of the metro stack based on the WSIT documentation - Username Authentication with Symmetric Key (UA) .