freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

第10章應用cicswebservice實現(xiàn)cics程序的web服務封裝(編輯修改稿)

2025-02-14 04:25 本頁面
 

【文章內容簡介】 ,允許獨立于實現(xiàn)服務基于的硬件或軟件平臺和編寫服務所用的編程語言使用服務。 ? 這允許并支持基于 Web 服務的應用程序成為松散耦合、面向組件和跨平臺技術實現(xiàn)。 ? 之前所講到的 CICS Web Support和 CTG,所有這些方式都是功能上緊耦合的,也就是說它們之間的程序調用必須知道彼此程序的 COMMAREA結構的細節(jié)。 – 例如在 CWS對于非 HTTP請求的處理, User Program通過 Business Logic Interface取到數據,那么 User Program必須知道前端請求傳來的數據結構是什么,或者發(fā)來請求的程序要知道接收處理請求程序的 COMMAREA接口是什么樣的,否則無法對請求和響應數據進行處理。 – 在 CTG中盡管我們使用了 WSIF,通過 Web服務的方式同適配器進行通信,但是適配器同 CICS以及 J2EE之間仍然是緊耦合的,也就是說 J2EE同 CICS之間的通訊完全依賴于適配器。如果要實現(xiàn)更多平臺上的應用與 CICS進行通信的話,比如 .NET的應用,我們就不得不重新開發(fā)適用于 .NET的適配器。 – 此外,對于 CWS中處理請求的程序必須都是 Webaware程序,用戶不得不自己來處理 Web的請求與響應。 ? 而對比于 Web服務,通過發(fā)布的 WSDL文件,應用程序可以自己決定所需的接口,而且服務請求者與服務提供者完全不需要關心對方應用程序的語言和執(zhí)行環(huán)境,對于應用來說是完全透明的,是極度的松耦合架構。這對于系統(tǒng)的更新、復用和集成帶來了極大的方便。 ? 在 Web服務模型中,存在有兩種角色:服務提供者和服務請求者。 – 對于企業(yè)的 CICS應用可以作為服務提供者對外提供一系列的標準化接口,使得其他異構平臺上的應用通過這些標準化的接口對 CICS應用進行訪問,同時 CICS應用也可以利用 Web服務以服務請求者的身份調用其他平臺上應用提供的服務,從而實現(xiàn)不同平臺應用之間的集成。 CICS支持 Web服務的一系列標準 ? 一個 CICS應用程序可以通過一系列 Web服務標準發(fā)布成為 Web服務。 and Basic Profile – ( 1) WSCoordination – ( 2) WSAtomicTransaction – ( 3) WSSecurity – ( 4) SOAP over HTTP/ and WebSphere MQ ? CICS Web新功能增強了 HTTP功能,支持 ,并增加了輸出 HTTP功能。在現(xiàn)有的安全套接字層( SSL)基礎上加強了安全保障,支持 TLS 。 CICS在 Web服務中的角色 ? CICS中的 Web服務應用開發(fā),一般有兩種主要模式: CICS作為 Web服務的提供者和 CICS作為 Web服務的消費者,前者是實際應用中更為常見的模式。 Web服務的提供者 ? CICS作為 Web服務的提供者就是把 CICS作為 Web服務器,它首先將收到來自外部的應用請求,之后對請求進行檢查并抽取出目標服務程序相關的信息,通過這些請求信息傳遞調用目標服務程序,程序執(zhí)行結束得到返回值,將返回值以消息的形式傳遞給服務請求者。 ? CICS作為 Web服務提供者的示意圖如下圖 1011所示: 圖 1011: CICS作為服務提供者的示意圖 ? 當 CICS作為服務提供者的時候,將會做以下的操作 – ( 1)得到服務請求者發(fā)來的數據; – ( 2)提取和應用相關的數據; – ( 3)調用相應的應用程序,將請求數據通過 Communication Area或者Container傳給應用程序; – ( 4)得到應用程序的返回數據,構建響應; – ( 5)將響應發(fā)給服務請求者。 ? Web服務可以通過兩種方式來訪問應用程序。 – 第一種稱作為對 Communication Area的訪問。通過 wsbind文件, CICS會將請求來的 SOAP消息( XML格式)和已有的應用程序的數據結構進行數據映射。 – 第二種方式是用 Container的方式,同樣是通過 wsbind文件做數據映射,所不同于 Communication Area方式的是 Container突破了 32KB數據傳輸容量的限制。也就是說,請求端可以發(fā)送任意大小的數據,而不必考慮因為數據大小的限制而產生數據截斷。 ? CICS提供了一組相應的 API來處理 Container的傳輸,用 EXEC CICS GET CONTAINER(container_name) INTO (data)來獲得數據,用 EXEC CICS PUT CONTAINER(container_name) FROM (data)來發(fā)送數據。 ? 有三種類型的 Container: – ( 1) Control Container:存放控制信息,它決定了 Web請求到來時調用相應資源來處理的順序。 – ( 2) Context Container:存放一些系統(tǒng)用到的上下文環(huán)境的信息,例如USERID, TRANSACTIONID, URI信息等,這些信息會被 Message Handler得到并作相應的處理。 – ( 3) User Container:以上兩種 Container都是系統(tǒng)定義的 Container,用來處理系統(tǒng)得到的數據。 User Container可以讓用戶自定義 Container,專門存放用戶感興趣的數據,這里 User Container的聲明不能以 DFH開頭。 ? CICS作為 Web服務提供者的圖例如下圖 1012所示: 圖 1012 CICS作為 Web服務提供者 ? 利用 Web Service Assistant 可以將已有的程序的數據結構轉化成WSDL文檔,并且生成相應的 WSBIND文件,此文件是用來做 SOAP消息和應用程序數據結構的映射。反之也可以從 WSDL文件生成相應程序的數據結構和 WSBIND文件。 ? 借助 CICS Web Service Assistant將 CICS應用的 Commarea接口發(fā)布成Web服務的示意圖如下圖 1013所示: 圖 1013:借助 CICS Web Service Assistant將 CICS應用的 Commarea接口發(fā)布成 Web服務 ? 以下是從應用程序的數據結構生成 WSDL文件的 JCL樣例。 – 在程序中可以指名程序的語言類型,目前 Web Service Assistant只支持,C、 C++、 COBOL, PL/I; – 還可以指定 Program的名稱(就是將此應用發(fā)布成 Web 服務); – 請求和響應的數據結構以及它們所在的主機數據集的名稱( Member的名稱); – 如果 Web服務是通過 Channel的方式訪問的話,需要指定 Container的名字; – 另外還需要指定 URI的路徑和 WSBIND文件和 WSDL文件的存放位置( USS路徑)。 ? 從應用程序的數據結構生成 WSDL文件的 JCL的樣例如下所示: Web服務的請求者 ? CICS作為服務請求者,首先利用程序建立請求數據,將請求數據發(fā)送給服務的提供者,調用結束后,服務程序將返回值回傳給服務請求者。CICS將返回數據進行處理,得到應用程序相關的數據,將控制權限交給應用程序。 ? CICS作為 Web服務請求者的示意圖如下圖 1014所示: 圖 1014: CICS作為服務請求者的示意圖 ? CICS作為服務請求者的時候,它將會做如下的操作: – ( 1)構建應用程序的請求數據; – ( 2)發(fā)送請求給服務提供者; – ( 3)得到服務提供者的返回響應; – ( 4)將得到的響應數據解析之后傳給服務請求的應用程序; – ( 5)將控制權交給應用程序; ? CICS提供了相應的 Web服務請求的 API EXEC INVOKE WEB SERVICE。其語法如下所示: ? 這里應用 Channel來發(fā)送數據, Channel中包含了一組 Container以存放請求數據。 ? 而且 CICS對此 API進行了優(yōu)化處理,當被請求的服務提供者與請求者在同一個 CICS Region中的時候,此 API將會被優(yōu)化為 LINK API來處理,以此避開了通過網絡傳輸帶來的效率損失。 ? 服務請求程序調用 CICS API EXEC CICS INVOKE WEBSERVICE,將請求數據通過 Container傳遞給 Channel。 ? CICS中定義的 WEBSERVICE資源會將程序語言的數據結構轉化成 SOAP消息。 ? SOAP消息被傳遞給 Pipeline并且調用定義在 Pipeline配置文件中的Message Handler程序, Message Handler程序會將 SOAP消息通過
點擊復制文檔內容
范文總結相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1