Onyx

Web-Engineering

Web Engineering

Web-Engineering

Web-Engineering basiert auf einer Trennung von

Datenmodell,
Steuerung,
Präsentation

Das bedeutet, dass das Programm nur für die Ablaufsteuerung zuständig ist und keine Daten oder Texte enthalten darf. Weiter darf es auch die Präsentationsschicht nicht beeinflussen und keine Layout-Anweisungen (HTML-Tags) enthalten. Diese sind wegen der besseren Pflegbarkeit explizit in Templates vorzuhalten.
Diese Dreiteilung hält eine Applikation übersichtlich und erlaubt die separate Pflege ihrer Bestandteile durch

Nutzer,
Entwickler,
Layouter

Nutzer können die Texte und Daten einpflegen, Software-Entwickler die Programmsteuerung realisieren und Layouter die Corporate Identity des Unternehmens wahren.

Datenmodell und Datenbank

Ein Datenmodell lässt sich im Rahmen eines passenden Frameworks wie Symfony über ein Object-Relational Mapping (ORM) Tool wie Propel objektorientiert darstellen und pflegen.
Es lässt sich aber auch noch weiterhin klassisch relational abbilden und ist damit eins zu eins in ein relationales Datenbanksystem umsetzbar.

Als Open-Source-Datenbanksystem bietet sich MySQL an. MySQL ist ausgereift und stabil, und es ist Bestandteil des Open-Source-Pakets Xampp für Windows oder Linux, das u.a. den Apache-Server, MySQL und PHP enthält. Andere für das Web verwendbare Datenbanksysteme sind z.B. Oracle, Microsoft SQL-Server, IBM Informix.

Programm-Steuerung

Als Entwickler-Plattform bietet sich u.a. PHP an, das seit Version 5 auch objektorientiert einsetzbar ist. PHP ist weit verbreitet und einfach zu verwenden. Im Rahmen eins Frameworks wie Symfony ist auch schnelles Prototyping möglich. Zudem unterstützt ein solches Framework auch die Dreiteiligkeit von Datenmodell, Steuerung und Präsentation.

Präsentation, Layout und Template

Die Präsentationsschicht lässt sich über Templates abbilden. Dabei handelt es sich um HTML-Ausgabebäume, die das Layout definieren. Diese können zwar auch Texte enthalten, dies ist aber nur bei statischen Texten und einsprachigen Sites sinnvoll. Ein einfaches Template enthält {PLATZHALTER} wie diesen. Das steuernde Programm ersetzt während der Laufzeit die Platzhalter durch die aktuellen Datenwerte. Komplexere Templates mit logischen Fallunterscheidungen lassen sich zum Beispiel mit einer Template-Engine wie smarty abbilden. Die Königsklasse bilden XSL-Templates wie sie hier im Abschnitt XSL - Layout und X-Path erläutert sind. Fallunterscheidungen machen in einem Template allerdings nur dann Sinn, wenn sie die Präsentations-Logik abbilden. Die Applikations-Logik sollte unbedingt weiterhin beim Rahmenprogramm verbleiben.

Web 2.0, Ajax und JavaScript

JavaScript macht das Web zum Web 2.0, interaktiv, benutzerfreundlich und schnell. Ajax als kombinierte JavaScript / XML - Technologie erlaubt es dabei, dynamisch Daten vom Server nachzuladen, ohne dass die gesamte Seite neu aufgebaut werden muss.

Interaktive Grafik - SVG und Flash

Adobe Flash und SVG bieten dynamische, interaktive Grafikseiten. Flash ist sehr verbreitet aber proprietär. Es gibt hierzu keinen vom W3C verabschiedeten Standard. Neu im Bund ist das ebenfalls proprietäre Silverlight von Microsoft.
SVG ist ein vom W3C offiziell anerkannter XML-Dialekt, der aber noch nicht über alle Möglichkeiten von Flash und Silverlight verfügt.

W3C-Konformität

W3C-HTML W3C-CSS

W3C-Konformität ist selbstverständlich. Nur dies gewährleistet die langfristige Werterhaltung einer Applikation. Aktuelle Browser halten die Standards ein. Altlasten haben an Bedeutung verloren. Browser-spezifische CSS-Vorlagen lassen sich über Browserweichen integrieren.

© Onyx Multimedia GmbH, München