Slide 2
MaTriX – Mask Trans­for­ma­tion Toolbox

MaTriX ist unser Werkzeug zur Moder­ni­sie­rung von proprie­tä­ren, antiquier­ten Benut­zer­ober­flä­chen, welche z.B. auf IFG, SCREEN COBOL bzw. CICS basie­ren. Mit MaTriX werden diese Masken automa­ti­siert durch zeitge­mäße, standar­di­sierte Techno­lo­gien abgelöst. Dabei kommen moderne Webtech­no­lo­gien zum Einsatz.

MOTIVA­TION

Mainframe-Masken besit­zen auch heute noch häufig den Charme der 70er und 80er Jahre des vergan­ge­nen Jahrhunderts:

  • Die Masken­fens­ter sind oft auf 80 x 25 Zeichen beschränkt.
  • Funkti­ons­tas­ten spielen eine wesent­li­che Rolle beim Vorwärts- und Rückwärts­blät­tern und Alter­na­ti­ven werden durch „AniXen” von Einga­be­fel­dern ausgewählt.
  • Einga­ben können erst nach dem Abschi­cken der Maske geprüft werden, Reaktio­nen während der Eingabe sind nicht möglich.
  • Moderne GUI-Gestal­­tungs­­­mö­g­­li­ch­­kei­­ten wie Menüs, Links, Combobo­xen etc. fehlen.
  • Ggf. ist die Größe der Message, die zum Daten­aus­tausch zwischen proprie­tä­rem Masken­sys­tem und den Online-Program­­­men dient, auf eine gewisse (geringe) Anzahl an Zeichen beschränkt.

Mit MaTriX können die Mainframe-Masken durch zeitge­mäße, standar­di­sierte Webtech­no­lo­gien abgelöst werden.

Beispiel für eine Mainframe-Maske

Beispiel für eine Mainframe-Maske

FEATURES

MaTriX zeich­net sich durch folgende Eigen­schaf­ten aus:

  • MaTriX nutzt moderne Webtechnologien.
    Es kommen moderne Techno­lo­gien wie HTML5, Ajax und gängige JavaScript-Frame­­works bei der Entwick­lung von Web‑2.0‑basierten Oberflä­chen zum Einsatz.
  • Die Client-Anzeige erfolgt browserbasiert.
    Dadurch muss keine Software auf den Clients instal­liert werden, was maßgeb­lich zur Kosten­ein­spa­rung beiträgt. Zusätz­lich wird dadurch eine große Anzahl von mögli­chen Client-Archi­­te­k­­tu­­ren (PC mit Windows oder Linux, Mac, Android-Systeme, …) unterstützt.
  • MaTriX beinhal­tet einen WYSIWYG-Maskeneditor.
    Mit diesem werden die neuen Oberflä­chen intui­tiv und komfor­ta­bel nach dem WYSIWYG-Prinzip entwi­ckelt. Es werden umfang­rei­che Elemente zur Gestal­tung der Masken zur Verfü­gung gestellt. Der Editor ist als Web-Anwen­­dung ausge­legt, eine lokale Instal­la­tion auf dem Client ist somit nicht erforderlich.
  • MaTriX ermög­licht eine automa­ti­sierte Migration der Mainframe-Masken.
    Liegen die Masken­be­schrei­bun­gen in einer automa­ti­siert verar­beit­ba­ren Form vor, können sie mit dem in MaTriX integrier­ten Masken­mi­gra­ti­ons­tool (MMT) automa­tisch in die neue Techno­lo­gie überführt werden.

AUTOMA­TI­SIERTE MASKENMODERNISIERUNG

Die Migration der Bildschirm­mas­ken des Legacy-Systems erfolgt mit MaTriX weitge­hend automa­tisch, was die Projekt­kos­ten und den ‑zeitraum gegen­über einer manuel­len Umstel­lung deutlich verkürzt. Ausgangs­punkt bilden hierbei einer­seits die origi­na­len Masken­be­schrei­bun­gen (z.B. IFG, SCREEN COBOL) und anderer­seits die COBOL-Message-Struk­­tu­­ren, welche die Schnitt­stelle zwischen den in COBOL erstell­ten Server-Program­­­men und den Masken definieren.

Das Masken­mi­gra­ti­ons­tool (MMT) konver­tiert die Masken­be­schrei­bun­gen und speichert diese zur weite­ren Verar­bei­tung im XML-Format ab.

Bei der Konver­tie­rung werden die Masken nicht 1:1 umgesetzt, es werden verschie­dene Änderungen/Optimierungen vorge­nom­men wie z.B.:

  • Das kunden­spe­zi­fi­sche CI wird berück­sich­tigt. Das Layout wird in CSS-Dateien hinter­legt und bereits bei der Migration den Masken „angezo­gen“.
  • Die feste Positio­nie­rung wird in ein Grid-Layout überführt.
  • Im Origi­nal vorhan­dene Tabel­len­struk­tu­ren denen z.B. in COBOL Daten­fel­der mit OCCURS-Klausel zugrunde liegen, werden in spezi­elle Daten­ta­bel­len mit Sortier-/Filter- und Scroll-Funktion überführt.
  • Elemente mit bestimm­ten Werte­be­rei­chen werden mit spezi­el­len Mustern ausge­stat­tet, welche dem Nutzer falsche Einga­ben bereits zur Laufzeit kennt­lich machen.

Nachar­bei­ten an den Masken werden mit dem MaTriX-Masken­­e­di­­tor vorgenommen.

Vorher-Nachher-Beispiel 1: Maske “Nutzer­über­sicht”

Vorher-Nachher-Beispiel 2: Maske “Nutzer­ver­wal­tung”

MASKEN­GE­STAL­TUNG

Zur Bearbei­tung der moder­ni­sier­ten Bildschirm­mas­ken wird der MaTriX-Masken­­e­di­­tor einge­setzt. Dieser arbei­tet nach dem WYSIWYG-Prinzip, d.h., das Erler­nen einer Masken­be­schrei­bungs­spra­che ist nicht erfor­der­lich. Analog zu bekann­ten grafi­schen HTML-Edito­­ren gestat­tet er dem Anwen­der die komfor­ta­ble Erstel­lung und Bearbei­tung der Masken über Maus-Inter­ak­­ti­o­­nen, Menüs und Toolbars. Dabei wird ein breites Spektrum von Gestal­tungs­ele­men­ten unterstützt:

  • Textan­zei­ge­ele­mente mit und ohne Anbin­dung an die Message, welche die Schnitt­stelle zwischen den Server-Program­­­men und den Masken definiert,
  • Textein­ga­be­ele­mente mit Message-Anbin­­dung (optio­nal mit vorge­ge­be­nem Muster zur Einschrän­kung von mögli­chen Nutzereingaben),
  • Buttons, Radio­but­tons, Check­bo­xen, Select­bo­xen, Combobo­xen, Fieldsets mit Message-Anbindung,
  • Kalen­der (für Datumseingabe),
  • Bilder in verschie­dens­ten Grafikformaten,
  • Links, die mit JavaScript-Aktio­­nen hinter­legt werden können,
  • Gitter­netze zur Positio­nie­rung der Gestaltungselemente,
  • spezi­elle Tabel­len zur Anzeige von Message-Daten mit umfang­rei­chen Konfi­gu­ra­ti­ons­mög­lich­kei­ten. Diese Tabel­len ermög­li­chen u.a.:
    • Sortie­ren der Daten,
    • Suchen in den Daten (Filtern der Daten),
    • Festle­gen des aktuell sicht­ba­ren Daten­be­reichs durch Aktivie­rung einer Blätter­funk­tion bzw. eines Scrollbalkens.

Vielfäl­tige Attri­bute zu den einzel­nen Elemen­ten (Farben, Schrift­ar­ten etc.) eröff­nen einen weiten Spiel­raum für Gestal­tungs­mög­lich­kei­ten. Für die Anord­nung der Elemente wird ein flexi­bles Grid-Layout und keine Positio­nie­rung an festen X/Y‑Koordinaten verwendet.

Der MaTriX-Masken­­e­di­­tor
Konfi­gu­ra­tion der Masken­ele­mente über spezi­fi­sche Dialoge
Verknüp­fung der Anzeige- und Einga­be­ele­mente mit Message-Datenfeldern
Übersicht über die Maskenelemente
Forma­tie­rung der Masken­ele­mente nach CI-Vorgaben
previous arrow
next arrow
Der MaTriX-Maskeneditor
Konfiguration der Maskenelemente über spezifische Dialoge
Verknüpfung der Anzeige- und Eingabeelemente mit Message-Datenfeldern
Übersicht über die Maskenelemente
Formatierung der Maskenelemente nach CI-Vorgaben
previous arrow
next arrow

 

MaTriX-TECHNO­­LO­­GIE

MaTriX besteht aus verschie­de­nen Kompo­nen­ten, deren Zusam­men­spiel in der nachfol­gen­den Grafik aufge­zeigt wird:

Message-Struk­tu­ren definie­ren im Legacy-System die Schnitt­stelle zwischen den Server-Program­men und den Masken. Im Zuge der Migration werden diese Message-Struk­tu­ren aus den COBOL-Program­men separiert. Der Message­com­pi­ler wertet diese, als Quell­text vorlie­gen­den Messages aus und legt die dabei gewon­ne­nen Infor­ma­tio­nen (Feldna­men, Feldty­pen, Verschach­te­lung der Felder, …) in einer struk­tu­rier­ten Form ab (Message-Infor­ma­tio­nen).
Der Masken­edi­tor dient der Erstel­lung und Bearbei­tung der Bildschirm­mas­ken. Durch eine Vielzahl von Editor­funk­tio­nen und Gestal­tungs­mög­lich­kei­ten können die Masken optisch und funktio­nal aufbe­rei­tet werden. Die aufbe­rei­te­ten Masken werden wieder im XML-Format abgespeichert.
Der Masken­com­pi­ler übersetzt diese XML-Dateien nach JavaScript (Masken­da­teien). Dazu greift er zusätz­lich auf die gespei­cher­ten Message-Infor­ma­tio­nen zurück, um die symbo­li­schen Message-Feldna­men in Offset und Länge des Feldes in der Message umzurechnen.

Das Masken­mi­gra­ti­ons­tool (MMT) konver­tiert die Masken­be­schrei­bun­gen und die Message-Struk­tu­ren (COBOL) und speichert diese Masken­in­for­ma­tio­nen zur weite­ren Verwen­dung im XML-Format ab.

Der Masken­ser­ver stellt zur Laufzeit die Verbin­dung zwischen Webbrow­ser und Webser­vice her. Er stellt dem Client die generier­ten Masken­da­teien sowie andere, feste Ressour­cen (Bilder, CSS-Dateien, feste JavaScript-Biblio­the­ken, HTML-Dateien, …) zur Verfü­gung. Er ist in der Lage, Messages vom Browser zu empfan­gen, diese an den Webser­ver weiter­zu­lei­ten, die Antwort zu empfan­gen und diese wieder an den Browser zu senden.
DOWNLOADS