本博主已經安裝與配置好的Centos6.8-64bit-CICS8-CTG9-MQ7-DB2.97-ORACLE11G-MYSQL5.5-POSTGRESQ9.4虛擬機,鏈接:https://pan.baidu.com/s/195pRkgkZ_gXOAT48WKH_Kw
提取碼:7ztr
下載後,用Vmware workstaion 直接打開後,即可以使用。
CICS其全稱是 Customer Information Control System,即客戶信息控制系統。是一系列為應用提供聯機事務處理和事務管理的產品,其功能是為商業應用提供一個事務處理環境,幫助客戶建立三層次結構的聯機事務處理應用,CICS 有效地區分應用系統中的表述邏輯層、業務邏輯層和數據邏輯層,從而使應用系統結構清晰,維護簡單易行。
CICS其全稱是 Customer Information Control System,即客戶信息控制系統。是一系列為應用提供聯機事務處理和事務管理的產品,其功能是為商業應用提供一個事務處理環境,幫助客戶建立三層次結構的聯機事務處理應用,CICS 有效地區分應用系統中的表述邏輯層、業務邏輯層和數據邏輯層,從而使應用系統結構清晰,維護簡單易行。
CICS 是IBM 公司的強大主機交易服務器、集成平台,在全球C、C++、COBOL等交易中間件市場上佔有絕大多數客戶。CICS有超過30年的歷史,開發於在IBM英國的赫思里(Hursley)研發中心。CICS英國式發音是「kiks」。在AIX、HP等分佈平台上的CICS叫Txseries。交易服務器也叫交易處理中間件。支持聯機交易服務(OLTP),提供用戶實時的交易請求與響應,支持分佈式交易服務、多個數據源、異種數據源、和分佈式協同應用,支持兩階段提交。
CICS是一個聯機事務處理平台軟件,它幫助客戶建立三層次結構的聯機事務處理應用。一般的操作系統設計會首先考慮對硬件如內存,硬盤等資源的控制和利用,對進程和線程的管理,以及其它一些基本設施和功能。操作系統一般對批處理作業有相當好的支持,而對於大量的隨機性的,對響應時間要求甚高的聯機事務處理,客戶則通常尋求專門的聯機事務處理平台軟件的支持,CICS則是此行中的佼佼者。
事務處理的通俗稱法為交易處理,常有人將事務處理和數據處理混淆起來,但事實上事務處理和數據處理有本質的區別,事務是指在某一事件中,參與事件的各主體均發生了狀態的變化,而所有狀態的變化集合起來,稱為一個事務。關係型數據庫軟件如DB2、Oracle等服務的對象是數據,而CICS軟件服務的對象是事務。
在事務過程的模式中,如訂票系統,最終用戶需要的是能否賣票,能否退票,並不關心在賣票或退票事務中改變了哪些數據,由於數據庫服務軟件提供的是數據服務,所以僅基於數據庫服務軟件的事務處理系統需要客戶完成相當多的工作,實際上相當於客戶自己來完成一個事務處理軟件,或者客戶只能構建一個兩層次結構的處理模式,因此客戶或者發現其應用的開發維護的難度增大了,或發現其開發的進度拖延了,或發現其應用和數據的安全性不盡如意,要解決這些問題其實容易,客戶需要的是一個象CICS這樣的事務處理軟件,建立一個三層次結構的應用系統。
在金融業省域或全國數據大集中的背景下,銀行業務處理系統要求既能實現高並發度的聯機交易,又能完成大量的批處理:既有穩定、高可用、不間斷的交易服務,又需靈活多變的高擴展性;既要保證系統安全,又要兼顧操作簡便,對聯機業務的數據處理要求高並發度且響應時間短,但數據量小,數據訪問的頻度分佈不均,高頻度訪問的數據分佈空間小,低頻度訪問的數據分佈空間大,所以,在聯機交易設計中引入CICS中間件,可以構造一個由界面層、業務邏輯層、數據服務層組成的3層軟件體系結構來滿足系統需求。3層Client/Server結構如下圖所示。
界面層分為櫃員終端界面和自助設各界面,均採用TCP/IP通訊協議與運行中心連接,利用CICS構成Client/Server結構,與業務邏輯層的接口是交易輸入區和交易輸出區。業務邏輯層也稱為應用服務器層,分為系統控制層和業務處理層。系統控制層負責系統控制、重要核算工具管理和交易調度,利用CICS統一進行聯機交易的事務管理;業務處理層完成各應用系統的交易處理。業務邏輯層與界面層通過TIA和TOA實現數據交換,而業務邏輯層中各模塊間通過CICS的交易工作區(TWA)實現數據交換。數據服務層負責數據資源的管理,它與業務邏輯層的操作接口是ESQL/C。業務邏輯層與數據服務層在CICS的控制下協同完成事務管理功能。
客戶端編程
客戶端通過外部調用接口(ECI)使客戶機上運行的非CICS應用程序能同步或異步地調用服務器中的CICS應用程序,將數據塊傳遞到服務器中的CICS區域,無需任何特殊的通信代碼,CICS的一個完整交易包括:客戶端發起交易請求,把需要調用的服務器程序名和數據通過通訊存儲區傳給服務器程序,CICS則在服務端喚起相應的服務程序並在第一個可用的應用服務器(As)進程的緩存中運行,最後把結果通過通訊存儲區返回到客戶端。當交易運行失敗時,CICS對數據的修改會自動回滾,而無論數據分佈在何地,這就保證了數據的一致性。一個金融交易對應CICS的一個交易,編程時一般使用ECI的同步調用方式,等待CICS的服務端執行完成以後,程序控制權才交還給客戶端程序。SCOUNIX的客戶端一般是用C語言編程。
CICS的客戶端編程還可使用外部顯示接口(EPI),它使客戶機上運行的應用程序能調用服務器上的CICS事務如同從3270終端啟動,返回的數據流可在圖形用戶界面(GUI)顯示 [1] 。
CICS系統是IBM大型機上的重要的交易處理系統,並且由於大型機的特殊性,導致CICS的已有應用程序對分佈式平台開放不夠,難以重用以往的應用程序。因此,CICS與分佈式系統的交互,即外界如何訪問CICS傳統應用,成為一個重要的課題。
而CTG(CICS Transaction gateway,以下簡稱為CTG),CICS交易網關,是分佈式平台連接到CICS的首選工具,它具有高性能,高安全性,高可擴展性等特性。
CTG與CICS的連接屬於直接相連的方式,幾乎不用修改CICS的已有應用,即可被外界訪問。Web Services 同樣可以實現與CICS的連接,但是相比於Web Services,CTG有以下優勢:
(1)沒有複雜的標準,技術相對成熟。
(2)利用已有的應用程序接口,很少需要對CICS程序進行修改。
相關概念介紹:
1. Gateway Daemon (網關守護程序):網關守護程序用於監聽遠端客戶程序的請求,並且可以管理線程和網絡連接,以達到優化的目的。網關守護程序中的一個重要組件是協議處理器(Protocol Handler),用於處理遠端應用程序的請求,可以支持TCP/IP和SSL協議。
2. Client Daemon (客戶機守護程序):客戶機守護程序是開放平台CTG的重要組成部分,它提供一個本地接口,客戶應用程序就通過這個接口連接到CICS,支持C,C++,.Net,COBOL等多種語言的應用程序。
3. IPIC driver (IPIC 驅動器):IPIC驅動器是CTG中的一個獨立組件,作用類似於客戶機守護程序,專用於IPIC方式連接到CICS。CICS在3.2版本中引入了IPIC(IP Intercommunication)的概念,用於CICS region之間的互連,這種連接是基於TCP/IP協議的,具體的IPIC概念請參考其他相關章節。從CTG V7.1版本以後,加入了對IPIC的支持。
4. CTGCFG tool(CTG configuration tool,CTG配置工具):CTG產品自帶的圖形化配置工具,用於設置ctg.ini配置文件中的屬性,包括網關守護程序和客戶機守護程序等的相關參數。配置客戶端守護程序界面.
本博主已經安裝與配置好的Centos6.8-64bit-CICS8-CTG9-MQ7-DB2.97-ORACLE11G-MYSQL5.5-POSTGRESQ9.4虛擬機,鏈接:https://pan.baidu.com/s/195pRkgkZ_gXOAT48WKH_Kw
提取碼:7ztr
下載後,用Vmware workstaion 直接打開後,即可以使用。
消息隊列(MQ)是一種應用程序對應用程序的通信方法。應用程序通過寫和檢索出入列隊的針對應用程序的數據(消息)來通信,而無需專用連接來鏈接它們。消息傳遞指的是程序之間通過在消息中發送數據進行通信,而不是通過直接調用彼此來通信,直接調用通常是用於諸如遠程過程調用的技術。排隊指的是應用程序通過隊列來通信。隊列的使用除去了接收和發送應用程序同時執行的要求。
IBM WebSphere MQ 支持兩種不同的應用程序編程接口:Java 消息服務(JMS)和消息隊列接口(MQI)。在 IBM WebSphere MQ 服務器上,JMS 綁定方式被映射到 MQI。應用程序直接與其本地隊列管理器通過使用 MQI 進行對話,MQI 是一組要求隊列管理器提供服務的調用。MQI 的引人之處是它只提供 13 次調用。這意味着對於應用程序編程員它是一種非常易於使用的接口,因為大部分艱苦工作都將透明完成的。
IBM WebSphere MQ 產品支持應用程序通過不同組件如處理器、子系統、操作系統以及通信協議的網絡彼此進行通信。
DB2主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用於所有常見的服務器操作系統平台下。 DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平台無關的基本功能和SQL命令。DB2採用了數據分級技術,能夠使大型機數據很方便地下載到LAN數據庫服務器,使得客戶機/服務器用戶和基於LAN的應用程序可以訪問大型機數據,並使數據庫本地化及遠程連接透明化。 DB2以擁有一個非常完備的查詢優化器而著稱,其外部連接改善了查詢性能,並支持多任務並行查詢。 DB2具有很好的網絡支持能力,每個子系統可以連接十幾萬個分佈式用戶,可同時激活上千個活動線程,對大型分佈式應用系統尤為適用。
Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關係數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。可以說Oracle數據庫系統是目前世界上流行的關係數據庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的、適應高吞吐量的數據庫方案。
ORACLE數據庫系統是美國ORACLE公司(甲骨文)提供的以分佈式數據庫為核心的一組軟件產品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結構的數據庫之一。比如SilverStream就是基於數據庫的一種中間件。ORACLE數據庫是目前世界上使用最為廣泛的數據庫管理系統,作為一個通用的數據庫系統,它具有完整的數據管理功能;作為一個關係數據庫,它是一個完備關係的產品;作為分佈式數據庫它實現了分佈式處理功能。但它的所有知識,只要在一種機型上學習了ORACLE知識,便能在各種類型的機器上使用它。
Oracle數據庫最新版本為Oracle Database 12c。Oracle數據庫12c 引入了一個新的多承租方架構,使用該架構可輕鬆部署和管理數據庫雲。此外,一些創新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個數據庫,而Automatic Data Optimization和Heat Map能以更高的密度壓縮數據和對數據分層。這些獨一無二的技術進步再加上在可用性、安全性和大數據支持方面的主要增強,使得Oracle數據庫12c 成為私有雲和公有雲部署的理想平台。
MySQL是一種開放源代碼的關係型數據庫管理系統(RDBMS),MySQL數據庫系統使用最常用的數據庫管理語言–結構化查詢語言(SQL)進行數據庫管理。
由於MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載並根據個性化的需要對其進行修改。MySQL因為其速度、可靠性和適應性而備受關注。大多數人都認為在不需要事務化處理的情況下,MySQL是管理內容最好的選擇。
MySQL是一個開源的關係型數據庫,是最受歡迎的開源軟件之一,現在很多網站的數據庫都是使用MySQL。 目前是被Oracle收購了。由於開源,很多有想法和有能力的人就會進行改造,使其更適合自己的環境需要,因此MySQL有了一些分支。
在Sun公司收購MySQL的時候,一些創始人和主要的工程就MySQL公司成立新的公司SkySQL;在Oracle公司收購MySQL的時候,同樣有一批高層離開,創立新公司Monty Program Ab(MariaDB的母公司)。2013年4月,Monty Program Ab 和 SkySQL 宣布 兩家公司將合併提供 MariaDB 的支持和開發。
優勢:1、在server端加強;2、支持更多的引擎
Percona server for MySQL
Percona Server為 MySQL 數據庫服務器進行了改進,在功能和性能上較 MySQL 有着很顯著的提升。該版本提升了在高負載情況下的 InnoDB 的性能、為 DBA 提供一些非常有用的性能診斷工具;另外有更多的參數和命令來控制服務器行為。
優勢:1.聚焦在innodb引擎,增加了很多性能相關補丁;2.在server層改造不多,但增加了很多易管理性的補丁
本博主已經安裝與配置好的Centos6.8-64bit-CICS8-CTG9-MQ7-DB2.97-ORACLE11G-MYSQL5.5-POSTGRESQ9.4虛擬機,鏈接:https://pan.baidu.com/s/195pRkgkZ_gXOAT48WKH_Kw
提取碼:7ztr
下載後,用Vmware workstaion 直接打開後,即可以使用。
PostgreSQL是一種特性非常齊全的自由軟件的對象-關係型數據庫管理系統(ORDBMS),是以加州大學計算機系開發的POSTGRES,4.2版本為基礎的對象關係型數據庫管理系統。POSTGRES的許多領先概念只是在比較遲的時候才出現在商業網站數據庫中。PostgreSQL支持大部分的SQL標準並且提供了很多其他現代特性,如複雜查詢、外鍵、觸發器、視圖、事務完整性、多版本並發控制等。同樣,PostgreSQL也可以用許多方法擴展,例如通過增加新的數據類型、函數、操作符、聚集函數、索引方法、過程語言等。另外,因為許可證的靈活,任何人都可以以任何目的免費使用、修改和分發PostgreSQL。
PostgreSQL是一個功能非常強大的、源代碼開放的客戶/服務器關係型數據庫管理系統(RDBMS)。PostgreSQL最初設想於1986年,當時被叫做Berkley Postgres Project。該項目一直到1994年都處於演進和修改中,直到開發人員Andrew Yu和Jolly Chen在Postgres中添加了一個SQL(Structured Query Language,結構化查詢語言)翻譯程序,該版本叫做Postgres95,在開放源代碼社區發放。
1996年,再次對Postgres95做了較大的改動,並將其作為PostgresSQL6.0版發佈。該版本的Postgres提高了後端的速度,包括增強型SQL92標準以及重要的後端特性(包括子選擇、默認值、約束和觸發器)。
PostgreSQL是一個非常健壯的軟件包,有很多在大型商業RDBMS中所具有的特性,包括事務、子選擇、觸發器、視圖、外鍵引用完整性和複雜鎖定功能。另一方面,PostgreSQL也缺少商業數據庫中某些可用的特性,如用戶定義的類型、繼承性和規則。從用戶的角度來講,PostgreSQL惟一不具備的主要特性就是外部連接,在今後的版本中會將其加入。
PostgreSQL提供了兩種可選模式。一種模式保證如果操作系統或硬件崩潰,則數據將保存到磁盤中,這種模式通常比大多數商業數據庫要慢,這是因為它使用了刷新(或同步)方法;另一種模式與第一種不同,它不提供數據保證,但它通常比商業數據庫運行得快。遺憾的是,還沒有一種折中的模式:既提供一定程度的數據安全性,又有較快的執行速度。今後的版本將會提供這種模式。
PostgreSQL 的 主要優點如下:
1)維護者是PostgreSQL Global Development Group,首次發佈於1989年6月。
2)操作系統支持WINDOWS、Linux、UNIX、MAC OS X、BSD。
3)從基本功能上來看,支持ACID、關聯完整性、數據庫事務、Unicode多國語言。
4)表和視圖方面,PostgreSQL支持臨時表,而物化視圖,可以使用PL/pgSQL、PL/Perl、PL/Python或其他過程語言的存儲過程和觸發器模擬。
5)索引方面,全面支持R-/R+tree索引、哈希索引、反向索引、部分索引、Expression 索引、GiST、GIN(用來加速全文檢索),從8.3版本開始支持位圖索引。
6)其他對象上,支持數據域,支持存儲過程、觸發器、函數、外部調用、游標7)數據表分區方面,支持4種分區,即範圍、哈希、混合、列表。
8)從事務的支持度上看,對事務的支持與MySQL相比,經歷了更為徹底的測試。
9)My ISAM表處理方式方面,MySQL對於無事務的MyISAM表,採用表鎖定,1個長時間運行的查詢很可能會阻礙對錶的更新,而PostgreSQL不存在這樣的問題。
10)從存儲過程上看,PostgreSQL支持存儲過程。因為存儲過程的存在也避免了在網絡上大量原始的SQL語句的傳輸,這樣的優勢是顯而易見的。
11)用戶定義函數的擴展方面,PostgreSQL可以更方便地使用UDF(用戶定義函數)進行擴展。
PostgreSQL 的 應用劣勢如下:
1)最新版本和歷史版本不分離存儲,導致清理老舊版本時需要做更多的掃描,代價比較大但一般的數據庫都有高峰期,如果合理安排VACUUM,這也不是很大的問題,而且在PostgreSQL9.0中VACUUM進一步被加強了。
2)在PostgreSQL中,由於索引完全沒有版本信息,不能實現Coverage index scan,即查詢只掃描索引,不能直接從素引中返回所需的屬性,還需要訪問表,而Oracle與Innodb則可以。
本博主已經安裝與配置好的Centos6.8-64bit-CICS8-CTG9-MQ7-DB2.97-ORACLE11G-MYSQL5.5-POSTGRESQ9.4虛擬機,鏈接:https://pan.baidu.com/s/195pRkgkZ_gXOAT48WKH_Kw
提取碼:7ztr
下載後,用Vmware workstaion 直接打開後,即可以使用。
以下文章點擊率最高
Loading…