Wege über die Modernisierungshürde Traditionelle Mainframe Anwendungen im Wandel Hendrik Wörner IBM SWG Technical Sales WebSphere on System z hwoerner@de.ibm.com
Typisch Mainframe Legacy:)? Hat genausoviel CPU Power wie ein aktuelles Smartphone. Da läuft nur die Datenbank und unser Kernsystem. Da wird nix mehr dran gemacht. Nur noch Anwendungspflege. Unser JEE Projekt Z2X v4.0 wird das bald ablösen. Macht uns die Antwortzeiten in der Middleware kaputt. Wir haben vor zehn Jahren mal Java da laufen lassen war nix. By Erik Pitti (Flickr: IBM System/360 Mainframe) [CC-BY-2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons
What is a Legacy System? A legacy system is an old method, technology, computer system, or application program. The legacy system may or may not remain in use. Even if it is no longer used, it may continue to impact the organization due to its historical role. Historic data may not have been converted into the new system format and may exist within the new system with the use of a customized schema crosswalk, or may exist only in a data warehouse. In either case, the effect on business intelligence and operational reporting can be significant. For a variety of reasons, a legacy system may continue to be used, sometimes well past its vendor-supported lifetime, resulting in support and maintenance challenges. It may be that the system still provides for the users' needs, even though newer technology or more efficient methods of performing a task are now available. However, the decision to keep an old system may be influenced by economic reasons such as return on investment challenges or vendor lock-in, the inherent challenges of change management, or a variety of other reasons other than functionality. A legacy system may include procedures or terminology which are no longer relevant in the current context, and may hinder or confuse understanding of the methods or technologies used. The term "legacy" may have little to do with the size or age of the system mainframes run 64-bit Linux and Java alongside 1960s vintage code. Wikipedia en.wikipedia.org/wiki/legacy_system 06/10/13 By Erik Pitti (Flickr: IBM System/360 Mainframe) [CC-BY-2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons
Eine andere Definition besagt, dass alle produktiven Systeme 'Legacy' sind. Nimmt den Fokus weg vom Hersteller oder Alter eines Systems Stellt die Idee von 'Constant Change' in den Vordergrund Ist über Technologietrends erhaben Alle Systeme im Unternehmen werden immer wieder hinterfragt auch diejenigen, 'an denen nichts mehr gemacht wird.' 'Legacy code' often differs from its suggested alternative by actually working and scaling. Bjarne Stroustrup - creator of the C++ programming language
Beispielarchitektur von IT Dienstleister X
Warum werden Mainframe Systeme im Unternehmen hinterfragt? Java/JEE und x86 Unix/Linux gilt als quasi-standard von heute Mainframe System wurde auf altem Technologiestand eingefroren Lange Releasezyklen von Traditionellen Anwendungen Mainframe IT Abteilung hat hohen Altersdurchschnitt erreicht Änderungen am System gelten als aufwändig Neue Funktionen werden angefragt, die man sich auf dem Mainframe nicht vorstellen kann Kostenstruktur sowie Verrechnung undurchsichtig Consulting Ergebnisse im Unternehmen raten zu anderen Systemen
Was schätzen Kunden aber nach wie vor an Ihren traditionellen Mainframe Systemen? Sicherheitsinfrastruktur Qualität und Ausgereiftheit Managebarkeit von verschiedenen Workloads und Anwendungen Mainframe Principles of Operation Performance: tausende Transaktionen pro Sekunde Planbarkeit: Bedarf genau bestimmbar Ausgezeichnete Hochverfügbarkeitsmechanismen IT Tradition und Erfahrung liegen vor Kostenkontrolle im Unternehmen vorhanden Ansammlung von mehreren hundert Personenjahren Entwicklungsaufwand Oftmals alternativlos
Let's Modernize! By Published by United Artists (More or Less Bunk @ wordpress.com) [Public domain], via Wikimedia Commons Vollständig in JEE/.Net/C++ neu implementieren? Einfrieren und in einer emulierten Umgebung betreiben? Statt dessen eine Standard Software Lösung verwenden und 'customizen'? Komplette Umgebung outsourcen? Oder gibt es da eine andere Möglichkeit?
Den großen Switch vermeiden. Evolutionär Modernisieren Alte und neue Welt koppeln Sebastian Wallroth, Wikimedia Commons [CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0)], via Wikimedia Commons Hohe Durchsätze und Performance erhalten Transaktionskontexte sauber aufsetzen Parallele Entwicklung in beiden Welten zulassen Neue Funktionen in beide Welten integrieren Nach und nach Übergang in neue Technologien gestalten Risiko minimieren
System zec 12 Bis zu 101 konfigurierbare Cores (5,5 Ghz) Bis zu 3 TB Hauptspeicher Zusatz-Cores 'under the cover' die für I/O etc. zuständig sind. z/os; z/vm; Linux for System z EAL5 Zertifiziert IBM Corporation Aktuellste IBM Mainframe Version aus dem Jahr 2012 Erweiterbar mit optionalem zbx Blade System Neue Preissysteme für Neue Anwendungen
JEE Performance auf dem IBM Mainframe hat beachtliche Werte erreicht! Aggregate HW, SDK and WAS Improvement: WAS 6.1 (Java 5) on z9 to WAS 8.5 (Java 7) on zec12 6x aggregate hardware and software improvement comparing WAS 6.1 Java5 on z9 to WAS 8.5 Java7SR4 on zec12
By Lady Anu (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0) or GFDL (http://www.gnu.org/copyleft/fdl.html)], via Wikimedia Commons Tradition und Moderne zusammen bringen Stichwort Interlanguage Communication oder Enterprise Modernization Direkte Verknüpfung von traditionellen Sprachen mit Java/JEE Erlaubt eine besonders hochwertige evolutionäre Modernisierung Erhält hohe Quality of Service Anforderungen Funktioniert für Online und Batch
Anbindungsprotokolle für neue Java Anwendungen an Traditionelle Umgebungen JEE Bordmittel: RMI, WebServices (SOAP), REST, JSON, etc. JDBC Type 2; Type 4 Java Native Interfaces (JNI) JCA Basierte Connectoren: CTG, IMS Gateway, JDBC u.a. WebSphere WOLA Java Support in z/os Transaktionssystemen: CICS und IMS WebSphere MQ, JMS WebSphere COBOL Container
WOLA By Jeremy Keith (Flickr: Communication) [CC-BY-2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons WebSphere Optimized Local Adapters WebSphere AppServer an traditionelle Welt anbinden JCA Connector für JEE / nativer Aufruf für Altanwendung Kein TCP/IP sondern per Memory-2-Memory Bidirektional mit Transaktionskontext Unterstützt Batch und Online Geht nur in derselben LPAR
WebSphere Optimized Local Adapters WOLA Adapters allow a bi-directional Cross-Memory communication between WAS and CICS, z/os Batch and USS. Optimized Local Adapter APIs CICS Optimized Local Adapter APIs z/os Batch Optimized Local Adapter APIs UNIX Systems Services Optimized Local Adapter APIs Optimized Local Adapter APIs Airline Control System Optimized Local Adapter APIs Optimized Local Adapter APIs IMS CICS Optimized Local Adapter APIs z/os Batch Optimized Local Adapter APIs UNIX Systems Services Optimized Local Adapter APIs Assembler/Cobol/PLI/C or C++ Assembler/Cobol/PLI/C or C++ Assembler/Cobol/PLI/C or C++ Airline Control System Assembler/Cobol/PLI/C or C++ IMS Assembler/Cobol/PLI/C or C++ WebSphere Application Server for z/os Optimized Local Adapter APIs Assembler/Cobol/PLI/C or C++ Assembler/Cobol/PLI/C or C++ Assembler/Cobol/PLI/C or C++ Assembler/Cobol/PLI/C or C++ Assembler/Cobol/PLI/C or C++
Ausgangslage.
Modernisierung mit WAS z/os & WOLA
Java Support in CICS Peter Facey [CC-BY-SA-2.0 (http://creativecommons.org/licenses/bysa/2.0)], via Wikimedia Commons Ab CICS 4.2 macht Java im CICS richtig Spaß Ab CICS 5.1: Liberty Profile in einer CICS Region JCICS macht ein Java Programm zur CICS Task Für Integrationsszenarien oder Front-End Modernisierung Java SE Umgebung
JVM Server in CICS Transaction Server 5.1
Business Rule Management System By User:Gokul Jadhav (Own work) [Public domain], via Wikimedia Commons IBM Operational Decision Mngmt Extrahiert Entscheidungslogik oder Business Events in ein eigenes System Fachbereich erhält (geregelten) Zugang zu den Rules Verbessert Time-2-Market von neuen Rules/Produkten, etc. Alte und neue Welt können dieselben Rules verwenden
IBM Operational Decision Management
Business Process Management By Roger Wollstadt (Flickr: Wolfsburg - Volkswagen Assembly Line) [CC-BY-SA-2.0 (http://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons IBM Business Process Manager Geschäftsprozesse in einem IT System fahren Prozesse werden dadurch flexibler & und sind einfacher zu überprüfen Die einzelnen Prozess-Schritte werden in 'normalen' Back-Ends durchgeführt Deren Anbindung kann auf dem Mainframe mit WOLA gestaltet werden. BPEL und BPNM Standards
IBM Business Process Manager z/os
Batch Modernization WebSphere Batch Container In der WAS 8.5 Lizenz enthalten By Rainer Gerhards (own work (own card, own photo) via Wikimedia Commons Batch Runtime Umgebung für Java basierte Batch Jobs Stellt Batch Services analog zur traditionellen Batch Welt zur Verfügung Kompatibel mit anderen Batch Frameworks einsetzbar WAS COBOL Container erlaubt den Aufruf von COBOL Code in einer WAS JVM
WebSphere Batch on z/os
Mobile Anwendungen By Anders (Own work) [Public domain], via Wikimedia Commons; By LG 전자 CC-BY-2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons Mainframe Daten in einer mobilen App zugänglich machen Datapower Security Gateway sichert MF zusätzlich ab Flexibilität einer Linux for System z Infrastruktur nutzen Als Connectoren kommen REST / webservice und JDBC zum Einsatz Worklight Server unterstützt das WebSphere Liberty Profile
Komponenten von IBM Worklight Worklight Studio ios Android HTML5, Hybrid, and Native Coding Blackberry Optimization Framework Windows Phone 2 Worklight Application Center Development Team Provisioning Enterprise App Provisioning and Governance Windows 8 Integrated Device SDKs App Feedback Management Device Runtime Cross-Platform Compatibility Layer Server Integration Framework Encrypted and Syncable Storage Java ME 3rd Party Library Integration Mobile Web Runtime Skinning Desktop Web Reporting for Statistics and Diagnostics User authentication and mobile trust Mashups and service composition JSON Translation Adapter Library for backend connectivity 3 4 Worklight Server Stats Aggregation Enterprise Backend Systems & Cloud Services 1 Application Code SDKs Client-Side App Resources Direct Update Mobile Web Apps Unified Push Notifications Worklight Console Reporting and Analytics Push /SMS Management App Version Management
IBM Worklight Server on System z
IBM Integration Bus By Gleconsam (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons Integriert WebSphere Message Broker & WebSphere ESB Integrationsmaschine für Any-2Any Protokoll-Conversion Sehr gute Performance Enthält Rules Engine für den Bau komplexer Szenarien Analysefunktionen & Management von Conversions Interessant bei System z SOA Integration für traditionelle Back-Ends
IBM Integration Bus & WebSphere MQ
Sie möchten mehr wissen? System z Veranstaltungen. IBM System z Architektentage (12./13.11.2013) Böblingen IBM From Zero to zhero Hands-On Workshop (17. - 19.09.2013) Zeit für z Cloudtag (19.06.2013) Frankfurt IBM System z MQ Aktuell (26.09.2013) München DB2 z/os Guide (25./26.11.2013) 'Der Kick für CICS' (15./16.11.2013), Hamburg 'Der Kick für CICS' (13./14.11.2013), Böblingen IBM Labor IBM Veranstaltungskalender: http://www-05.ibm.com/de/events/veranstaltungen.html
Vielen Dank für Ihre Aufmerksamkeit Hendrik Wörner IBM SWG Technical Sales WebSphere on System z hwoerner@de.ibm.com