WebSphere Integration Developer 指導教程——第 2 部分
作為本系列中第二篇文章,本文將介紹面向服務的體系結構 (SOA) 編程模型,并描述如何在 WebSphere® Integration Developer 中創建簡單的 SOA 應用程序。
摘自 IBM WebSphere 開發者技術期刊。
以面向服務的方式構建應用程序
在本系列的第 1 部分中,我們通過介紹 IBM® WebSphere® Integration Developer 及其附帶的各種工具,為您提供了該產品的概況。在第二篇文章中,您將了解編程模型以及工具使用環境。為將此主題的各個方面結合起來進行討論,我們將描述一個簡單的應用程序并演示如何使用 WebSphere Integration Developer 構建該應用程序。
相信您一定已經聽說過面向服務的體系結構 (SOA) 這一術語。但什么是 SOA,以及更重要的問題,它對業務集成領域有什么好處?我們非常樂意回答您的問題。WebSphere Integration Developer 應用程序是通過面向服務的體系結構進行實現的,因此我們首先討論什么是 SOA 以及遵循這種體系結構模式對于我們的應用程序會有何好處。
理想情況下,您希望能重用現有的 IT 資產作為構件或組件來構建新的應用程序。每個構件都是一個服務,這意味著您可通過標準方法來訪問服務而不必關注其具體實現及其位置。在 SOA 中,業務邏輯從基礎結構中被分離出來,因此開發人員可以把精力集中在實現上,而無需關注如何訪問服務。
簡而言之,服務是一些黑盒,您并不關注其內部情況,只要它們能夠按照所聲明的情況進行工作。一旦您擁有這些黑盒,接下來的關鍵步驟就是將它們連接起來構成完整的應用程序。這些黑盒可以是 Java™ 技術、業務流程執行語言 (BPEL)、到遺留系統的連接或適配器以及到業務合作伙伴所提供的 Web 服務的連接。它們就是您的服務構造塊。
服務通常是無狀態的,這意味著您無需擔心是否按特定順序或在具體的上下文中調用它們。而且,您可能打算要合成業務合作伙伴的服務,并以訪問您自己服務的方式來訪問它們。您還可能需要合作伙伴能夠訪問您的服務。通過 SOA,您可通過交換服務或調用新的所需服務,來方便地適應不斷變化的業務環境。這使企業之間的業務交易變得更加方便。
訪問服務的標準方式是什么?服務會發布其接口,這也是服務與調用方之間的協定。接口可通過某種語言進行定義,例如 Web 服務接口可通過 Web 服務定義語言(Web Services Definition Language,WSDL)進行定義。接口中包含向服務傳遞數據或從服務獲取數據的規范。接口并不指定如何實現服務以及用什么語言來實現服務。因此,您可能具有使用 Java 實現的服務,而該服務又調用另一個使用 BPEL 實現的服務。
所有這些都是一般性的概述,聽起來不錯,但我們需要深入探討如何使用 WebSphere Integration Developer 來實現面向服務的體系結構。在上一篇文章中,我們討論了服務實現的各種方式,但對服務如何協同工作方面未作詳細介紹。本文將深入介紹服務交互的詳細內容。
應用程序的構造塊
構造塊是一種比喻說法,這對于我們理解面向服務的體系結構非常有幫助。通常情況下,您會將這些構造塊堆疊在一起以構建較大的應用程序,而后者又可作為另一種構造塊。通過這種方式來分析服務,就能容易地掌握 WebSphere Integration Developer 中的服務組件體系結構(Service Component Architecture,SCA)編程模型。SCA 是 SOA 的一個實現,而 WebSphere Integration Developer 是一個 Workbench,利用其提供的工具,您不僅可以直觀地將構造塊組裝成完整的解決方案,還可以構建每個構造塊的內部工作。SCA 標準化工作是 Apache Tuscany 開放源代碼項目的一部分。在接下來的幾部分中,將介紹關于使用服務組件體系結構對您要通過 WebSphere Integration Developer 構建的任何解決方案進行基礎布局的基本知識。
模塊
模塊 是服務的容器,它既是 WebSphere Integration Developer Workbench 中的項目,也是 WebSphere Process Server 上的部署單元。這意味著您構建的任何解決方案都將作為一個或多個模塊部署到服務器上。對那些熟悉 J2EE 的開發人員而言,模塊是作為企業歸檔 (EAR) 文件進行打包和部署的。服務組件體系結構的優點之一是您無需關注底層的打包工作。模塊提供的服務既可被其他模塊使用,也可由合作伙伴或客戶通過外部客戶端來進行訪問。模塊是組件、導入和導出的集合,我們將在以下幾部分中進行介紹。
文章來源于領測軟件測試網 http://www.k11sc111.com/