開發 SOA 應用程式

isoa發表於2009-05-22

引言

在 developerWorks SEK 裡,有一系列軟體工具。利用它們,可以幫助您開發 Web 服務解決方案,部署 Web 服務、儲存資料、與資訊和工作流產品進行整合,還包括象 SAP 和 PeopleSoft 這些軟體的專有解決方案。所有的這些軟體,包括 Microsoft ® Windows ® 和 Linux ™的相容版都燒錄在兩張高密度的 DVD 光碟裡。

DVD 光碟包含這些軟體工具各自的介面,如 圖 1 所示, 這種介面為連線和安裝 SEK 軟體提供了非常便捷的方法。


圖1:SEK DVD 介面(Windows版)
interface 

包含在 SEK 中的軟體

SEK 包含了一系列的軟體工具,這些工具可以幫助您開發應用程式,從業務流程的分析到執行,再到新 Web 服務和 SOA 應用程式的開發都提供了良好的支援。這兩張 DVD 光碟包含的產品來自於 IBM 提供的多個套裝軟體。

Rational 工具

SEK 包含了多個來自 Rational 軟體包的工具:

  • Rational Application Developer for WebSphere Software Version 6.0
  • Rational Functional Tester Version 6.1.0
  • Rational Software Architect Version 6.0
  • Rational Software Modeler Version 6.0
  • Rational Web Developer for WebSphere Software Version 6.0

Rational 開發工具是基於成功的並且非常受歡迎的 Eclipse 平臺,它不僅易用、靈活,而且在您的每一個開發程式中都可以使用外部開發環境。Rational Software Modeler 提供了使用設計標準(比如統一建模語言,UML )構建模型的能力。通過 Rational Software Modeler,您可以將這些模型轉變為類和原始碼,然後使用 Rational Software Architect 和 Rational Application Developer 進一步提升其效能。

關於 Web 網站和 Web 服務的特殊開發,Rational Web Developer for WebSphere Software Version 6.0 提供了一種端對端的環境。利用它,不僅可以完成開發和測試,還可以通過 WebSphere Application Server 產品完成 Web 服務的部署。

正如以上所提到的,IBM 軟體開發平臺使用了 Eclipse,它是一種支援外掛的靈活體系結構,這使得它很容易擴充套件並具備修改 Eclipse 環境的功能。這就意味著您既可以使用 Eclipse,也可以使用 IBM 的其它工具。比如原用於 Rational Suite 的開發程式管理工具,這些工具包括 Rational RequisitePro ®、 Rational ClearQuest ®、and Rational ClearCase ®等等。由於這些工具提供了開發環境內的訪問,這可以讓開發者和管理者就工程的狀態與進度進行更加便捷的溝通。

用一個例子來顯示基於 Eclipse 的 IBM Rational 產品打包體系,我認為是很有價值的,它能更好地說明這些東西 (如 圖 2 所示):


圖 2:IBM Rational 產品包體系
packaging

DB2 工具

SEK 所包含的 DB2 ® 工具:

  • DB2 Universal Database ™ Enterprise Server Edition Version 8.2
  • DB2 Universal Database Express Edition Version 8.2

無論是哪一類資料驅動的應用程式,其核心都是用於儲存資訊的資料庫。SEK 提供了 DB2 通用資料庫易捷版的免費試用,易捷版是 DB2 資料庫產品套裝的一部分。該版本允許單一的開發者使用 DB2 資料庫技術。由於該工具是 DB2 產品套裝的一部分,在部署應用程式時,無需做任何的改動,即可將應用程式部署在某一伺服器中,或部署在 DB2 資料庫的企業版中,比如 SEK 中的 DB2 通用資料庫企業伺服器版。

Lotus Domino and Lotus Notes

SEK 包含了兩個來自 IBM Lotus ® 產品家族的工具:

  • Lotus Domino ® Version 6.5.3
  • Lotus Notes ® Clients (Notes/Designer/Administrator) Version 6.5.3

Lotus Domino 系統提供了一個用於內容管理和應用程式協同工作的環境。它的核心功能是,Domino 是一種協同軟體,它允許您構建用於協同環境的資訊傳遞和計劃控制的應用程式。 Lotus Notes 是一種文件管理和工作流應用軟體,您可以把它當作是簡單的文件管理系統使用,也可以進一步提升該產品的功能,使其提供文件或工程的開發歷史。這種功能在客戶關係管理(CRM)、幫助臺(help desk)及其它通過對文件及溝通交流跟蹤可以提高服務質量的(QoS)的環境,有著特別重要的作用。

WebSphere 應用程式伺服器

SEK 包含了2個 WebSphere 應用伺服器產品:

  • Application Server Version 6.0
  • Application Server Express Version 6.0

應用伺服器提供了基於 Web 應用程式的開發和服務釋出,它對基於 JAVA 技術基礎的釋出進行了優化,比如 servlets、JavaServer Pages (JSP)、企業級 JavaBeans (EJB),以及 Web 服務。

SEK 包含了伺服器的易捷版,您可以使用它單獨開發並快速釋出在伺服器上。易捷版的安裝版設計得比較直接簡單,這使得它用於快速釋出顯得非常完美。而 WebSphere 應用伺服器的完整版提供了更多額外的功能,特別是安全性的控制與優化、程式執行、跨多伺服器上應用程式的表現。

WebSphere 整合工具

SEK 包含的 WebSphere 整合套件:

  • WebSphere Business Integration Modeler Advanced Edition Version 5.1
  • WebSphere Host Access Transformation Services (HATS) Toolkit Version 5.0
  • WebSphere Information Integrator Advanced Edition Version 8.2
  • WebSphere MQ Version 5.3
  • WebSphere Studio Application Developer Integration Edition Version 5.1.1

WebSphere 整合套件包含了一系列用於整合其它平臺和環境的工具。這些工具支援介面,甚至可以將專有標準轉化為 Web 服務,以便更容易地與面向服務架構(SOA)的應用程式更好地整合。

WebSphere Business Integration Modeler 高階版是以 Eclipse 平臺為基礎的,它提供了一個簡便的建模平臺,可以讓您模擬和驗證業務處理和工作流,以便把它們轉化為應用程式。同時,它還整合了 WebSphere MQ(用來管理和整合工作流)和 WebSphere Studio Application Developer Integration Edition,為開發以客戶業務處理和工作流為基礎的應用程式提供了很好的工具。

WebSphere HATS Toolkit 和 WebSphere Information Integrator Advanced Edition 提供了很多工具和服務可以用於應用程式的整合、互通。這些應用程式和環境可以是專有的,如 SAP、PeopleSoft,也可以是大型機的應用程式和技術模組。

IBM Workplace 客戶端技術

要將 Web 服務部署到平臺中,除了典型的伺服器和桌面環境外,往往還需要額外的開發工作。使用 IBM Workplace 客戶端技術、Micro Edition Version 5.7,您可以很容易地擴充套件 Web 服務和 SOA 應用程式到手提裝置、個人數字助手(PDA)、及其它的移動裝置上。這就使得那些就算在區域網(LAN)之外的環境中的使用者,也能輕鬆地使用我們的 Web 應用。

Tivoli 軟體

IBM Tivoli ® Directory Server Version 5.2 提供了符合工業標準的輕量級目錄訪問協議(Lightweight Directory Access Protocol ,LDAP)資料庫,利用該資料庫,可以進行安全資訊儲存和認證。

使用 SEK 開發 Web 服務

Web 服務已成為支撐現代應用程式的技術和系統的核心元件,通過改造翻新,還可應用於很多既存的應用程式中。開發一個 Web 服務應用程式,或重新開發一個現有的應用程式,本身都不是件容易的事。然而,若使用恰當的軟體和開發工具,開發一個使用 Web 服務的應用程式將變得更加容易。

SOA 是建造在 Web 服務模型上的,SOA 定義了一種方法,擴充套件了 Web 服務基於物件的架構,並且可以幫助您開發模組化的應用程式。每一模組都可以通過已定義好的 Web 服務介面與其它模組進行通訊。每一模組都是獨立的,但又是可以連線的。此外,應用程式的開發變得更加容易,因為這些應用程式都是構建於更小型的元件。

此外,您無需對應用程式進行全面複雜的重新開發,即可重寫、修改、提升應用程式的功能。您只需重新生成其中的一兩個元件,這既可以保留與舊 SOA 應用程式相容,又提供了可用於其它應用程式的新特性和新功能。因此,SOA 是物件的邏輯發展過程,包括從本地應用程式和區域網(LAN)式應用程式、再到廣域網(WAN)及 Internet 範圍的應用程式,這些應用程式可以彼此通訊,並可在多個級別上進行協同工作。

Web 服務和 SOA 應用程式的部署均使用了開放標準,比如簡單物件訪問協議(SOAP)、可擴充套件標記語言(XML)、 Web 服務描述性語言(WSDL),這些標準使得在多平臺和多環境中開發、部署應用程式變得更加容易。這種開發和部署的靈活性同時意味著您可以使用 SOA 應用軟體構建新的應用程式、及舊應用程式的介面,並且可以更充分地利用有關技術和裝備。

SEK 中的軟體提供了一套完整的解決方案——從開始到完成——從應用程式的開發到應用程式的部署,包括那些基於 Web 服務和 SOA 的應用程式。特別是,所有的軟體都提供了開發應用程式的功能。此外,如果您綜合地使用這些提供全方位解決方案的工具,那麼您會受益更多。舉個例子,比如有一些工具已用於 Web 服務解決方案,同時這些工具已合併到 SOA 應用程式中,而您不必對功能介面進行設計開發;而另外一些工具則為部署、安全防範、Web 服務和 SOA 應用程式的支援,提供了便捷的解決方案。

為了幫助您理解SEK 產品之間的整合和協同工作,下面用 圖 3 向您簡單概述 SEK 產品之間的關係。


圖 3,SEK 工具整合
工具整合

SOA 應用程式的開發是從程式設計和 IBM 軟體開發平臺開始的。IBM 軟體開發平臺包含 Rational 產品家族、嚮導、模板、及構建應用程式的指南,這些指南包含了構建 Web 服務的專門工具。整個過程開始於 IBM Rational Software Modeler,該軟體為 Web 服務應用程式提供了建模工具,IBM Rational Software Architect 提供了程式碼編寫和完成應用程式的開發環境。當然,您還可以使用一些額外的工具(比如 IBM Rational Functional Tester),來測試您的應用程式,然後把它部署到 WebSphere 伺服器平臺中。

這一貫穿整個應用程式開發的生命週期、由介面、嚮導和 Eclipse 環境組成的工具箱可以讓您更輕鬆地設計應用程式,更一致地將 SOA 應用程式的元件捆綁在一起。比如,Eclipse 環境包括了瀏覽器和發現工具,以更好地查詢現有的 Web 服務;同時在 Eclipse 環境裡,您可以瀏覽它們的功能和介面介面。 圖 4 顯示了一個關於 Web 服務瀏覽器的例子,同時顯示了 IBM Rational Application Developer 的主要介面。


圖 4:Rational Application Developer 中的 Web 服務瀏覽器
在 RAD 中的瀏覽器

DB2 通用資料庫是一種關係型資料庫解決方案,您可以使用它儲存結構型資料,以及 SOA 應用程式使用的物件和元件。DB2 扮演的角色既可以是 Web 服務的提供者,也可以是 Web 服務的消費者。DB2 Web 服務物件執行時框架 (Web services Object Runtime Framework,WORF)可以自動生成讀取 DB2 資料的 WSDL 介面,該過程是通過一種檔案定義實現的,我們將之稱為文件訪問定義擴充套件(Document Access Definition Extension,DADX),這種檔案包含了關於資料結構和您希望支援的操作的有關資訊。Web 服務對 DB2 的介面和 Java 伺服器解決方案(如 WebSphere)實現捆綁。作為消費者,DB2 使用了 Starburst 擴充套件,從而允許您通過 SQL 將來自其它 Web 服務的資料進行整合。您可以使用 WebSphere Studio 的外掛將 WSDL 定義轉變成 DB2 SQL 功能所需要的東西。您無需編寫複雜和費時的程式碼,即可輕鬆地將 DB2 以資料提供者或資料消費者的方式,整合到 SOA 應用程式和應用環境中,這在相當程度上簡化了開發過程。

一旦要釋出您的 Web 服務和 SOA,應用伺服器提供了您需要的高效能及高安全的釋出平臺。WebSphere 是靈活和高可配置的,而且還與其它 SEK 工具保持良好的相容與整合。比如,您可以使用 IBM 軟體開發平臺來測試,並直接在 WebSphere 伺服器上部署您的 Web 服務。因為從開發到部署的一切東西都已在 Eclipse 平臺中提供了,所以在開發到部署過程中,您不需要在應用程式、環境、平臺之間之間切換。這種較強的易用性不僅提升了工作流,也加快了應用程式的開發和部署。

在安全方面,Tivoli Directory Server 提供了符合工業標準的 LDAP 服務,該服務和應用程式伺服器整合在一起,為我們提供了目錄服務,包括服務發現、認證,以及為保護 Web 服務元件的必要安全訪問控制資訊。

由於改寫現有的技術和軟體可能會比較困難,尤其是那些基於主機、監控(turnkey)、和專有的解決方案的程式更是如此。所以,一些 SEK 工具為我們提供了構建和釋出 Web 服務介面的解決方案,之後您就可以將 Web 服務整合到 SOA 的部署中。例如, IBM HATS 提供了可以連線 3270 和 5250 主機介面的 HTML 介面,您可以使用 HATS 建立 Web 服務介面,用於主機的事務處理和相關操作。

總結

總之,在您的組織裡設計、開發、部署 Web 服務和 SOA 應用程式所必需的一切工具,都已包含在 developerWorks SEK 裡。SEK 提供的工具包含這些功能:設計和業務流程建模,將業務流程轉化為應用程式模型或應用程式;進一步開發它們,形成工作程式碼。同時,您有訊息和文件流的完整資料庫解決方案,以幫助您的現有業務流程的資訊儲存;最後,還提供了一套部署和管理應用程式的工具,以幫助您試執行應用程式。

轉自 IBM DW中國

作者:Martin Brown (mailto:questions@mcslp.com), 自由撰稿人和顧問

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780828/viewspace-600852/,如需轉載,請註明出處,否則將追究法律責任。

相關文章