EmployeePages Architektur

Architektur Java Version

TIMETOACT bietet die Lösung EmployeePages in einer auf Lotus Domino und auf Java und offenen Standards basierenden Version an. Damit ist die Lösung in einer Vielzahl unterschiedlicher Betriebsumgebungen einsetzbar.
>> Demo Lotus Domino Version

Als Laufzeitumgebung der Java basierten Version benötigen Sie lediglich einen Java EE fähigen Application Server, sowie eine relationale Datenbank. Durch die Verwendung von erprobten, robusten Frameworks wie JPA und Spring werden verschiedenste Produkte unterstützt, z.B. DB-Server:Oracle, DB2, Microsoft SQL Server 2000, MySQL, PostgreSQL, HypersonicSQL oder als Application-Server BEA WebLogic, IBM Websphere Application Server, JBoss, JonAS, Geronimo, SAP Web Application Server, GlassFish.

Standardisierte Datenbasis

Die Personen- und Organisationsdaten werden analog zum HR-XML bzw. HR-OCI-Standard verwaltet, zu dem bereits eine Vielzahl von Herstellern wie z.B. SAP und Peoplesoft Schnittstellen anbieten. Auf diese Weise können diese Daten noch einfacher als bisher synchronisiert und so für die EmployeePages nutzbar gemacht werden.

HR-XML
Dabei bietet HR-XML eine wohl definierte und standardisierte XML-Datenstruktur, welche auf die Abbildung von Personendaten in Unternehmen spezialisiert ist. Definiert wird HR-XML von dem
HR-XML Consortium und wird so von einer Instanz koordiniert und standardisiert.

HR-OCI
Da EmployeePages nicht nur die Daten einer Person, sondern speziell die Organisationsstruktur des Unternehmens visualisiert, baut die Datenbasis zusätzlich auf dem HR-OCI-Standard auf. Diese XML-Daten bilden die Organisationsstrukturen in einem Baum ab. Nun können die Verbindungen von Personen und Organisationseinheiten in sehr variabler und mächtiger Weise dargestellt werden. HR-OCI wurde von SAP in der derzeitigen Version 6.0 entwickelt und wird dort für die Präsentationsschnittstelle der Organisationsstruktur genutzt.


Das Datenmodell erlaubt somit die Darstellung klassischer hierarchischer Beziehungen (z.B. reports to, managed by) aber zusätzlich auch die Abbildung von Beziehungen zwischen Personen (is colleague, is assistant, is friend). Aber auch die Darstellung von Gruppen, wie z.B. Projektteams oder Arbeitsgruppen und deren Beziehungen zu Personen und Abteilungen ist möglich.

Architektur

Um eine hohe Stabilität mit verbundener Flexibilität zu gewährleisten, sind die EmployeePages als klassische Multi-Tier-Applikation konzipiert worden. Die drei Applikationsschichten sind weitestgehend voneinander entkoppelt, um eine logische wie physische Trennung zu ermöglichen. Im Sinne einer sauberen linearen Architektur greifen die Schichten ausschließlich unidirektional und linear, ohne einzelne Schichten zu „überspringen“, auf einander zu.



Die Entkopplung bezieht sich dabei nicht nur auf die Kommunikationswege, sondern ebenso auf das in jeder Schicht genutzte Datenmodell (Java-Klassenhierarchie), Exceptions und Ressourcen. Das eigentliche Wiring der Tiers wird dezentral über den Spring Application Context vorgenommen, der die genutzten Services (Dependencies) injiziert.

Client Tier
Das Client Tier ist als Rich Internet Application mit dem
Google Web Toolkit (GWT) realisiert und präsentiert sich deshalb vielmehr als Anwendung, die im Browser läuft, als als wirkliche Website, die mehrmals neu aufgerufen wird. Standards wie HTML und CSS gewähren die flexible Integration des Layouts an die Anforderungen an Unternehmensrichtlinien und Layout-Vorlagen. Zudem werden Technologien wie Ajax und entsprechend JavaScript genutzt, um die Optik und vor allem die Funktion der Seite auf die Möglichkeiten des Web 2.0 zu erweitern.

Die Kommunikation mit der dahinterliegenden Serverschicht ist mittels des RPC Mechanismus des GWT realisiert, der über Ajax mit dem Server kommuniziert. Das führt dazu, dass die Seite nur ein einziges Mal geladen wird, was ein sehr performantes Frontend bietet. Trotz des hohen Einsatzes der Web 2.0 Technologien, werden auch ältere Browser, wie z.B. der Internet Explorer 6 unterstützt.


In der Client Tier Schicht wird mittels des MVP (Model View Presenter) Pattern, vorab jedes Layout erstellt, bevor es dann mit Daten befüllt wird, damit ist die konsequente Wiederverwendung von UI Elementen möglich,
Zusätzlich zum GWT wird über alle Schichten hinweg, das Spring Security Projekt integriert, was eine konsequente Umsetzung der Security über alle Schichten erlaubt.


Business Layer
Der Business Layer umfasst alle fachliche Logik der Applikation, z.B. die Schnellsuche sowie die erweiterte Suche nach Attributen wie Nachname, Vorname etc. sowie die Abfrage von Organisationen und/oder Unterorganisationen. Der Business Tier exponiert diese Logik über eine wohldefinierte Schnittstellen nach außen.

Die fachliche Logik, die über die Servicefassade zugreifbar ist, ist grobgranular, d.h. sie umfasst in der Regel komplette Geschäftsvorfälle, die atomar in einer Transaktion ablaufen sollen. Die Transaktionssicherheit wird dabei von den Service-Implementierungen gewährleistet.

Intern arbeitet der Business Tier auf einer HR-XML kompatiblen Java-Klassenstruktur für die Detaildaten der Personen bzw. auf dem HR-OCI für die Organisationsstruktur. Damit ist es den EmployeePages möglich, eine native Schnittstelle zu diesen Standards anbieten zu können.

Eine weitere wichtige Aufgabe des Business Tiers liegt in der korrekten Transformation der Daten aus dem nachgelagerten Data Tier in das Business Model (HR-XML / HR-OCI).

Persistence Layer
Die Persistenz-Schicht umfasst sämtliche Persistenzlogik, d.h. das nötige Wissen, wie Daten aus einer Datenquelle zugegriffen werden können. Diese Schicht stellt spezialisierte, feingranulare Zugriffsmethoden auf Basis eines eigenen Data Models zur Verfügung. Das bedeutet insbesondere, dass der Persistence Layer keinerlei Kenntnis über das Business Model / HR-XML bzw. die konkret zu erbringenden fachlichen Methoden hat.

Die Zugriffe werden technisch durch JPA-Hilfsklassen durchgeführt, welche sich wiederum auf JPA-Mappings stützen. Die vorgenommen Mappings ordnen Klassen des Data Models Tabellen im relationalen Modell zu.

Schnittstellen

Die EmployeePages bieten vielfältige Möglichkeiten, sich mit Datenquellen zu verbinden und Daten auszutauschen. So können z.B. CSV-Dateien zum Datenabgleich herangezogen werden. Zudem kann ein im Unternehmen eingesetzter Directory-Server für die Synchronisation genutzt werden. Die EmployeePages sind aber auch mit der HR-OCI-Schnittstelle von SAP kompatibel.

LDAP-Anbindung
Steht eine LDAP-Anbindung zur Verfügung, so ist einerseits die Authentifizierung und Autorisierung per LDAP möglich. Zudem können aber auch Personen und Organisationsdaten über diese Schnittstelle ausgetauscht werden.

SAP-Anbindung
Über die Schnittstelle HR-OCI 6.0 ist die Anbindung eines SAP-Systems möglich. Dabei ist es komfortabel möglich, vor allem auch die organisatorische Struktur des Unternehmens mit den EmployeePages abzubilden. HR-OCI schöpft in dem SAP-System die Funktionalitäten des Objekt und Data Providers (OADP) und von SAP-Query aus und extrahiert somit die Daten aus dem Organisationsmanagement und der SAP Personalverwaltung. Die neue Version 6.0 der HR-OCI-Schnittstelle garantiert zudem die Kompatibilität zu den SAP-Systemen auf lange Sicht.

Listen- und Detailexport
Der Client bietet die Möglichkeit, aktuelle Ansichten per Knopfdruck in eine Datei, z.B. einem Excel-Sheet oder eine vCard zu speichern. So können schnell und unkompliziert Listen von Abteilungen oder Suchergebnissen erstellt und im weiteren Arbeitsablauf genutzt werden. Durch die vCard ist zudem die Synchronisation mit dem Adressbuch, z.B. in Outlook oder dem Handy möglich.

Ihr Ansprechpartner

Michaela Gabriel
Michaela Gabriel
Account Manager
+49 221 97343-21

Andreas Walter
Andreas Walter
Account Manager
+49 221 97343-27