• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Oracle云平臺(tái)的PLM產(chǎn)品WebService訪問(wèn)實(shí)現(xiàn)

      2019-05-24 14:12:12鄭君媛
      電腦知識(shí)與技術(shù) 2019年7期

      鄭君媛

      摘要:Web Service是通過(guò)Internet進(jìn)行基于Http協(xié)議的網(wǎng)絡(luò)應(yīng)用間的交互,運(yùn)用WSDL(web服務(wù)定義語(yǔ)言)/SOAP(簡(jiǎn)單請(qǐng)求協(xié)議)等規(guī)范實(shí)現(xiàn)不同語(yǔ)言間的調(diào)用,可以通過(guò)讀寫(xiě)XM文件,使任何兩個(gè)應(yīng)用程序在各種硬件平臺(tái)、操作系統(tǒng)以及軟件協(xié)議通信之間進(jìn)行互相通信,進(jìn)而提供異構(gòu)平臺(tái)的無(wú)縫銜接技術(shù)手段。目前Oracle提供了一套OVS(Oracle VM Server)虛擬機(jī)服務(wù)器環(huán)境,這個(gè)環(huán)境模擬了真實(shí)的OPC(ORACLE public cloud)公有云服務(wù)運(yùn)行環(huán)境進(jìn)行項(xiàng)目開(kāi)發(fā),PLM產(chǎn)品就是部署在OPC之上。該文主要介紹通過(guò)Web Service技術(shù)對(duì)Oracle云平臺(tái)上的PLM產(chǎn)品上的數(shù)據(jù)和信息進(jìn)行訪問(wèn)的實(shí)現(xiàn)過(guò)程。

      關(guān)鍵詞:Web Service;XML;ORACLE云平臺(tái);訪問(wèn)實(shí)現(xiàn)

      中圖分類號(hào):TP393.09 文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2019)07-0037-03

      Abstract: Web Service is the interaction between network applications based on Http protocol through the Internet, using WSDL (Web Service definition language) /SOAP (simple request protocol) and other specifications to achieve the call between different languages, thus providing a heterogeneous platform seamless street technology means. Any two applications can communicate with each other across various hardware platforms, operating systems, and software protocol communications by reading and writing XML files. At present, Oracle provides a set of OVS (Oracle VM Server) virtual machine Server environment, which simulates the real OPC(Oracle public cloud) public cloud service running environment for project development, and PLM products are deployed on the OPC. This article mainly introduces the implementation process of accessing data and information on Oracle PLM products through Web Service technology.

      Key words: Web Service; XML; ORACLE Cloud Platform; Access to Realize

      1 核心術(shù)語(yǔ)概念

      1)WSDL—WSDL是一種基于xml的格式,用于描述Web服務(wù)的接口。WSDL描述Web服務(wù)所有方面的端點(diǎn)、位置、協(xié)議綁定操作、參數(shù)和數(shù)據(jù)類型。

      2)XML—Web Service交換的消息必須用XML表示。XML模式定義了基于XML的輸入輸出消息的數(shù)據(jù)結(jié)構(gòu), 這些消息由Web服務(wù)來(lái)交換,XML模式可以直接鏈接到WSDL定義, 或是嵌入到WSDL定義中[1]。

      3)SOAP—SOAP是一種輕量級(jí)協(xié)議,用于在分散的分布式環(huán)境中交換結(jié)構(gòu)化信息。SOAP使用XML定義可擴(kuò)展的消息傳遞框架。SOAP消息包括以下內(nèi)容: 用于包裝消息的信封,包括地址和安全信息。一組用XML編碼數(shù)據(jù)類型的序列化規(guī)則。過(guò)程調(diào)用和或響應(yīng)的約定。

      2 背景

      ORACLE公司為了方便開(kāi)發(fā)OPC(ORACLE public cloud)公有云服務(wù),提供了一套叫作OVS(Oracle VM Server)虛擬機(jī)服務(wù)器環(huán)境,它模擬了真實(shí)的OPC運(yùn)行環(huán)境,可以在OPC上進(jìn)行云服務(wù)開(kāi)發(fā)和測(cè)試工作,同時(shí)開(kāi)發(fā)完成后可方便地將整個(gè)系統(tǒng)打包成為OPC可用的系統(tǒng)鏡像文件,并上傳部署到OPC[2]。在Oracle Cloud上部署了各種功能的產(chǎn)品,比如PeopleSoft、Fusion HCM, PLM產(chǎn)品等。WebService是一個(gè)SOA(面向服務(wù)的編程)的架構(gòu),基于普遍認(rèn)可的結(jié)構(gòu)化數(shù)據(jù)交換、消息傳遞、服務(wù)發(fā)現(xiàn)、接口描述和業(yè)務(wù)流程設(shè)計(jì)的規(guī)范。它是不依賴于語(yǔ)言,不依賴于平臺(tái)來(lái)實(shí)現(xiàn)不同的語(yǔ)言間的相互調(diào)用。用戶可以不通過(guò)界面登錄產(chǎn)品,直接通過(guò)WebService技術(shù)實(shí)現(xiàn)對(duì)Oracle Could上的PLM產(chǎn)品上的數(shù)據(jù)和信息既方便又安全的訪問(wèn)[3]。

      3 具體實(shí)現(xiàn)

      現(xiàn)有Oracle公司的一套PLM產(chǎn)品,該產(chǎn)品由C++和Java語(yǔ)言混合開(kāi)發(fā),主要運(yùn)行在Linux平臺(tái)和Windows平臺(tái),同時(shí)也支持Solaris,HPUX和AIX平臺(tái)。下面筆者結(jié)合之前參與的一個(gè)項(xiàng)目來(lái)進(jìn)行具體分析如何通過(guò)WebService技術(shù)訪問(wèn)Oracle Could上的PLM產(chǎn)品上的數(shù)據(jù)和信息。

      3.1 WebService體系結(jié)構(gòu)

      本項(xiàng)目使用Web Services構(gòu)建分布式應(yīng)用程序的技術(shù),使用標(biāo)準(zhǔn)化的XML消息傳遞系統(tǒng),并且不與特定的操作系統(tǒng)或編程語(yǔ)言綁定。通過(guò)Web Services封裝現(xiàn)有的業(yè)務(wù)流程,將它們作為服務(wù)發(fā)布,搜索和訂閱其他服務(wù),并在整個(gè)企業(yè)內(nèi)外交換信息。使用因特網(wǎng)進(jìn)行遠(yuǎn)程過(guò)程是使用簡(jiǎn)單的對(duì)象訪問(wèn)協(xié)議(SOAP)來(lái)傳遞請(qǐng)求和響應(yīng)信息[4][5]。項(xiàng)目中WebServices使用行業(yè)標(biāo)準(zhǔn)核心技術(shù):1、Web服務(wù)描述語(yǔ)言(WSDL)2、XML和XML模式3、簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)。

      本項(xiàng)目設(shè)計(jì)的WebService體系結(jié)構(gòu)包含內(nèi)容如表1,可以根據(jù)角色和協(xié)議棧查看WebService體系結(jié)構(gòu):

      3.2 WebService訪問(wèn)模塊

      本項(xiàng)目Web Service公開(kāi)支持PLM應(yīng)用程序中的部分模塊提供的功能,如項(xiàng)目管理、工程管理和元數(shù)據(jù)管理等的許多功能。可提供的WebService訪問(wèn)功能模塊部署在WebLogic應(yīng)用程序域中,如圖1所示。

      3.3 WebService框架組件與實(shí)現(xiàn)

      PLM產(chǎn)品的WebService框架包括以下內(nèi)容: 1.WebService wrapper,支持來(lái)自產(chǎn)品定義的LogiView過(guò)程的出站W(wǎng)ebService調(diào)用。2.Core Web Services,以支持映射到PLM產(chǎn)品的ECI-API調(diào)用的入站W(wǎng)eb服務(wù)調(diào)用。具體框架組件以及實(shí)現(xiàn)過(guò)程請(qǐng)見(jiàn)圖2。

      WebService框架是PLM產(chǎn)品之上的另一層,它支持基于標(biāo)準(zhǔn)WebService技術(shù)的入站和出站通信。它提供了從PLM產(chǎn)品內(nèi)部的 LogiView進(jìn)程(出站方向)內(nèi)部調(diào)用外部WebService的方法。此外,它允許外部應(yīng)用程序(WebService客戶端)通過(guò)Web服務(wù)調(diào)用PLM產(chǎn)品的API。WebService框架附帶了一組預(yù)定義的核心Web服務(wù),這些服務(wù)立即即用,支持最常見(jiàn)的集成場(chǎng)景,如創(chuàng)建PLM對(duì)象或獲取PLM對(duì)象。

      3.4 WebService訪問(wèn)過(guò)程實(shí)現(xiàn)與實(shí)例

      3.4.1 本項(xiàng)目產(chǎn)品WebService會(huì)話處理

      本項(xiàng)目產(chǎn)品核心WebService的每次調(diào)用都需要一個(gè)PLM產(chǎn)品服務(wù)器實(shí)例,所以限制服務(wù)器實(shí)例的數(shù)量以減少服務(wù)器上的資源負(fù)載非常重要。根據(jù)這個(gè)原則制定了以下處理機(jī)制來(lái)共享產(chǎn)品服務(wù)器實(shí)例。Oracle PLM引入了Ticket的概念,PLM Ticket是一種可在后續(xù)調(diào)用中使用的響應(yīng)字符串。這個(gè)Ticket使調(diào)用者可以訪問(wèn)上次請(qǐng)求中使用的PLM服務(wù)器實(shí)例。此Ticket僅在服務(wù)器實(shí)例運(yùn)行時(shí)有效。獲取Ticket后,客戶機(jī)代碼需要通過(guò)將Ticket字符串設(shè)置為密碼來(lái)配置端口。PLM Ticket提高了WebService的性能并簡(jiǎn)化了會(huì)話管理。如果在usecase流中使用不同的WebService,那么當(dāng)客戶端調(diào)用另一個(gè)服務(wù)操作(例如本項(xiàng)目中的BusinessObject.getObjects)時(shí),一個(gè)服務(wù)操作(例如本項(xiàng)目中的Configuration.setUserContext)的響應(yīng)返回的Ticket將用作密碼。

      當(dāng)調(diào)用結(jié)束需要釋放分配給WebService會(huì)話的PLM服務(wù)器實(shí)例時(shí),客戶機(jī)將使用PLM Ticket作為密碼調(diào)用loseSession操作,這將關(guān)閉EDM服務(wù)器實(shí)例并釋放服務(wù)器資源。

      PLM會(huì)話可以提供到PLM服務(wù)器的連接,其中需要用到PLM會(huì)話管理器來(lái)允許管理PLM會(huì)話對(duì)象,這些對(duì)象用于將現(xiàn)有的連接和用戶內(nèi)容保存到PLM服務(wù)器?,F(xiàn)有PLM會(huì)話對(duì)象的關(guān)鍵就是由PLM會(huì)話管理器生成的會(huì)話ID。如果要檢索PLM會(huì)話,需要提供PLM Ticket。當(dāng)創(chuàng)建一個(gè)新的PLM會(huì)話時(shí),PLM Ticket被設(shè)置為PLM服務(wù)器實(shí)例,然后將PLM服務(wù)器實(shí)例設(shè)置為客戶端的SOAP消息。PLM會(huì)話的生命周期與給定的HTTP會(huì)話相同。HTTP會(huì)話的超時(shí)時(shí)間在文件web.xml中可以指定。

      3.4.2 本項(xiàng)目WebService訪問(wèn)過(guò)程

      1)WebService請(qǐng)求

      在本項(xiàng)目的WebService框架中,通過(guò)一個(gè)properties文件指定要訪問(wèn)的PLM產(chǎn)品部署到的Weblogic服務(wù)器的WebService, 然后通過(guò)XML文件寫(xiě)明需要訪問(wèn)的對(duì)象請(qǐng)求[6][7],每個(gè)操作都有自己的請(qǐng)求數(shù)據(jù)類型,它是從定義好的RequestHeaderType繼承而來(lái)。所有請(qǐng)求的RequestHeaderType只有以下元素: messageID (String, optional): ID的默認(rèn)值是以毫秒為單位的當(dāng)前系統(tǒng)時(shí)間;messageName (String, optional): 消息名的默認(rèn)值是簡(jiǎn)單的類名,如圖3例。

      每個(gè)WebService調(diào)用獲得的響應(yīng)都包含一個(gè)響應(yīng)狀態(tài)代碼,它指示W(wǎng)ebService操作的成功或失敗。響應(yīng)狀態(tài)碼有四種類型: ①success,表示批處理中的所有WebService都已成功執(zhí)行,并且所有操作都按預(yù)期工作;②failure,表示批處理中的所有WebService在執(zhí)行期間都失敗了,即表明沒(méi)有執(zhí)行預(yù)期的操作;③warning,表示雖然批處理中的WebService已經(jīng)成功執(zhí)行,但是在執(zhí)行過(guò)程中也遇到了某些警告。客戶端需要分析這些警告,以驗(yàn)證所有操作都按預(yù)期工作;④partial_success,表示當(dāng)一個(gè)或多個(gè)批處理請(qǐng)求失敗,但不是所有批處理請(qǐng)求都失敗時(shí),批處理Web服務(wù)的執(zhí)行部分成功。即使在一批Web服務(wù)中有一個(gè)Web服務(wù)失敗,響應(yīng)狀態(tài)代碼也指示PARTIAL_SUCCESS。

      3)WebService訪問(wèn)結(jié)果

      本項(xiàng)目WebService的調(diào)用者必須提供用戶憑證才能訪問(wèn)應(yīng)用程序。這些憑證的屬性取決于所使用的WebService策略。下面是本項(xiàng)目中的WebService調(diào)用示例:

      <?xml version='1.0' encoding='UTF-8'?>

      xmlns:ns3="http://xmlns.oracle.com/Agile/e6/plm"

      xmlns:ns4="http://xmlns.oracle.com/Agile/e6/HelloWorld/v0" />

      马尔康县| 高淳县| 苗栗市| 营山县| 巨鹿县| 赣州市| 育儿| 自治县| 苏尼特左旗| 都昌县| 盘锦市| 永州市| 苍梧县| 教育| 伊宁县| 佛冈县| 工布江达县| 弥渡县| 原平市| 云南省| 高阳县| 惠东县| 凤台县| 曲阜市| 醴陵市| 绍兴市| 黄浦区| 惠来县| 车险| 金山区| 清水河县| 克什克腾旗| 商都县| 平潭县| 正蓝旗| 蚌埠市| 运城市| 盐边县| 兰溪市| 慈溪市| 阿克陶县|