Plattformübergreifender Zugriff auf SAS-Makros

Wir haben in einem unserer aktuellen Projekte die Anforderung, SAS-Makros, die unter Windows entwickelt werden und auf einem Laufwerk im Windows-Netz liegen, auf MVS zu testen. Bisher haben wir die Programme "klassisch" per 3270 auf MVS übertragen, dort getestet, geändert und dann (hoffentlich!) wieder in die Windows-Umgebung zurückübertragen um sie dort zu versionieren.

Die Nachteile dieses Verfahrens liegen auf der Hand:

  • Mehrere Kopien der Programmbibliothek auf mehreren Plattformen laufen mit Sicherheit früher oder später auseinander.
  • Das Abgleichen und Synchronisieren verschiedener Kopien ist extrem zeitaufwendig und fehleranfällig.

Dies ist ein Szenarium, in dem man einen großen Produktivitätsgewinn dadurch erzielen kann, dass man aus der MVS-Umgebung direkt auf Programmbibliotheken der Windows-Umgebung zugreift.

Genau das, nämlich zur Laufzeit eines SAS-Programms andere SAS-Programme oder -Makros von einer anderen Plattform nachzuladen und auszuführen zu können, ist eines der Ziele des Projekts "Jura". Jura ist ein Projekt, das hier auf Redscope beheimatet ist. Auf der Projektseite http://www.redscope.org/jura gibt's detaillierte Informationen und eine Beschreibung der Zielsetzung von Jura. Im folgenden beschränken wir uns darauf, zu skizzieren, wie Jura in dem oben beschriebenen Umfeld eingesetzt werden kann.

Die Lösung, die Jura bietet, sieht wie folgt aus:

  • Auf einem der Windows-Server wird ein Tomcat-Server und der Jura-Server (d.h. jura.war) installiert,
  • Jura wird so konfiguriert, dass es direkt auf die Programmverzeichnisse der Windows-Umgebung zugreifen kann,
  • Jede Maschine, auf der SAS läuft - also auch der MVS-Host - kann dann über einen logischen Namen per Http auf die Programme in der Windows-Umgebung zugreifen,
  • Die Programme auf MVS werden mit einem Prolog versehen (ca. 10 Zeilen) und können nun direkt Programme aus der Windows-Umgebung laden und ausführen.

Wichtig hierbei ist natürlich, dass die Windows-Umgebung die gleichen Security-Standards erfüllt wie die MVS-Umgebung, auf der die Programme laufen sollen, dass also nicht aus einer unsicheren Windows-Umgebung Programme in eine gesicherte MVS-Umgebung transferiert werden.

Die beschriebene Installation und Konfiguration des Jura-Servers und der Host-Umgebung war in unserem Fall innerhalb von 2 Stunden erledigt - ein Zeitaufwand, der sich absehbar innerhalb weniger Tage amortisiert.

... abschließend ein Screen Shot, der die beschriebene Umgebung und Lösung visualisiert: In dem abgebildeten Beispiel greift die SAS-Session auf MVS mit "resource import org.redscope.*;" per Http auf einen unter Windows laufenden Web-Server zu, der als Antwort alle Programme aus dem Paket "org.redscope" liefert. Die gelieferten Programme - im Beispiel das Makro "rdsHelloWorld" - können dann unter MVS aufgerufen werden.

(vergrößern)
Home
(vergrößern)