OpenK3:K3Forum Komponente

Aus OpenK3

Wechseln zu: Navigation, Suche

Bei der Implementierung der K3Forum-Komponente wurden die Auswahl der Systemumgebung und der Entwicklungsplattform nach den Kriterien Zukunftssicherheit, Wiederverwendungsfähigkeit und Open Source Lizenzmodell spezifiziert. Dabei fiel die Wahl auf Java als Programmiersprache und somit die Entscheidung, K3Forum als Java basierte Anwendung zu realisieren.

K3Forumarchitektur auf Basis von J2EE

Die Basis der Entwicklungsumgebung bildet das Java 2 Enterprise Edition (J2EE) . Bei J2EE handelt es sich um eine Standardarchitektur, Systemdienste und ein Programmiermodell für die Entwicklung von verteilten Java Anwendungen. Durch diese J2EE-Architektur wird eine bessere Systemstruktur, z.B. in Hinblick auf Modularisierbarkeit, Erweiterbarkeit und Wiederverwendungsfähigkeit erreicht damit ein einheitliches, elaboriertes Programmiermodell ermöglicht. Auf Design-Ebene wurde Struts als Programmentwicklungsframework ausgewählt. Struts basiert auf dem Model-View-Controller (MVC) Pattern. Mit Struts lässt sich der Aufwand bei der Entwicklung, Pflege und Weiterentwicklung des Quellcode reduzieren. Anwendungen, die mit dem Struts-Framework erstellt wurden, sind auf jedem J2EE-kompatiblen Applikationsserver wie Tomcat oder Jboss lauffähig. Zur Implementierung wurden Jboss als EJB-Applikationsserver und Tomcat als WebContainer für die Bereitstellung von Servlets und JSP genutzt. Als Datenbanksystem wurde PostgreSQL gewählt. Der Vorteil von PostgreSQL liegt in der hohen Abfragegeschwindigkeit, dem so gut wie unbegrenzten Speichervolumen und der sehr guten Erweiterbarkeit sowohl bezüglich der Funktionen als auch der Datentypen.

Wie alle J2EE-basierten Systeme setzt sich K3Forum aus 3 Schichten zusammen: Eine Datenbank-, eine Anwendungs- und eine Präsentationsschicht.

image:K3ForumArch.jpg

Die untere Ebene in Abbildung stellt die Datenbankschicht dar, in der die Datenbank-Software auf einen Datenbankserver läuft. Die zweite Ebene zeigt die Anwendungsschicht. Auf dieser Schicht realisieren Enterprise Java Beans (EJBs) die Anwendungsfunktionalität und bildet die Geschäftsprozesse ab. Zur dynamischen Generierung von browserfähigen Webdaten werden Java Server Pages, Java Servlets und Struts auf der dritten, der Präsentationsschicht eingesetzt. Die Anwendungsschicht und die Präsentationsschicht laufen auf einem Java EE Server. Die Daten zwischen der Datenbankschicht und der Anwendungsschicht bzw. zwischen der Anwendungsschicht und der Präsentationsschicht können direkt ausgetaucht werden. Auf Grund der Sicherheit muss der Datenaustausch zwischen der Präsentationsschicht und der Datenbankschicht über die Anwendungsschicht realisiert werden. Von Client-Seite(Web-Browser) kann also nur auf die Präsentationsschicht zugegriffen werden.

Funktionen von K3Forum

In K3Forum wurden folgende Funktionen zur Unterstützung des kollaborativen Wissensmanagement entwickelt.

image:K3ForumFunk.jpg

Ein wichtiger Erfolgsfaktor bei der Entwicklung von K3Forum stellt die Wiederverwendung von Software-Komponenten dar. Die Möglichkeit der Software-Wiederverwendung reduziert sowohl die Entwicklungskosten als auch die Entwicklungsrisiken. In der Praxis wurden bei der Entwicklung von K3Forum eine Vielzahl externe Software-Komponenten genutzt: z.B. „Apache Lucene“ für Suchwerkzeuge, „Opensymphony“ für die Authentifizierung und die Nutzer-verwaltung, „iText“ zur Erzeugung von PDF-Dokumenten.

Persönliche Werkzeuge