返回文章列表

大型主機開發 COBOL 資料函式庫與現代化技術

本文探討大型主機開發的現狀與未來,涵蓋 COBOL 程式語言、資料函式倉管理(Db2、IMS)、CICS 交易系統,以及現代技術的整合,如 DevOps、混合雲和企業級整合。此外,文章也探討了大型主機開發者在數位轉型中的重要性,以及如何利用現代工具和技術提升大型主機應用程式的開發效率和品質。

大型主機 COBOL

大型主機系統在金融、保險等關鍵領域仍扮演核心角色,支撐著大量交易和資料處理。由於其穩定性和安全性,大型主機在數位轉型浪潮中反而越發重要。企業需要將既有的 COBOL 程式和資料函式庫系統與現代技術整合,例如 DevOps、混合雲架構等。這也帶動了對具備 COBOL、資料函式倉管理和現代技術整合能力的大型主機開發者的需求。隨著企業持續推動數位轉型,大型主機現代化成為關鍵議題,開發者需要掌握新技術,才能應對未來的挑戰。

現代大型主機開發:COBOL、資料函式庫與下一代技術

大型主機(Mainframe)一直是企業運作的核心,尤其是在金融、保險和政府機構等領域。隨著科技的進步,大型主機也在不斷演進,以滿足現代企業的需求。本篇文章將探討大型主機開發的現狀,包括COBOL程式語言、資料函式倉管理以及下一代技術的發展趨勢。

為什麼要成為大型主機開發者?

在數位轉型的浪潮中,大型主機開發者扮演著至關重要的角色。根據Tom Taulli的《Modern Mainframe Development》一書,成為一名大型主機開發者不僅能夠提供穩定的就業機會,還能夠參與到企業核心系統的開發和維護中。

市場需求

  • 軟體正在吞噬世界:企業越來越依賴軟體來驅動業務,大型主機上的應用程式更是不可或缺。
  • COVID-19疫情:遠端工作的需求增加,大型主機的穩定性和安全性成為了企業的首選。
  • 政府現代化:許多政府機構正在進行系統現代化,大型主機技術在其中扮演著關鍵角色。

隨著混合雲架構的興起,大型主機現代化成為了企業的重要議題。大型主機開發者需要具備COBOL、資料函式倉管理以及下一代技術(如雲端整合)的知識,以滿足企業不斷變化的需求。

大型主機的世界

大型主機是一種高效能的電腦系統,能夠處理大量的交易和資料。它的歷史可以追溯到1950年代,經過多年的發展,大型主機已經成為了企業運作的核心。

大型主機的創新

  • 終端機技術:早期的終端機技術使得使用者能夠遠端存取大型主機。
  • 作業系統:z/OS、z/VSE、z/TPF等作業系統為大型主機提供了穩定的執行環境。

大型主機的挑戰

  • 維護成本:大型主機的維護需要專業的知識和技術。
  • 現代化需求:隨著科技的進步,大型主機需要與現代技術(如雲端、AI)整合。

開發環境

大型主機的開發環境包括多種工具和技術,如TSO、ISPF、資料集(Datasets)等。現代化的IDE(如IBM Developer for z/OS、BMC Compuware Topaz Workbench)使得開發者能夠更高效地進行開發工作。

資料集管理

  • 順序檔(Sequential File):一種簡單的檔案格式,用於儲存資料。
  • 分割資料集(Partitioned Dataset):用於儲存多個成員的資料集。
  • 虛擬儲存存取法(Virtual Storage Access Method, VSAM):一種高效的檔案存取方法。

現代化IDE

  • IBM Developer for z/OS:IBM提供的專業IDE,用於大型主機開發。
  • Visual Studio Code:微軟推出的輕量級程式碼編輯器,支援大型主機開發。

COBOL程式語言

COBOL是一種歷史悠久的程式語言,至今仍被廣泛使用於大型主機系統。它的結構化語法和強大的資料處理能力使其成為企業應用的首選語言之一。

COBOL程式結構

  • IDENTIFICATION DIVISION:用於識別程式名稱和作者等資訊。
  • ENVIRONMENT DIVISION:定義程式執行的環境。
  • DATA DIVISION:宣告程式使用的變數和資料結構。
  • PROCEDURE DIVISION:包含程式的邏輯和流程控制。

檔案處理

檔案處理是大型主機開發中的重要環節。COBOL提供了豐富的檔案處理功能,包括順序檔、索引檔和VSAM檔等。

順序檔處理

  • OPEN和CLOSE陳述式:用於開啟和關閉檔案。
  • READ和WRITE陳述式:用於讀取和寫入檔案。

索引檔處理

  • Indexed Files:使用索引來快速存取檔案中的記錄。
  • VSAM Files:使用VSAM技術來提高檔案存取效率。

COBOL表格和報告

COBOL提供了強大的表格處理功能,能夠輕鬆地處理複雜的資料結構。此外,COBOL還支援報告生成,使得開發者能夠方便地產生格式化報告。

表格處理

  • OCCURS子句:用於定義表格的大小和結構。
  • SEARCH陳述式:用於搜尋表格中的特定記錄。

報告生成

  • REPORT SECTION:用於定義報告的格式和內容。
  • INITIATE和TERMINATE陳述式:用於初始化和終止報告生成。

其他語言和程式設計技術

除了COBOL之外,大型主機還支援其他程式語言,如組合語言(Assembler Language)。選擇合適的語言取決於特定的應用需求和效能要求。

組合語言

  • 低階控制:組合語言提供了對硬體的直接控制,能夠最佳化效能。
  • 複雜性:組合語言的語法較為複雜,需要深入瞭解硬體架構。

大型主機的未來發展與創新

大型主機(Mainframe)作為企業級運算的核心平台,已經持續運作超過60年。無論是金融、保險、航空還是零售業,全球絕大多數大型企業依舊依賴大型主機處理關鍵交易。隨著數位經濟的發展,大型主機憑藉其可靠性、一致性、安全性和高效能,鞏固了其在市場中的地位。

大型主機的演進

從早期的打孔卡到現代的整合開發環境(IDE),大型主機的程式設計環境經歷了巨大的變革。現代開發工具使得開發者能夠在單一介面中編輯、除錯和佈署原始碼。同時,自動化技術的應用貫穿整個軟體交付生命週期,使大型主機能夠與跨平台開發工具、監控和安全軟體以及現代前端應用程式無縫整合。

DevOps 與敏捷開發的匯入

隨著DevOps和敏捷開發(Agile)在大型主機上的採用,現代化的流程和工具大幅提升了應用程式的品質和開發效率。這種開放且靈活的開發模式,不僅增強了不同平台開發者之間的協作,也促進了創新應用和服務的誕生。

大型主機未來的發展趨勢將朝向更高度的整合與創新。企業級整合(Enterprise Integration)和混合雲(Hybrid Cloud)模式將進一步擴充套件大型主機的功能,使其成為混合運算架構中的關鍵一環。此外,「大型主機即服務」(Mainframe as a Service)的模式可能會成為新的發展方向,為企業提供更靈活的運算資源。

內容解密:

本文探討了大型主機在現代企業運算中的重要性,以及其未來的發展趨勢。大型主機憑藉其高效能和安全性,持續成為企業級應用的核心。隨著DevOps和敏捷開發的匯入,大型主機的開發流程變得更加靈活和高效。同時,混合雲和企業級整合的發展,將進一步擴充套件大型主機的功能,使其成為未來數位經濟的重要根本。

主機開發的未來:數位轉型的關鍵

數位轉型是全球企業的主要驅動力。根據軟體公司ServiceNow的資料,企業在未來三年內將在數位轉型上投入高達7.4兆美元。這背後的主要原因是大型企業需要保持競爭力和相關性,以避免遭到無情的顛覆。

然而,真正的數位轉型並不意味著要拆除大型主機和其他舊系統。這樣做將會極其昂貴和風險高。況且,大型主機具有重大的優勢,可以處理大量的資訊並實作高度安全的處理,這對於大型企業來說是至關重要的。許多交易都是關鍵任務,如銀行、保險和能源領域的交易。

在未來幾年,數位轉型的主要策略將是採用混合方法。傳統的大型主機和應用程式將與現代系統整合。開發人員需要對大型主機架構和生態系統有深入的瞭解,以便建立能夠產生影響的系統。

本文涵蓋的內容

大型主機開發的議題非常廣泛。為了幫助讀者更好地理解,我將本文分為兩個部分:

第一部分

本部分涵蓋了傳統的大型主機開發。首先,我們將探討COBOL語言的細節,以及如何使用工作控制語言(JCL)執行程式。我們還將研究大型主機的主要資料函式庫——Db2和IMS,以及CICS交易系統。然後,本文將介紹傳統的開發工具,如ISPF和TSO。

第二部分

由於大型主機執行著許多企業的關鍵業務,這些機器對於下一代技術變得越來越重要。因此,本文探討了包括人工智慧、DevOps和機器人流程自動化在內的各種類別。我們還將介紹將大型主機環境遷移到雲端平台的各種策略。這些方法仍處於早期階段,但為開發人員提供了巨大的機會。

本文適合的讀者

本文主要針對初學者。值得慶幸的是,大型主機開發的概念並不一定複雜——儘管它們可能有些繁瑣。因此,本文的目標讀者包括:

  • 新手:沒有太多技術經驗,但正在尋找新的職業生涯作為大型主機開發人員。本文提供了基礎知識。
  • 經驗豐富的開發人員:具有Java、Python或其他語言背景的開發人員。本文強調了這些現代語言與大型主機語言(如COBOL)之間的主要差異。
  • 系統程式設計師:負責組態,但可能不瞭解大型主機開發的工作方式。本文對於想要轉變為程式設計師的人來說是一本有用的。
  • 大型主機開發人員:由於本文涵蓋了許多領域,即使是經驗豐富的開發人員也可以從中獲得洞察。
  • 業務經理:某些章節提供了關於大型主機(第2章)、語言(第4章)和新興趨勢如DevOps(第9章)、人工智慧(第10章)、機器人流程自動化(第11章)和大型主機現代化策略(第12章)的非技術性內容。

本文的方法

大型主機的主題可能很枯燥。程式設計很容易變得冗長,並且需要大量的組態。然而,我試圖透過使用真實的使用案例、有趣的事實和幽默來使內容更加生動。我還採訪了許多公司(如BMC、Broadcom、IBM、Rocket Software、Model9、Heirloom Computing和Advanced)的執行長、創始人和專家。

內容解密:

本文的方法是結合實務經驗和技術深度,提供讀者一個全面性的理解大型主機開發的世界。透過這種方式,讀者可以更好地理解大型主機在數位轉型中的角色,並掌握相關的技術和策略。

本文使用的排版慣例

本文採用以下排版慣例:

  • 斜體字:表示新術語、網址、電子郵件地址、檔案名稱和副檔名。
  • 等寬字型:用於程式清單,以及在段落中參照程式元素,如變數或函式名稱、資料函式庫、資料型別、環境變數、陳述式和關鍵字。
  • 等寬粗體:表示使用者應逐字輸入的命令或其他文字。
  • 等寬斜體:表示應由使用者提供的值或由上下文決定的值所取代的文字。

此元素表示一般性註解。

使用程式碼範例

補充材料(程式碼範例、練習等)可於相關 GitHub 頁面下載。

致謝

我撰寫這本文的過程非常有趣。起初是在 2020 年 7 月,我為《福布斯》撰寫了一篇題為「COBOL 語言:它是否會東山再起?」的部落格文章。

我之所以寫這篇文章,主要是因為 COVID-19 大流行導致州級失業系統不堪重負。COBOL 程式碼未被維護以處理如此龐大的數量。

這篇文章迅速引起了關注,成為我的第二大熱門文章,瀏覽量超過 31,000 次。它引發了爭論,並被其他部落格轉載。我甚至因為使用打孔卡圖形而受到批評;有些人認為這是媒體又一次把大型主機視為過時技術的例子——儘管這並不是我的部落格文章的重點。

我想知道:這篇文章是否只是曇花一現?還是人們對大型主機開發真正感興趣?為了驗證我的想法,我寫了其他文章,它們也很受歡迎。我甚至製作了一個關於 COBOL 的兩小時線上課程,效果很好。

整個過程非常順利,我也學到了很多。我的編輯 Michele Cronin 非常有幫助。我還得到了聰明的技術審閱者的支援。其中包括 Open Mainframe Project COBOL 工作組的共同主席和東卡羅來納大學的兼職講師 Dr. Cameron Seay。

為了寫這本文,我還採訪了多位高管和專家。受訪者包括 Boomi 的高階副執行長兼工程負責人 Rajesh Raheja;IBM Z 總經理 Ross Mauri;Model9 的 CEO 和創始人 Gil Peleg;Heirloom Computing 的 CEO Gary Crook;IBM Fellow 和 z/OS 技術長 Elpida Tzortzatos;HostBridge Technology 的 CEO 和共同創始人 Russ Teubner;Genpact 的智慧自動化副執行長 Ben Chance;Adaptigent 的執行長 Dr. Alex Heublein;Rocket Software 的 System Z 產品管理副執行長 Jeff Cherrington;Broadcom 的產品行銷負責人 David McNierney;Liberty Mutual Insurance 的 DevOps 平台高階總監 Justin Stone;BMC 的數位服務營運管理高階副執行長兼總經理 Margaret Lee;Astadia 的董事長兼 CEO Scott Silk;以及 zigi 開源專案的共同創始人 Lionel Dyck。

最後,我要感謝 BMC 對本文的贊助和提供的寶貴見解。特別感謝高階副執行長兼智慧 Z 最佳化與轉型總經理 John McKenny,以及公共關係總監 Sheila Watson。

第一部分:大型主機基礎知識

為什麼要成為大型主機開發者?

科技就業的長期前景特別光明。看看美國勞工統計局的研究結果就知道了。預計從2020年到2030年,科技職業的就業增長率將達到約13%,遠高於所有職業的平均增長率。在此期間,預計將增加大約66.76萬個工作職位。

然而,對於那些正在尋找職業機會或考慮轉行的人來說,大型主機開發可能是科技領域中最不被考慮的領域之一。事實上,很多人甚至不會考慮這個類別。

這並不令人驚訝。媒體通常不會報導有關大型主機的話題或趨勢。此外,這些系統通常處理支援基礎設施的應用程式,使得人們很難瞭解它們的功能。另外,並不是任何人都能去百思買購買大型主機。這些機器昂貴且複雜,需要一支才華橫溢的IT專業團隊。

對於很多人來說,大型主機是一個謎。常見的看法是,這個行業是一個停滯不前的領域,增長有限。

但有時候,認知可能是錯誤的,而大型主機行業正是如此。由於該技術通常適用於大公司,因此開發人員有機會參與影響許多客戶和使用者的系統。通常,這些技術支援關鍵任務應用程式,例如處理ATM交易或保險索賠。

大型主機系統也在經歷著巨大的變革。這意味著它們允許使用現代化的DevOps工具、人工智慧、與行動應用程式的整合以及API。

對顛覆的恐懼

在20世紀90年代中期,哈佛教授和企業家克萊頓·克里斯滕森(Clayton Christensen)與他人共同撰寫了一篇開創性的論文,題為「顛覆性技術:抓住浪潮」。他提出了技術如何顛覆一個行業的核心原因。他的關鍵見解之一是,即使是強大的公司也可能很容易受到影響。

克里斯滕森稱之為創新者的困境。現有的公司通常會投資於對現有產品的可持續創新,以維持收入和利潤增長。但是,一家新創公司不需要擔心現有的產品。它可以冒很大的風險,嘗試革命性的創新,如果這些創新能夠吸引客戶,就會對現有的公司造成毀滅性的打擊。

如今,創新者的困境已經成為許多大公司的切身之痛,其中許多公司都擁有大型主機系統。人們認為,如果這些公司不採用更具創新性的技術,新興公司最終將會勝出。

這種恐懼可能是大型主機行業變革的最大催化劑,並將意味著對經驗豐富的開發人員的長期需求。

看看摩根大通的CEO傑米·戴蒙(Jamie Dimon)就知道了。他的公司嚴重依賴大型主機。

在2020年的股東信中,戴蒙指出,顛覆性技術是對他公司最大的威脅之一。儘管摩根大通在新冠疫情的影響下仍繼續強勁增長,但情況仍然如此。2020年,公司營收從1185億美元增加到1229億美元,利潤從291億美元躍升至364億美元,創下公司歷史新高。該公司仍然專注於贏得市占率、投資新技術以及尋找加強風險控制系統的方法。

但在他的股東信中,戴蒙指出:「銀行還有其他弱點,部分是由於他們的成功——例如,不靈活的『遺留系統』。」然後,他指出了金融科技公司帶來的威脅,這些公司已經透過行動應用程式徹底改變了金融服務:「從貸款到支付系統再到投資,它們在開發易於使用、直觀、快速和智慧的產品方面做得非常出色。我們多年來一直在談論這一點,但現在這種競爭無處不在。金融科技公司能夠將社交媒體、聰明地使用資料以及與其他平台快速整合(通常沒有作為實際銀行的缺點),這將幫助這些公司贏得巨大的市占率。」

但金融科技並不是摩根大通等傳統公司面臨的唯一問題。戴蒙還強調了亞馬遜、蘋果、Facebook和谷歌等巨型科技營運商的影響。他寫道:「他們的優勢非常強大,擁有無處不在的平台和無窮無盡的資料。至少,他們將在自己的生態系統中嵌入支付系統,並建立銀行產品和服務的市場。有些人可能會建立獨家品牌銀行關係,甚至有可能有人會利用各種銀行牌照直接開展業務。」

這種坦率的態度絕對令人耳目一新。這也是一個積極的訊號,因為戴蒙意識到了競爭環境和投資技術的必要性。這是基本要求。

他的例子將鼓勵許多其他CEO採取行動。而這最終將意味著對遺留系統現代化的更加迫切需求——從而導致對從事這些技術的開發人員的需求日益增長。

軟體正在吞噬世界

馬克·安德森(Marc Andreessen)擅長預測下一個大趨勢。在20世紀90年代初,他建立了Mosaic瀏覽器,這成為了標誌性的網際網路新創公司Netscape的基礎。在那個十年後期,他繼續建立了Opsware,這是雲業務的先驅之一。

但就在2011年,安德森闡述了他對科技世界的看法。這篇文章發表在《華爾街日報》上,標題是「為什麼軟體正在吞噬世界」。

安德森在微處理器發明60年後寫道,技術基礎設施終於達到了可以全球範圍內改變產業的程度。其中一個原因是雲平台,尤其是亞馬遜網路服務(AWS)。這些平台使任何公司都可以輕鬆、廉價地啟動一個應用程式。無需購買伺服器、支付高昂的資料中心存取費用或僱用網路專家。

另一個關鍵因素是寬頻網際網路的普及。到2011年,已有超過20億人能夠存取寬頻網際網路,而2000年只有5000萬人。

根據安德森的說法,「我自己的理論是,我們正處於一個戲劇性和廣泛的技術和經濟變革之中,在這個變革中,軟體公司即將接管經濟的大片領域。」

這絕對是具有先見之明的。從那時起,我們看到Uber顛覆了傳統的計程車行業,Netflix顛覆了娛樂業,社群媒體改變了廣播業,只是幾個例子。

但這並不是說依賴大型主機的傳統產業註定會失敗。它們並非如此。它們實際上具有諸如客戶存取等主要優勢。不過,它們確實需要現代化其系統,以保持競爭力。這正是經驗豐富的大型主機開發人員可以發揮作用的地方。

內容解密:

本章節主要闡述了成為大型主機開發者的理由。首先,透過美國勞工統計局的研究結果指出科技就業的長期前景非常光明。其次,指出了大型主機行業雖然常常被忽視,但實際上正經歷著巨大的變革,並具有很大的發展潛力。本章節還提到了創新者的困境,以及像摩根大通這樣的公司如何面臨著來自金融科技和巨型科技營運商的挑戰,從而需要對遺留系統進行現代化改造。此外,本章節還參照了馬克·安德森的觀點,即軟體正在吞噬世界,各行各業都需要透過軟體來進行數位轉型。因此,大型主機開發者可以在這些領域發揮重要作用,對他們的需求也將日益增長。