- OpenSAGA
-
OpenSAGA Entwickler QuinScape GmbH Aktuelle Version 1.5.1
(16. Dezember 2010)Betriebssystem plattformunabhängig Programmiersprache Java Kategorie Webframework, Portal-Software Lizenz GPL v2 Deutschsprachig ja www.opensaga.org OpenSAGA[1] ist eine Java-basierte lizenzkostenfreie Open-Source-Plattform, die sich der strategischen Umsetzung SAGA-konformer Webanwendungen[2] verschrieben hat.
OpenSAGA ist Bestandteil des Open Source Business Alliance-Open-Source-Stacks.
Inhaltsverzeichnis
Überblick
SAGA beschreibt Standards und Architekturen für die Erstellung moderner E-Government-Anwendungen. OpenSAGA ist damit das erste Java-basierte Entwicklungsframework, das eine möglichst weitreichende Unterstützung der dort definierten Vorgaben anstrebt und sich somit insbesondere als Plattform für die öffentliche Verwaltung positioniert. OpenSAGA bietet ein modellbasiertes und deklaratives Entwicklungsframework, mit dem Webanwendungen und Portale auf einem weitgehend technologieunabhängigen und anforderungsorientierten Niveau modelliert werden können. Ein Generator erzeugt aus den XML-basierten Modellen ein lauffähiges System, in das programmierte Komponenten und Erweiterungen flexibel eingewoben werden können. Auch eine Unterstützung für Eclipse wird angeboten.
Geschichte
OpenSAGA wurde Mitte 2007 von der QuinScape GmbH[3] und der BALVI GmbH[4] initiiert, zunächst mit dem Ziel, eine auf dem Softwareproduktlinienansatz basierende Plattform für die Entwicklung von Produkten für die amtliche Lebensmittelüberwachung sowie den behördlichen Verbraucherschutz zu erstellen. Die allgemeine Anwendbarkeit des technologischen Ansatzes sowie die bislang von keinem anderen Framework vorgenommene Fokussierung auf die besonderen Anforderungen behördlicher IT-Projekte (manifestiert in Standards und Definitionen wie SAGA oder der BITV) führten 2009 bei der QuinScape GmbH zu der Entscheidung, die Quellen der Plattform offen zu legen. Am 30. April 2010 wurde OpenSAGA 1.0.0 unter einer dualen Lizenz sowohl unter der GPL v2 als auch für kommerzielle Nutzung unter einer proprietären Lizenz mit einer Reihe von Kompatibilitätsklauseln freigegeben[5], die weitere Entwicklung erfolgt kontinuierlich:
- 26. Mai 2010: OpenSAGA 1.1[6].
- 19. November 2010: OpenSAGA 1.5[7] mit wichtigen Neuerungen wie einem deutlich erweiterten Rechtesystem, Personalisierungsfunktionen über Portlets und erweiterte Möglichkeiten zur deklarativen Datenintegration von Fremdsystemen.
- 15. Dezember 2010: OpenSAGA 1.5.1[8] mit einer Reihe von Detailverbesserungen und Bugfixes
Weitere Versionen werden gegenwärtig aktiv entwickelt. Parallel dazu arbeitet ein Partnernetzwerk aus Hochschulen, Unternehmen und Einrichtungen der öffentlichen Hand, um die Entwicklung der Plattform gemeinsam voranzutreiben[9].
Funktionen
OpenSAGA bietet ein Entwicklungsframework für die komponentenbasierte Modellierung moderner Webanwendungen. Der Fokus liegt dabei auf der Modellierung und Umsetzung komplexer Fachverfahren und formularbasierter Vorgänge. Besondere Eigenschaften sind:
- die weitgehend technologie-unabhängige Modellierung von Fachverfahren und Anwendungen, die Fachverfahren, Prozesse und Geschäftslogik in den Mittelpunkt der Entwicklung stellen
- barrierefreie Webkomponenten, die alle Vorgaben der BITV berücksichtigen und bei vorhandenem JavaScript eine moderne und reaktive Oberfläche ermöglichen, gleichzeitig aber bei deaktiviertem JavaScript alle Funktionen beibehalten - ohne dass dafür Zusatzaufwand anfällt
- flexible Integrationsmechanismen für verteilte Datenquellen inklusive der Möglichkeit, Daten aus verschiedenen Quellen transparent miteinander zu verbinden
- Mechanismen, um Web Services und REST-Services anzubieten und zu konsumieren
- umfangreiche Integrationsmechanismen für Fremddaten (JDBC, HQL, Excel, Batch, Web Services, usw.)
Technische Spezifikation
OpenSAGA setzt auf die Wiederverwendung existierender und bewährter Frameworks und Bibliotheken. Technisch basiert OpenSAGA auf Servlets und läuft daher auf allen Java-Serverumgebungen von Apache Tomcat bis zu den großen Application-Servern. Die folgenden essentiellen Frameworks bzw. Bibliotheken werden verwendet:
- Die Umsetzung der Webkomponenten erfolgt über JavaServer Faces (JSF).
- Die Workflows und Geschäftsprozesse werden über Spring Webflow abgebildet.
- Die Gesamtarchitektur basiert auf dem Spring Framework.
- Zur Standardintegration von Datenbanken werden Hibernate und JPA verwendet, es gibt aber viele weitere Zugriffsmechanismen, deren Implementierung meist über von Spring bereitgestellte Basisfunktionen erfolgt.
- jQuery wird für die JavaScript-Funktionalitäten benutzt.
- Die Programmierung von Geschäftslogik kann in Java oder einer Vielzahl von Scriptingsprachen (Groovy, Jython, JRuby, BeanShell) erfolgen, wobei Groovy gegenwärtig besonders stark unterstützt wird. Seit Version 1.5 werden auch annotationsbasierte Erweiterungsmöglichkeiten für Java-Entwickler angeboten.
- OpenSAGA verfügt über einen komponentenbasierten Auto-Discovery-Mechanismus, bei dem Basisfunktionen durch sogenannte Extensions erweitert werden können, die in Spring-Kontexten neue Module durch bloße Konfiguration bereitstellen und dann automatisch in das Gesamtsystem eingewoben und überall verwendet werden können.
- Die in OpenSAGA angebotenen Portlets basieren gegenwärtig weder auf JSR-168 noch auf JSR-286, sondern verwenden eine eigene technische Implementierung zur Realisierung von Personalisierungsbausteinen. Für Version 2 ist eine Integration von WSRP geplant.
Weblinks
- Offizielle Website
- OpenSAGA in der Softwareliste des Open-Source-Software-Kompetenzzentrums des BVA
- Download von OpenSAGA
- Dokumentation zu OpenSAGA
- OpenSAGA-Issue-Tracking (JIRA)
- OpenSAGA-Forum
- OpenSAGA-Team-Blog
- OpenSAGA-Maven-Repository
- OpenSAGA-Subversion-Repository
Einzelnachweise
- ↑ OpenSAGA-Homepage
- ↑ Standards und Architekturen für E-Government (SAGA)
- ↑ Homepage der QuinScape GmbH
- ↑ Homepage der BALVI GmbH
- ↑ Release-Meldung OpenSAGA 1.0.0
- ↑ Release-Meldung OpenSAGA 1.1.0
- ↑ Release-Meldung OpenSAGA 1.5
- ↑ Release-Meldung OpenSAGA 1.5.1
- ↑ Partnernetzwerk der OpenSAGA-Initiative
Wikimedia Foundation.