16
18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

Embed Size (px)

Citation preview

Page 1: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit

Präsentation 2: EBICSDr. Christian Friberg

Page 2: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 2

Ausgangslage

Historie Java-Entwicklung schreitet mit neuen Methoden voran

- ii-Vorgehen- oo-Entwurf und -Programmierung- automatische Tests- automatische Builds- Herstellertests

Host bleibt wie er ist- C-Programmierung (wenn wir Glück haben!)- Wasserfallmodell- händische Entwicklertests- händische Kompiliersteuerung

Wie kann diese „neue Welt“ auf den „alten Host“ übertragen werden?

Page 3: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 3

Vorgeschichte

Make auf dem Host (hmake) Seit 2002 Mittlerweile in fast allen Projekten auf dem Host eingesetzt

Herstellertests Seit TCH 3.0

Iterativ-Inkrementelle Entwicklung Immer mal wieder Ansätze

Page 4: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 4

Berichte aus Projekten

EBICS-Server für TRAVIC Corporate/HOST Zum ersten Mal XML-Verarbeitung auf dem Host Das war die Chance! ;-) Wir nutzten sie zum großen Umbau

Änderung der Programmiersprache C++ Automatische Entwicklertests

Änderung der Umgebung Skriptsprache Lua als Metasprache für viele Anwendungsfälle Generierung von SQL-Sourcen und DDLs Verbesserung des Make-Prozesses

Page 5: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 5

C++ (1)

C++ als OO-Sprache Deutlich besser verständlicher Code Bessere Strukturierung, Kapselungsmöglichkeiten und Ausdrucksstärke Höhere Typsicherheit zur Compilezeit Bessere Performance als C (z.B. wg. Code-Inlining, Templates) Automatische Ressourcenverwaltung (Destruktoren)

- Speicher, Dateien, TCP-Verbindungen, ... Besonderheiten

Einschränkung auf Untermenge mit „Java-feeling“- Sprechende (lange) Namen- Kaum Mehrfachvererbung- Keine „nackten“ Pointer- Heapobjekte mit Smartpointern und Referenzzählern

C++ „Tricks“ in grundlegenden Basisklassen, nicht in der Fachlichkeit

Page 6: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 6

C++ (2)

Automatische Entwicklertests Eingebunden in Make-Prozess

Mehrere Plattformen Übersetzung unter UNIX und z/OS Auch DB2 unter UNIX und z/OS Auch Entwicklertests ...

Page 7: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 7

C++ (Beispiel)

Hier beginnt der Text Hier beginnt eine Aufzählung

Page 8: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 8

Lua (1)

Grundlagen/Vorteile Einfache Scriptsprache

- Kleines C-Programm- Sehr schnell- Läuft problemlos auf allen Plattformen (also auch Host)- Völlig frei einsetzbar (MIT Open Source Lizenz)

Verwendung als Meta-Sprache- Beschreibung von Strukturen (z.B. DB-Tabellen, Listen, ...)- Hilfsfunktionen, z.B. Generatoren- Integration in Buildprozess als Präprozessor (Emlua)

DB2 Generierung von Source-Fragmenten (.cpp und .hpp) So viel wie möglich händisch programmieren (siehe Beispiel) Generierung der DDL => Kein Case mehr Generierte Assertions für Belegung von DB-Objekten

Page 9: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 9

Lua (2)

Übertragung zum Host Integration in Sendeprozess Im Wesentlichen Variablenersetzung

Build-Prozess auf dem Host C, C++ Jobs DB-Befüllung

Verwaltung von Testsystemen Lua und Makefiles Definition mehrerer Testsysteme mit allen benötigen Jobs und Daten Installation der Testsysteme aus der Auslieferung heraus

Page 10: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 10

Lua (Beispiel: database.lua)

Page 11: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 11

Lua (Beispiel: Einfaches SQL)

Page 12: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 12

Lua (Beispiel: Fallunterscheidung)

Page 13: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 13

TRAVIC Interbank/HOST

Dialoge 3270-Dialoge Fest definierte Platzhalter und Kennzeichen (z.B. „Eingabefeld“ ...) Einfache Beschreibung des Fensterinhalts in Lua Lua-Framework zur Generierung von

- Panel- Panelobject mit Status und Zugriffsfunktionen- Überprüfung von Meldungen- Framework zur Listenverarbeitung mit Cursor

Extra Pointer wg. zyklischer Verkettung von Masken mit „Alterungsregel“ Auslieferung

„Ständiger“ Build auf dem Host Referenzumgebung immer auf dem neuesten Stand

Herstellertest mit QF-Test Ansteuerung von TRAVIC-Link und TCU als Testkomponenten Ansteuerung von TIH über 3270-Web-Emulation

Page 14: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 14

Lua (Beispiel: Panelbeschreibung)

Page 15: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 15

Was kommt jetzt noch?

TCH 3.2 Ziel: Kontrolle über Differenzauslieferungen

- Liste aller Module, DBRMs, Panel, Jobs, ...- Erstellt zu gegebener Modulliste „minimale Hülle“, inkl. Releasenotes- Dazu Generierung von Makefiles mit Lua- Zusätzlicher Benefit: Trennung von Technik und Inhalt bei hmake

Page 16: 18.09.2008 Hanseatic Mainframe Summit Präsentation 2: EBICS Dr. Christian Friberg

18.09.2008 Hanseatic Mainframe Summit © PPI AG 16

Fazit

Wesentliche Neuerungen auf dem Host möglich Objektorientierte Programmierung Iterativ-inkrementelle Entwicklung Gesteuerte Build-Prozesse Gesteuerte Auslieferungsprozesse Automatische Entwicklertests Automatische Herstellertests

Oberste Philosophie: Alles leichtgewichtig Ausgangsdaten und Ergebnisse immer in Textform Generierung durch Lua-Funktionen und Emlua-Präprozessor Jederzeit manipulierbar

Mehr und mehr in Projekten erfolgreich eingesetzt EBICS-Server TCH 3.0 ff. (mittlerweile auch in anderen TCH-Komponenten) TRAVIC-Interbank/HOST EU-Steuerung Q-Sig (Qualifizierte Signatur und TAN-Generator) Erste Bausteine schon in TCU