@ COPYRIGHT www.mein-webauftritt.de
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.