Bachelor's Thesis

Introduction to Mainframe

Final Thesis 891.31 kB

Author of thesis: Bc. Tomáš Najman

Acad. year: 2024/2025

Supervisor: Ing. Bohuslav Křena, Ph.D.

Reviewer: Ing. Jan Fiedor, Ph.D.

Abstract:

This thesis presents a comprehensive overview of the historical development, current use and future trends of the Mainframe, for those interested in this technology sector. It provides an overview of the major aspects of mainframe systems, with a focus on the IBM Z Series and related technologies, including detailed descriptions of the architecture, operating systems (especially z/OS and z/VM), and specific application methods that provide their unmatched reliability, scalability, and security. In addition, attention is given to the traditional programming languages used on mainframes - COBOL, JCL and Rexx, while the way in which Python is applied to the IBM Z Series is also introduced. The work also includes demonstration tasks that serve as a practical tool for those interested in gaining a deeper understanding of the functionality and capabilities of mainframe systems.

Keywords:

Mainframe, IBM Z, z/OS, COBOL, JCL, Rexx, Python, virtualization, security, demonstration tasks, transaction processing, computer history

Date of defence

19.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Topics for thesis defence

  1. V kapitole 5.8 zmiňujete jako zajímavost u příkladu CHART GENERATOR implementovaného v jazycích COBOL/JCL, že varianta s vertikálním výstupem, obsahující složitější logiku vykreslování, je stejně rychlá jako varianta s horizontálním výstupem. Stejný příklad implementovaný v jazyce Python se ovšem vyznačuje tím, že jeho varianta s vertikálním výstupem je dokonce rychlejší než varianta s horizontálním výstupem, ač má být také mnohem složitější. Máte pro to nějaké vysvětlení?
  2. U příkladu EMPLOYEESREPORT zmiňujete využití souborů JSON jako vstupů pro implementaci v jazyce Python, namísto datasetů tvořících vstupy pro implementaci v jazycích COBOL/JCL. Co je důvodem tohoto rozhodnutí a nemá tento fakt dopad na celkovou rychlost vykonávání Python varianty tohoto příkladu?
  3. V kapitole 5.1 diskutujete využití GDG pro uchovávání až 10 verzí zálohovaných dat a zmiňujete parametr SCRATCH, jenž zajišťuje fyzické odstranění nejstarších verzí při dosažení maximálního počtu uchovávaných verzí, na rozdíl od parametru NOSCRATCH. Jaké bude chování při použití parametru NOSCRATCH?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

prof. Ing. Lukáš Sekanina, Ph.D. (předseda)
Ing. Marcela Zachariášová, Ph.D. (člen)
Ing. Tomáš Milet, Ph.D. (člen)
Ing. Miloš Musil, Ph.D. (člen)
Ing. Petr Veigend, Ph.D. (člen)

Supervisor’s report
Ing. Bohuslav Křena, Ph.D.

Spolupráce se studentem byla v průběhu celého řešení bezproblémová a výsledná práce je moc pěkná (zde si to mohu jako vedoucí dovolit napsat, protože je to především zásluha studenta a odborných konzultantů z Kyndrylu). Jenom obtížně by se mi hledalo, co podstatného by se dalo na předložené práci vylepšit.

Evaluation criteria Verbal classification
Informace k zadání

Toto zadání bylo vytvořeno ve spolupráci se společností Kyndryl, za kterou řešení práce po odborné stránce konzultoval Ondřej Zmund a v závěru i Petr Drahoš Filip. Práce přináší zevrubný úvod do systémů mainframe se zaměřením na porovnání tradičního a moderního přístupu k administraci úloh. Práce obsahuje i srovnání výkonnosti obou přístupů, které podle mého soudu poskytuje cenné podněty.

Práce s literaturou

Základní studijní zdroje (včetně výukové platformy IBM Z Xplore) poskytl studentovi odborný konzultant. Stěžejní zdroje pochopitelně pochází od IBM, jakožto tvůrce IBM Z mainframů, student je nicméně doplnil celou řadou dalších zdrojů. Rozsah použité literatury je na bakalářskou práci nezvykle dlouhý, nicméně s ohledem na téma práce a hloubku jejího zpracování přiměřený.

Aktivita během řešení, konzultace, komunikace

Za sebe jsem byl s aktivitou studenta spokojen a podle dostupných informací byl se studentem spokojen i odborný konzultant.

Aktivita při dokončování

Technická zpráva byla dokončena v předstihu, byl tak čas nejenom technickou práci prodiskutovat a (lehce) opravit, ale také doplnit o některé další experimenty.

Publikační činnost, ocenění

Práci jsem vzhledem k pečlivě zpracované a čtivé technické zprávě navrhl na ocenění stipendiem v rámci partnerského programu fakulty.

Points proposed by supervisor: 90

Grade proposed by supervisor: A

Reviewer’s report
Ing. Jan Fiedor, Ph.D.

Celkově jde o průměrně obtížnou práci ovšem velmi kvalitně zpracovanou jak po obsahové stránce, tak po stránce realizace. Prezentační a formální stránky technické zprávy jsou trochu slabší, ale s přihlédnutím k rozsahu a informační bohatosti práce lze tyto nedostatky tolerovat.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Práce se zabývá návrhem sady příkladů pro správu systému mainframe ilustrující rozdíly mezi tradičním přístupem využívajícím jazyky jako je COBOL nebo JCL a moderním přístupem založeným na programech v jazyce Python.

Prezentační úroveň technické zprávy

Prezentační úroveň technické zprávy je na slušné úrovni. Práce má dobrou logickou strukturu, někdy jsou ovšem důležité pojmy vysvětleny až o 1-2 stránky později než jsou poprvé použity, což ztěžuje čtenáři pochopení diskutované problematiky. Občas se také objevuje vložený kód v textu bez patřičného uvedení, kdy není čtenáři zřejmé proč se na daném místě vůbec objevil.

V technickém textu bych se také vyvaroval výroků jako Tato ukázka je jasná i neprogramátorovi na první pohled a využití řetězce tři tečky (...) pro reprezentaci neuvedeného kusu kódu, jelikož tento řetězec, nebo podobný řetězec dvě tečky (..), se může používat jako validní část některých programů např. v jazyce COBOL.

85
Formální úprava technické zprávy

Práce je psaná v češtině a po gramatické stránce je slabší. Vyskytují se problémy s interpukcí, občasné překlepy a některé věty nedávají úplně smysl. Největším problémem je ovšem označování stejného pojmu v českém i anglickém jazyce zároveň. Text místy budí dojem, že ruzné části práce psali dva různí lidé, jeden preferující pojmy psát v anglickém originálu a druhý v českém překladu. Tato nekonzistence je pro čtenáře velmi matoucí, jelikož u českých překladů musí neustále uvažovat, zda označují daný pojem nebo nikoliv. U pojmů obecnějšího významu jako člen (member) to způsobuje značné zmatení.

80
Realizační výstup

Výsledkem práce je 8 dvojic demonstračních příkladů ilustrujících rozdíly mezi tradičním a moderním přístupem pro správu systémů mainframe. Navíc byly vytvořeny 3 demonstrační ukázky JCL utilit a Python knihoven pro manipulaci s datasety a práci s joby.

Většina dvojic demonstračních příkladů byla navzájem porovnána z pohledu výkonnosti, ovšem jen s malým množstvím vstupních dat. Uvítal bych navíc evaluaci závislosti vstupních dat na časové náročnosti vykonávání uvedených příkladů.

90
Využitelnost výsledků

Během evaluace bylo zjištěno, že varianty příkladů napsaných moderním přístupem v jazyce Python běží výrazně pomaleji (10-100x) oproti variantám napsaným tradičním přístupem v jazycích JCL, COBOL, atd. Student navíc identifikoval konkrétní funkce, které k tomuto zpomalení přispívají nejvíce. Tato zjištění mají přímý vliv na využití a nasazení programů využívajících tyto operace v praxi a jsou určitě cennou informací pro společnost Kyndryl.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Zadání bylo splněno s mírným rozšířením demonstračních příkladů o 3 demonstrační ukázky JCL utilit a Python knihoven pro manipulaci s datasety a práci s joby.

Rozsah technické zprávy

Evaluation level: přesahuje obvyklé rozmezí

Práce do detailu popisuje historii systémů mainframe a tradičních nástrojů a programovacích jazyků na nich používaných. Také podrobně popisuje větší množství vytvořených demonstračních příkladů. Jelikož práce by měla sloužit k uvedení čtenáře do oblasti tradiční a moderní práce se systémy mainframe, je tato úroveň detailů (a tedy i rozsah práce) velmi vítaný. Veškterý informace diskutované v práci jsou pro čtenáře přínosné.

Práce s literaturou

Práce cituje téměř stovku zdrojů. I přesto, že velká řada zdrojů jsou manuály k jednotlivým technologiím a jiné online zdroje, práce se odkazuje i na řadu knih a odborných publikací. Všechny zdroje jsou v textu práce řádně citovány.

95
Topics for thesis defence:
  1. V kapitole 5.1 diskutujete využití GDG pro uchovávání až 10 verzí zálohovaných dat a zmiňujete parametr SCRATCH, jenž zajišťuje fyzické odstranění nejstarších verzí při dosažení maximálního počtu uchovávaných verzí, na rozdíl od parametru NOSCRATCH. Jaké bude chování při použití parametru NOSCRATCH?
  2. V kapitole 5.8 zmiňujete jako zajímavost u příkladu CHART GENERATOR implementovaného v jazycích COBOL/JCL, že varianta s vertikálním výstupem, obsahující složitější logiku vykreslování, je stejně rychlá jako varianta s horizontálním výstupem. Stejný příklad implementovaný v jazyce Python se ovšem vyznačuje tím, že jeho varianta s vertikálním výstupem je dokonce rychlejší než varianta s horizontálním výstupem, ač má být také mnohem složitější. Máte pro to nějaké vysvětlení?
  3. U příkladu EMPLOYEESREPORT zmiňujete využití souborů JSON jako vstupů pro implementaci v jazyce Python, namísto datasetů tvořících vstupy pro implementaci v jazycích COBOL/JCL. Co je důvodem tohoto rozhodnutí a nemá tento fakt dopad na celkovou rychlost vykonávání Python varianty tohoto příkladu?
Points proposed by reviewer: 88

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová