青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 181, 文章 - 2, 評論 - 85, 引用 - 0
數(shù)據(jù)加載中……

在企業(yè)級 SOA 中使用 Web 服務,第 2 部分: 使外部 Web 服務互操作性最優(yōu)

外部和內部 Web 服務之間多個面向服務的體系結構 (Service-Oriented Architectures,SOA) 中的外部 Web 服務的互操作性最優(yōu)。Judith Myerson 展示了如何更改服務的類型、位置以及每個 Web 服務的平臺,以便實現(xiàn)原始應用程序的業(yè)務流程。

引言

在關于企業(yè)級面向服務的體系結構 (SOA) 系列我的第一篇文章,“使用多重 SOA 來消除企業(yè)系統(tǒng)之間的差異”(參閱參考資料)中,通過說明如何重用一個或多個 SOA 中的 Web 服務(以數(shù)據(jù)為中心 (data-centric) 和業(yè)務邏輯),然后將他們聯(lián)合到一個受組織控制的組合應用程序中,討論了使用 SOA 縮小企業(yè)系統(tǒng)差異的方案。

當 Web 服務不受組織所控制時,需要確保它們在外部可以彼此互操作,來共享語義和契約職責。語義的誤解(例如所有權)和契約漏洞(例如多平臺間的區(qū)別)會影響外部企業(yè) Web 服務之間的互操作性問題。

在本文中,我展示了四個實現(xiàn)制造資源規(guī)劃 (Manufacturing Resource Planning,MRP) 和客戶關系管理 (Customer Relationship Management,CRM) 服務的實例,如下所示:

  1. 企業(yè)以前的應用程序
  2. 到外部 Web 服務的動態(tài)鏈接
  3. 請求外部 Web 服務的 REpresentational State Transfer/Simple Object Access Protocol (REST/SOAP) 共存
  4. 使用 IBM? WebSphere? Application Server 和 Microsoft? Visual Studio .Net 的 Web 服務互操作性

考慮各種交易時,確定系統(tǒng)可以負載的可互操作的 SOA 的數(shù)量非常重要,這樣可以避免 SOA 過載。







企業(yè)以前的應用程序

假設企業(yè)以前的應用程序(參見圖 1)被分成業(yè)務流程的模塊化組件。該應用程序的兩個重要組件(MRP 和 CRM)要求不斷發(fā)生變化且重新編譯長期運行的應用程序。


圖 1. 企業(yè)以前的應用程序
企業(yè)以前的應用程序






動態(tài)服務鏈接

為增加運行效率,從應用程序中提取出這些組件并將其重新構建為外部 Web 服務更有意義。通過這種方式,您可以更改兩個 Web 服務的代碼,而不用重新編譯龐大的、復雜的長期運行的應用程序。

在第一個 SOA(參見圖 2)中以更加緊湊的形式重新設計的應用程序可以動態(tài)鏈接到第二個 SOA 中的外部企業(yè) MRP Web 服務,依次的,指向第三個 SOA 中的外部企業(yè) CRM Web 服務。一旦收到請求,CRM Web 服務將請求和信息發(fā)送給應用程序來進行進一步處理。


圖 2. 到 Web 服務的動態(tài)鏈接
動態(tài)鏈接

每個鏈接機制都是以發(fā)送請求或消息,接收響應,或執(zhí)行 SQL 或 HTTP 操作的形式出現(xiàn)的。還可以封裝沒有 MRP 組件的應用程序,這樣就可以向 MRP Web 服務發(fā)送請求。







軟件架構

需要牢記,在從一個協(xié)議轉換到另一個,或者從一個軟件架構轉換到另一個時,可能會引起平臺間的互操作性問題。一些實例包括 SOAP、REST、.Net 架構、企業(yè) Java Bean (Enterprise Java Beans,EJB) 以及 Java 消息服務 (Java Messaging Service,JMS)。

運行在 HTTP 上的 .Net Web 服務可以以三種不同的方式調用:HTTP GET 操作、HTTP POST 操作和 SOAP。如果需要快速的調用 Web 服務且沒有 SOAP 客戶端的話,GET 和 POST 操作都是非常有用的。可以通過 Perl 腳本在 HTTP 上使用 REST 來執(zhí)行 GET、POST、PUT 和 DELETE 操作。在這個腳本中,您可以指定 SQL 查詢和簡單的消息隊列。

如果 SOAP 客戶端可用,下面是如何在 REST 和 SOAP 之間進行簡單的選擇。如果應用程序是 基于資源的,選擇 REST。如果應用程序是 基于行為的,選擇 SOAP。在 REST 中,客戶端可以通過 HTTP 請求執(zhí)行在一系列資源上的多個操作。對于基于 SOAP 的請求,可能需要執(zhí)行請求的每個面向活動的客戶端可能僅需要一個調用操作。







調用框架

要構建 SOAP 請求,需要使用 Web 服務描述語言 (Web Services Description Language,WSDL),這是一種描述如何訪問 Web 服務以及將執(zhí)行什么操作的語言。您可以指定服務的類型,而不用自定義 Web 服務的代碼,也不用重新編譯以前的應用程序。

為確保 WSDL 文件能在各種軟件架構中工作,您可以利用 IBM Web Services Invocation Framework (WSIF),它讓您可以將 WSDL 作為不同軟件標準來描述。這表明您可以通過描述語言周圍的 API 以獨立于協(xié)議和位置的方式訪問 WSDL。還意味著您可以通過 WSDL 將 Web 服務結合復合成應用程序,在 WSDL 中您可以在各種條件和異常情況下切換協(xié)議和位置。

為構建 WSIF,無論您打算使用什么提供商,您都需要滿足最低需求,該選項包括如下:

  • JAXP XML 解析器
  • Java API 的 WSDL
  • Apache SOAP
  • Apache Axis。






REST 和 SOAP 共存

雖然 REST 請求不像 SOAP 請求那樣依賴 WSDL,您仍需要 XML Schema 來驗證 REST 操作。既然 WSDL 支持 schema 規(guī)范,REST 和 SOAP 可以作為從一個合成的 Web 服務應用程序到外部應用程序的請求而共存。

例如,SOA #1(參閱圖 3)中的應用程序首先發(fā)送 SOAP 請求調用 SOA #2 的 MRP Web 服務中調用基于活動的服務,接下來發(fā)送一個 REST 請求來操作相同 MRP Web 服務中的面向行為的服務。所有基于 SOAP 的請求都是基于 IBM WSIF 的。


圖 3. REST 和 SOAP 共存
REST 和 SOAP 共存

正如您所見到的,第一個 SOA 里面的應用程序運行在 Unix 或者 Linux 服務器上,而第二個 SOA 中的 MRP Web 服務運行在 IBM WebSphere Application Server (Application Server) 中。您可以使用 WSIF 來更改基于 SOAP 的請求的規(guī)范版本中的服務類型和位置。







WebSphere 和 .Net 產品的互操作性

如果您希望開發(fā)更加復雜的 Web 服務,作為 Linux 或者 Window 平臺上的較大企業(yè)系統(tǒng)開發(fā)項目的一部分,可以考慮使用用于 WebSphere 軟件的 IBM Rational? Application Developer。它同用于 Java? 和 EJB 的統(tǒng)一建模語言 (Universal Modeling Language,UML) Visual Editor 一起提供,并且運行在 Eclipse 源碼開放平臺上,允許您擴展您的開發(fā)環(huán)境。還可以使用 Microsoft Visual Studio.Net。

您可以使用軟件來將應用程序邏輯分割成模塊化的多業(yè)務流程 Web 服務組件。IBM 通過提供 Web Services Navigator(Rational Application Developer 插件) 更前進了一步,讓您直觀地同 Web 服務事務交互。

如果您正在使用 Visual Studio.Net 在 Microsoft .Net 平臺上開發(fā) Web 服務,可以在 Application Server 中運行它們。這意味著使兩個平臺之間的 Web 服務互操作(參閱參考資料),您所要做的只是開發(fā)與兩種平臺公用的 WSDL。

例如,運行在 Unix 或者 Linux 服務器上的應用程序(參見圖 4)首先發(fā)送 SOAP 請求來調用運行在 Application Server 上的 MRP Web 服務的基于活動的服務。接下來,該應用程序發(fā)送一個 REST 請求來執(zhí)行同樣 MRP Web 服務上的一系列基于資源的服務。一旦收到請求,SOA #3 中的 CRM Web 服務向原始應用程序發(fā)送一個請求或者信息。


圖 4. 多平臺外部 Web 服務
多平臺外部 Web 服務

正如您所看到的,第三個 SOA 中的 CRM Web 服務運行在 .Net 平臺上并且訪問 Application Server。CRM Web 服務向第一個 SOA 中的應用程序發(fā)送請求或者信息。您可以為 Visual Studio.NET 添加一個 Visual Perl 插件。您還可以使用用于 Unix 到 Windows 移植的命令行級別的基于 REST 的腳本,并且使其適應 Visual Perl 環(huán)境,這取決于簡本的復雜性。







Visual Studio

對于您來說,使用 Visual Studio .Net 比 Visual Basic、C++、Java、Kornshell 來封裝 Unix 應用程序為 COM 組件要更加容易。同樣,如果您正在開發(fā)應用程序,使用 Unix shell 腳本來運行 Window 應用程序,或者如果您將 Unix 應用程序移植到 Window 平臺下來鏈接到外部 Web 服務,使用它也非常容易。

這里有一些您應該了解的提示。首先,您應該將自己的 WSDL 文件發(fā)布到一個公共的位置來解決互操作性的差別。您可以跳過 Rational Application Developer's 自底向上的方法或者 Visual Studio .Net 的 WSDL First 方法中的自動生成 WSDL 文件。可以使用 Rational Application Developer 的 Skeleton 或者自頂向下的方法 來啟動您的 WSDL 文件并填充 Java Class 實現(xiàn)。或者,還可以禁用 Visual Studio 的 WDSL First 方法中的自動生成 WSDL 文件選項并且發(fā)布您自己的 WSDL。

第二,要為自己提供一個可以使用的 WSDL 模板,可以考慮 Rational Application Developer 的自底向上的方法(從 Java Bean 開始),Rational XDE(基于類模型生成模板代碼),或者 Visual Studio 的 Implementation First Approach(在通過編寫 Web 服務代碼開始后生成模板代碼)。然而 Rational Application Developer 提供了 WSDL,Visual Studio.Net 可能沒有提供。







需要多少 SOA?

用來連接 EAI 應用程序的 SOA 的數(shù)量取決于項目、互操作性問題、業(yè)務流程和負載性能問題之間復雜性的平衡。如果您避免了 SOAP 超標,您需要確保 SOAP 在開發(fā)的整個生命周期不會超載。您應該在周期的每一點上測試超載。







結束語

使多平臺 SOA 之間的外部 Web 服務互操作性最優(yōu)需要事先計劃好可以開發(fā)多少 SOA。您應該與業(yè)務分析團隊和 IT 專家在各種性能問題上進行交流。您會發(fā)現(xiàn)解決互操作性問題將使您的開發(fā)工作變得更加得容易。您可以開發(fā)外部 Web 服務,每個服務可以使用不同的平臺和請求協(xié)議。分析師將發(fā)現(xiàn)解決該問題將使設計和分析多個 SOA 系統(tǒng)的工作更加容易。他們可以確定 Web 服務可以運行在什么平臺上,而不用導致 SOA 超載。

posted on 2006-04-17 03:13 wsdfsdf 閱讀(146) 評論(1)  編輯 收藏 引用 所屬分類: 技術文章

評論

# re: 在企業(yè)級 SOA 中使用 Web 服務,第 2 部分: 使外部 Web 服務互操作性最優(yōu)  回復  更多評論   

調用框架

要構建 SOAP 請求,需要使用 Web 服務描述語言 (Web Services Description Language,WSDL),這是一種描述如何訪問 Web 服務以及將執(zhí)行什么操作的語言。您可以指定服務的類型,而不用自定義 Web 服務的代碼,也不用重新編譯以前的應用程序。

為確保 WSDL 文件能在各種軟件架構中工作,您可以利用 IBM Web Services Invocation Framework (WSIF),它讓您可以將 WSDL 作為不同軟件標準來描述。這表明您可以通過描述語言周圍的 API 以獨立于協(xié)議和位置的方式訪問 WSDL。還意味著您可以通過 WSDL 將 Web 服務結合復合成應用程序,在 WSDL 中您可以在各種條件和異常情況下切換協(xié)議和位置。

為構建 WSIF,無論您打算使用什么提供商,您都需要滿足最低需求,該選項包括如下:

JAXP XML 解析器
Java API 的 WSDL
Apache SOAP
Apache Axis。

WSDL.....
2006-04-24 14:20 | Tory
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩国产精品一区二区亚洲| 免费观看不卡av| 国产精品老牛| 欧美婷婷久久| 欧美性片在线观看| 国产精品成人免费精品自在线观看| 欧美精品一区二区三区四区| 欧美激情综合五月色丁香| 欧美日韩国产另类不卡| 国产精品日韩高清| 黄色成人在线观看| 亚洲区一区二区三区| 999在线观看精品免费不卡网站| 99国产精品国产精品久久| 91久久久久久| 亚洲午夜精品福利| 久久手机免费观看| 亚洲激情综合| 日韩视频―中文字幕| 亚洲天堂偷拍| 亚洲欧美综合国产精品一区| 欧美在线一级va免费观看| 久久免费的精品国产v∧| 欧美www在线| 欧美性大战久久久久久久| 亚洲欧美日韩高清| 久久精品国产久精国产爱| 欧美国产日韩二区| 国产精品久久久久久av下载红粉 | 亚洲综合999| 久久精品二区三区| 欧美 日韩 国产 一区| aaa亚洲精品一二三区| 久久国内精品自在自线400部| 久久精品国产一区二区三| 欧美aaaaaaaa牛牛影院| 国产伦精品一区二区三区高清版 | 在线看不卡av| 亚洲午夜精品国产| 亚洲人成啪啪网站| 久久国产精品免费一区| 国产精品成人观看视频国产奇米| 在线观看不卡av| 午夜精品一区二区三区电影天堂| 亚洲国产欧美一区二区三区久久 | 欧美久久视频| 一色屋精品视频在线看| 性色av香蕉一区二区| 日韩西西人体444www| 欧美刺激性大交免费视频| 国产在线精品一区二区夜色| 亚洲视频1区2区| 亚洲电影第三页| 久久久女女女女999久久| 国产精品一区一区三区| 亚洲综合色自拍一区| 日韩视频在线观看免费| 欧美激情一区二区三区在线视频| 精品成人在线| 久久久久一区二区三区四区| 午夜在线精品偷拍| 国产亚洲精品久久久久婷婷瑜伽 | 久久精品免费观看| 亚洲一区在线直播| 欧美日韩在线播放三区| 亚洲一区二区动漫| 中国成人黄色视屏| 国产精品视频观看| 久久精品国产99精品国产亚洲性色 | 欧美成人一区二免费视频软件| 久久国产加勒比精品无码| 精品69视频一区二区三区| 久久色在线播放| 久久在线精品| 久久五月天婷婷| 黄色在线成人| 亚洲国产精品久久久久秋霞影院| 毛片一区二区三区| 99国内精品| 亚洲免费人成在线视频观看| 国产一区二区欧美| 欧美国产日产韩国视频| 欧美日韩成人综合在线一区二区 | 亚洲人成77777在线观看网| 欧美激情a∨在线视频播放| 亚洲午夜av在线| 久久国产精品久久精品国产 | 狠狠色丁香久久婷婷综合丁香| 久久综合网络一区二区| 毛片av中文字幕一区二区| 亚洲最快最全在线视频| 亚洲女优在线| 亚洲风情亚aⅴ在线发布| 日韩视频中文字幕| 国产亚洲欧美日韩日本| 欧美成人dvd在线视频| 国产精品国产三级欧美二区| 久久夜色精品一区| 欧美精品一区二区三区在线播放 | 免费不卡在线观看| 性欧美8khd高清极品| 免费看黄裸体一级大秀欧美| 亚洲桃花岛网站| 久久久国际精品| 亚洲少妇中出一区| 久久亚洲国产成人| 亚洲少妇自拍| 欧美暴力喷水在线| 久久亚洲精品伦理| 欧美日韩国产综合一区二区| 久久久久久高潮国产精品视| 欧美精品三区| 麻豆成人在线| 国产日韩欧美亚洲| 亚洲精品视频在线看| ●精品国产综合乱码久久久久| 亚洲午夜视频在线| 亚洲精品一区二区三区蜜桃久| 性欧美暴力猛交另类hd| 宅男66日本亚洲欧美视频| 久久综合伊人77777| 欧美影院成年免费版| 欧美日韩国产免费| 亚洲国产日韩欧美在线动漫| 激情文学综合丁香| 欧美一区日本一区韩国一区| 羞羞漫画18久久大片| 国产精品久久91| 日韩午夜中文字幕| 一本久久a久久精品亚洲| 日韩视频免费观看| 久久成人久久爱| 久久久精品999| 国产亚洲视频在线| 久久激情一区| 久久综合久久综合这里只有精品 | 亚洲综合欧美| 欧美视频中文字幕在线| 亚洲国产成人高清精品| 尤妮丝一区二区裸体视频| 久久精品国产久精国产思思| 久久综合五月天婷婷伊人| 国产一区美女| 久久成人免费日本黄色| 久久女同精品一区二区| 国产日韩精品视频一区二区三区 | 欧美一级二区| 久久久久久久尹人综合网亚洲| 国产性色一区二区| 欧美综合77777色婷婷| 久久久久久久国产| 亚洲国产婷婷| 欧美一区二区三区在线视频| 欧美在线视频观看| 激情欧美一区| 欧美mv日韩mv国产网站| 亚洲国产精品尤物yw在线观看| 亚洲精品国产精品国自产在线 | 久久综合网络一区二区| 欧美激情亚洲激情| 一区二区三区精品视频| 欧美日韩免费一区| 亚洲欧美视频在线| 你懂的成人av| 中文欧美字幕免费| 国产亚洲成av人在线观看导航| 久久野战av| 一区二区福利| 美日韩精品视频| 亚洲天堂视频在线观看| 黄色成人在线网址| 国产精品白丝jk黑袜喷水| 亚洲欧美日韩国产| 亚洲人成网站影音先锋播放| 久久精品视频va| 一二三区精品| 国内精品久久国产| 欧美日韩在线视频一区二区| 久久精品国产免费| 国产精品99久久久久久久vr| 欧美第十八页| 久久gogo国模裸体人体| 亚洲美女在线观看| 一区二区三区在线视频免费观看| 欧美午夜精品久久久久久久| 久久久亚洲高清| 亚洲欧美日韩网| 夜夜嗨av一区二区三区四季av| 欧美高清成人| 美女国产一区| 久久精品最新地址| 午夜视频久久久| 亚洲视频一二三| 日韩一级大片| 日韩一级片网址| 亚洲国产一区在线| 亚洲免费av观看| 在线亚洲欧美| 国产综合亚洲精品一区二| 国产精品jizz在线观看美国|