Nachdem ich mich gründlicher mit dem Projekt FAU.ORG befasst habe, habe ich mich entschieden es in kleineren Teilen zu zerlegen. Das Projekt, das mir übergeben wurde, hatte eine monolithische Struktur, die alle Aspekte der Softwareentwicklung in einem Kodebündel zusammenpackte. Es hat sich herausgestellt, dass die Struktur schwer zu verwalten ist, vor allem mit der anwachsenden Anzahl der Artefakte. Zurzeit, als Ergebnis der Neustrukturierung, besteht FAU.ORG aus den folgenden Komponenten:
- fauorg-core
- fauorg-web
- fauorg-identity
- fauorg-system
- fauorg-misc
Die Kernfunktionalität von FAU.ORG, die für die Verwaltung und das Wiederabrufen von älteren Zuständen der Univesitätstruktur, sowie für die Generierung von verschiedenen Reporttypen usw. verantwortlich ist, wird derzeit in fauorg-core implementiert. Die Web-Oberfläche , die einen benutzerfreundlichen Zugriff auf die Kernfunktionalität ermöglicht, ist in dem fauorg-web Teilprojekt extrahiert. Das fauorg-identity Teilprojekt befasst sich mit der Benutzerverwaltung innerhalb dieser Applikation, genau so wie mit der Authentifizierung und der Authorisierung der Benutzer. Verschiedene Arten von Rollen und hierarchische Gruppen können modelliert und instanziiert werden. Ausführungsrechte auf existierende Kodeausschnitte könnten auch vergeben werden. Das fauorg-system Teilprojekt ist für die Serverkonfiguration, für den Einsatz der Applikation und für die Verwaltung der einzelnen Teilprojekte verantwortlich. Viele verschiedene Ideen und Tests werden in fauorg-misc Teilprojekt implementiert und dieses dient als Inkubator für neue Funktionen. Derzeit ist noch der Aufbau von einem Teilprojekt vorgesehen und zwar – fauorg-bpms. Es wird sich mit der Funktionalität der Geschäftsprozessmodellierung innerhalb FAU.ORG beschäftigen. Das Ziel ist die konsistente Integration der fauorg-core, fauorg-identitiy und fauorg-web Teilprojekte. Es ist bereits einen rudimentären Prototyp in PPSA entwickelt worden. Am Ende werden alle Teilprojekte in fauorg-web zusammengefasst und diese Zusammenfassung wird dann als FAU.ORG bezeichnet.
Alle Komponenten sind aufgrund der Verfahren und der Prinzipien von PPSA entwickelt worden. Sie sind alle Maven Projekte, die so schnell wie möglich in P&P’s Archiva Repository verfügbar sein werden. Die Teilprojekte werden mit der existierenden Continumm Instalation kontinuierlich getestet. Zusätzliche Information bezüglich der Planung und Spezifikation von FAU.ORG und den einzelnen Teilprojekten wird bald hier gebloggt.
FAU.ORG Restructuring
After gaining some deeper understanding of the FAU.ORG project, I have decided to break FAU.ORG into smaller parts. The inherited project had a monolithic structure, combining all aspects of development into a single code bundle. This structure proved hard to manage, especially with the growing number of artifacts. Presently, as a result of the restructuring, FAU.ORG consists of the following components:
- fauorg-core
- fauorg-web
- fauorg-identity
- fauorg-system
- fauorg-misc
The core functionality of FAU.ORG, which is responsible for managing the university structure, retrieving older states of the structure, different types of reports, and so on is currently being implemented in fauorg-core. The web interface, which provides user friendly access to the core functionality, is extracted into the fauorg-web subproject. The fauorg-identity subproject handles user management within the application. It also deals with authentication and authorization of the above mentioned users. Different types of roles and hierarchical groups can be modeled and instantiated with the developed code and rights on executing pieces of code can be granted. fauorg-system subproject is responsible for the server configuration and deployment of the application, as well as managing the subprojects code bundles. Various ideas and tests will be included in fauorg-misc. It will serve as an incubator for new features. Currently, one more subproject is envisioned and namely the fauorg-bpms. It will deal with tasks related to the business process management within FAU.ORG. The goal is to consistently integrate fauorg-core, fauorg-identitiy and fauorg-web. There is a rudimentary prototype developed within the PPSA initiative. At the end of day, all of the subprojects are to be included in fauorg-web, which assembles the final artifact representing FAU.ORG.
All components of FAU.ORG are developed by using techniques and principles established in PPSA. These are all Maven projects which as soon as possible will be available in P&P’s Archiva repository and will be continuously tested with the existing Continuum installation. Further information concerning FAU.ORG – like planning and specification of the whole project and the consistent parts will be soon posted.