Rico: mit cgi an den mainframe

Hallöchen,

..vielleicht bin ich im falschen Forum, aber vielleicht hat einer erfahrung oder etwas darüber gelesen. ich suche ideen, wie man per cgi-programm daten vom mainframe übertragen kann. bisher laufen alte cobol-"schinken" in cics-transaktionen, die aber ablösebedürtig sind. hat einer vorschläge über vielleicht bewährte methoden, um neue technologien auf dem host einzusetzen, die die daten direkt aus vsam-dateien und db2-Datenbanken an ein cgi-programm schicken, welches dann eine webausgabe machen kann?

  1. Hallo,

    ..vielleicht bin ich im falschen Forum, aber vielleicht hat einer erfahrung oder etwas darüber gelesen. ich suche ideen, wie man per cgi-programm daten vom mainframe übertragen kann. bisher laufen alte cobol-"schinken" in cics-transaktionen, die aber ablösebedürtig sind. hat einer vorschläge über vielleicht bewährte methoden, um neue technologien auf dem host einzusetzen, die die daten direkt aus vsam-dateien und db2-Datenbanken an ein cgi-programm schicken, welches dann eine webausgabe machen kann?

    Ich verstehe den Zusammenhang zwischen "alten" cobol/cics-transaktionen mit Deiner cgi-programm-Aufgabe nicht. Besonders wenn es sich um cobol-cics-transaktionen handelt, die noch dazu (wie es scheint) schon lange existieren, wärst Du sicherlich äußerst schlecht beraten, diese durch cgi-programme ersetzen zu wollen, die direkt mit Vsam-Dateien oder db2-Datenbanken kommunizieren. In den cobol-programmen steckt sicherlich viel Business-Logic, die seit Jahren ausgetestet ist und stabil läuft. Du solltest Dir überlegen, was Du eigentlich wirklich ersetzen willst. Wenn ich Deine Beschreibung richtig verstehe, sollen Cics-Transaktionen durch webfähig gemacht werden. Von 3270 Bildschirmen wegzukommen ist heute ein Ziel vieler Firmen, aber da geht's doch nur um die Präsentationsschicht; da sollten die Business-Logic-Teile nicht davon betroffen sein.

    ...die die daten direkt aus vsam-dateien und db2-Datenbanken an ein cgi-programm schicken, welches dann eine webausgabe machen kann?

    Sollen die cgi-programme mehr als nur bessere SQL-Select-Befehle werden, dann ist die Idee, direkt auf die Datenbanken zugreifen zu wollen, auch nicht zukunftsträchtig.
    Da solltest Du layer (programme, komponenten,...) (n-tier Modell) haben, die die Datenbankzugriffe vornehmen und diese technische Zugriffsschicht von der Applikationslogik abschirmen. Stell' Dir zum Beispiel vor, die Vsam-Dateien sollen irgendwann einmal durch eine Datenbank wie zB DB2 abgelöst werden. Dann sollte es nicht nötig sein, die Applikationen, die Businesslogic und DB-Zugriffslogik gemischt enthalten, anpassen zu müssen.

    Also mein Rat:

    • "alte cobol/cics-transaktionen" enthalten wahrscheinlich Teile des Firmen-"Familiensilber"s - das sollte weiterverwendet werden
    • Applikationen mehrschichtig realisieren (n-tier) - besonders die Datenzugriffsmodule sollten eigene Komponenten sein

    Solltest Du eine wirklich professionelle Lösung suchen sei Dir
    http://www.delta-software-technology.com/neu/pages/pagesger/common/prod_frmset_is.htm
    empfohlen.

    Viel Erfolg
       Manfred

  2. Hi,

    ich suche ideen, wie man per cgi-programm
    daten vom mainframe übertragen kann.

    Von CICS weiß ich leider nur sehr ungefähr etwas. Meine vage Erinnerung ist, daß das eher ein Transaktionsmonitor ist als ein 'normales' Betriebssystem und daß Dinge wie "stdout", die in Betriebssystemen etwas Normales sind, dort irgendwie völlig anders funktionieren ...

    hat einer vorschläge über vielleicht bewährte
    methoden, um neue technologien auf dem host
    einzusetzen, die die daten direkt aus vsam-dateien
    und db2-Datenbanken an ein cgi-programm schicken,
    welches dann eine webausgabe machen kann?

    Das kommt darauf an.

    Wenn Dein Transaktionssystem im Wesentlichen davon lebt, daß Du Eigenschaften des Transaktionsmonitors nutzt (wenn also beispielsweise dieser es ist, der die Unteilbarkeit einer Transaktion gewährleistet), dann sehe ich erhebliche Probleme auf Dich zukommen.

    Wenn allerdings das CICS nichts anderes tut, als die Verbindung zwischen Server-Ressourcen (Dateien) und Netz-Ressourcen (Terminals) herzustellen und Deine eigentliche Anwendung unten drunter auch autark laufen könnte, wenn man ihr neue Clients verpaßt (und wenn sie eine halbwegs taugliche Sollbruchstellen-API besitzt, um nicht alles neu schreiben zu müssen, sondern nur die Dialog-Schicht auszutauschen), dann würde ich mir an Deiner Stelle folgende Fragen stellen:

    Erster Ansatz:
    a) Kann Dein Mainframe TCP/IP?
    b) Existiert bereits ein HTTP-Server, der auf Deinem
       Mainframe läuft?
    c) Beherrscht der eine CGI-Schnittstelle?
    d) Kennt Dein Betriebssystem ein Konzept, welches dem
       Environment von UNIX bzw. Windows entspricht?
    Wenn das alles der Fall ist, Du also einen richtigen einsatzfähigen Webserver auf Deiner Maschine hast, solltest Du eigentlich schon gewonnen haben.

    Denn die Anbindung eines COBOL-Programms an die Konventionen von CGI wäre unter diesen Voraussetzungen dann nur noch ein bißchen Bastelei (Query-Strings decodieren usw.).
    Wenn Du jeweils eine (inhaltliche) Transaktion auf eine CGI-Ausführung abbildest, mußt Du an der Architektur wahrscheinlich gar nicht viel ändern.

    Viele Grüße
          Michael

    P.S.: Mal kurz gegoogled:
          http://www.trainersfriend.com/CWB201descrpt.htm?

  3. Ebenfalls Hallöchen,

    welche Möglichkeiten Du hast, hängt von 2 Dingen ab:

    1. Welche Zugriffsmöglichkeiten hast Du zum Mainfraime, sprich: TCP/IP oder SNA?
    2. Welches Betriebssystem verwendest Du für Dein CICS (MVS fulgo OS/390 vulgo z/OS oder auf der anderen Seite VSE)? Dann hängt es noch sehr stark von der eingesetzten Version dieser Betriebssysteme ab.

    Du kannst Dich aber einfach direkt an die CICS Community wenden. Mail mit dem Body "SUBSCRIBE CICS-L" an "LISTSERV@VM.MARIST.EDU" senden und schon bist Du Mitglied. Danach kannst Du an "CICS-L@VM.MARIST.EDU" Deine Fragen (in English) senden.
    Die CICS'ler sind sehr hilfsbereich und geben Dir sicher einige gute Tipps.
    Unter http://groups.google.com/groups?hl=de&ie=ISO-8859-1&oe=ISO-8859-1&group=bit.listserv.cics-l findest Du das entsprechende Web Format.

    HTH, ansonsten stehe ich nach Ostern für weitere Fragen gerne direkt zur Verfügung

    Gruß
    Thomas
    (alter VM und VSE freak)