• <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>
            隨筆 - 181, 文章 - 2, 評論 - 85, 引用 - 0
            數(shù)據(jù)加載中……

            留言接受貼!有什么想說的都在這個帖子上回復(fù)吧!

            Welcome

            posted @ 2006-04-21 20:31 wsdfsdf 閱讀(260) | 評論 (3)編輯 收藏

            大賽推薦文章之二-----下一代模型驅(qū)動開發(fā)

            本文跟蹤了IBM Rational 自動化建模工具的發(fā)展歷程,描述了IBM Rational Software Architect的高級能力,并且?guī)椭x者決定他們是否可以從過渡到這個工具而獲利。另外,文章中也討論了在 IBM基于 Eclipse的軟件開發(fā)平臺(Software Development Platform)中使用集成工具的優(yōu)勢。

            在2004年10月, IBM 發(fā)布了 IBM? Software Development Platform, 包括新一代的建模和模型驅(qū)動開發(fā) (MDD) 工具。IBM Rational? Software Architect是該次發(fā)布的設(shè)計和構(gòu)建的中心,是一個為了建立構(gòu)架良好的應(yīng)用和服務(wù),與 Unified Modeling Language (UML)一起支持MDD的廣泛的、集成的設(shè)計和開發(fā)產(chǎn)品。

            Rational Software Architect 支持使用現(xiàn)代軟件工業(yè)技術(shù)的應(yīng)用和Web 開發(fā)(靜態(tài)的和動態(tài)的),包括:

            • Java 2, Enterprise Edition? (J2EE) 和 Web services 技術(shù)
            • 對象管理組織 (OMG)的模型驅(qū)動體系架構(gòu) (MDA) 和面向服務(wù)的體系架構(gòu) (SOA)
            • JavaServer? Faces (JSF)支持快速應(yīng)用開發(fā)的能力
            • 支持基于資產(chǎn)開發(fā)的可重用資產(chǎn)規(guī)范 (RAS)

            Rational Software Architect包括IBM Rational Application Developer for WebSphere Software (IBM WebSphere? Studio Application Developer產(chǎn)品的最新版本) 的所有能力,并且將他們增加到MDD技術(shù)中。結(jié)果:打包在單個產(chǎn)品中的一個集成的設(shè)計和開發(fā)解決方案。

            本文的目的是從發(fā)展演化的角度來討論Rational Software Architect,這是一個支持顯著區(qū)別于那些由先前MDD產(chǎn)品支持的工作流和使用情景的下一代MDD產(chǎn)品。請注意這并不是Rational Software Architect的使用指南;IBM Rational計劃不久將出版一部指南。

            IBM Rational 建模工具的演化

            為了理解Rational Software Architect 建模產(chǎn)品演化的規(guī)模,讓我們簡單回顧IBM Rational產(chǎn)品在這個方面的歷史。

            Rational Rose

            IBM Rational Rose? 軟件已經(jīng)并且繼續(xù)成為一個市場主導(dǎo)的可視化建模工具。它是一個獨(dú)立的工具,在應(yīng)用程序接口(API)層與市場主導(dǎo)的IDE結(jié)合,來支持各種編程語言和其它實現(xiàn)技術(shù)。然而,盡管Rational Rose已取得一定的成功,也推進(jìn)了UML建模實踐,但是仍然只有一小部分開發(fā)人員按照規(guī)定使用建模,Rational也已經(jīng)嘗試培訓(xùn)更多的人員。但是大多開發(fā)人員不想放棄他們的IDE而去使用額外的工具;他們想將可視化建模集成在IDE里面。

            Rational XDE

            為了滿足這個需要,在2002年,IBM Rational推出了Rational XDE?軟件,為當(dāng)時出現(xiàn)的編程技術(shù)(Java 和 Microsoft .NET)提供了一個擴(kuò)展的開發(fā)環(huán)境。我們把Rational XDE看成Rational Rose的下一代;嚴(yán)格地說,它并不是新版本的Rose(因而名字發(fā)生了變化),而且也未必取代Rose,因為我們有目的地限制Rational XDE只支持一定的IDE和實現(xiàn)技術(shù)。

            通過將Rational XDE構(gòu)造成流行IDE的插件,我們鼓勵大量開發(fā)人員采用建模和模型驅(qū)動開發(fā)。Rational XDE通過支持功能強(qiáng)大的引擎,允許基于模式的開發(fā),也推進(jìn)了MDD的發(fā)展;另外,也使得軟件設(shè)計層復(fù)用達(dá)到一個新的高度。之后加入了具體的定制化的能力,為IBM Rational對 MDA提供了早期的支持((請參見下面的"對于模型驅(qū)動的體系結(jié)構(gòu)的支持")。

            2003年10月,合并到IBM之后,我們將Rational Rose 和 Rational XDE產(chǎn)品線加固到一個家族 -- IBM Rational Rose XDE Developer -- 這樣,無論用戶傾向于使用獨(dú)立的建模工具還是一個直接集成在他們IDE的工具,他們都可以購買工具包,并根據(jù)自己的需要進(jìn)行安裝。

            與Eclipse前所未有的結(jié)合的機(jī)會

            即使在IBM并購Rational軟件之前,這兩個組織也是合作伙伴,致力于開發(fā)新的、更強(qiáng)大的方法來將MDD的能力集成進(jìn)Eclipse框架和基于Eclipse的IDE 。這項工作早期的成果是在2003年添加到WebSphere Studio Application Developer中的輕量級作用的代碼可視化和可視化編輯特性,這些特性是開發(fā)Java實施層模型的非常有效的方法。

            該技術(shù)現(xiàn)在是IBM開發(fā)MDD工具的基礎(chǔ)。不再是簡單地與Eclipse集成,我們正在Eclipse之上構(gòu)建新的MDD能力。這為Java 和 C/C++開發(fā)提供了前所未有的支持,也為集成其它生命周期工具提供了全新的能力。我們在2004年10月發(fā)布了新的工具,基于Eclipse的IBM Software Development Platform的遠(yuǎn)景逐漸變成現(xiàn)實。我們現(xiàn)在提供了軟件開發(fā)的完整的集成平臺,充分滿足開發(fā)團(tuán)隊中每個角色的需要。軟件開發(fā)可以真正成為一個核心業(yè)務(wù)流程,為我們的客戶提供競爭的優(yōu)勢,新的收益和市場機(jī)會。

            使用Eclipse我們現(xiàn)在能夠為建模產(chǎn)品實現(xiàn)更深入和廣泛的集成。我們能夠影響基于角色的用戶接口和工具擴(kuò)展性;能夠更好地將建模與生命周期的其它方面集成,比如需求管理。Rational Software Architect將先前定義的建模、開發(fā)和代碼分析的實踐轉(zhuǎn)換成集成的、統(tǒng)一的設(shè)計和開發(fā)經(jīng)驗。在一個開放,而不是專有的環(huán)境中工作,所有的用戶都可以更容易地根據(jù)需要定制他們的產(chǎn)品。







            Rational Software Architect:集成的設(shè)計和開發(fā)

            我們這個新的、基于Eclipse的Rational Software Architect是一個完整的設(shè)計和開發(fā)工具解決方案。如同我們前面所提及,它包括Rational Application Developer for WebSphere Software (WebSphere Studio Application Developer的新版本) 的所有能力,擁有代碼可視化和可視化編輯特性;它是客戶開始使用MDD的一個很好的入口。另外,它還包括Rational Web Developer for WebSphere Software (以前的 WebSphere Studio Site Developer) 全部的、更新的能力。

            Rational Software Architec在Rational Application Developer的特性上構(gòu)建,增加了對MDD的全力支持,包括UML 2建模、代碼生成、模式、模型轉(zhuǎn)換,以及實現(xiàn) MDA開發(fā)風(fēng)格的新途徑。它并不是一個全新的產(chǎn)品,是特別為想要應(yīng)用MDD的客戶而設(shè)計的,展示了自然的演化和在IBM Rational工具中已擁有的能力。它特別為試圖廣泛應(yīng)用MDD的用戶而打包。

            結(jié)構(gòu)檢查和控制

            我們已經(jīng)從客戶處了解到,無論你將應(yīng)用系統(tǒng)設(shè)計和構(gòu)建得多么好,也總會在實現(xiàn)階段經(jīng)歷代碼層的演化,出現(xiàn)未檢查的現(xiàn)象,最終導(dǎo)致架構(gòu)性能的降低,嚴(yán)重影響軟件的質(zhì)量。

            針對這個現(xiàn)象,軟件架構(gòu)師在實現(xiàn)之前檢查已有的代碼,以評估其真實的體系結(jié)構(gòu)和質(zhì)量。做這項工作的過程中,他們往往發(fā)現(xiàn)各種各樣的問題:從設(shè)計到代碼的不正確映射;代碼級的改變引起設(shè)計和架構(gòu)的依賴;編碼標(biāo)準(zhǔn)、規(guī)則和樣式方面不規(guī)范等。最終,應(yīng)用系統(tǒng)的架構(gòu)是由部署的代碼來呈現(xiàn)的,所以軟件架構(gòu)師必須分析代碼,以估計它的可維護(hù)性,并且在規(guī)則的輔助下,掌握架構(gòu)的演化。

            為了給這樣的分析提供更自動的支持,Rational Software Architect引入了"Java 應(yīng)用結(jié)構(gòu)的檢查和控制"特性。它支持基于模板的規(guī)則,并且使用高級別的軟件可視化技術(shù),允許用戶看到J2EE 和 J2SE實現(xiàn)的架構(gòu)。用戶可以更容易地發(fā)現(xiàn)架構(gòu)的不足之處,或者"反模式",比如循環(huán)依賴、集線器之類的一些已逐漸加入到應(yīng)用程序源代碼中的問題。

            通過代碼可視化和開發(fā)人員級別的測試,進(jìn)行自動結(jié)構(gòu)的檢查和控制之后,軟件架構(gòu)師能夠顯著地提高他們所設(shè)計和部署的應(yīng)用系統(tǒng)的質(zhì)量。我們在Rational Software Architect中引入的先進(jìn)特性將開始改變架構(gòu)師和開發(fā)人員考慮開發(fā)過程的方法。

            運(yùn)行時支持和語言支持

            客戶已經(jīng)告訴我們,在應(yīng)用的運(yùn)行時支持環(huán)境中設(shè)計和開發(fā)工具所扮演的重要角色。Rational Software Architect在WebSphere應(yīng)用服務(wù)器上為Java應(yīng)用提供了極大的運(yùn)行時支持;它也允許由開放工業(yè)標(biāo)準(zhǔn)支持的Java虛擬機(jī)和數(shù)據(jù)相互操作性的多平臺執(zhí)行支持。此外,因為Rational Software Architect 包括支持BEA WebLogic Server的Rational Application Developer,所以,使用Rational Software Architect部署的應(yīng)用也是隱式的多平臺。Eclipse C/C++ Development Tool (CDT)作為IBM Rational Software Architect的一部分而打包在內(nèi),同時也擴(kuò)展了對C和C++開發(fā)的支持。基于Eclipse的解決方案允許我們在Rational Software Architect中復(fù)用一些特性,來支持上述語言和JAVA中的MDD。

            培養(yǎng)現(xiàn)代建模生態(tài)系統(tǒng)

            我們最近了所發(fā)布了一系列Rational Software Architect,為不需要代碼生成或者可視化的用戶著重建模和設(shè)計這兩方面。Rational Software Modeler支持UML 2的所有建模特性,并且通過Eclipse Modeling Framework (EMF)提供高級擴(kuò)展的特性。Eclipse框架的開放性和健壯的擴(kuò)展性使Rational Software Modeler適合支持曾為Rational Rose的成功作出一些貢獻(xiàn)的、支持與生態(tài)系統(tǒng)類似的客戶和第三方擴(kuò)展的建模"生態(tài)系統(tǒng)"。

            Rational Software Architect 和 Rational Software Modeler只是IBM Software Development Platform之后闡明策略的兩個實例:幫助業(yè)務(wù)自動化并集成軟件開發(fā)。我們希望各角色的實踐者都能夠擁有他們所創(chuàng)建和獲得的單一的用戶體驗,通用的定義和資產(chǎn)的管理。團(tuán)隊的每個人都能夠簡單地選擇與他們角色和責(zé)任相匹配的產(chǎn)品。IBM Software Development Platform是關(guān)于團(tuán)隊和組織生產(chǎn)率的。

            對模型驅(qū)動架構(gòu)的支持

            MDD為使用模型開發(fā)軟件展示了許多風(fēng)格,其中,模型驅(qū)動體系架構(gòu)(MDA)是由對象管理組織 (OMG).1創(chuàng)建的。MDA基于一些OMG標(biāo)準(zhǔn)之上,包括Unified Modeling Language (UML 2),以及涌現(xiàn)出來的關(guān)于如何最好地將建模應(yīng)用到軟件開發(fā)過程的哲理。MDA在抽象層定義了模型,然后定義映射和管理模型與各種實現(xiàn)技術(shù)之間關(guān)系的轉(zhuǎn)換。以下是一些有用的MDA建模層的定義:

            • 計算無關(guān)模型 (Computation-Independent Model , CIM) - 不考慮結(jié)構(gòu)或者處理的情況下,處理系統(tǒng)環(huán)境和需求。
            • 平臺無關(guān)模型 (Platform-Independent Model , PIM) - 不考慮與特定平臺相關(guān)的細(xì)節(jié),處理系統(tǒng)的操作。
            • 平臺相關(guān)模型 (Platform-Specific Model, PSM) - 將PIM和與特定平臺相關(guān)的細(xì)節(jié)結(jié)合起來。
            • 平臺模型 (Platform Model, PM) - 對于使用 PIM 定義組成特定平臺的技術(shù)概念、元素和服務(wù)。
            • 轉(zhuǎn)化模型(Transformation Model, TM)- 定義并指定從特定PIM轉(zhuǎn)換到PSM所需的轉(zhuǎn)換。

            盡管MDA并不是一個標(biāo)準(zhǔn),它明確提倡使用一些已有的OMG標(biāo)準(zhǔn)。MDA指定了:

            • Meta-Object Facility (MOF)用于定義元模型。
            • UML 2用于指定應(yīng)用開發(fā)模型和轉(zhuǎn)化。
            • MOF Query / View / Transform (QVT)用于指定轉(zhuǎn)化(一旦它被規(guī)范化)。

            一些客戶稱他們已經(jīng)在應(yīng)用MDA很長時間,并且IBM Rational員工與他們中的許多一起工作 - 以及OMG - 將MDA演化成當(dāng)前狀態(tài)。Rational Software Architect支持MDA的理論,也支持MDA建立的基本標(biāo)準(zhǔn)。

            但是,我們不能將Rational Software Architect歸為一個MDA工具,因為在某種程度上,MDA并不是一個標(biāo)準(zhǔn),而且仍有一些爭論。更重要的是,Rational Software Architect實際上支持一系列以代碼為中心的、基于向?qū)У脑O(shè)計和開發(fā)范例。換而言之,它支持MDA及其它的開發(fā)風(fēng)格。







            Rational Software Architect是否適合于你?

            Rational Software Architect是IBM用于建模和模型驅(qū)動開發(fā)的最完整、最健壯的解決方案。但是它是否適合你?以下選擇將幫助你回答這個問題。

            你是否從事軟件架構(gòu)的工作?

            我們近期發(fā)布的產(chǎn)品區(qū)分軟件架構(gòu)師與軟件開發(fā)人員,以及軟件架構(gòu)師與數(shù)據(jù)架構(gòu)師這幾個角色。例如,這個更大的粒度反映在高度面向角色的IBM Software Development Platform的所有工具中。構(gòu)建進(jìn)我們產(chǎn)品名稱中的角色定義和區(qū)別可以幫助用戶基于他們的活動和責(zé)任,決定哪些工具最好地適合于不同的員工。但是,角色名字在企業(yè)、組織甚至項目線中變化,所以你應(yīng)該把我們新產(chǎn)品的名稱當(dāng)作決定什么工具對開發(fā)團(tuán)隊的哪些人員最有用的起點(diǎn)。

            軟件架構(gòu)師是開發(fā)團(tuán)隊中負(fù)責(zé)作出主要技術(shù)決定的人員。有時,是由一個人來負(fù)責(zé),而這個人常常是項目的開發(fā)的領(lǐng)導(dǎo)人;有時,幾個人,可能有一個來充當(dāng)主要架構(gòu)師,共同來承擔(dān)這個角色;還有的時候,團(tuán)隊的所有開發(fā)人員在架構(gòu)能力的同一時間操作-一個增長的趨勢。經(jīng)常地,較之他們的工作職位,架構(gòu)師的概念往往與開發(fā)者關(guān)聯(lián)更多些。

            軟件架構(gòu)師的職責(zé)包括識別并記錄應(yīng)用架構(gòu)的方面,包括需求、設(shè)計、實現(xiàn)和部署。這些方面需要不同的,但相關(guān)的應(yīng)用視圖。當(dāng)然,在開始的架構(gòu)設(shè)計和實際構(gòu)建架構(gòu)(真正在代碼中運(yùn)行的架構(gòu))之間也有區(qū)別。我們認(rèn)為軟件架構(gòu)師需要一個幫助他們定義所需架構(gòu)的工具,允許他們發(fā)現(xiàn)應(yīng)用系統(tǒng)的真實架構(gòu),并且?guī)椭麄儏f(xié)調(diào)兩種視圖。

            Rational Software Architect能夠完成這些所有的工作。它包括開發(fā)和查看實現(xiàn)中的幫助,以及維護(hù)和控制實現(xiàn)來保持架構(gòu)集成。

            如同我們上面所提到的,做架構(gòu)工作的人員往往并不是架構(gòu)師。可以從使用Rational Software Architect過程中獲益的團(tuán)隊人員有:

            • 需要開發(fā)代碼的軟件架構(gòu)師。
            • 需要理解并參與代碼和模型工作的開發(fā)人員。
            • 想要充分應(yīng)用MDD能力的人員
            • 那些負(fù)責(zé)檢查和確認(rèn)已有的架構(gòu)或者想要看到架構(gòu)演化的實施過程的人員
            • 想在Eclipse 之上應(yīng)用MDD的C++開發(fā)人員。

            請記著,Rational Software Architect包括Rational Application Developer的全部能力,一個完全的IDE。客戶得到打包進(jìn)一個產(chǎn)品的完整的設(shè)計和構(gòu)建解決方案。針對那些要求UML 2建模能力而不需開發(fā)架構(gòu)的用戶,我們提供了Rational Software Modeler。

            你是否使用IBM Rational的其它建模產(chǎn)品?

            如果你已在使用IBM Rational軟件,建議你有必要時,考慮移植到Rational Software Architect 或者 Rational Software Modeler。這些新產(chǎn)品的優(yōu)點(diǎn)包括:

            • Eclipse 集成
            • 通過EMF的高級建模和工具擴(kuò)展性。
            • 更容易使用。
            • UML 2, 最新的建模技術(shù)。
            • Rational Software Architect中的新的結(jié)構(gòu)檢查和控制特性。
            • Eclipse之上,使用C++的MDD。
            • 建立復(fù)雜轉(zhuǎn)化的能力。
            • 以靜態(tài)次序圖表方法可視化代碼的能力。
            • 代碼檢查的能力。
            • 在Rational Software Architect中使用Java IDE和MDD工具。

            如果你的團(tuán)隊當(dāng)前在使用Rational Rose 或者 Rational XDE,那么對你而言,移植到Rational Application Developer也是有道理的。WebSphere Studio Application Developer的代碼可視化和可視化編輯特性已升級到UML 2并且在Rational Application Developer中繼續(xù)存在。盡管它不支持通用建模或者完全的MDD,卻支持UML入門級的使用。如果你正使用Rational Rose 或者 Rational XDE,主要為了從代碼中截取圖形文檔,那么這個級別的UML支持就有可能滿足了你的需要。

            對于Java和Web開發(fā),我們鼓勵用戶從當(dāng)前建模工具過渡到Rational Software Architect。除了移植到基于Eclipse的工具的技術(shù)優(yōu)勢,IBM還提供了一系列移植和升級的途徑。請參照http://www-306.ibm.com/software/awdtools/architect/swarchitect/support/index.html 以了解最新升級的支持信息。

            posted @ 2006-04-21 19:46 wsdfsdf 閱讀(286) | 評論 (0)編輯 收藏

            大賽推薦文章之一-----以服務(wù)為中心的企業(yè)整合

            引言

            本文討論企業(yè)整合(集成)的新發(fā)展:以服務(wù)為中心的集成(Service-Oriented Integration,簡稱 SOI)。 您將了解到什么是 SOI,推動 SOI 發(fā)展的因素以及SOI 帶來的價值。作者討論了 SOI 解決方案所涉及的要素,和這些要素相關(guān)的技術(shù)、標(biāo)準(zhǔn)以及IBM的產(chǎn)品支持,最后作為總結(jié)將它們包括在 IBM 的集成參考架構(gòu)中,指出如何實現(xiàn)各種集成需求。本文還討論了在企業(yè)集成實踐中需要重點(diǎn)注意的事情,如戰(zhàn)略規(guī)劃和IT管理。本文的姊妹篇"以服務(wù)為中心的企業(yè)整合-案例分析",用一個實際案例來說明基于 IBM 產(chǎn)品的實際 SOI 應(yīng)用,幫助讀者感性地理解 SOI。







            1. 企業(yè)集成的新方向: SOI

            什么是"以服務(wù)為中心的集成"?

            "以服務(wù)為中心的集成"是英文詞語"Service-Oriented Integration"的中文翻譯,簡稱 SOI。 它可以定義為:在"以服務(wù)為中心的體系架構(gòu)"(Service-Oriented Architecture,SOA)中,通過服務(wù)的交互來集成各企業(yè)的 IT 資源,如分布的應(yīng)用或者數(shù)據(jù),幫助企業(yè) IT 部門將已有但老舊而不靈活的系統(tǒng)集成起來,釋放其中功能或數(shù)據(jù)為可重用的服務(wù)與業(yè)務(wù)流程。

            為什么需要"以服務(wù)為中心的集成"?

            企業(yè)集成的推動因素。推動"企業(yè)應(yīng)用集成"(Enterprise Application Integration, EAI )的因素,來自商務(wù)和技術(shù)兩個方面。從商務(wù)的角度,今天企業(yè)要在全球化的經(jīng)濟(jì)環(huán)境中求生存和發(fā)展,就必須努力適應(yīng)越來越強(qiáng)的競爭和越來越快的變化,這意味著一個企業(yè)的業(yè)務(wù)模型要變得靈活以快速應(yīng)變,也就是隨需應(yīng)變。在一個企業(yè)的業(yè)務(wù)模型變得靈活的轉(zhuǎn)型過程中,需要將業(yè)務(wù)流程不斷地自動化,然后跨部門橫向集成它們,并且管理和優(yōu)化它們,這意味著支撐這些流程的技術(shù)基礎(chǔ),即 IT 應(yīng)用和數(shù)據(jù)資源等,需要在企業(yè)范圍內(nèi)集成。所以,業(yè)務(wù)靈活應(yīng)變的能力是 SOI 的驅(qū)動因素之一。

            在技術(shù)方面,IT 部門面臨著業(yè)務(wù)部門越來越高的期望值,就是用更少的錢做更多的事情,但要做得更快、更好,這迫使 IT 部門考慮如何最大程度地重用已有應(yīng)用的功能和數(shù)據(jù)資源,來支持新應(yīng)用的開發(fā)。但這種重用面臨著如何將高度異構(gòu)、分布的各個應(yīng)用集成起來的難題,SOI是目前最有效的解決之道。在 SOI 中,首先各個應(yīng)用的功能被封裝為基于標(biāo)準(zhǔn)來描述和供訪問的服務(wù);其次,借助于 SOI 的通用連接能力,這些來自不同應(yīng)用的服務(wù),不需要關(guān)心對方的位置和實現(xiàn)技術(shù),以松散耦合的方式相互交互來完成集成,所以只要服務(wù)的接口描述不變,服務(wù)的使用者和提供者雙方可以自由發(fā)生變化而互不影響;最后,通過服務(wù)組合,服務(wù)可以按不同的方式來組合成為不同的業(yè)務(wù)流程。當(dāng)某個業(yè)務(wù)流程發(fā)生變化的時候,大多數(shù)時候,我們調(diào)整組裝服務(wù)的方式來滿足這種變化。總之,這種通過重用粗粒度服務(wù)而不是在底層編程來開發(fā)新應(yīng)用以滿足業(yè)務(wù)新需求的方法,使得 IT 組織能夠以更少的投入、更快的速度、更好的質(zhì)量來開發(fā)應(yīng)用。綜上所述,可以靈活應(yīng)變的重用方式,是 SOI 的另一個驅(qū)動因素。

            集成解決方案的發(fā)展沿革。集成企業(yè)應(yīng)用的方法各種各樣,初級一點(diǎn)的借助于簡單的機(jī)制如應(yīng)用編程接口,管道、共享目錄和文件,或者某些傳輸協(xié)議如 FTP 來交換數(shù)據(jù)和互操作;高級一點(diǎn)的則使用各種消息中間件來提供消息的傳輸、轉(zhuǎn)換、合并、路由和分發(fā)、事件的發(fā)布和訂閱等;分布式計算技術(shù),如 CORBA,COM 等,也有較廣的使用。

            在初期實踐中,應(yīng)用之間的連接拓?fù)浯蠖鄶?shù)情況下是點(diǎn)對點(diǎn)的,硬編碼的,所使用的協(xié)議是非標(biāo)準(zhǔn)的,功能的提供者和使用者之間是緊耦合的,功能的粒度通常較細(xì),數(shù)據(jù)的表示也不統(tǒng)一。隨著集成復(fù)雜度的增長,和實踐經(jīng)驗的總結(jié),開始出現(xiàn)一些從好的實踐中總結(jié)出來的集成模式,如消息中樞(Message Backbone)、信息總線、應(yīng)用集成中心(Application Integration Hub),這些模式從不同的角度以不同的方式來管理集成的復(fù)雜性,但都或多或少地嘗試提供一個集成基礎(chǔ)設(shè)施來簡化應(yīng)用之間日趨復(fù)雜的連接拓?fù)洌峁┊悩?gòu)數(shù)據(jù)和功能訪問方式之間的轉(zhuǎn)換,甚至提供一致的數(shù)據(jù)和功能表示與訪問方式。通過元數(shù)據(jù)和應(yīng)用相關(guān)的領(lǐng)域知識,這些集成基礎(chǔ)實施提供了很多中介和轉(zhuǎn)換的機(jī)制與模式來實現(xiàn)高級的功能,如路由、動態(tài)選擇等能力。

            隨著互聯(lián)網(wǎng)絡(luò)技術(shù)的發(fā)展、普及和應(yīng)用,相關(guān)技術(shù)和標(biāo)準(zhǔn),如 XML 和 Web Service,被廣為接受,這給應(yīng)用集成帶來了新的發(fā)展。企業(yè)應(yīng)用架構(gòu)的風(fēng)格開始朝著以服務(wù)為中心的方向發(fā)展,而企業(yè)應(yīng)用集成也轉(zhuǎn)向以服務(wù)為中心的集成,服務(wù)的描述和訪問基于開放一致的標(biāo)準(zhǔn)(如 WSDL),連接應(yīng)用的基礎(chǔ)設(shè)施繼承了過去發(fā)展的成果,并通過支持開放標(biāo)準(zhǔn),來提供通用的連接服務(wù),包括基本的服務(wù)如消息傳輸、轉(zhuǎn)換,事件的發(fā)布和訂閱,服務(wù)的中介(選擇、路由),和高級的服務(wù)如安全、事務(wù)、服務(wù)質(zhì)量,以及可管理性,來使得服務(wù)在一個標(biāo)準(zhǔn)、開放、可靠、安全、可管理、滿足服務(wù)質(zhì)量要求的環(huán)境下,以松散耦合的方式相互交戶,根據(jù)需求動態(tài)地進(jìn)行企業(yè)應(yīng)用集成,達(dá)成非常高程度的靈活應(yīng)變能力和重用能力。SOI 是對現(xiàn)有集成技術(shù)與實踐的總結(jié)和標(biāo)準(zhǔn)化。

            SOI 的好處。SOI 繼承和發(fā)展了傳統(tǒng)的 EAI,比較而言,SOI 的好處在于:

            • 定義良好而又基于標(biāo)準(zhǔn)的接口 - 服務(wù)的描述易于理解,而且標(biāo)準(zhǔn)一致
            • 實現(xiàn)技術(shù)和位置的透明 - 提供服務(wù)功能的應(yīng)用,它的位置以及所使用的實現(xiàn)技術(shù)被接口所屏蔽,事實上,不需要一個固定的服務(wù)提供者
            • 靈活性 - 只要服務(wù)的接口不變,服務(wù)的提供者和服務(wù)的使用者都可以變化而不影響彼此,從而將變化帶來的影響減少到了最少
            • 重用能力
            • 漸進(jìn)式集成 - 在 SOI 中,通過將若干已有系統(tǒng)的相關(guān)功能轉(zhuǎn)化為服務(wù)來進(jìn)行集成。隨著這些項目的進(jìn)行,可重用的服務(wù)越來越多,最終,新的集成需求將絕大多數(shù)可以通過已有的服務(wù)來完成。所以,我們可以從當(dāng)前重要的集成需求開始來封裝已有系統(tǒng)的功能和開發(fā)必要的新服務(wù),以漸進(jìn)的方式逐步地擴(kuò)展到整個企業(yè)范圍內(nèi)的集成。更重要的是,由于服務(wù)的靈活性,即使已有系統(tǒng)遷移到新的技術(shù)平臺,甚至是被替代,都不會影響到依賴于這個應(yīng)用所提供功能的那些應(yīng)用,從而保證了集成對變化的適應(yīng)能力,使得業(yè)務(wù)靈活性有一個堅實的基礎(chǔ)。這也意味著從傳統(tǒng)規(guī)模大、投入大、周期長、見效慢、風(fēng)險高、專有技術(shù),轉(zhuǎn)向小步快跑、見效迅速、風(fēng)險低、基于標(biāo)準(zhǔn)的集成方式。這對于如今面對業(yè)務(wù)需求快速變化的 IT 機(jī)構(gòu)來說,SOI 在投入和工程方面的好處,是非常吸引人的






            2. SOI解決方案

            2.1. SOI解決方案的要素

            通常,完整的SOI 解決方案包括如下要素:

            • 代表應(yīng)用的功能和數(shù)據(jù)資源的服務(wù);
            • 提供連接服務(wù)的基礎(chǔ)設(shè)施即企業(yè)服務(wù)總線(Enterprise Service Bus, ESB),連接已有應(yīng)用的連接器(Connector)和適配器(Adapter);
            • 元數(shù)據(jù)及其管理如服務(wù)描述和服務(wù)注冊管理(Service Registry)等;
            • 將服務(wù)組合成業(yè)務(wù)流程的引擎如 BPEL4WS 引擎;
            • 業(yè)務(wù)流程管理和業(yè)務(wù)績效管理的部分;
            • 一個基于標(biāo)準(zhǔn)的編程模型以及支持它的建模、開發(fā)和組裝、測試、部署和管理的端到端工具環(huán)境;

            IBM的 Websphere 業(yè)務(wù)集成參考架構(gòu)(見圖1,以下稱參考架構(gòu))是典型的以服務(wù)為中心的企業(yè)集成架構(gòu),本文接下來的討論都將以此參考架構(gòu)為背景進(jìn)行。



            以服務(wù)為中心的企業(yè)集成采用"關(guān)注點(diǎn)分離"(Separation of Concern)的方法規(guī)劃企業(yè)集成中的各種架構(gòu)元素,同時從服務(wù)視角規(guī)劃每種架構(gòu)元素提供的服務(wù),以及服務(wù)如何被組合在一起完成某種類型的集成。這里架構(gòu)元素提供的服務(wù)既包括狹義的服務(wù)(WSDL描述),也包括廣義的服務(wù)(某種能力)。從服務(wù)為中心的視角看來,企業(yè)集成的架構(gòu)按圖1所示的方式劃分為六大類:

            • 業(yè)務(wù)邏輯服務(wù)(Business Logic Service):包括用于實現(xiàn)業(yè)務(wù)邏輯的服務(wù),和執(zhí)行業(yè)務(wù)邏輯的能力。這其中包括業(yè)務(wù)應(yīng)用服務(wù)(Business Application Service)、業(yè)務(wù)伙伴服務(wù)(Partner Service)以及應(yīng)用和信息資產(chǎn)(Application and Information asset)。
            • 控制服務(wù)(Control Service):包括實現(xiàn)人(people),流程(process)和信息(information)集成的服務(wù),以及執(zhí)行這些集成邏輯的能力。
            • 連接服務(wù)(Connectivity Service):連接服務(wù)通過提供企業(yè)服務(wù)總線提供分布在各種架構(gòu)元素中服務(wù)間的連接性。
            • 業(yè)務(wù)創(chuàng)新和優(yōu)化服務(wù)(Business Innovation and Optimization Service):用于監(jiān)控業(yè)務(wù)系統(tǒng)運(yùn)行時服務(wù)的業(yè)務(wù)性能,并通過及時了解到的業(yè)務(wù)性能和變化,采取措施適應(yīng)變化的市場。
            • 開發(fā)服務(wù)(Development Service):貫徹整個軟件開發(fā)生命周期的開發(fā)平臺,從需求分析,到建模、設(shè)計、開發(fā)、測試,維護(hù)全面的工具支持。
            • IT服務(wù)管理(IT Service Management):支持業(yè)務(wù)系統(tǒng)運(yùn)行的各種基礎(chǔ)設(shè)施管理能力或服務(wù),如安全服務(wù)、目錄服務(wù)、系統(tǒng)管理和資源虛擬化。

            2.2. 連接服務(wù) - 企業(yè)服務(wù)總線

            企業(yè)服務(wù)總線(Enterprise Service Bus),以下簡稱ESB, 是過去消息中間件的發(fā)展,ESB 采用了"總線"這樣一種模式來管理和簡化應(yīng)用之間的集成拓?fù)浣Y(jié)構(gòu),以廣為接受的開放標(biāo)準(zhǔn)為基礎(chǔ)來支持應(yīng)用之間在消息、事件和服務(wù)的級別上動態(tài)地互聯(lián)互通。

            ESB 的基本特征和能力包括:描述服務(wù)的元數(shù)據(jù)和服務(wù)注冊管理;在服務(wù)請求者和提供者之間傳遞數(shù)據(jù),以及對這些數(shù)據(jù)進(jìn)行轉(zhuǎn)換的能力,并支持由實踐中總結(jié)出來的一些模式如同步模式,異步模式等;發(fā)現(xiàn)、路由、匹配和選擇的能力,以支持服務(wù)之間的動態(tài)交互,解耦服務(wù)請求者和服務(wù)提供者。高級一些的能力,包括對安全的支持、服務(wù)質(zhì)量保證、可管理性和負(fù)載平衡等。

            ESB 所提供的基于標(biāo)準(zhǔn)的連接服務(wù),將應(yīng)用中實現(xiàn)的功能或者數(shù)據(jù)資源轉(zhuǎn)化為服務(wù)請求者能以標(biāo)準(zhǔn)的方式來訪問的服務(wù);當(dāng)請求者來請求一個服務(wù)時,ESB 中這種中介轉(zhuǎn)化過程可能簡單到什么也沒有,也可能要很復(fù)雜的中介服務(wù)支持,包括動態(tài)地查找、選擇一個服務(wù),消息的傳遞、路由和轉(zhuǎn)換、協(xié)議的轉(zhuǎn)換。這種中介過程,是 ESB 借助于服務(wù)注冊管理以及問題域相關(guān)的知識(如業(yè)務(wù)方面的一些規(guī)則等)自動進(jìn)行的,不需要服務(wù)請求者和提供者介入,從而實現(xiàn)了解耦服務(wù)請求者和提供者的技術(shù)基礎(chǔ),使得服務(wù)請求者不需要關(guān)心服務(wù)提供者的位置和具體實現(xiàn)技術(shù),雙方在保持接口不變的情況下,各自可以獨(dú)立地演變。

            所以,ESB 采用總線結(jié)構(gòu)模式簡化了應(yīng)用之間的集成拓?fù)洌ㄟ^源自實踐的模式,提供了基于標(biāo)準(zhǔn)的通用連接服務(wù),使得服務(wù)請求者和服務(wù)提供者之間可以以松散耦合、動態(tài)的方式交互,從而在不同層次上使得SOI 解決方案是一個松散耦合、靈活的架構(gòu)。

            需要注意的是,ESB 是一種架構(gòu)模式,不能簡單地等同于特定的技術(shù)或者產(chǎn)品,但實現(xiàn) ESB 確實需要各種產(chǎn)品在運(yùn)行時和工具方面的支持。IBM 有很好的產(chǎn)品支持,運(yùn)行時支持包括 WebSphere ESB 和 WebSphere Message Broker;而工具方面 IBM 則有 WebSphere Integration Developer,支持用戶以圖形界面的方式來完成相關(guān)的開發(fā)任務(wù),如發(fā)布服務(wù),使用各種模式,轉(zhuǎn)換消息,定義路由等等。

            2.3. 業(yè)務(wù)邏輯服務(wù)

            整合已有應(yīng)用 - 應(yīng)用和信息訪問服務(wù)。已有應(yīng)用和信息是實現(xiàn)業(yè)務(wù)邏輯和業(yè)務(wù)數(shù)據(jù)的重要資產(chǎn)。通過集成已有的應(yīng)用和信息將可以在已有企業(yè)系統(tǒng)上實現(xiàn)更多增值服務(wù),所以集成已有應(yīng)用和信息是企業(yè)集成中重要的一環(huán)。

            以服務(wù)為中心的企業(yè)集成通過應(yīng)用和信息訪問服務(wù)(Application and Information Access Service)來實現(xiàn)對已有應(yīng)用和信息集成。它通過各種適配器技術(shù)將已有系統(tǒng)中的業(yè)務(wù)邏輯和業(yè)務(wù)數(shù)據(jù)包裝成企業(yè)服務(wù)總線支持的協(xié)議和數(shù)據(jù)格式。通過企業(yè)服務(wù)總線,這些被包裝起來的業(yè)務(wù)邏輯和數(shù)據(jù)就可以方便的參與上層的業(yè)務(wù)流程,從而已有應(yīng)用系統(tǒng)的能力可以得以繼續(xù)發(fā)揮。這里的已有應(yīng)用包括遺留應(yīng)用、預(yù)包裝的應(yīng)用和各種企業(yè)數(shù)據(jù)存儲。在參考架構(gòu)中,主要有兩類訪問服務(wù):

            • 可接入服務(wù)(On-Ramp Service): 通過各種消息通信模式(單向、請求/應(yīng)答和輪詢)將業(yè)務(wù)邏輯和業(yè)務(wù)數(shù)據(jù)包裝成企業(yè)服務(wù)總線可以訪問的功能。
            • 事件發(fā)現(xiàn)服務(wù)(Event Detect Service) : 提供事件通知服務(wù)將已有應(yīng)用和數(shù)據(jù)中的變化通過事件框架發(fā)布到企業(yè)服務(wù)總線上。

            整合新開發(fā)的應(yīng)用 - 業(yè)務(wù)應(yīng)用服務(wù)。和已有應(yīng)用和數(shù)據(jù)類似,新開發(fā)的應(yīng)用也作為重要的業(yè)務(wù)邏輯成為企業(yè)集成的目標(biāo)。以服務(wù)為中心的企業(yè)集成通過業(yè)務(wù)應(yīng)用服務(wù)(Business Application Service)實現(xiàn)新應(yīng)用集成。一方面業(yè)務(wù)應(yīng)用服務(wù)幫助程序員開發(fā)可重用、可維護(hù)和靈活的業(yè)務(wù)邏輯組件,另一方面,它也提供運(yùn)行時的集成提供對業(yè)務(wù)邏輯組件的自治管理。在參考架構(gòu)中,有三類業(yè)務(wù)應(yīng)用服務(wù):

            • 組件服務(wù)(Component Service):為可重用的組件提供應(yīng)用的運(yùn)行時容器管理服務(wù),如對象持久化、組件安全管理和事務(wù)管理等。
            • 核心服務(wù)(Core Service):提供運(yùn)行時的服務(wù),包括內(nèi)存管理、對象實例化和對象池、性能管理和負(fù)載均衡、可用性管理等。
            • 接口服務(wù)(Interface Service):提供和其他企業(yè)系統(tǒng)集成的接口,如其他企業(yè)應(yīng)用,數(shù)據(jù)庫、消息系統(tǒng)和管理框架。

            整合客戶和業(yè)務(wù)伙伴(B2C/B2B)-伙伴服務(wù)。以服務(wù)為中心的企業(yè)集成通過伙伴服務(wù)提供與企業(yè)外部的B2B的集成能力。因為業(yè)務(wù)伙伴系統(tǒng)的異構(gòu)性,伙伴服務(wù)需要支持多種傳輸協(xié)議和數(shù)據(jù)格式。在參考架構(gòu)中,提供如下服務(wù):

            • 社區(qū)服務(wù)(Community Service): 用于管理和企業(yè)貿(mào)易的業(yè)務(wù)伙伴,支持以交易中心(Trade Hub)為主的集中式管理和以伙伴為中心的自我管理。
            • 文檔服務(wù)(Document Service):用于支持和業(yè)務(wù)伙伴交換的文檔格式,以及交互的流程和狀態(tài)管理,支持主流的RosettaNet、EDI和AS1/AS2等。
            • 協(xié)議服務(wù)(Protocol Service):為文檔的交互提供傳輸層的支持,包括認(rèn)證和路由等。

            2.4. 控制服務(wù)

            數(shù)據(jù)整合-信息服務(wù)。企業(yè)數(shù)據(jù)的分布性和異構(gòu)性是應(yīng)用系統(tǒng)方便訪問企業(yè)數(shù)據(jù)和在企業(yè)數(shù)據(jù)之上提供增值服務(wù)的主要障礙。數(shù)據(jù)集成和聚合技術(shù)在這種背景下誕生,用于提供對分布式數(shù)據(jù)和異構(gòu)數(shù)據(jù)的透明訪問。

            以服務(wù)為中心的企業(yè)集成通過信息服務(wù)提供集成數(shù)據(jù)的能力,目前主要包括如下集中信息服務(wù):

            • 聯(lián)邦服務(wù)(Federation Service): 聯(lián)邦服務(wù)提供將各種類型的數(shù)據(jù)聚合的能力,它既支持關(guān)系型數(shù)據(jù),也支持象XML數(shù)據(jù)、文本數(shù)據(jù)和內(nèi)容數(shù)據(jù)等非關(guān)系型數(shù)據(jù)。同時,所有的數(shù)據(jù)仍然在自己本身的方式管理。
            • 復(fù)制服務(wù)(Replication Service):復(fù)制服務(wù)提供遠(yuǎn)程數(shù)據(jù)的本地訪問能力,它通過自動的實時復(fù)制和數(shù)據(jù)轉(zhuǎn)換,在本地維護(hù)一個數(shù)據(jù)源的副本。本地數(shù)據(jù)和數(shù)據(jù)源在技術(shù)實現(xiàn)上可以是獨(dú)立的。
            • 轉(zhuǎn)換服務(wù)(Transformation Service):轉(zhuǎn)換服務(wù)用于數(shù)據(jù)源格式到目標(biāo)格式的轉(zhuǎn)換,可以是批量的,或者是基于記錄的。
            • 搜索服務(wù)(Search Service):提供對企業(yè)數(shù)據(jù)的查詢和檢索服務(wù),既支持?jǐn)?shù)據(jù)庫等結(jié)構(gòu)化數(shù)據(jù),也支持象PDF等非結(jié)構(gòu)化數(shù)據(jù)。

            流程整合- 流程服務(wù)。企業(yè)部門內(nèi)部的IT系統(tǒng)通過將業(yè)務(wù)活動自動化來提高業(yè)務(wù)活動的效率。但是這些部門的業(yè)務(wù)活動并不是獨(dú)立的,而是和其他部門的活動彼此關(guān)聯(lián)的。勿容置疑,將彼此關(guān)聯(lián)的業(yè)務(wù)活動組成自動化流程可以進(jìn)一步提高業(yè)務(wù)活動的效率。業(yè)務(wù)流程集成正是在這一背景下誕生的。

            以服務(wù)為中心的企業(yè)集成通過流程服務(wù)來完成業(yè)務(wù)流程集成。在業(yè)務(wù)流程集成中,粒度的業(yè)務(wù)邏輯被組合成業(yè)務(wù)流程。流程服務(wù)提供自動執(zhí)行這些業(yè)務(wù)流程的能力。在參考架構(gòu)中,流程服務(wù)包括如下內(nèi)容:

            • 編排服務(wù)(Choreography Service): 編排服務(wù)通過預(yù)定義的流程邏輯控制流程中業(yè)務(wù)活動的執(zhí)行,并幫助業(yè)務(wù)流程從錯誤中恢復(fù)。
            • 事務(wù)服務(wù)(Transaction Service):事務(wù)服務(wù)用于保證流程執(zhí)行中的事務(wù)特性(ACID)。對于短流程,通常采用傳統(tǒng)的兩階段提交技術(shù),對于長流程,一般采用補(bǔ)償?shù)姆椒ā?
            • 人工服務(wù)(Staff Service):人工服務(wù)用于將人工的活動集成到流程中,一方面它通過關(guān)聯(lián)的交互服務(wù)使得人工可以參與到流程執(zhí)行中,另一方面它需要管理由于人工參與帶來的管理任務(wù)如:任務(wù)分派,授權(quán)和監(jiān)管等。

            用戶訪問整合 - 交互服務(wù)。將適當(dāng)?shù)男畔ⅲ谶m當(dāng)?shù)臅r間,傳遞給適當(dāng)?shù)娜耸且恢笔切畔⒓夹g(shù)追求的目標(biāo)。用戶訪問集成是實現(xiàn)這一目標(biāo)的重要一環(huán),它負(fù)責(zé)將信息系統(tǒng)中的信息傳遞給客戶,不管它在那里,它以什么樣的設(shè)備接入。

            以服務(wù)為中心的企業(yè)集成通過交互服務(wù)來實現(xiàn)用戶訪問集成。參考架構(gòu)中的交互服務(wù)包括如下類型:

            • 交付服務(wù)(Delivery Service): 交付服務(wù)提供運(yùn)行時的交互框架,它通過各種技術(shù)支持同樣的交互邏輯可以在多種方式(圖形界面、語音和普及計算消息)和設(shè)備(桌面、PDA、無線終端等)上運(yùn)行,比如通過頁面聚合和標(biāo)簽翻譯使得同一個Portlet可以在桌面瀏覽器和PDA瀏覽器上展現(xiàn)。
            • 體驗服務(wù)(Experience Service): 通過用戶為中心的服務(wù)增強(qiáng)用戶體驗, 其中的技術(shù)包括:個性化、協(xié)作、單點(diǎn)登錄等。
            • 資源服務(wù)(Resource Service): 提供運(yùn)行時交互組件的管理,如安全配置、界面皮膚等。

            2.5. 開發(fā)支持

            企業(yè)集成涉及面很廣,不僅需要開發(fā)新的應(yīng)用并使其成為可以被用于企業(yè)集成的功能組件,而且需要將被包裝的已有的應(yīng)用和數(shù)據(jù)用于集成;不僅有企業(yè)內(nèi)部的集成,而且需要和企業(yè)外部的系統(tǒng)集成;不僅有交互集成和數(shù)據(jù)集成,還有功能和應(yīng)用集成。考慮到這其中的每部分在技術(shù)上都會涉及到各種平臺和中間件,企業(yè)集成的技術(shù)復(fù)雜性是普通應(yīng)用開發(fā)不可比擬的。這種技術(shù)復(fù)雜性需要更強(qiáng)有力的開發(fā)工具支持。企業(yè)集成的開發(fā)工具需要有標(biāo)準(zhǔn)的工具框架,這些工具能夠以即插即用方式支持來自多家廠商的開發(fā)工具。同時,企業(yè)集成的開發(fā)工具需要支持整個軟件開發(fā)周期,以提高開發(fā)過程中各種角色的生產(chǎn)力。

            在以服務(wù)為中心的企業(yè)集成中,除了需要支持整個軟件開發(fā)周期和標(biāo)準(zhǔn)的工具框架以外,開發(fā)服務(wù)需要提供和服務(wù)開發(fā)相關(guān)的技術(shù):

            • 用于支持以服務(wù)為中心的企業(yè)集成方法學(xué)和建模,如SODA和IBM的SOMA(Service Oriented Modeling and Architecture)
            • 用于服務(wù)為中心的編程模型,如WSDL, BPEL4WS,SCA和SDO等

            開發(fā)環(huán)境和工具中為不同開發(fā)者的角色提供的功能被稱為開發(fā)服務(wù)。根據(jù)開發(fā)過程中開發(fā)者角色和職責(zé)的不同,有如下四類服務(wù):

            • 建模服務(wù)(Model Service):用于構(gòu)建可視化的業(yè)務(wù)流程模型
            • 設(shè)計服務(wù)(Design Service):根據(jù)業(yè)務(wù)模型,進(jìn)一步分解為服務(wù)組件;設(shè)計服務(wù)用于設(shè)計和開發(fā)這些服務(wù)組件。
            • 實現(xiàn)服務(wù)(Implementation Serivice):用于將設(shè)計和開發(fā)的服務(wù)組件部署到生產(chǎn)環(huán)境中
            • 測試服務(wù)(Test Service):支持服務(wù)組件的單元測試和系統(tǒng)的集成測試

            2.6. 業(yè)務(wù)創(chuàng)新和優(yōu)化

            一方面,以服務(wù)為中心的企業(yè)集成通過各種集成提高信息流轉(zhuǎn)速度,從而提高生產(chǎn)效率。另一方面,以服務(wù)為中心的企業(yè)集成也為業(yè)務(wù)創(chuàng)新和優(yōu)化提供了支持平臺-業(yè)務(wù)創(chuàng)新和優(yōu)化服務(wù)。

            業(yè)務(wù)創(chuàng)新和優(yōu)化服務(wù)以業(yè)務(wù)性能管理(BPM)技術(shù)為核心提供業(yè)務(wù)事件發(fā)布、收集和關(guān)鍵業(yè)務(wù)指標(biāo)監(jiān)控能力。具體而言,業(yè)務(wù)創(chuàng)新和優(yōu)化服務(wù)由以下服務(wù)組成:

            • 公共事件框架服務(wù)(Common Event Infrastructure Service):通過一個公共事件框架提供IT和業(yè)務(wù)事件的激發(fā)、存儲和分類等。
            • 采集服務(wù)(Collection Service):通過基于策略的過濾和相關(guān)性分析檢測感興趣的服務(wù)。
            • 監(jiān)控服務(wù)(Monitoring Service):通過事件與監(jiān)控上下文間的映射,計算和管理業(yè)務(wù)流程的關(guān)鍵性能指標(biāo)(KPI)

            業(yè)務(wù)創(chuàng)新和優(yōu)化服務(wù)與開發(fā)服務(wù)是緊密相關(guān)聯(lián)的。在建模階段被確定的業(yè)務(wù)流程的關(guān)鍵性能指標(biāo)被轉(zhuǎn)為特別的事件標(biāo)志被構(gòu)建到業(yè)務(wù)流程中,建模過程中的業(yè)務(wù)流程也被轉(zhuǎn)換為用于監(jiān)控服務(wù)的監(jiān)控上下文。在業(yè)務(wù)流程執(zhí)行過程中,這些事件標(biāo)志激發(fā)的事件被公共事件框架服務(wù)截獲,經(jīng)過采集服務(wù)的過濾被傳遞給監(jiān)控服務(wù)用于計算關(guān)鍵性能指標(biāo)。關(guān)鍵性能指標(biāo)作為重要的數(shù)據(jù)被用于重構(gòu)或優(yōu)化業(yè)務(wù)流程。這種迭代的方法使得業(yè)務(wù)流程處于不斷的優(yōu)化中。

            2.7. 管理支持

            為業(yè)務(wù)流程和服務(wù)提供安全、高效和健康的運(yùn)行環(huán)境也是以服務(wù)為中心的企業(yè)集成重要的部分,它由IT服務(wù)管理來完成。IT服務(wù)管理包括如下兩部分:

            安全和目錄服務(wù)(Security and Directory Service):企業(yè)范圍的用戶、認(rèn)證和授權(quán)管理,如單點(diǎn)登錄(SSO);系統(tǒng)管理和虛擬化服務(wù)(System Management and Virtualization Service):用于管理服務(wù)器,存儲、網(wǎng)絡(luò)和其他IT資源。

            IT服務(wù)管理中相當(dāng)一部分服務(wù)是面向軟硬件管理的,而另外一部分服務(wù),特別是安全和目錄服務(wù),以及操作系統(tǒng)和中間件管理,會通過企業(yè)服務(wù)總線和其他服務(wù)集成在一起,用于實現(xiàn)業(yè)務(wù)流程和服務(wù)的非功能性需求,如性能、可用性和安全性等。

            2.8. SOI中技術(shù)標(biāo)準(zhǔn)和IBM產(chǎn)品支持

            下面的表格列出樂SOI架構(gòu)元素中的技術(shù)標(biāo)準(zhǔn),和IBM的產(chǎn)品如何支持這些架構(gòu)元素。


            表 1:SOI架構(gòu)元素中的技術(shù)標(biāo)準(zhǔn)以及支持架構(gòu)元素的IBM的產(chǎn)品







            3. SOI 實踐

            企業(yè)集成首先是一個戰(zhàn)略性的活動,在我們的經(jīng)驗中,有很多的企業(yè)將重點(diǎn)放在集成技術(shù)上,這導(dǎo)致了很多失敗的案例。作為一個戰(zhàn)略性的活動,企業(yè)集成首先要從全局出發(fā),制定整個企業(yè)集成的策略。這種策略包括業(yè)務(wù)目標(biāo),集成路線圖,技術(shù)規(guī)范,和對開發(fā)管理提出的新要求。

            企業(yè)集成的目的是為了整合 IT 資源,形成一個靈活的 IT 基礎(chǔ)設(shè)施,來滿足業(yè)務(wù)隨需應(yīng)變的要求。所以要充分考慮業(yè)務(wù)面的壓力和痛點(diǎn),未來發(fā)展和轉(zhuǎn)型對 IT 帶來的新需求,以確定集成的戰(zhàn)略目標(biāo)。在環(huán)境發(fā)生變化時,要隨業(yè)務(wù)面的調(diào)整作必要的修改。在我們的觀察中,企業(yè) IT 組織往往由于缺乏高級業(yè)務(wù)管理人員的參與,而無法制定與業(yè)務(wù)對齊的集成戰(zhàn)略,失去企業(yè)集成賴以成功的最重要的基礎(chǔ)。

            在制定集成的戰(zhàn)略目標(biāo)后,要根據(jù)目標(biāo)的優(yōu)先級,考察當(dāng)前 IT 環(huán)境,確定集成遠(yuǎn)景,分析差距,定義集成路線圖。考察當(dāng)前可得到的技術(shù)、產(chǎn)品、相關(guān)技能和服務(wù)的可獲得狀況,定義高層技術(shù)規(guī)范,包括集成方法、參考架構(gòu)、技術(shù)和產(chǎn)品的選擇標(biāo)準(zhǔn)、所遵循的業(yè)界標(biāo)準(zhǔn)等等。然后結(jié)合人力、物力和資金的投入情況,導(dǎo)出項目群。在我們的觀察中,很多企業(yè)為了應(yīng)付業(yè)務(wù)需求,匆忙上馬,缺乏統(tǒng)一規(guī)劃,導(dǎo)致企業(yè) IT 架構(gòu)越來越混亂,不能適應(yīng)業(yè)務(wù)的變化而日漸被動。

            由于集成是一個企業(yè)范圍內(nèi)的活動,一個集成項目往往影響若干個部門,其結(jié)果也由多個部門所共享使用,所以需要企業(yè)級的協(xié)調(diào)機(jī)制。這要求企業(yè)調(diào)整其已有的 IT 管理(IT Governance)機(jī)制,要有一個角色來協(xié)調(diào)集成項目,并被授權(quán),利用 IT 開發(fā)管理的過程,保證相應(yīng)集成規(guī)范得到執(zhí)行。

            另外值得注意的是關(guān)于成熟度的考慮,不同企業(yè)有不同的成熟度,包括業(yè)務(wù)本身、IT 系統(tǒng)、IT 組織自身在技能和管理方面,它們的成熟度,對企業(yè)集成的成功與否,也都有很大的影響。對成熟度的考察,會幫助我們制定更穩(wěn)健、實際的集成策略。

            服務(wù)建模(Service Modeling)是 SOI 活動中至關(guān)重要的活動。它包括如何找到和確定服務(wù),如何處理服務(wù)的粒度,如何通過服務(wù)體現(xiàn)和實現(xiàn)業(yè)務(wù)目標(biāo),如何詳細(xì)說明服務(wù),如何確定服務(wù)與已有系統(tǒng)的關(guān)系等。在我們的實踐中,這對很多 IT 組織機(jī)構(gòu)都是一個難題,可以考慮一些專業(yè)公司的培訓(xùn),如 IBM SOA 設(shè)計中心基于豐富的實踐所提供的各種服務(wù)。







            4. 結(jié)束語

            以服務(wù)為中心的企業(yè)集成方法是對以往企業(yè)集成技術(shù)的繼承與發(fā)展。它基于關(guān)注點(diǎn)分離、松散耦合等源自最佳實踐的架構(gòu)原則,繼承了EAI,消息總線,流程集成,數(shù)據(jù)集成等優(yōu)秀技術(shù),結(jié)合以服務(wù)為中心(Service Orientation)的先進(jìn)思想,正在給企業(yè)集成領(lǐng)域帶來巨大的變化。隨著SOI及相關(guān)技術(shù)的逐漸成熟,SOI正在成為企業(yè)集成的新方向。本文的姊妹篇"以服務(wù)為中心的企業(yè)整合-案例分析",將用一個實際案例來說明基于 IBM 產(chǎn)品的實際 SOI 應(yīng)用,幫助讀者感性地理解 SOI。

            posted @ 2006-04-21 19:43 wsdfsdf 閱讀(208) | 評論 (0)編輯 收藏

            4月21日-----任務(wù):讀《用于實現(xiàn) Web 服務(wù)的 SOA 編程模型》系列文章

            讀完了《在企業(yè)級 SOA 中使用 Web 服務(wù)》7篇系列文章后,已經(jīng)在概念上了解了一些SOA知識。所以現(xiàn)在要看一些編程實現(xiàn)方面的文章,《用于實現(xiàn) Web 服務(wù)的 SOA 編程模型》正是不錯的選擇。

            posted @ 2006-04-21 15:19 wsdfsdf 閱讀(154) | 評論 (1)編輯 收藏

            4月21日-----讀完《在企業(yè)級 SOA 中使用 Web 服務(wù)》7篇系列文章總結(jié)

            第一部分:
            這部分的核心內(nèi)容就是多重SOA。使用SOA來消除企業(yè)系統(tǒng)之前的差異需要很好的構(gòu)架,需要提前規(guī)劃,尤其要考慮到SOA數(shù)量的問題,不要出現(xiàn)SOA超載,要在開發(fā)的每個階段都進(jìn)行超載測試。
            第二部分:
            這部分涉及到了Web服務(wù)的互操作問題。如何使其最優(yōu)化,進(jìn)行了相關(guān)討論。這里提出了一個動態(tài)服務(wù)鏈接的概念,我個人認(rèn)為其基本思想和DLL(動態(tài)鏈接庫)的思想是一致的,都是用來提高效率的。使用多平臺SOA之間的外部Web服務(wù)互操作性最優(yōu)需要事先計劃好可以開發(fā)多少SOA。
            第三部分:
            這部分還是為了提高效率而寫,不過針對的方面又有不同。將SOA合并成三維的,立體的架構(gòu)。這樣的整合思想可以提高速度和可靠性。在這個過程中可以采取復(fù)用的體系結(jié)構(gòu)以及模塊化的SOA庫。
            第四部分:
            這部分講解了使用Rational構(gòu)建SOA中間件應(yīng)用程序。列出了四種主要的方法:自頂向下、自底向上、旁路、嵌入式。把Web服務(wù)分為邏輯和物理兩種。物理Web服務(wù)就是在存儲庫中所發(fā)布和找到的Web服務(wù),邏輯服務(wù)是抽象的說法,創(chuàng)建一個邏輯Web服務(wù)后可以繼續(xù)將一個邏輯服務(wù)與另一個物理Web服務(wù)組合起來,創(chuàng)建一個新的邏輯Web服務(wù)以供使用。
            第五部分:
            這部分討論在優(yōu)化 Web 服務(wù)和 SOA 的過程中具有最高優(yōu)先級的 Web 服務(wù)的業(yè)務(wù)流程規(guī)則。一旦開發(fā)人員優(yōu)化了流程規(guī)則,那么他們就可以開始減少:Web 請求的數(shù)量、執(zhí)行時間、訪問時間、不需要的數(shù)據(jù)、帶寬量。這里提到了一個很重要的概念:Web 服務(wù)的業(yè)務(wù)流程執(zhí)行語言(Business Process Execution Language for Web Services,BPEL4WS)。它可以創(chuàng)建新的業(yè)務(wù)邏輯、調(diào)用 Web 服務(wù)、操作數(shù)據(jù)、拋出錯誤或者終止流程。使用UML來消除語言的隔閡,減少由于缺乏交流帶來的成本。最后提到了WebSphere Business Integration工具,她有效的支持這方面的開發(fā)。
            第六部分:
            這部分介紹了負(fù)載應(yīng)用程序的某些問題如何影響了 Web 服務(wù)應(yīng)用程序間的互操作方式。文中包含了一個流量瓶頸的實例,導(dǎo)致該瓶頸的原因是:在特定期間有太多的訪問者基于業(yè)務(wù)流程發(fā)送了太多的請求到一個 Web 服務(wù)應(yīng)用程序。接著又講了如何從負(fù)載平衡技術(shù)中獲益。作為一個類比,用上了購物車,生動地解釋了基本原理。負(fù)載平衡技術(shù)包括以下幾種:簡單路由、DNS Round Robin、復(fù)雜算法、智能路由。最后提到了WebSphere Application Server,她就是一款基于服務(wù)器的軟件,它在負(fù)載平衡和故障轉(zhuǎn)移中同時使用了復(fù)雜算法和智能路由。
            第七部分:
            這部分主要在講xml在SOA的應(yīng)用,使用xml二進(jìn)制打包規(guī)范加速 Web 服務(wù)應(yīng)用程序。寫了許多典型的xml代碼,直接點(diǎn)出其高效之處。
            總之,這一系列文章的主要目的是高效,高效,再高效。在許多不同方面提高SOA的效率,最終打造一款功能強(qiáng)大,效率很高的企業(yè)級工程。

            posted @ 2006-04-21 13:54 wsdfsdf 閱讀(372) | 評論 (2)編輯 收藏

            4月21日-----Top100

            進(jìn)入了博客排名前100,以后被點(diǎn)擊的幾率就更大了。希望blog能越辦越好

            posted @ 2006-04-21 13:49 wsdfsdf 閱讀(85) | 評論 (0)編輯 收藏

            讀《在企業(yè)級 SOA 中使用 Web 服務(wù),第 3 部分: 將您的 SOA 合并成三維的整合中心以提高速度和可靠性》遇到的問題

            原文鏈接:http://www.shnenglu.com/zhangji198543/archive/2006/04/17/5695.html


            第一個共享的 SOA 的三維中心?:
            第一個共享的 SOA 的三維中心
            ?第二個共享的 SOA 的三維中心
            第二個共享的 SOA 的三維中心
            這兩個圖應(yīng)該怎么看?
            怎么看連接器從一個SOA到另一個SOA?

            posted @ 2006-04-20 17:21 wsdfsdf 閱讀(82) | 評論 (0)編輯 收藏

            4月20日-------困

            今天的困難就一個字-----困。睡得都太少了。我根本就沒睡,Merlin和Tory也只睡了不足3個小時而已。
            解決方法:還有啥辦法?公司的免費(fèi)茶和咖啡,呵呵!喝吧!

            posted @ 2006-04-20 13:49 wsdfsdf 閱讀(157) | 評論 (0)編輯 收藏

            4月20日-----奮斗50篇技術(shù)文檔

            昨晚弄那個人才招聘的網(wǎng)站居然弄到了天亮,吃完早飯就出去上《軟件工程》去了。一臉憔悴。
            現(xiàn)在還沒來得及睡覺,也不準(zhǔn)備睡了,拼了!
            今天的安排還是和前幾天一樣-----看技術(shù)文檔!預(yù)計10天內(nèi)都會在學(xué)習(xí)SOA之中。有感想了,就來blog上寫下。

            posted @ 2006-04-20 13:47 wsdfsdf 閱讀(168) | 評論 (0)編輯 收藏

            4月20日-----隨感

            posted @ 2006-04-20 13:27 wsdfsdf 閱讀(82) | 評論 (0)編輯 收藏

            僅列出標(biāo)題
            共19頁: First 8 9 10 11 12 13 14 15 16 Last 
            国产精品免费久久久久久久久 | 精品午夜久久福利大片| 国产亚洲精久久久久久无码77777| 亚洲国产精品一区二区久久hs| 久久精品无码一区二区三区| 久久久久综合国产欧美一区二区| 99久久99久久精品国产片果冻 | 波多野结衣久久精品| 色8久久人人97超碰香蕉987| 国产精品99久久久久久www| 久久久久久久波多野结衣高潮| 国产精品一久久香蕉产线看| 亚洲国产天堂久久久久久| 狠狠色丁香久久综合五月| 久久久亚洲AV波多野结衣| 91精品国产色综久久| 久久国产精品99国产精| 无码乱码观看精品久久| 亚洲综合久久综合激情久久 | 四虎国产精品免费久久5151| 2021最新久久久视精品爱| 国内精品久久久久久麻豆| 777米奇久久最新地址| 亚洲精品国产美女久久久| 久久婷婷是五月综合色狠狠| 中文字幕久久欲求不满| 波多野结衣中文字幕久久| 亚洲精品乱码久久久久久自慰| 久久影院亚洲一区| 久久天天躁狠狠躁夜夜不卡| 久久中文娱乐网| 久久噜噜电影你懂的| 久久精品国产影库免费看 | 性做久久久久久免费观看| 久久国产香蕉一区精品| 99久久免费国产精品| 久久99精品国产麻豆不卡| 99久久精品免费| 久久久久国产精品麻豆AR影院 | 97久久超碰国产精品旧版| 色狠狠久久AV五月综合|