Vor-und Nachteile einer Individualentwicklung gegenüber OpenSource-CMS

1. Abstract
Dieser Artikel beschreibt die Vor- und Nachteile einer Individualentwicklung, verglichen mit Open-Source Content Management Systemen, anhand eines konkreten Beispiels. Hierbei werden Faktoren, wie die Bedienbarkeit des Systems, Performance der entstandenen Webseite, Erweiterbarkeit und Kosten berücksichtigt. Teil I beschreibt die Methodik, Teil II die von Kunden definierten Anforderungen an das zu entwickelnde System. Die Nachfolgenden Teile beschreiben die einzelnen erarbeiteten Aspekte detailliert.

2. Methodik
Die verwendete Methodik für die Erarbeitung der Grundlagen zum nachfolgenden Vergleich ist die Literaturrecherche und Reflexion der gefundenen Artikel. Wissenschaftliche Publikationen wurden in gut gerankten Journals verschiedener Kategorien nach einigen Keywords durchsucht. Zudem sind weniger gut gerankte, aber sehr gut geeignete und spezialisierte Journals zur Recherche herangezogen worden. Die Methodik deckt nicht alle Quellen aller Journals ab, sondern reflektiert nur eine repräsentative Meinung. Anhand des VHB Rankings wurden die relevanten Journals identifiziert. Diese wurden durchsucht, sofern ein freier Zugang über die EZB der Bayerischen Staatsbibliothek möglich war.

3. Anforderungen
Der Kunde wünschte die Serveradministration selbst zu übernehmen. Das Newsportal soll in der Cloud von Amazon in Irland gehostet werden. Jeweils vor dem Webserver soll ein Varnish-Cache geschaltet werden und die Webserver sollen über den Amazon Elastic Load Balancer angesprochen werden. Des weiteren sollten mehrere Datenbanken zum lesen, aber lediglich eine für Schreibzugriffe verwendet werden. Die Bilder und Videos, die per Upload-Funktion im Backend hochgeladen werden können, sollen im Amazon Simple Storage Service (S3) abgelegt werden. Dadurch wird die Ausfallsicherheit und Stabilität hinsichtlich Performance gewährleistet. Der Kunde betreibt in Südtirol zwei Fernsehsender und möchte durch dieses neue Portal weitere Kunden im Onlinebereich gewinnen. Für den Start des Portals werden ca. 250.000 Seitenaufrufe täglich erwartet, diese Zahl soll langfristig auf 500.000 ansteigen. Daher muss das Newsportal entsprechend stabil und Ressourcen-schonend umgesetzt werden. Aufgrund dieser hohen Anforderung an die Skalierbarkeit des Systems konnten wir keines der uns bekannten Open-Source- verwenden. Durch den vorgeschalteten Varnish Dienst mussten wir an die URL einen Parameter anhängen, um geänderte Dateien vom Webserver zu beziehen anstatt der alten Datei aus dem Cache. Dies wird von derzeit nicht unterstützt. unterstützt S3 und die Möglichkeit, mehrere Datenbankverbindungen separat zu konfigurieren bisher ebenfalls nicht. Auch weitere, uns bekannte Open-Source-CMS unterstützen diese Anforderungen nicht. Wir sind daher zu dem Entschluss gekommen, eine Individualentwicklung einem fertigen CMS vorzuziehen. Die Frage, ein PHP-Framework zu verwenden um die zu beschleunigen und zu vereinfachen, konnten wir ebenfalls durch diese Anforderungen beantworten. Die meisten Frameworks stellen einige Datenbankfunktionen zur Verfügung. Viele davon stellen Funktionen zum erstellen von HTML-Formularen bereit und einige auch ein Caching-System. Ein paar Recherchen im Internet haben sehr schnell gezeigt, das viele dieser Frameworks einige Dateien pauschal inkludieren und pauschal Datenbankverbindungen aufbauen. Dadurch wurden die größeren Frameworks schnell uninteressant, da pauschale Datenbankverbindungen in dieser Größenordnung zu  Schwierigkeiten mit der Anzahl der erlaubten Verbindungen in der Datenbank führen. Weitere Frameworks, wie z.B. das in anderen Projekten bereits verwendete CakePHP, haben wir ebenfalls ausgeschlossen, da wesentliche Anforderungen, wie z.B. Amazon S3 und mehrere Datenbankverbindungen nicht Implementiert sind. Da wir keine Vorteile im Einsatz eines Frameworks erkennen konnten, haben wir beschlossen, reines PHP zu verwenden und auf den Einsatz eines PHP Frameworks zu verzichten.

4. Backendoberfläche
Die Oberfläche im redaktionellen Backend ist hier genau auf die Anforderungen des Systems zugeschnitten und gewinnt dadurch sehr viel Übersichtlichkeit. Bei fertigen CMS ist es nicht selten, dass der User die Inhalte an verschiedenen Stellen verwalten muss, obwohl diese logisch zusammenhängend sind. Dadurch kann der Redakteur in der Individualentwicklung schneller und einfacher neue Inhalte anlegen, bzw. bestehende Inhalte verändern.

5. Content-Bereich
Für den Inhaltsbereich haben wir Flexible Elemente implementiert, ähnlich der im TYPO3 durch die Extension Templavoila zur Verfügung stehenden. Durch einfaches Drag&Drop, welches wir über JQuery UI implementiert haben, kann der Redakteur Inhaltselemente selbst an die gewünschte stelle schieben. Hierbei stehen unter anderem Bildelemente, Videos, Zwischenüberschriften und Textblöcke zur Verfügung.

nächster Teil

Dieser Beitrag wurde unter High Performance, Sonstiges abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.