| Homepage (deutsch) | Firmenprofil (deutsch) | Tools (deutsch) | Homepage (English) |
WEB-Publishing und SAS®-Anwendungen auf dem Application Server mit HTMLOUT |
Abstract:
HTML bewährt sich als u.a. als Mittel zur Veröffentlichung von Dokumenten und Daten im Internet und in Intranets. SAS Institute stellt mit den WEB-Publishing Tools und der SAS/IntrNet Software die erforderliche Umgebung für statisches Reporting und dynamische Auswertungen, die zum Zeitpunkt der Abfrage durchgeführt werden, bereit.
Speziell für Anwendungen auf dem Application Server und für
die automatisierte Erstellung verknüpfter HTML-Seiten beim WEB-Publishing
hat die WS GmbH das Ausgabe-Tool HTMLOUT entwickelt. Durch die Trennung
der in HTML implementierten Darstellung von der in SAS implementierten
Datenbereitstellung, wird die Entwicklung wesentlich vereinfacht und beschleunigt.
HTML bewährt sich aber auch als Frontend für Informationssysteme,
die ihre Ergebnisse in diesem Format ausgeben oder auf einem Server laufen
und direkt vom Browser des Benutzers aufgerufen werden. Damit lassen sich
statisches Reporting (als Ersatz der bisherigen Listen) und ad hoc Abfragen
nahtlos unter einer Oberfläche integrieren und einem wesentlich größeren
Adressatenkreis zugänglich machen. Quasi nebenbei entfällt damit
auch die Installation und Pflege von Programmen auf den Benutzer-PC's und
das Aufrüsten der Hardware für die erhöhten Anforderungen
der jeweils nächsten Version.
Komplexere Ausgaben mit automatisch eingebundenen Links erfordern jedoch entweder eine manuelle Nachbearbeitung oder eine eigene Programmierung. Z.B. muß irgendwie angegeben werden, wie die Adresse der Verknüpfung aus den Daten ermittelt werden kann. Ebenso sind alle Ausgaben, die bisher in Datasteps programmiert wurden, natürlich auch weiterhin nur realisierbar, wenn der Entwickler die Ausgabe genau gestalten kann. Möglich ist das z.B., indem die HTML-Elemente in das Datastep-Programm mit eingebaut werden. Einfacher ist es jedoch, wenn man den HTML-Teil von der SAS-Programmierung getrennt entwickeln kann, und die Daten zur Laufzeit an die entsprechenden Stellen gesetzt werden. Hierzu hat die WS GmbH das Tool HTMLOUT entwickelt: Zunächst wird ein sogenanntes HTML-Template wie eine ganz normale HTML-Seite entwickelt. Die Stellen, an denen später die Daten stehen sollen, werden durch Platzhalter markiert. Dann werden in HTML-Kommentaren die Anweisungen für HTMLOUT eingefügt,. Darin steht z.B. aus welcher SAS-Datei gelesen werden soll, und daß ein bestimmter Abschnitt nur unter bestimmten Bedingungen ausgegeben wird.
Der größte Vorteil gegenüber der Programmierung in einem Datastep ist, daß sowohl die Erstellung des HTML-Template wie auch die Datenbereitstellung in SAS zu relativ einfachen, leicht und schnell zu lösenden Aufgaben werden. Andererseits ist diese Kombination wesentlich mächtiger als "WEB-to-Database"-Tools, denen es oft an den notwendigen Features zur Datenaufbereitung fehlt. (Bei online-Abfragen kommen noch weitere Einschränkungen hinzu, sie den Abschnitt zum Application Server).
Alle folgenden Beispiele sind mit HTMLOUT erstellt worden.
Auf diese Art sind die Informationen wesentlich schneller zu finden
als in Handbüchern und Aktenordnern. Darüberhinaus verhindert
die zentrale elektronische Speicherung, daß gedruckte Dokumente mangels
Aktualisierungen veralten.
Mit HTML lassen sich dagegen solche Zusatzinformationen über Verweise direkt anspringen, ohne den eigentlichen Inhalt zu überlagern. Ein Beispiel ist diese Liste mit statischen Verteilungsparametern, wo zu jeder Variablen auch eine Balkengrafik abgerufen werden kann.
| Name | Label | N | Mittelwert | Stdev | Min | Max |
|---|---|---|---|---|---|---|
| AGE | Age in years | 31 | 47.68 | 5.21 | 38.00 | 57.00 |
| WEIGHT | Weight in kg | 31 | 77.44 | 8.33 | 59.08 | 91.63 |
| RUNTIME | Min. to run 1.5 miles | 31 | 10.59 | 1.39 | 8.17 | 14.03 |
| RSTPULSE | Heart rate while resting | 31 | 53.74 | 8.29 | 40.00 | 76.00 |
| RUNPULSE | Heart rate while running | 31 | 169.65 | 10.25 | 146.00 | 186.00 |
| MAXPULSE | Maximum heart rate | 31 | 173.77 | 9.16 | 155.00 | 192.00 |
| OXYGEN | Oxygen consumption | 31 | 47.38 | 5.33 | 37.39 | 60.06 |
| GROUP | Experimental group | 31 | 1.03 | 0.84 | 0.00 | 2.00 |
Die Erstellung einer solchen Tabelle und der entsprechenden Grafiken kann mit einem einfachen Macro-Aufruf automatisiert werden:
%wsg_sbar(sasuser.fitness, /* Dateiname */ var = _numeric_ , /* Variablen */ prefix = .\ch_Fitness_, /* Prefix für Namen der Grafiken */ dsstats= work.ergstats, /* Dateiname für Zwischenergebnisse */ html = Stats1.html, /* Name des HTML-Templates */ chartxy=500x400 /* Format der Grafiken in Pixel */
);Das Template zu der obigen Ausgabe hat folgenden Aufbau:
| Name | Label | N | Mittelwert | Stdev | Min | Max |
|---|---|---|---|---|---|---|
| #varname; | #varLabel; | #N:8.0; | #Mean:8.2; | #Std:8.2; | #Min:8.2; | #Max:8.2; |
Unternehmensintern kann die Situation natürlich auch ganz anders aussehen, z.B. wenn schon in anderen Projekten Java-Knowhow aufgebaut wird. Insbesondere bei dynamischen Anwendungen mit dem Application Server lassen sich einige Funktionen mit HTML alleine gar nicht realisieren. Wenn z.B. ein "Zurück"-Button eine oder mehrere Seiten überspringen soll, geht das nur mit JavaScript. Mit sinnvollen Java Applets läßt sich der Server entlasten.
Ein gutes Beispiel für den effizienten Einsatz eines Java Applets
ist die gemischte Darstellung von Text und Grafik. Wenn für die Grafik
ein Java Applet verwendet wird, reduziert sich der dynamische Teil auf
eine einfache HTML-Seite, in der auch die Parameter für das Applet
übergeben werden. Andernfalls hätte zusätzlich zur HTML-Seite
auch noch eine GIF-Datei erstellt und übertragen werden müssen.
Im folgenden Beispiel werden zu den Variablen in der Tabelle per Java-Applets
Boxplots angezeigt.
Beispiel mit Boxplots
Von den verschiedenen Optionen, die SAS Institute mit der SAS/IntrNet Software anbietet, wird für den schnellen produktiven Einsatz der SAS Application Server mit HTML 3.2 als Frontend empfohlen. In dieser Konfiguration laufen mehrere SAS-Sessions (auf einem oder mehreren Rechnern) und warten auf Anforderungen.

Die Benutzer starten an Ihrem Browser eine Anforderung an einen HTTP-Server (wie in der Grafik auch oft WEB-Server genannt). Dieser HTTP-Server gibt die Anforderung über einen CGI-Aufruf der "Broker"-Komponente von SAS/IntrNet an eine freie SAS-Session weiter, die die Anforderung bearbeitet und das Ergebnis über den HTTP-Server an den Browser des Benutzers zurückgibt. In der Regel erfolgt die Ausgabe im HTML-Format, es sind aber je nach Anwendung auch andere Formate, z.B. GIF für Grafiken oder tab-separated-values zur Weiterverarbeitung in einem Spreadsheet möglich.
Diese Konfiguration hat gleich mehrere Vorteile:

Für die Ausgabe wird grundsätzlich empfohlen, sich auf einfaches
HTML 3.2 und GIFs für die Grafiken zu beschränken (zu Java siehe
den vorhergehenden Abschnitt). Wenn die Ergebnisse vom Benutzer weiterverarbeitet
werden sollen, bietet sich das Format "tab-separated-values" an, das z.B.
direkt in ein Spreadsheet eingelesen werden kann.
Solche Anwendungen sind vor allem dann sinnvoll, wenn mehrere der folgenden
Kriterien zutreffen:
Mit der SAS-Software lassen sich die notwenigen Schritte von der Datenaufbereitung über die Analyse bis zur Ergebnispräsentation leicht durchführen und durch Macros oder AF-Programme unterstützen. Die SAS/IntrNet Software bietet mit dem Application Server eine stabile, rubuste und gleichzeitig mächtige Basis für interaktive Informationssysteme im WEB, die sich natlos in statische Berichte integrieren lassen - und umgekehrt.
Mit HTMLOUT wird die Enwicklung dieser Anwendungen wesentlich erleichtert, in dem die Programmierung der Datenaufbereitung und Analyse von der Entwicklung der Präsentation in HTML getrennt werden. Dadurch wird eine relativ komplexe Aufgabe in relativ einfache und pflegeleichte Kompononenten zerlegt.
|
©WS Unternehmensberatung und Controlling-Systeme GmbH
Wilfried Schollenberger Friedrich-Weinbrenner-Straße 20 69126 Heidelberg Tel.: 06221 / 401 409
All rights reserved | zurück zum Anfang |