@ COPYRIGHT www.mein-webauftritt.de

Individuelle Gestaltung von Webauftritten Mein Webauftritt

Themen

Werkzeuge - Scripting

Kurzfassung

Bei sehr vielen Webauftritten, insbesonders kommerziellen Webseiten, kommt „PHP“ (Hypertext Preprocessor) und/oder „JavaScript“ (dynamisches HTML) zum Einsatz. Die Speicherung der Daten erfolgt in den HTML-Dateien, die der Nutzereingaben im Locale Storage (in Ausnahmefällen Cookies) oder in Datenbanken und die Logik in PHP/JavaScript. Die Präsentation der HTML-Objekte erfolgt getrennt von der Logik in CSS-Dateien.

Warum kommt man oft nicht an PHP/JavaScript nicht vorbei?

1. Präsentation von bereits vorhandenen Informationen

Viele Webseitenbetreiber möchten auf Ihren Webseiten Ausschnitt von Daten präsentieren, die sie in ihrer Firma oder zu Hause in Datenbanken, Tabellenkalkulationen oder auch „einfachen“ Textdateien vorhalten. Natürlich könnte man diese Daten immer wieder in die Webseiten neu erfassen bzw.manuell korrigieren, aber das dürfte bei größeren Datenmengen mit häufigen Änderungen nur schwer wirtschaftlich sein. Andereseits gibt es viele IT-Firmen die genau diese Leitung erfolgreich anbieten. Außerdem werden diese Daten oft so umfangreich sein, dass man sie allein wegen der Ladezeiten nicht einfach in einer einzelnen Html-Seite speichern kann. Daher ist mein Vorgehen so, dass ich erst einmal ein Datenmodell der zu präsentierenden Informationen (Entity-Relationship) und einen ersten Prototyp (Blueprint) der gewünschten App-Oberfläche erstelle. Die Vorschläge für die Oberfläche kommen am besten vom zukünftigen Webseitenbetreuer.

2. Vom Datenmodell zu den HTML-Tabellen / Locale Storage

Dieser Weg ähnelt bei mir stark der Normalisierung und ggf. Denormalisierung bei relationalen Datenbanken (Entity-/Relationship-Modellierung). Um die Auswertung zu vereinfachen, erhalten alle HTML-Tabellen Primär- und ggf. Fremdschlüssel. Statt „Views“ der relationalen Datenbanken wird deren Ergebnismenge ebenfalls als HTML- Tabelle gespeichert. Sehr oft müssen die Tabellen auf mehrere HTML-Dateien verteilt werden. Nur in seltenen Ausnahmefällen (zum Beispiel, wenn der Webseitennutzer seine Eingaben auf unterschiedlichen Systemen parallel nutzen will) setze ich MySQL- Datenbanken ein. Ansonsten nutze ich den „Locale WebStorage“ zur Zwischen - speicherung von variablen Eingaben des Nutzers.

3. Automatische Erstellung der HTML-Dateien

Zum Beispiel mit VBA (MS*Excel/MS*Access) lassen sich leicht die HTML-Dateien mit den Tabellen und Steuerelemente inklusive der den „Views“-entsprechenden berechneten bzw. zusammengefassten HTML-Tabellen automatisch erzeugen. Da sich in der Regel die in den Skripten realisierte Logik nicht ändert, kann der spätere Webseitennutzer diese Aktualisierung der Webseitendaten in Eigenregie vornehmen. Ob die Aktualisierung dabei direkt programmgesteuert auf den Webserver übertragen werden kann, hängt von der dortigen Systemumgebung ab. Bei CMS-Systemen muss in der Regel manuell über die entsprechenden Dialoge zunächst die Überleitung in eine Testumgebung erfolgen, bevor dort die Dateien veröffentlich werden können.

4. Zusammenspiel PHP/JavaScript/MySql

Zwar gibt es Möglichkeiten, mit JavaScript direkt auf MySql-Datenbanken zuzugreifen, aber aus Sicherheitsgründen nutze ich dafür lieber PHP. Die Kommunikation zwischen JavaScript und PHP erfolgt bei mir über XMLHTTP-Request-Objekte. Alle MySQL- Zugriffe erfolgen durch ganz einfache, wenige PHP-Dateien (je eins für Select, Insert, Update, Delete), die auch das Datenbank-Fehlerhandling abwickeln (Dynamic SQL). „Long term transactions“ und Datenbanktrigger kommen dabei aus Vereinfachungs- und Kompatibilitätsgründen nicht zum Einsatz.

Mein persönliches Fazit:

Durch Webseitenprogrammierung lassen sich relativ einfach leistungsfähige, individuell anpassbare Lösungen erzeugen, die relativ einfach durch den Webseiten - besitzer selbst Tages-aktuell auf den neuesten Stand gebracht werden können. Aber: Sobald Daten und Aktionen von Kunden unmittelbar ins System übernommen werden sollen, kommt man an den Einsatz von Datenbanken nicht vorbei. Aber dann muss man sich mit Transaktionen, Rollback und Sicherungspunkten intensiv beschäftigen. Das aber sprengt meiner Meinung nach diesen Rahmen. Hier würde ich unbedingt den Einsatz Markt-üblicher Lösungen zum Beipiel auf Basis von Oracle-Datenbanken empfehlen.

@ COPYRIGHT www.mein-web-auftritt.de

Individuelle Gestaltung von Webauftritten Mein Webauftritt
Werkzeuge - Scripting

Kurzfassung

Bei sehr vielen Webauftritten, insbesonders kommerziellen Webseiten, kommt „PHP“ (Hypertext Preprocessor) und/oder „JavaScript“ (dynamisches HTML) zum Einsatz. Die Speicherung der Daten erfolgt in den HTML-Dateien, die der Nutzereingaben im Locale Storage (in Ausnahmefällen Cookies) oder in Datenbanken und die Logik in PHP/JavaScript. Die Präsentation der HTML-Objekte erfolgt getrennt von der Logik in CSS-Dateien.

Warum kommt man oft nicht an PHP/JavaScript nicht vorbei?

1. Präsentation von bereits vorhandenen Informationen

Viele Webseitenbetreiber möchten auf Ihren Webseiten Ausschnitt von Daten präsentieren, die sie in ihrer Firma oder zu Hause in Datenbanken, Tabellenkalkulationen oder auch „einfachen“ Textdateien vorhalten. Natürlich könnte man diese Daten immer wieder in die Webseiten neu erfassen bzw.manuell korrigieren, aber das dürfte bei größeren Datenmengen mit häufigen Änderungen nur schwer wirtschaftlich sein. Andereseits gibt es viele IT-Firmen die genau diese Leitung erfolgreich anbieten. Außerdem werden diese Daten oft so umfangreich sein, dass man sie allein wegen der Ladezeiten nicht einfach in einer einzelnen Html-Seite speichern kann. Daher ist mein Vorgehen so, dass ich erst einmal ein Datenmodell der zu präsentierenden Informationen (Entity-Relationship) und einen ersten Prototyp (Blueprint) der gewünschten App-Oberfläche erstelle. Die Vorschläge für die Oberfläche kommen am besten vom zukünftigen Webseitenbetreuer.

2. Vom Datenmodell zu den HTML-Tabellen / Locale Storage

Dieser Weg ähnelt bei mir stark der Normalisierung und ggf. Denormalisierung bei relationalen Datenbanken (Entity-/Relationship-Modellierung). Um die Auswertung zu vereinfachen, erhalten alle HTML-Tabellen Primär- und ggf. Fremdschlüssel. Statt „Views“ der relationalen Datenbanken wird deren Ergebnismenge ebenfalls als HTML- Tabelle gespeichert. Sehr oft müssen die Tabellen auf mehrere HTML-Dateien verteilt werden. Nur in seltenen Ausnahmefällen (zum Beispiel, wenn der Webseitennutzer seine Eingaben auf unterschiedlichen Systemen parallel nutzen will) setze ich MySQL- Datenbanken ein. Ansonsten nutze ich den „Locale WebStorage“ zur Zwischen - speicherung von variablen Eingaben des Nutzers.

3. Automatische Erstellung der HTML-Dateien

Zum Beispiel mit VBA (MS*Excel/MS*Access) lassen sich leicht die HTML-Dateien mit den Tabellen und Steuerelemente inklusive der den „Views“-entsprechenden berechneten bzw. zusammengefassten HTML-Tabellen automatisch erzeugen. Da sich in der Regel die in den Skripten realisierte Logik nicht ändert, kann der spätere Webseitennutzer diese Aktualisierung der Webseitendaten in Eigenregie vornehmen. Ob die Aktualisierung dabei direkt programmgesteuert auf den Webserver übertragen werden kann, hängt von der dortigen Systemumgebung ab. Bei CMS- Systemen muss in der Regel manuell über die entsprechenden Dialoge zunächst die Überleitung in eine Testumgebung erfolgen, bevor dort die Dateien veröffentlich werden können.

4. Zusammenspiel PHP/JavaScript/MySql

Zwar gibt es Möglichkeiten, mit JavaScript direkt auf MySql-Datenbanken zuzugreifen, aber aus Sicherheitsgründen nutze ich dafür lieber PHP. Die Kommunikation zwischen JavaScript und PHP erfolgt bei mir über XMLHTTP-Request-Objekte. Alle MySQL- Zugriffe erfolgen durch ganz einfache, wenige PHP-Dateien (je eins für Select, Insert, Update, Delete), die auch das Datenbank-Fehlerhandling abwickeln (Dynamic SQL). „Long term transactions“ und Datenbanktrigger kommen dabei aus Vereinfachungs- und Kompatibilitätsgründen nicht zum Einsatz.

Mein persönliches Fazit:

Durch Webseitenprogrammierung lassen sich relativ einfach leistungsfähige, individuell anpassbare Lösungen erzeugen, die relativ einfach durch den Webseiten - besitzer selbst Tages-aktuell auf den neuesten Stand gebracht werden können. Aber: Sobald Daten und Aktionen von Kunden unmittelbar ins System übernommen werden sollen, kommt man an den Einsatz von Datenbanken nicht vorbei. Aber dann muss man sich mit Transaktionen, Rollback und Sicherungspunkten intensiv beschäftigen. Das aber sprengt meiner Meinung nach diesen Rahmen. Hier würde ich unbedingt den Einsatz Markt-üblicher Lösungen zum Beipiel auf Basis von Oracle- Datenbanken empfehlen.