The decoupling concerns not only to the communication between the layers, it also concerns to the used data model in every layer (Java class hierarchy), Exceptions and Resources. The wiring of the tiers will be done decentralized by the spring application context, that injects all used services (Dependencies).
Client Tier
The Client Tier is implemented as a Rich Internet Applications with the Google Web Toolkit (GWT) and so you get the impression of a application used in the Browser instead of a webpage reloading after every click. Standards like HTML and CSS allow the flexible integration of the layout to the requirements of the corporate design of the enterprise. Additionally technologies like AJAX and JavaScript are used to enhance the layout and functionality with Web 2.0 features. Data will be loaded in the backend and prepared for user actions. This ensures high performance for the user-interface.
Communication with the server is implemented with the RPC mechanism of the GWT, which uses completely AJAX to communicate with the server. So the website will only load one time and after that every call will be done with AJAX, which gives you a very performant interface. For all that, also older Web Browsers e.g. Internet Explorer 6 are supported.
In the Client Tier every layout will be generated, concerning to the MVP (Model View Presenter) Pattern, before it will be filled with data, so a consequent reuse of UI elements is possible.
Additionally to the GWT the Spring Security Project is integrated and offers a consequent realization of security through all layers.
Business Layer
The Business Layer contains all functional logic of the application, e.g. the quicksearch or the extended search of all attributes like surname, prename etc., but also queries for organizational data. The Business Tier provides these logic with a well-defined interface.
The functional logic contains complete business transaction, that should execute in one transaction. The transactionsecurity is guaranteed by the service-implementation.
Internal the Business Tier works with an HR-XML compatible Java-Class-Structure for person data and with HR-OCI for organisational data. So the EmployeePages provide a native interface to these standards.
Another task of the Business Tier is the correct transformation of the data from the Data Tier into the Business Model (HR-XML / HR-OCI).
Persistence Layer
The Persistence Layer contains all persistence logic, that means all know how about grabbing the data from datasource. This layer provides its own specialized methods based on its own database model. So the Persistence Layer doesn't need any knowledge about the Business Model /HR-XML and the concrete methods.
LDAP Connection
An existing LDAP-Connection can be used for authentication and authorization. Also an exchange of person data and organization data with this interface is possible.
SAP-Connection
The Connection with SAP can be done with the HR-OCI 6.0 interface. This also allows the description of organizational data with the EmployeePages. HR-OCI exhausts in the SAP-System the functionalities from the Object and Data Providers (OADP) and SAP-Query and extracts data from the Organisationmanagement and the SAP HR System. With the new HR-OCI 6.0 Interface the compatibility to SAP Systems for longer time is given.
List- and Detailexport
The Client offers the possibility to export the current view to a file, e.g. Excel Sheet or vCard file. So lists of business units or search results are easily created . With the vCard also a synchronization with a local address book like outlook is possible.
