【文章內(nèi)容簡(jiǎn)介】
這些需求寄希望于新的體系結(jié)構(gòu)。而在第二部分中,我們將研究服務(wù)的類型,構(gòu)造一個(gè)基于服務(wù)的組件的應(yīng)用程序框架和一些將來(lái)的計(jì)算環(huán)境,這些環(huán)境將使得 SOA 的開(kāi)發(fā)更加勢(shì)在必行。參考資料 查閱 IBM developerWorks Web services 專區(qū) 來(lái)獲得 Web 服務(wù)白皮書(shū)和工具。 要查找 Web 服務(wù)和面向服務(wù)的體系結(jié)構(gòu)方面的客戶項(xiàng)目案例,請(qǐng)參閱 IBM jStart Web 站點(diǎn)。 閱讀文章 Best practices for determining the proper level of granularity of services within a SOA(developerWorks,2003年10月)。 閱讀 Accessing CICS transactions as services within a SOA(IBM)。 Zackman Framework for Enterprise Architecture 將是這一系列關(guān)于 SOA 的文章中另一篇的主題。在 Zachman 框架以外,還開(kāi)發(fā)了幾個(gè)主要的體系結(jié)構(gòu)框架,其中包括: o 聯(lián)邦企業(yè)體系結(jié)構(gòu)框架(FEAF) o 用于命令、控制、通信、計(jì)算機(jī)、智能、監(jiān)視和偵查(C4ISR)體系結(jié)構(gòu) o 開(kāi)放組織體系結(jié)構(gòu)框架(TOGAF)關(guān)于作者 Kishore Channabasavaiah 獲得了印度 Bangalore 大學(xué)機(jī)械工程學(xué)士學(xué)位。他現(xiàn)在是 IBM 全球服務(wù)芝加哥創(chuàng)新中心(Chicago Innovation Center of IBM Global Services)的執(zhí)行架構(gòu)師。他專門(mén)從事 Web 服務(wù)和端到端解決方案的研究,為電子商務(wù)的集成解決方案提供思想指導(dǎo)。目前,他側(cè)重于 Web 應(yīng)用程序的解決方案、技術(shù)解決方案評(píng)論、Web 服務(wù)、面向服務(wù)的體系結(jié)構(gòu)和普及計(jì)算(Pervasive Computing)。您可以通過(guò) kishorec@ 與 Kishorec 聯(lián)系。Kerrie Holley 獲得了 DePaul 大學(xué)數(shù)學(xué)文學(xué)學(xué)士學(xué)位和法學(xué)博士學(xué)位。他現(xiàn)在是 IBM Global Services 的杰出工程師和電子商務(wù)集成解決方案首席架構(gòu)師。在電子商務(wù)集成解決方案方面,他提供 Web 服務(wù)實(shí)踐的思想領(lǐng)導(dǎo)。他目前主要從事軟件工程最佳實(shí)踐、端到端高級(jí) Web 開(kāi)發(fā)、自適應(yīng)的企業(yè)體系結(jié)構(gòu)、體系結(jié)構(gòu)評(píng)論、Web 服務(wù)和面向服務(wù)的體系結(jié)構(gòu)。您可以通過(guò) klholley@ 與 Kerrie 聯(lián)系。Edward M. Tuggle, Jr. 獲得了俄克拉何馬州大學(xué)數(shù)學(xué)理學(xué)士學(xué)位,目前是 IBM Software Group jStart Emerging Technology Solutions team 的高級(jí)軟件工程師。他在 IBM 從事操作系統(tǒng)設(shè)計(jì)、開(kāi)發(fā)和維護(hù)工作有23年,在過(guò)去的6年里研究的是 Java 技術(shù)和其他新興技術(shù)。現(xiàn)在,Edward 專攻 Web 服務(wù)和面向服務(wù)的體系結(jié)構(gòu)。您可以通過(guò) b391747@ 與 Edward 聯(lián)系。遷移到面向服務(wù)的體系結(jié)構(gòu),第 2 部分英文原文內(nèi)容:服務(wù)的性質(zhì)解決前面的問(wèn)題體系結(jié)構(gòu)中的集成需求部署面向服務(wù)的體系結(jié)構(gòu)的好處未來(lái) —— 新模型,新需求總結(jié)參考資料關(guān)于作者相關(guān)內(nèi)容:Web Services 體系結(jié)構(gòu)和最佳實(shí)踐遷移到面向服務(wù)的體系結(jié)構(gòu),第 1 部分在 Web 服務(wù)專區(qū)還有:教學(xué)工具與產(chǎn)品所有的文章簡(jiǎn)介和概述(繼續(xù)) 級(jí)別:中級(jí)Kishore Channabasavaiah,執(zhí)行架構(gòu)師,IBM Global ServicesKerrie Holley,杰出工程師,電子商務(wù)集成解決方案首席架構(gòu)師,IBM Global ServicesEdward M. Tuggle, Jr.,高級(jí)軟件工程師,IBM Software Group2004 年 1 月這是一系列文章的第二部分。這一系列文章旨在幫助您更好地理解面向服務(wù)的體系結(jié)構(gòu)(SOA)的價(jià)值,制訂出一個(gè)實(shí)際的計(jì)劃來(lái)評(píng)估您現(xiàn)在的基礎(chǔ)架構(gòu),并把它轉(zhuǎn)變成一個(gè)真正的面向服務(wù)的體系結(jié)構(gòu)。其目的在于,當(dāng)您讀完本文時(shí),您將理解為什么聲稱 SOA 是把現(xiàn)有資產(chǎn)帶到未來(lái)的最好的平臺(tái),同時(shí)也使得迅速而正確地開(kāi)發(fā)未來(lái)的程序成為可能。另外,您將對(duì)在計(jì)劃這樣一次遷移的過(guò)程中主要考慮的事項(xiàng)有更好的理解。這一系列文章的第一部分描述了推動(dòng)考慮 SOA 的動(dòng)力和這樣的一個(gè)體系結(jié)構(gòu)的需求?,F(xiàn)在,第二部分將繼續(xù)討論服務(wù)和接口。服務(wù)的性質(zhì)什么是服務(wù)?如前所述,在一個(gè)典型的業(yè)務(wù)環(huán)境里,服務(wù)意味著業(yè)務(wù)函數(shù)、業(yè)務(wù)事務(wù)和系統(tǒng)服務(wù)。業(yè)務(wù)函數(shù)可能是 getStockQuote、getCustomerAddress 或 checkCreditRating。業(yè)務(wù)事務(wù)可能是 mitInventory、sellCoveredOption 或 scheduleDelivery。系統(tǒng)服務(wù)可能是 logMessageIn、getTimeStamp 或 openFile。請(qǐng)注意各種類型服務(wù)之間的區(qū)別。從應(yīng)用程序的角度來(lái)看,業(yè)務(wù)函數(shù)實(shí)際上是原子的非系統(tǒng)函數(shù)。業(yè)務(wù)事務(wù)很像是調(diào)用應(yīng)用程序的簡(jiǎn)單函數(shù),但是它們可能是作為自己的事務(wù)的上下文所包含的復(fù)合函數(shù)來(lái)實(shí)現(xiàn)的。它們可能包括多個(gè)底層函數(shù),這些底層函數(shù)對(duì)調(diào)用者來(lái)說(shuō)是透明的。系統(tǒng)函數(shù)是能夠從諸如 Windows 或者 Linux 這樣的特定平臺(tái)中抽象出來(lái)的廣義函數(shù)。應(yīng)用程序框架可能提供像 openFile 這樣的廣義函數(shù)來(lái)有效地虛擬化數(shù)據(jù)源,從而可以在不考慮真實(shí)數(shù)據(jù)源的類型和位置的情況下使用這類函數(shù)。 這看起來(lái)像人為地規(guī)定服務(wù)之間的區(qū)別;您可以從應(yīng)用程序的角度斷言,所有的服務(wù)都是原子的,而與它是業(yè)務(wù)服務(wù)還是系統(tǒng)服務(wù)無(wú)關(guān)。做出這樣的區(qū)別僅僅是為了引入粒度這個(gè)重要的概念。將業(yè)務(wù)程序分解成服務(wù)不僅僅是一個(gè)抽象的過(guò)程;它具有非常真實(shí)的現(xiàn)實(shí)含義。根據(jù)定義,服務(wù)可能是低級(jí)(細(xì)粒度的)函數(shù),也可能是復(fù)雜的高級(jí)(粗粒度的)函數(shù),并且在性能、靈活性、可維護(hù)性和可重用性方面都有很現(xiàn)實(shí)的折衷選擇。定義服務(wù)的過(guò)程通常是在更大的作用域(應(yīng)用程序框架的作用域)內(nèi)完成的。這才是必須做的實(shí)際工作:也就是開(kāi)發(fā)基于組件的應(yīng)用程序框架,其中,服務(wù)定義為一組可重用的組件,而這些組件又可以用來(lái)構(gòu)建新的應(yīng)用程序或集成現(xiàn)有的軟件資產(chǎn)。 現(xiàn)在,可以獲得很多這樣的框架;在 IBM,一些像 EWA、JADE 和 Struts (來(lái)自 Jakarta)的這樣的框架正用在客戶集成場(chǎng)景中。以 EWA (讀作“Eva”) 為例(它來(lái)自 IBM Software Group Advanced Technology Solutions 組),在一個(gè)較高的層次上,框架看起來(lái)如 圖 1 所示。在這個(gè)框架中,配置定義了一個(gè)應(yīng)用程序,描述了該應(yīng)用程序的組件以及它們調(diào)用的順序和方法。以源中立的方式接收輸入并將其傳送到應(yīng)用程序。因此,舉例來(lái)說(shuō),用現(xiàn)有的 ATM 訪問(wèn)將因特網(wǎng)連接添加到一個(gè)銀行應(yīng)用