国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

技術分析:將Web站點轉換為Web服務一(組圖)

2019-11-18 12:51:03
字體:
來源:轉載
供稿:網友

  現今,面向服務架構(Service Oriented Architecture,SOA)承諾要幫助企業實現時間到價值的更快轉換。這種想法不錯,而沒有行動,紙上談兵往往一無所成。在SOA中,人們無法確保IT資產的重用,除非這些資產是可以訪問的。SOA實現重用的一種方式是通過Web服務,然而,假如資產沒有通過Web服務進行公開,或者公開資產的要求苛刻且代價昂貴,那么實現時間到價值的更快轉換就變成了一個無法企及的目標。
  
  但是,假如您想公開的資產可以通過Web接口(例如,公司內部網上的一個傳統應用程序)訪問,情況會怎么樣?假如存在一種非常簡單的方式可以把這些資產公開為Web服務,情況又會怎么樣?
  
  本文給出了一個完整的例子,通過使用RoboSuite WebLogic Edition產品,把Web站點轉換為Web服務。該Web服務所包含的幾種操作完整地封裝了站點的全部功能。構造該Web服務不需要任何傳統的編程,比如編寫java代碼。
  
  RoboSuite簡介
  
  Kapow RoboSuite是一個Web集成平臺,它答應用戶輕松集成來自任意具有Web接口的應用程序的數據和功能。RoboSuite創建稱為robot的集成組件,它可以接受輸入并返回輸出(就像一個Java方法一樣)。Robot在一個稱為RoboServer的服務器上執行。
  
  RoboSuite包含在BEA WebLogic Platform的一個非凡版本中,這個非凡版本包含幾種特性,用于確保與BEA WebLogic Workshop之間的緊密集成。其中一個特性就是一個稱為RoboSuite控件的可擴展控件。您可以從WebLogic Workshop中的controls菜單訪問它,無需任何編程。在本文的例子中,我使用RoboSuite控件創建了一個控件(JCX文件),并使用它來創建Web服務。
  
  圖1從WebLogic的角度顯示了RoboSuite架構的概況。圖中顯示了RoboSuite組件,并說明了它們如何與WebLogic Workshop交互。RoboSuite包含代碼生成工具,該工具知道WebLogic Workshop的應用程序和項目結構,可以生成易于使用的portlet和Web服務(.jws文件)。想要了解更多信息,請參見參考資料一節。
  
 技術分析:將Web站點轉換為Web服務一(組圖)(圖一)
  圖1. RoboSuite體系結構

  
  下載和安裝RoboSuite
  
  運行本文的例子需要安裝RoboSuite。這只需花費幾分鐘時間,而且過程相當簡單。按照如下步驟,就可以從BEA Web站點下載RoboSuite:
  
  訪問www.bea.com。
  
  打開PRodUCts菜單,然后從此菜單中選擇Third Party Tools項。
  
  在Third Party Tools頁面上,找到工具Kapow RoboSuite, BEA WebLogic Edition,然后點擊More Information鏈接。
  
  點擊鏈接Download Kapow RoboSuite, BEA WebLogic Edition.
  
  找到產品Kapow RoboSuite, BEA WebLogic Edition, Version 8.1,然后根據所使用的操作系統點擊鏈接。
  
  按照站點上提供的指導進行安裝。
  
  RoboSuite的當前版本是5.5 SR1。
  
  例子簡介
  
  這個例子是一個簡單的電話記錄應用程序,在這個應用程序中,用戶可以查找、添加和刪除電話號碼。為了使例子更能說明問題,我使用了專門為此開發的應用程序,思路是讓它可以提供大多數CRM、CMS和HR系統中提供的功能。您會發現,這個例子演示了一個真實的場景。我編寫了三個robot,分別提供以下功能:搜索電話號碼、添加電話號碼和刪除電話號碼。本文沒有描述如何編寫這些robot。理由如下:首先,這會使本文的篇幅過長。其次,這是一個完美的真實場景,可以讓其他人編寫robot,然后您再由這些robot創建控件。編寫robot與使用WebLogic Workshop中的應用程序所需的技巧未必相同。第三,RoboSuite文檔具體描述了如何編寫robot。
  
  本文將重點講述創建一個RoboSuite控件的過程,該RoboSuite控件所包含的方法描述了上述三個robot所要執行的動作,然后我將展示如何使用這個控件創建具有相同方法的Web服務。這樣做的意義在于,當您學會使用各種相關工具之后,就可以在幾分鐘之內完成從robot到Web服務操作方法的過程。完整的過程包括:編寫三個robot;創建Web服務;最后,執行一個簡單的測試。總共需要大約一個小時。假如使用傳統的集成方法,這個過程需要的時間將會長的多。
  
  Robot簡介
  
  盡管本文沒有把重點放在如何編寫robot上,簡要地描述一下robot還是有必要的。robot使用RoboMaker工具編寫,該工具是RoboSuite的一部分。Robot類似于程序,但是robot的編程語言是完全可視化的(也就是說,robot沒有直接的文本表示;robot實際上是以xml格式保存在.robot文件中,但是該格式是內部使用的,沒有歸檔)。圖2顯示了RoboMaker中的一個例子robot,頂部給出了robot的步驟。左側是瀏覽器視圖,顯示了當前步驟(以綠色表示)上Web文檔的狀態,而右側是robot和當前步驟的配置窗格。
  
 技術分析:將Web站點轉換為Web服務一(組圖)(圖二)
  圖2. RoboMaker中的add robot

  
  robot被設計為與一個或多個給定的Web站點(或這些站點中的一部分)進行交互。它們在更改站點方面可能具有一些健壯性,但不是一般的crawler。robot可以導航站點、執行登錄、填寫表單、在表上迭代、從頁面提取信息,等等。簡而言之,它們可以提供瀏覽器所能提供的一切功能。robot可以采用專門設計的對象(使用ModelMaker工具創建)作為輸入和輸出。robot可以使用輸入對象來填寫表單,而輸出對象可以包含從Web站點提取的數據。
  
  robot由RoboServer服務器執行。客戶端(在本例中就是控件)發送請求給RoboServer,要求運行某個robot,而RoboServer將會運行該robot并返回響應。請求可以包含輸入對象,而響應可以包含輸出對象,這取決于robot是否需要輸入對象和是否返回輸出對象。當robot轉換為控件時,該控件將包含一個用于調用robot的方法。該方法包含一些對應于robot輸入對象屬性的參數。該方法的返回值要么包含robot返回的一個對象列表,要么包含這個列表的一部分(例如,第一個對象、第一個對象的屬性,等等)。
  
  表1總結了例子中所使用的robot。
  
 技術分析:將Web站點轉換為Web服務一(組圖)(圖三)
  表1. Robot小結

  
  robot和相應的方法都打包在一個稱為robot庫文件的zip文件中,在本例中稱為phone.robotlib。構造robot和創建控件的工程師通常不是一個人,而robot庫可以視為在這兩者之間交換robot的部署單元。
  
  對例子的解釋
  
  在這里,我所做的事情有一點顛倒次序。一般人可能首先創建一個具有某種功能的控件,然后使用這個控件創建Web服務或其他應用程序。我將首先創建一個Web服務,然后再為這個Web服務添加控件。
  
  創建新的Web服務
  
  要創建一個新的Web服務,右擊要在其中創建它的Web服務項目,然后選擇New > Web Service,如圖3所示。
  
 技術分析:將Web站點轉換為Web服務一(組圖)(圖四)
  圖3. 創建Web服務

  
  本節運行了New File Wizard(參見圖4),其中已經預先選擇了Web服務文件類型。輸入Web服務的名稱,然后單擊Create。
  
 技術分析:將Web站點轉換為Web服務一(組圖)(圖五)
  圖4. 選擇 Web服務的名稱

  
  創建RoboSuite控件
  
  創建Web服務之后,下一步就是創建RoboSuite控件。右擊該Web服務,然后選擇Add Control > RoboSuite Control,如圖5所示。這將運行Insert Control Wizard(參見圖6)。這個向導基本上是一個標準的WebLogic Workshop向導,但是其中的步驟3將取決于用戶所選擇的控件種類。
  
 技術分析:將Web站點轉換為Web服務一(組圖)(圖六)
  圖5. 添加RoboSuite控件

  
  該向導中的頭兩個步驟是命名Web服務中的控件實例和命名控件文件(生成的JCX文件)。選擇實例名稱phone。這對應于Java風格的JCX文件中的一個字段名稱,所以在這里必須遵從Java命名約定。JCX文件名類似于Java類名。為控件選擇包名稱controls,這既是實際的也是必需的做法。JCX文件位于一個稱為controls的文件夾中,該文件夾為應用程序提供某種結構(此外,不能把控件放在默認的頂級包中)。
  
 技術分析:將Web站點轉換為Web服務一(組圖)(圖七)
  圖6. 命名控件

  
  向導的最后一個步驟是配置控件。這個步驟由幾個子步驟組成。第一個子步驟是選擇robot所在的庫。在本例中,robot位于本地文件系統中一個稱為phone.robotlib的robot庫文件中,所以必須選擇Robot Library File at URL選項(參見圖7)。另一個可能的robot位置在控件或RoboSuite附帶的文檔中有所描述。此處我不再具體講述。
  
 技術分析:將Web站點轉換為Web服務一(組圖)(圖八)
  圖7. 選擇 Robot Library位置

  
  選定Robot Library的位置以后,必須指定有關庫的更具體信息(例如庫的URL),在本例中也不例外。我們指定了robot庫文件在本地文件系統中的位置(參見圖8)。
  
 技術分析:將Web站點轉換為Web服務一(組圖)(圖九)
  圖8. 選擇 Robot Library URL

  
  指定了robot的完整位置之后,映射表就會顯示庫中的robot。映射的目的是定義robot和控件方法之間的映射。假如列表中的映射存在,那么對方法的調用就會導致對指定robot的調用。目標是為所有的三個robot定義映射,這樣控件就包含一個可以執行robot所要執行的三種操作的方法:搜索、添加和刪除。添加新映射的方法是,右擊robot旁邊的Mapping列,然后選擇New…選項,如圖9所示。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长垣县| 依兰县| 永登县| 上林县| 瑞昌市| 左云县| 佛坪县| 元朗区| 阜新市| 武功县| 高邮市| 盖州市| 马公市| 洱源县| 仁寿县| 茌平县| 大石桥市| 孝义市| 吉木萨尔县| 莎车县| 儋州市| 通州市| 贵阳市| 肇源县| 正安县| 玉溪市| 曲麻莱县| 山丹县| 绥芬河市| 凤庆县| 万盛区| 盐山县| 青龙| 仁化县| 宁都县| 东乡| 青阳县| 浦北县| 叶城县| 安乡县| 凤凰县|