,

Mainframe-Zugriff via Java

LegStar modules for z/OS

In dieser Präsentation habe ich einen Integrationsservice für den Mule ESB beschrieben. Dieser Webservice (SOAP) baut ein Brücke zum Mainframe. Dazu verwende ich das Open Source Tool LegStar for Mule ESB, welches die Transformation der Daten für den Mainframe (EBCDIC) und den Aufruf des Mainframe COBOL CICS Programms übernimmt.

Download des Vortrags COBOL-CICS-LegStar-Mule-ESB (1054 KB)

Der Quellcode und Download des Beispiels

Quellcode ansehen bei GitHub:
COBOL-CICS-LegStar-Mule-ESB

Download einer ZIP-Datei von GitHub:
COBOL-CICS-LegStar-Mule-ESB

Die Tipps

  • Transaktionen mit mehreren Copystrecken
    Bei COMMAREA-basierten Mainframe Programmen, die mit mehreren Copystrecken aufgerufen werden (Hüllentransaktion), müssen die Copystrecken in der richtigen Reihenfolge in eine Copystrecke zusammen kopiert werden.
    Dabei darf allerdings nur
    eine 01 Strecke vorhanden sein.
    Die XSD-Schemas werden dann aus der zusammengesetzten Copystrecke generiert.
  • REPLACING
    In COBOL können mit dem REPLACING Ausdruck einzelne Felder in der vordefinierten Copystrecke ersetzt werden (Pseudotextersetzung). Die Platzhalter :OWNER: müssen vor der Verarbeitung mit LegStar ersetzt werden, um ein brauchbares XSD-Schema zu erhalten.
  • REDEFINES
    Falls in der Copystrecke REDEFINES definiert werden, sollten die nicht benötigten Alternativen entfernt werden. In dem XSD-Schemas werden die REDEFINES mit dem Element <xs:choice /> dargestellt. Dadurch werden die Strukturen der JAXB Klassen undurchsichtig und unnötig verkompliziert — insbesondere schlägt die Transformation fehl, wenn mehrere Alternativen gleichzeitig verwendet werden.
  • Mule und Maven
    Wird die Mule-Application mit Apache Maven gebaut, so sind die Bibliotheken von LegStar und die abhängigen Bibliotheken nicht im Deployment-Artifact der Mule-Application enthalten. Standardmäßig werden vom Maven-Mule-Plugin die Bibliotheken mit der Group-Id org.mule.transports nicht dem Deployment-Artifact hinzugefügt.
    Nun gibt es zwei Möglichkeiten:

    1. Die LegStar Bibliotheken der Installation hinzufügen
      Dazu muss die LegStar-Distribution ( legstar-mule-transport-3.4.0-dist.jar) in das Verzeichnis ${MULE_HOME}/lib/user kopiert werden.
    2. Konfiguration des Maven-Mule-Plugins
      Mit folgender Konfiguration des Maven-Mule-Plugins fügt das Plugin die benötigten Bibliotheken dem Deployment-Artifact hinzu.
  • Fehler in Eclipse Keine Generatoren gefunden
    Wird das Build-Werkzeug Apache Maven für das Erzeugen von Eclipse-Projekten verwendet, kann es beim Generieren der LegStar Mule Mainframe Adapter zu folgendem Fehler kommen.
    Hier wurde durch Apache Maven die Datei .classpath überschrieben und die folgenden Einträge entfernt:

    Dadurch findet das Plugin von LegStar die benötigten Java Bibliotheken nicht mehr.


    Dieser Eintrag kann automatisch wieder rekonstruieren werden, wenn auf der Datei cobol-cics-legstar-mule-esb/src/main/cixs/bk010.cixs das Context Menü geöffnet wird und über den Menüpunkt Legstar -> Generate Mule Mainframe Adapter... der gewünschte Generator ausgewählt wird.

    Eine weitere Möglichkeit ist, die Einträge durch Maven schreiben zulassen. Dazu muss in der  pom.xml folgende Einträge hinzugefügt werden.


     

Frank Rahn

Frank Rahn ist Softwarearchitekt. Er unterstützt bei der Konzeption von Softwarearchitekturen mit Java-Technologie. Folge Sie ihm auf Facebook, Twitter oder Google+.

Benötigen Sie Unterstützung? Kontaktieren Sie ihn.

Hat Ihnen dieser Beitrag gefallen? Wir würden uns über Ihren Kommentar freuen! Bitte verwenden Sie Ihren bürgerlichen Namen und eine E-Mail-Adresse mit Gravatar.

Letzte Artikel von Frank Rahn (Alle anzeigen)

0 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.