Mitteilungen, Programmierung

Content Management System (CMS) – Was geht mit CONZEPT 16?

So mancher Einsteiger und vielleicht sogar langjähriger CONZEPT 16-Entwickler stellt sich bei der Auseinandersetzung oder der täglichen Arbeit mit CONZEPT 16 möglicherweise folgende Frage:
Welche Applikationen kann ich mit CONZEPT 16 realisieren?
Oder anders:
Was geht mit CONZEPT 16?
Typische Lösungen, die von Kunden mit CONZEPT 16 realisiert werden, sind meist kaufmännischen Anwendungen. Aber dass CONZEPT 16 durchaus das Potenzial hat, auch andere Aufgaben zu meistern, möchte ich Ihnen anhand einer eigenen Entwicklung aufzeigen und vorstellen, einem CMS (Content Management System).


Ein CMS ist eine Anwendung die, einfach ausgedrückt, dabei hilft „Inhalte“ zu verwalten und bereit zu stellen. Das CMS, um das es hier geht, wird hauptsächlich für Web-Inhalte wie Web-Seiten, Bilder und Downloads verwendet.

Für unseren eigenen Bedarf haben wir mit CONZEPT 16 ein CMS entwickelt, das nun schon seit gut 5 Jahren im Einsatz ist und stetig weiterentwickelt wird.

Motivation

Auslöser für die Entwicklung eines eigenen CMS waren Probleme mit dem damalig im Einsatz befindlichen CMS und die Idee ein CMS auf Basis unserer eigenen Datenbank zu realisieren, um alles aus einer Hand zu haben. Durch ein CMS aus Eigenentwicklung können wir die maximale Wartbarkeit und Erweiterbarkeit erreichen.

Entwicklung

Wir konnten alle unsere Vorstellungen eines CMS in die Entwicklung einfließen lassen und es nach unseren eigenen individuellen Bedürfnissen gestalten. Jedoch immer mit dem Gedanken im Hinterkopf, ein möglichst allgemeingültiges, unabhängiges und wiederverwendbares Programm zu entwickeln, das sich ohne Eingriff in den Programm-Code für viele Einsatzbereiche anpassen lässt. Aus diesem Grundgedanken entstand ein flexibler Programmkern, den wir für viele Projekte verwenden können, durch Customizing.

Funktion

Über einen Windows-Client mit Explorer-ähnlicher Oberfläche können die Inhalte innerhalb des CMS verwaltet werden. Diese Inhalte können über einen Web-Server zur Verfügung gestellt werden, der die Protokolle HTTP und seine sichere Variante HTTPS implementiert. Auf die Inhalte kann über einen Web-Client (in der Regel ein Browser) zugegriffen werden, um die Inhalte abzuholen. Anfänglich wurde dieser Web-Server mit der Web-Schnittstelle realisiert, mittlerweile basiert er aber auf dem SOA-Service. Der SOA-Service benötigt im Gegensatz zur Web-Schnittstelle keine anderen Komponenten auf dem System auf dem er betrieben wird. Außerdem kann mit dem SOA-Service durch seine Nähe zur Hardware eine bessere Performance erzielt werden.
Die Inhalte können sowohl dynamisch generiert, als auch statisch abgelegt werden. Dynamische Inhalte werden über Prozeduren aufbereitet. Der Anwender kann Prozeduren anpassen und eigene erstellen. Statische Dateien können über die Oberfläche importiert und ohne besondere Behandlung durch den Web-Server ausgeliefert werden. Zur Entlastung des Datenbankprozesses und des Servers insgesamt werden sämtliche Inhalte in einem Datei-Cache abgelegt und nur bei Bedarf erneut generiert beziehungsweise exportiert.

Bearbeitung einer dynamischen Datei
Bearbeitung einer Prozedur

Ein Job-Server, der ebenfalls auf dem SOA-Service basiert, gehört auch zum CMS. Dieser Dienst arbeitet ihm auferlegte Aufgaben ab. Diese Aufgaben können zum Beispiel das Aktualisieren einer Datei im Cache sein. Aufgaben werden automatisch vom CMS generiert und ausgeführt. Der Anwender kann aber auch eigene Aufgaben definieren, ihnen eine Prozedur zuweisen und sie zu einem oder sich wiederholenden Zeitpunkten ausführen lassen. Über eine solche Aufgabe kann zum Beispiel die regelmäßige Synchronisierung mit einem externen Programm vorgenommen werden.

Einsatz

Angefangen haben wir mit der Umsetzung unseres Internetauftritts www.vectorsoft.de auf unser neues CMS. Nachdem wir einige Erfahrung gesammelt hatten, haben wir auch weitere Projekte mit dem CMS umgesetzt. Die Inhalte der Web-Administration des CONZEPT 16-Servers werden ebenfalls über das CMS generiert.
Ein weiterer Meilenstein für das CMS war die Umsetzung des vectorsoft-Kunden-Centers, das über eine individuelle Schnittstelle mit unserem ERP-System kommuniziert.
Das neueste Projekt, bei dem das CMS die Grundlage darstellt, ist der CONZEPT 16-Blog, für das wir dem CMS eine Erweiterung für Blogs spendiert haben.

Funktionalität

Zu den Features des CMS gehören mittlerweile auch ein hierarchisches Benutzer- und Rechtesystem, eine Index-basierte Volltextsuche und eine umfangreiche API (Application Programming Interface) zur Programmierung eigener Prozeduren durch den Anwender.
Außerdem verfügt das CMS über ein System zur Auswertung der Zugriffe über den Web-Server. Damit lassen sich detaillierte Berichte über die Zugriffe erzeugen und visualisieren. Dies kann zum Beispiel ein Bericht über die monatlichen Besuchszahlen sein. Die Berichte können vom Anwender selbst angepasst und erweitert werden.

Auswertung der Zugriffszahlen

Fazit

Mit CONZEPT 16 können auch Anwendungen realisiert werden, die bei der ersten Überlegung nicht direkt offensichtlich sind.

Ich denke ich konnte Ihnen mit dem CMS einen Eindruck vermitteln, welche Möglichkeiten Sie mit CONZEPT 16 haben.

Möchten Sie unser CMS näher kennenlernen? Setzen Sie sich mit uns in Verbindung oder hinterlassen Sie einfach einen Kommentar.

5 Kommentare

5 Kommentare “Content Management System (CMS) – Was geht mit CONZEPT 16?”

  1. Hallo George, danke für den Kommentar und die Frage 😉

    Also das funktioniert so: Die Inhalte liegen alle in der Datenbank, in Form von Datensätzen und binären Objekten (BLObs). Damit die Inhalte nicht bei jedem Zugriff neu "zusammengesetzt" werden müssen, werden sie in besagtem Datei-Cache auf der Festplatte abgelegt. Ändert sich ein Datensatz oder ein binäres Objekt wird die dazugehörige Datei im Cache aktualisiert. Der Datei-Cache stellt also eine reduntante Abbildung der Datenbankinhalte da.

Kommentar abgeben