監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

用SOAD導(dǎo)引SOA的開發(fā)工藝

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來源:泛普軟件

堯舜時(shí)代,洪水泛濫,肆虐生靈。大禹之父“鯀”奉命治水,以“堙”相擋,九年無功,終被賜死,一朝身殉。大禹繼父志,立宏愿,決心根治水患,造福黎民,為求治水良方,不辭千里跋涉,尋至涂山。終以一片堅(jiān)貞,從涂山酋長(zhǎng)蒙處得到秘藏之《水經(jīng)圖》。 十三年治水,胼手胝足,披棘斬荊,亮節(jié)感人,終成大業(yè)?!渡袝防镉涊d了禹對(duì)自己治水的總結(jié):“洪水滔天,浩浩懷山襄陵,下民昏墊。予乘四載,隨山刊木,暨益奏庶鮮食。予決九川距四海,浚賦治距川。暨稷播,奏庶艱食鮮食。懋遷有無化居。蒸民乃粒,萬邦作乂?!?/FONT>

鯀雖然也是能力很強(qiáng)的領(lǐng)導(dǎo)者,但是治水時(shí)沿用了傳統(tǒng)的“堙”的方法,這種方法應(yīng)對(duì)小的水患很有效,也是一直以來治水的思路,但是面對(duì)席卷九州的大洪水,“堙”的方法就顯示出其弱點(diǎn)--要建造一系列徹底攔住如此洶涌的洪水的堤壩在當(dāng)時(shí)條件下是不現(xiàn)實(shí)的,所以鯀的方法就已經(jīng)決定了他的失敗。禹開始就在方法層面下功夫,研究了父親失敗的原因,在“堙”的基礎(chǔ)上創(chuàng)新出“導(dǎo)”的治水方法,可以基于當(dāng)時(shí)的條件徹底根治水患,再加上堅(jiān)強(qiáng)的意志和持續(xù)的努力,終于獲得了治水的成功。

今天,企業(yè)面對(duì)的IT環(huán)境日益復(fù)雜,壓力也越來越大,在這種情況下SOA(Service Oriented Architecture,面向服務(wù)的架構(gòu))耀世而出,SOA作為一種全新的服務(wù)理念,給企業(yè)帶來了希望,它將彼此分離的IT和核心業(yè)務(wù)融合為一體,已經(jīng)逐步成為企業(yè)信息化的主流發(fā)展方向。但當(dāng)SOA步入實(shí)戰(zhàn)階段,人們開始探討SOA的實(shí)現(xiàn)過程的時(shí)候,卻發(fā)現(xiàn)傳統(tǒng)的開發(fā)理念成為瓶頸,希望通過傳統(tǒng)的設(shè)計(jì)方法實(shí)現(xiàn)企業(yè)SOA存在多重難以跨越的鴻溝,要讓SOA真正為企業(yè)所用,就必須在“堙”的基礎(chǔ)上尋找新的實(shí)現(xiàn)方法--“導(dǎo)”,這也就是我們要討論的“SOAD”。

SOA催生出的SOAD

SOA導(dǎo)引企業(yè)信息化方向

SOA是一個(gè)基于特定標(biāo)準(zhǔn)的組織和設(shè)計(jì)方法,SOA在傳統(tǒng)的業(yè)務(wù)層和技術(shù)層之間增加了一個(gè)服務(wù)層,通過連接能完成特定服務(wù)的獨(dú)立功能實(shí)體來實(shí)現(xiàn)軟件系統(tǒng)架構(gòu)。它將業(yè)務(wù)層和技術(shù)層之間的信息有效地進(jìn)行溝通,讓企業(yè)應(yīng)用層可以徹底擺脫技術(shù)的束縛。將注意力放在服務(wù)上,使得應(yīng)用程序能夠集中起來提供更加豐富、更加靈活、目的性更強(qiáng)的商業(yè)流程,使得基于SOA的企業(yè)應(yīng)用系統(tǒng)能夠更加真實(shí)地反映出與業(yè)務(wù)模型的結(jié)合。

SOA 是一種新興的企業(yè)結(jié)構(gòu)形式,可以用于設(shè)計(jì)下一代企業(yè)應(yīng)用程序。迅速發(fā)現(xiàn)新的商機(jī)、及時(shí)預(yù)警商業(yè)威脅是現(xiàn)代企業(yè)的成敗關(guān)鍵,SOA 體系結(jié)構(gòu)形式正是針對(duì)這一需求,旨在提供更加靈活的企業(yè)業(yè)務(wù)解決方案,這些業(yè)務(wù)解決方案可以按需擴(kuò)展、隨需改變。SOA 解決方案由可重用的服務(wù)組成,帶有定義良好且符合標(biāo)準(zhǔn)的成熟接口系統(tǒng)。SOA 提供了一種機(jī)制,通過這種機(jī)制,可以集成現(xiàn)有的各種應(yīng)用程序,不論它們采用哪種平臺(tái)或語言。SOA的實(shí)質(zhì)就是促進(jìn)IT與業(yè)務(wù)的融合,為核心業(yè)務(wù)提供端到端的服務(wù),并且已經(jīng)成為現(xiàn)階段企業(yè)信息化的方向所在。

SOAD--SOA的內(nèi)生基因

面向服務(wù)的體系結(jié)構(gòu)(SOA)和 Web 服務(wù)的基本觀念已經(jīng)相當(dāng)普及,并可看作是適于設(shè)計(jì)現(xiàn)代企業(yè)應(yīng)用程序的體系結(jié)構(gòu)形式。在這種背景下,“什么樣的服務(wù)才是好的服務(wù)”這個(gè)基本問題就成為確保成功實(shí)現(xiàn) SOA 的關(guān)鍵。

從概念上講,SOA 中有三個(gè)主要的抽象級(jí)別:操作、服務(wù)和業(yè)務(wù)流程,在 SOA 術(shù)語中,業(yè)務(wù)流程包括依據(jù)一組業(yè)務(wù)規(guī)則按照有序序列執(zhí)行的一系列操作。操作的排序、選擇和執(zhí)行稱為服務(wù)或流程編排。典型的情況是調(diào)用已編排好的服務(wù)來響應(yīng)業(yè)務(wù)事件。從建模的觀點(diǎn)來看,由此帶來的挑戰(zhàn)是如何描述設(shè)計(jì)良好的操作、服務(wù)和流程的抽象特征,以及如何系統(tǒng)地構(gòu)造它們,此時(shí),我們需要結(jié)構(gòu)化方法或分析設(shè)計(jì)方法來設(shè)計(jì)高質(zhì)量的SOA,但是現(xiàn)有的方法中沒有一種能夠滿足程序設(shè)計(jì)人員對(duì)最新的 SOA 項(xiàng)目的要求,所以產(chǎn)生了將現(xiàn)已經(jīng)形成的良好實(shí)踐中的原理組合起來,并且應(yīng)用從需要中創(chuàng)新的原理來對(duì)其加以補(bǔ)充,這個(gè)關(guān)鍵方法就是SOAD。

SOAD把已有的設(shè)計(jì)、分析方法中的原理與許多獨(dú)特的新原理組合起來,這樣得到的交叉學(xué)科OOAD 方法使成功地進(jìn)行 SOA 開發(fā)更容易,我們稱之為面向服務(wù)的分析與設(shè)計(jì)
(Service-Oriented Analysis and Design,SOAD)。SOAD 需要滿足下列需求:

必須正式地定義流程和表示法。
必須有結(jié)構(gòu)化的方法來概念化服務(wù):
必須提供定義良好的品質(zhì)因素和最佳實(shí)踐。
SOAD 活動(dòng)還必須回答這樣的問題:什么不是好的服務(wù)?例如:不可重用的任何東西都不可能成為好的一流 SOA服務(wù)。另一個(gè)例子就是帶有挑戰(zhàn)性的非功能要求的嵌入式實(shí)時(shí)系統(tǒng),它們不能承受任何 XML 處理開銷。必須易于進(jìn)行端到端建模,并且有全面的工具支持。

集大成的SOAD

傳統(tǒng)的開發(fā)理念無力支撐SOA的構(gòu)建

最初的面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA) 的實(shí)踐經(jīng)驗(yàn)表明,諸如面向?qū)ο蟮姆治雠c設(shè)計(jì)(Object-Oriented Analysis and Design,OOAD)、企業(yè)體系結(jié)構(gòu)框架(Enterprise Architecture,EA)和業(yè)務(wù)流程建模(Business Process Modeling,BPM)這樣的現(xiàn)有開發(fā)流程和表示法,對(duì)于目前出現(xiàn)在 SOA 中的體系結(jié)構(gòu)模式來說,僅僅能夠滿足一部分要求。

OOAD為具體功能模塊的開發(fā)給出了精細(xì)的描述,卻脫離了宏觀的業(yè)務(wù)構(gòu)架。  OOAD 方法在定義 SOA 方面提供了非常好的起點(diǎn)。雖然許多年來在體系結(jié)構(gòu)層次中應(yīng)用 OOAD 技術(shù)和統(tǒng)一建模語言(Unified Modeling Language,UML)表示法是一個(gè)常見的做法,但是 OOAD 還是與像“類”和“單獨(dú)的對(duì)象實(shí)例”這樣的微觀層次的抽象有關(guān)。由于每個(gè)問題域常常都創(chuàng)建單獨(dú)的用況模型,因此,應(yīng)用程序開發(fā)項(xiàng)目中企業(yè)的大方向在許多情況下變得模糊。此外,由于種種原因,用況模型并不總是與其對(duì)等的 BPM 保持同步。

EA根本就不能讓表示技術(shù)設(shè)備的低級(jí)構(gòu)塊在宏觀層次上互聯(lián)。  諸如 Treasury 企業(yè)體系結(jié)構(gòu)框架(Treasury Enterprise Architecture Framework,TEAF)、 面向特征的領(lǐng)域分析(Feature-Oriented Domain Analysis,F(xiàn)ODA)和 Zachman這樣的 EA 方法都將城市規(guī)劃級(jí)的觀點(diǎn)加在解決方案體系結(jié)構(gòu)之上,但是并沒有解決如何找到易于重用、且具有持久性的高質(zhì)量企業(yè)抽象模型的問題。

BPM對(duì)繁瑣的業(yè)務(wù)流程進(jìn)行了合理的抽象,卻沒有給出從IT上來實(shí)施的合理途徑。  雖然 BPM 方法(如 BPMI)在功能工作單元之上提供了端到端視圖,但是它們通常都沒有觸及體系結(jié)構(gòu)和實(shí)現(xiàn)領(lǐng)域。例如,在像用于 Web 服務(wù)的業(yè)務(wù)流程執(zhí)行語言(Business Process Execution Language for Web Services,BPEL)這樣的語言出現(xiàn)之前,BPM 表示法缺少操作語義。此外,我們還看到了許多流程建模與開發(fā)活動(dòng)彼此分離的情況。

現(xiàn)有的規(guī)則中沒有一個(gè)可以解決如何為 SOA 啟用現(xiàn)有的應(yīng)用程序的問題,大部分情況都采用自頂向下流程?,F(xiàn)有的系統(tǒng)通常都存放有大量的重要數(shù)據(jù)和業(yè)務(wù)邏輯,并且不能簡(jiǎn)單地加以替代。概而言之,傳統(tǒng)的開發(fā)理念只涵蓋了支持目前出現(xiàn)在 SOA 中的體系結(jié)構(gòu)模式所需的部分要求,而對(duì)于變化的需求卻無所適從。
 
圖表 1 BPM、EA 和 OOAD 的位置

SOAD:對(duì)傳統(tǒng)的融合與發(fā)揚(yáng)

SOAD把已有設(shè)計(jì)、分析方法中的原理與許多獨(dú)特的新原理組合起來,這包括前述的EA、BPM和OOAD,吸取每種方法的優(yōu)點(diǎn),并加以有機(jī)的組合,創(chuàng)造出一種全新的方法。將企業(yè)應(yīng)用程序和 IT 基礎(chǔ)設(shè)施發(fā)展成 SOA 可能是一個(gè)大的負(fù)擔(dān),會(huì)影響多個(gè)業(yè)務(wù)線和組織單元。因此,需要應(yīng)用 EA 框架和參考體系結(jié)構(gòu)(如開放組織體系結(jié)構(gòu)框架(The Open Group Architecture Framework,TOGAF))以及 Zachman,以努力實(shí)現(xiàn)單獨(dú)的解決方案之間體系結(jié)構(gòu)的一致性。

然而,要利用所有現(xiàn)存的 BPM 方法作為 SOAD 的起點(diǎn),還必須使用流程模型中用于驅(qū)動(dòng)候選服務(wù)和它們的操作的附加技術(shù)來對(duì)其加以補(bǔ)充。此外,SOAD 中的流程建模必須與設(shè)計(jì)層用況建模保持同步,并且必須給出與 BPEL 有關(guān)的問題的答案。

OO 分析是一種非常強(qiáng)大且廣受贊譽(yù)的方法,同樣,SOAD 應(yīng)該盡可能多地利用 OO 分析技術(shù)。要將 OO 分析成功地應(yīng)用于 SOA 項(xiàng)目,開發(fā)者就必須一次分析多個(gè)系統(tǒng)。用況模型必須繼續(xù)扮演重要的角色。然而,SOAD是受業(yè)務(wù)流程驅(qū)動(dòng)的,而不是用戶驅(qū)動(dòng)的,因此,SOAD 需要 BPM 和用況建模活動(dòng)之間的強(qiáng)鏈接。
 
圖表 2 SOAD 及其組成部分:OOAD、BPM 和 EA

整合了所有這些方法的優(yōu)勢(shì),成就了SOAD的非凡血統(tǒng),也為SOA的構(gòu)建帶來了高成功率和新的生機(jī)。

在路上的SOAD

SOAD融合了各種傳統(tǒng)開發(fā)理念,使其優(yōu)勢(shì)互補(bǔ)。此外,它按照面向服務(wù)(Service-Oriented)范式來完善開發(fā)工藝,從而在IT基礎(chǔ)架構(gòu)搭建階段就植入了SOA的基因,使SOA的開發(fā)流程更加可控,提高開發(fā)的成功率。今天,SOAD仍然處于快速發(fā)展的道路上,眾多卓越的商業(yè)公司和優(yōu)秀的技術(shù)人才的加盟,使得SOAD的未來充滿期待。

Rational:SOAD的最佳演繹者

全生命周期的開發(fā)管理、統(tǒng)一建模、清晰的角色定位……這讓Rational成為SOAD工藝的最佳演繹者。自2003年年底加入IBM軟件的大家庭以來,IBM Rational在吸收IBM軟件以整合為導(dǎo)向的先進(jìn)理念、集成IBM軟件其它四大品牌(DB2、WebSphere、Tivoli和Lotus)的部分工具,并發(fā)揮其自身在軟件開發(fā)領(lǐng)域的技術(shù)優(yōu)勢(shì)的基礎(chǔ)上,推出一套功能全面、管理科學(xué)的軟件開發(fā)工具--IBM Rational軟件開發(fā)平臺(tái)(IBM Rational Software Development Platform,SDP)。
應(yīng)該說IBM Rational SDP提供的不只是一種開發(fā)工具,更重要的是它帶來了一種全新的軟件理念:將科學(xué)的管理思想融會(huì)于工具之中,倡導(dǎo)高品質(zhì)的軟件工藝。在這種背景下,人們先前所奢望的一切場(chǎng)景都得以輕松實(shí)現(xiàn)。

并行開發(fā)如履平地,迎合軟件企業(yè)跨地域發(fā)展趨勢(shì),IBM Rational SDP將不同區(qū)域的人們帶到同一開發(fā)平臺(tái)上來,并行地完成同一項(xiàng)開發(fā)任務(wù)。大規(guī)模作業(yè)井然有序,在應(yīng)用范圍不斷擴(kuò)張的趨勢(shì)下,軟件架構(gòu)的復(fù)雜性也越來越強(qiáng),成千上萬人協(xié)同完成一個(gè)任務(wù)已屢見不鮮,這在IBM Rational SDP中一切井然有序。質(zhì)量始終在掌控中,周全、嚴(yán)密、自動(dòng)化的質(zhì)量控制,使IBM Rational SDP緊握軟件質(zhì)量的命脈。

正如大禹創(chuàng)新出“導(dǎo)”的治水方法,SOAD為企業(yè)SOA的實(shí)現(xiàn)提供了一種全新的方法論,搭建了業(yè)務(wù)和 IT 之間的橋梁,全面支持 SOA 項(xiàng)目的分析和設(shè)計(jì)階段,以現(xiàn)有的經(jīng)過實(shí)踐檢驗(yàn)的 OOAD、EA、和 BPM 為基礎(chǔ)建立了創(chuàng)新的交叉學(xué)科的方法,規(guī)劃了一個(gè)整體的建模規(guī)則。SOAD還需要對(duì)現(xiàn)有的軟件開發(fā)方法不斷完善和提升,進(jìn)一步提高企業(yè)應(yīng)用程序開發(fā)項(xiàng)目的可用性和適用性,隨著時(shí)間的推移,還將發(fā)展相關(guān)的最佳實(shí)踐,并逐步走向成熟,馴服奔流在企業(yè)中的信息狂潮,讓“水患”變?yōu)椤八薄?ibm)

發(fā)布:2007-04-22 09:24    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
西安OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢