The ArsDigita Community System (ACS) is the world's most popular open
source, enterprise class e-business platform. ACS includes a comprehensive
set of integrated software components that support rapid deployment of
sophisticated web sites and web services. With modules for content
management, commerce, collaboration, personalization, and marketing and
analysis, ACS provides one flexible and extensible platform for every core
e-business application. Visit the ACS Repository see what applications are
available for the ACS 4 platform.
Siehe:
http://www.arsdigita.com/products/.
--
Das ArsDigita Community System ACS, ist mit seinen circa 50 Modulen das
umfangreichste freie Web-Standard-Software-Paket. Seine Entstehung geht auf
eine mehrwöchige Reise zurück: 1993 fährt der MIT-Dozent und Foto-Fan Philip
Greenspun mit seinem Mini-Van nach Alaska. Jede Woche schreibt er ein
Kapitel über seine Reiseerlebnisse und veröffentlicht sie online.
Kurz nach seiner Rückkehr erscheint Mosaic, der erste Web-Browser, das
Internet wird multimedial: Philip fügt den Reiseberichten seine Bilder
hinzu.Um die vielen Emails zu beantworten, baut er ein System, daß ihm diese
Arbeit erleichtert. Über die nächsten drei Jahre erweitert er die Software
von photo.net zu einer Community-Software.
Die Entstehung des Systems ist gut dokumentiert in "Philip and Alex's
Guide to Web Publishing" (Verlag Morgan Kaufmann; ISBN: 1558605347), ein
locker geschriebenes Computer-Buch mit vielen Fotos. Es ist so so angelegt,
daß alle Techniken, die beim Aufbau eines Web-Services benötigt werden,
angesprochen werden und ist heute noch eine interessante Lektüre, um ein
"Big Picture" zu bekommen. Die Originaltexte der Alaska-Reise sind
inzwischen als "Travels with Samantha" (ArsDigita Press; ISBN: 1588750019)
erschienen.
Philip entscheidet sich damals für den später in AOLServer umbenannten
NaviServer, Oracle und TCL.
Für den AOLserver sprachen die folgenden Gründe: Die meisten Web-Server
verwenden CGI-Skripte, um dynamische Inhalte anzuzeigen. Jeder Zugriff auf
eine Page erforderte das Starten eines Programms und gegebenenfalls das
Aufbauen einer Datenbank-Connection. Der AOLServer hatte von Beginn an einen
TCL-Interpreter integriert, so daß die Seitengenerierung multithreaded
innerhalb des Webservers ablaufen kann. Beim Starten eines AOLServers werden
die Datenbank-Connections geöffnet und während der Laufzeit offen gehalten,
eine ansonsten sehr zeitaufwändige Operation. Seit einigen Jahren ist der
AOLServer übrigens free und Open Source.
Für Oracle sprachen mehrere Gründe:
Oracle verwendet eine interne "Versionsverwaltung", so daß lesende nie
auf schreibende Transaktionen warten müssen und umgekehrt. Oracle hat eine
komplette Programmierumgebung innerhalb des Datenbankservers. Software, die
innerhalb der Datenbank selbst läuft, braucht keine Daten zwischen
Datenbank- und Webserver zu übertragen.
Oracle ist extrem stabil und sehr performant.
1997 gründet Philip mit einigen seiner Studenten ArsDigita. Sie nehmen
den in drei Jahren entstandenden Source-Code und hacken über den Sommer das
ArsDigita Community System zusammen. ArsDigita stellt das ACS unter die GPL,
jeder Interessierte kann sich das System von http://arsdigita.com
herunterladen.
Weil das Classic ACS Oracle erfordert, gründen einige ehemalige
Mitarbeiter von ArsDigita OpenACS und portieren Kern und Module auf
PostgreSQL , der damals einzigen Datenbank, die free und open source ist.
Inzwischen wird auch an einer Portierung zu Interbase gearbeitet. schen gibt
es das OpenACS als RPM fürs RedHat, an den Packages für die anderen
Distributionen wird zur Zeit noch gearbeitet. Die Installation dauert nur
etwa 10 Minuten. Um das ACS auch unter Apache zum Laufen zu bringen, wurde
ein Modul entwickelt, daß die AOLServer-API unter Apache emuliert. Das
OpenACS-RPM verwendet deshalb Apache als Webserver.
Bis zur Version 3.4 ist das ACS historisch gewachsen, mit der vor kurzem
erschienenen Version 4 steht ein echter Generationswechsel an: der Kern des
Systems wurde komplett redesignt und ein großer Teil der Applikationslogik
in die Datenbank verlagert, so daß TCL inzwischen nur noch die Glue-Sprache
ist.
OpenACS basiert noch auf Version 3.2. Sobald die Datenbank-Schicht unter
Postgres implementiert ist, werden die Portierungszyklen vermutlich
erheblich kürzer. Solange es keine große Entwickler-Community gibt, wird das
OpenACS dem ClassicACS aber weiter erheblich hinterherhinken (bei ArsDigita
arbeiten circa 180 Entwickler).
Frühere Versionen des ACS waren eher ein Programmier-Toolkit, das das
Erstellen von Websites erheblich beschleunigt hat. Die Version 4 ist das
erste Produkt, eine out-of-the-box Installation kann mit etwas
Konfiguration im Webbrowser schon als einfache Website laufen. Alle
Module, die wir im folgenden vorstellen, sind für ACS und OpenACS verfügbar
oder werden gerade portiert.
Mit dem Package-Manager können Applikationen aus dem Web geladen,
installiert und in der Site Map an eine oder mehrere URLs gemountet werden.
Ein Modul kann so beliebig oft instanziiert werden.
Es gibt ein ausgefeiltes Permissioning-System, das User, Usergruppen und
ineinander verschachtelte Usergruppen kennt, und das Erstellen von sicheren
Web-Applikationen mit fein granulierten Zugriffsrechten ermöglicht. Sehr
große, hierarchische Web-Anwendungen können so im Webbrowser erstellt und
administriert werden.
Das Content Repository stellt eine API zur Verfügung, die das Verwalten
von Inhalten beliebiger Typen kapselt. Versionsverwaltung,
Kategorisierung, Permissioning und Workflow werden von den entsprechenden
Funktionen beachtet, so daß sich Entwickler auf das
Erstellen der benutzerorientierten Applikation konzentrieren können. Ein
Beispiel für eine Anwendung dieser Schicht ist das Content Management System
des ACS.
Das Workflow-Modul stellt Funktionen zur Verfügung, die das Entwickeln
von prozeßorientierten Anwendungen erheblich erleichtert. Intern werden die
Workflow-Prozesse auf Petrinetze abgebildet, das System ist generisch und
kann mit relativ wenig Aufwand von einem Entwickler verwendet werden. Zwei
Beispielanwendungen sind das Workflow-Modul als Applikation und das
Ticket-Tracker-Modul.
Weitere Service-Module sind Notification (Email-Alerts auf Objekte),
Messaging (Erstellen von Web-Boards, Emails usw.), LDAP-Authentifizierung
und das Templating-System. Diese Abstraktionsschichten erleichtern das
Anpassen des ACS an individuelle Vorstellungen erheblich und angepaßte
Systeme profitieren von Weiterentwicklungen der Kern-Module.
Die Applikations-Module können in fünf Kategorien eingeteilt werden:
Collaboration: Da das ACS aus einem auf Zusammenarbeit ausgerichteten
Webforum entstanden ist, sind die Collaboration- Module am wichtigsten und
umfangreichsten. Address Book, Bulletin Board, Bookmarks, Calendar, Chat,
File-Storage, Intranet, Ticket oder WimpyPoint (web-basierte Präsentationen)
bilden das Rückgrat der meisten ACS-gestützten Websites.
Die Publishing-Module unterstützen und vereinfachen das Administrieren
des Inhalts: Adserver, Banner Ideas, Display, Dynamic
Publishing System, FAQ, General Comments, General Permissions, Graphing,
News, Poll, Prototype Builder und Spam.
Die Personalization-Module ermöglichen das Anpassen einer Website an
Benutzer oder Benutzergruppen: Portals, User Groups, User Session Tracking
und Member Value. Die Site-Management-Module Audit und Site-Wide-Search
unterstützen Auditing und kategorisiertes Site-weites Suchen.
Die Transaction-Module umfassen vor allem das E-Commerce-Modul, das das
Aufsetzen eines Amazon-ähnlichen Shops ermöglicht, und die Classifieds Ads
(Kleinanzeigen).
Zu offener und freier Software gehört eine gute Dokumentation, jedes ACS
enthält die Handbücher für die Programmierer in Form von
HTML-Dateien. Der Dokumentationsstandard schreibt vor, daß die
"Requirements" eines Moduls beschrieben werden müssen. Die ArsDigita.com-
und OpenACS-BBoards sind eine weitere gute Informationsquelle für
Web-/Datenbankentwickler. Das ArsDigita Systems Journal ist ein relativ
allgemein gehaltenes Online-Magazin zum Thema webbasierte
Informationssysteme. Dort befinden sich auch Online-Ausgaben der drei
Computerbücher, die Philip Greenspun geschrieben hat:
- Philip and Alex's Guide to Web Publishing
- SQL for Web Nerds
- TCL for Web Nerds
In unregelmäßigen Abständen gibt es in Deutschland Veranstaltungen zum
Webdeveloment mit dem ACS.
Interessant - vor allem für kleine Communities - sollte das
OpenACS-Hosting-Angebot von Furfly sein.
ArsDigita arbeitet seit einigen Monaten mit Hochdruck an einer
Java-Version des ACS, die unter Apache läuft. Der kommerzielle Markt
verlangt danach und man hofft auf erheblich stärkeres Echo in der freien
Software-Szene. Ein Alpha-Release ist bereits Mitte November erschienen, der
endgültige Release sollte inzwischen im Netz erhältlich sein.
--