基于Jdeveloper進(jìn)行WebService開發(fā)及部署_第1頁
基于Jdeveloper進(jìn)行WebService開發(fā)及部署_第2頁
基于Jdeveloper進(jìn)行WebService開發(fā)及部署_第3頁
基于Jdeveloper進(jìn)行WebService開發(fā)及部署_第4頁
基于Jdeveloper進(jìn)行WebService開發(fā)及部署_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

ORACLE實踐JDEV11G發(fā)布WS 部署WEBLOGIC方案與實現(xiàn)Author: lazyCreation Date: 2016-Mar-14Last Updated: 2016-Mar-14Document Ref:Version: 1.0Approvals:顧煥Copy No. _Error! Reference source not found.File Ref: Jdev11g發(fā)布WS部署Weblogic 方案與實現(xiàn).doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5Document Control 2Document ControlChange Record3Date Author Version Change Reference14-Mar-16 Lazy 1.0 No Previous DocumentReviewersName PositionDistributionCopy No. Name Location1 Library Master Project Library2 Project Manager34Note To Holders:If you receive an electronic copy of this document and print it out, please write your name on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.Error! Reference source not found.File Ref: Jdev11g發(fā)布WS部署Weblogic 方案與實現(xiàn).doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5Document Control 3ContentsDocument Control. ii總體說明 . 1文檔目的 . 1內(nèi)容 . 1環(huán)境介紹 . 1(一)實現(xiàn)方案 . 2(二)實現(xiàn)方式 . 3(三)環(huán)境間遷移 . 20(四)注意事項 . 21(五)高級應(yīng)用 . 39(六)參考文檔 . 40Open and Closed Issues for this Deliverable. 41Open Issues . 41Closed Issues. 41Error! Reference source not found.File Ref: Jdev11g發(fā)布WS部署Weblogic 方案與實現(xiàn).doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5總體說明 1總體說明文檔目的本文檔針對目前項目上使用到的webservice開發(fā)方式進(jìn)行一個方案和實現(xiàn)上的整理,涉及的相對比較淺顯易懂的的實現(xiàn)方式。適用于:使用jdeveloper開發(fā)的發(fā)布于weblogic服務(wù)器上的webservice服務(wù)內(nèi)容 Webservice簡介 實現(xiàn)方案 實現(xiàn)方式 環(huán)境間遷移 注意事項 高級應(yīng)用 參考文檔環(huán)境介紹 JDeveloper Studio 11.1.1.2.0 Oracle Weblogic 10.3.6Error! Reference source not found.File Ref: Jdev11g發(fā)布WS部署Weblogic 方案與實現(xiàn).doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(一)Webservice簡介 2(一)Webservice簡介1.1 簡介Web Service技術(shù), 能使得運行在不同機(jī)器上的不同應(yīng)用無須借助附加的、專門的第三方軟件或硬件, 就可相互交換數(shù)據(jù)或集成。1.2 xml web service1.3 主要支持技術(shù)Web services 要使用的主要支持技術(shù)有:XML和XSD可擴(kuò)展的標(biāo)記語言(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個子集)是Web Service 平臺中表示數(shù)據(jù)的基本格式。除了易于建立和易于分析外,XML主要的優(yōu)點在于它既與平臺無關(guān),又與廠商無關(guān)。XML是由萬維網(wǎng)協(xié)會(W3C)創(chuàng)建,W3C制定的 XML SchemaXSD 定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,并給出了一種語言來擴(kuò)展這套數(shù)據(jù)類型。Web Service平臺是用XSD 來作為數(shù)據(jù)類型系統(tǒng)的。當(dāng)你用某種語言如VB. NET 或C# 來構(gòu)造一個Web Service時,為了符合Web Service標(biāo)準(zhǔn),所有你使用的數(shù)據(jù)類型都必須被轉(zhuǎn)換為XSD類型。如想讓它使用在不同平臺和不同軟件的不同組織間傳遞,還需要用某種東西將它包裝起來。這種東西就是一種協(xié)議,如 SOAP。SOAPSOAP即 簡單對象訪問協(xié)議 (Simple Object Access Protocol),它是用于交換XML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個子集)編碼信息的輕量級協(xié)議。它有三個主要方面:XML-envelope為描述信息內(nèi)容和如何處理內(nèi)容定義了框架,將程序?qū)ο缶幋a成為 XML對象的規(guī)則,執(zhí)行遠(yuǎn)程過程調(diào)用(RPC)的約定。SOAP可以運行在任何其他傳輸協(xié)議上。例Error! Reference source not found.File Ref: Jdev11g發(fā)布WS部署Weblogic 方案與實現(xiàn).doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(一)Webservice簡介 3如,你可以使用 SMTP ,即因特網(wǎng)電子郵件協(xié)議來傳遞SOAP消息,這可是很有誘惑力的。在傳輸層之間的頭是不同的,但XML有效負(fù)載保持相同。Web Service 希望實現(xiàn)不同的系統(tǒng)之間能夠用“ 軟件-軟件對話 ”的方式相互調(diào)用,打破了軟件應(yīng)用、網(wǎng)站和各種設(shè)備之間的格格不入的狀態(tài),實現(xiàn)“基于Web無縫集成” 的目標(biāo)。WSDLWeb Service 描述語言 WSDL 就是用機(jī)器能閱讀的方式提供的一個正式描述文檔而基于 XML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個子集)的語言,用于描述 Web Service 及其函數(shù)、參數(shù)和返回值。因為是基于 XML 的,所以 WSDL 既是機(jī)器可閱讀的,又是人可閱讀的。UDDIUDDI 的目的是為電子商務(wù)建立標(biāo)準(zhǔn); UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web Service注冊,以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標(biāo)準(zhǔn)。調(diào)用RPC與消息傳遞Web Service本身其實是在實現(xiàn)應(yīng)用程序間的通信。我們有兩種應(yīng)用程序通信的方法:RPC遠(yuǎn)程過程調(diào)用 和消息傳遞。使用RPC 的時候,客戶端的概念是調(diào)用服務(wù)器上的遠(yuǎn)程過程,通常方式為實例化一個遠(yuǎn)程對象并調(diào)用其方法和屬性。RPC系統(tǒng)試圖達(dá)到一種位置上的透明性:服務(wù)器暴露出遠(yuǎn)程對象的接口,而客戶端就好像在本地使用的這些對象的接口一樣,這樣就隱藏了底層的信息,客戶端也就根本不需要知道對象是在哪臺機(jī)器上。1.4 數(shù)據(jù)傳輸樣式SOAP 規(guī)范中 style 與 use 這兩個屬性決定 SOAP 數(shù)據(jù)的編碼樣式。style 屬性可是兩個值中的一個: rpc 或 document 。當(dāng)屬性被設(shè)定為文檔樣式時,客戶端使用 XML 模式調(diào)用約定;當(dāng)屬性設(shè)置成 RPC,客戶端使用遠(yuǎn)程過程調(diào)用約定。1)RPC Stype指定包含Web服務(wù)調(diào)用的XML節(jié)點,該節(jié)點以 Web服務(wù)調(diào)用方法命名,XML節(jié)點依次包含方法調(diào)用的各個參數(shù)。2)Document Style指定內(nèi)直接包含消息,該消息沒有SOAP格式限制。服務(wù)器的應(yīng)用層負(fù)責(zé)將XML文檔映射成內(nèi)存對象(參數(shù)、方法調(diào)用等等)。Use屬性值決定消息的編碼方式:可以是encoded或者是 literal。1)encoded值表示XML 的消息使用類型屬性引用抽象數(shù)據(jù)類型,使用Section 5編碼(SOAP 規(guī)范第五章定義的編碼)進(jìn)行xml 的序列化和反序列化。2) Literal值表示XML 的消息使用類型屬性或者 Element元素引用具體的Schema 定義,也就是說,根據(jù)具體的Schema將內(nèi)存對象序列化成XML消息。Error! Reference source not found.File Ref: Jdev11g發(fā)布WS部署Weblogic 方案與實現(xiàn).doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(一)Webservice簡介 4Style和Use 的值進(jìn)行組合, SOAP可以有四種編碼樣式,比較常用的如下:1) RPC/Encoded編碼,使用SOAP編碼,也稱為 Section 5 編碼,它由 SOAP 1.1 規(guī)范定義。2) Document/literal編碼。3) RPC/literal編碼,它使用 RPC 方法進(jìn)行調(diào)用但使用 XML 自制的方法編入數(shù)據(jù)。第一種RPC/Encoded曾在JAVA開發(fā)中應(yīng)用非常廣泛;第二種編碼樣式是DOT NET開發(fā)社區(qū)使用的缺省編碼方式;第三種編碼樣式是第一種和第二種編碼方式的混合,使用RPC的方式傳送文檔型數(shù)據(jù)。Error! Reference source not found.File Ref: Jdev11g發(fā)布WS部署Weblogic 方案與實現(xiàn).doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(一)實現(xiàn)方案 5(一)實現(xiàn)方案1.1 總體方案說明對于SOA 方式發(fā)布的 Webservice,部署過程比較復(fù)雜,需要安裝patch 等配置,最終還是決定嘗試使用Weblogic發(fā)布Webservice服務(wù)。文檔中約定如下:1. 對外提供服務(wù)的一方稱為:服務(wù)方2調(diào)用其他系統(tǒng)提供服務(wù)的一方稱為:消費方1.2 服務(wù)方通過Jdeveloper 將PL/SQL程序發(fā)布在Oracle Weblogic 服務(wù)器上對外提供服務(wù)。使用的方式主要有如下幾種:1. 通過特定參數(shù)條件向外圍系統(tǒng)提供數(shù)據(jù)實現(xiàn)的方案問題主要在出參上,通過何種方式返回需要的數(shù)據(jù)可以根據(jù)需要進(jìn)行變通使用,主要通過PL/SQL編寫Function,其中:入?yún)ⅲ邯毩⒆侄纬鰠ⅲ篊LOB 對象,其中 CLOB中可以與各系統(tǒng)約定具體使用何種方式,如:XML或者Json2. 接收外圍系統(tǒng)傳入的數(shù)據(jù)至接口表實現(xiàn)的方案問題主要在入?yún)⒎绞缴希鰠⒖山y(tǒng)一返回樣式:只要返回統(tǒng)一格式的成功標(biāo)識及錯誤原因,入?yún)⒌姆绞缴现饕腥缦聨追N:方案一、入?yún)ⅲ邯毩⒆侄危看沃荒芙邮找粭l數(shù)據(jù)方案二、入?yún)ⅲ篊LOB,CLOB中可以使用約定的樣式進(jìn)行參數(shù)的解析方案三、入?yún)ⅲ簍able 類型變量3. 傳入特定參數(shù)返回特定消息實現(xiàn)上根據(jù)實際情況傳入相應(yīng)的參數(shù),程序中調(diào)用相應(yīng)方法生成相應(yīng)需要返回的信息1.3 消費方通過PL/SQL調(diào)用外圍系統(tǒng)發(fā)布的Webservice服務(wù)。Error! Reference source not found.File Ref: Jdev11g發(fā)布WS部署Weblogic 方案與實現(xiàn).doc (1. 0 )Company Confidential - For internal use onlyDoc Ref: Error! Reference source not found.Error! Reference source not found.5(二)實現(xiàn)方式 6(二)實現(xiàn)方式2.1 PL/SQL程序主要說明下入?yún)⑹莟able 類型變量和 CLOB類型的使用。Table類型1. 定義樣例1.1、單表樣例TYPE type_pay_rec IS RECORD(source_code VARCHAR2(50),payment_number VARCHAR2(240),payment_created_person VARCHAR2(240);TYPE type_pay_tbl IS TABLE OF type_pay_rec INDEX BY BINARY_INTEGER;1.2、頭行表樣例行定義TYPE inv_apply_lines_rec_type IS RECORD(organization_id NUMBER,line_number NUMBER,item_number VARCHAR2(30),item_desc VARCHAR2(240);TYPE inv_apply_lines_tbl_type IS TABLE OF inv_apply_lines_rec_type INDEX BY BINARY_INTEGER;頭定義TYPE inv_apply_header_rec_type IS RECORD(organization_id NUMBER,urgent_level VARCHAR2(240),doc_type_id NUMBER,line_tbl inv_apply_lines_tbl_type);TYPE inv_apply_header_tbl_type IS TABLE OF inv_apply_header_rec_type INDEX BY BINARY_INTEGER;2. 入?yún)永龁伪砣雲(yún)UNCTION import_data(p_pay_tbl IN type_pay_tbl) RETURN CLOB頭行表入?yún)ROCEDURE inv_oa_apply(p_header_tbl IN inv_apply_header_tbl_type,x_result OUT CLOB);Error! Reference

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論