gembin

          OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

          HBase, Hadoop, ZooKeeper, Cassandra

          Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

          There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

          About Me

           

          SOA方法學(xué)與面向服務(wù)的分析和設(shè)計(jì)

          引:廣義上講,SOA方法學(xué)貫穿于IT生命周期的各個(gè)階段和各個(gè)方面:IT系統(tǒng)項(xiàng)目的規(guī)劃,系統(tǒng)分析和設(shè)計(jì),系統(tǒng)的實(shí)施,系統(tǒng)的部署和維護(hù),以及整個(gè)過(guò)程中的監(jiān)控和管理等。從實(shí)踐的角度說(shuō),已經(jīng)出現(xiàn)如下SOA方法學(xué)。

            廣義上講,SOA方法學(xué)貫穿于IT生命周期的各個(gè)階段和各個(gè)方面:IT系統(tǒng)項(xiàng)目的規(guī)劃,系統(tǒng)分析和設(shè)計(jì),系統(tǒng)的實(shí)施,系統(tǒng)的部署和維護(hù),以及整個(gè)過(guò)程中的監(jiān)控和管理等。從實(shí)踐的角度說(shuō),已經(jīng)出現(xiàn)如下SOA方法學(xué)。

            (1)面向服務(wù)的分析和設(shè)計(jì)(SOAD)。以服務(wù)為中心,根據(jù)業(yè)務(wù)需求發(fā)現(xiàn)服務(wù)、描述服務(wù),并設(shè)計(jì)服務(wù)的實(shí)現(xiàn)。

            (2)面向服務(wù)的開(kāi)發(fā)過(guò)程。結(jié)合現(xiàn)有開(kāi)發(fā)過(guò)程,規(guī)劃以服務(wù)為中心的開(kāi)發(fā)過(guò)程中的角色、職責(zé)、活動(dòng)和工件。

            (3)SOA的成熟度分析和遷移路線(xiàn)圖。以服務(wù)為中心,分析現(xiàn)有或目標(biāo)系統(tǒng)的成熟度,并設(shè)計(jì)從現(xiàn)有成熟度遷移到目標(biāo)成熟度的路線(xiàn)圖。

            (4)SOA監(jiān)管。設(shè)計(jì)組織和流程,確保SOA的設(shè)計(jì)原則在IT生命周期中得以貫徹,管理服務(wù)生命周期中的各種遷移的合理性等。

            本文對(duì)SOA方法學(xué)的闡述主要集中在面向服務(wù)的分析和設(shè)計(jì)。首先介紹SOA方法學(xué)和主要的幾種方法學(xué)的區(qū)別和聯(lián)系,其次以IBM的SOMA (Service Oriented Modeling and Architecture,面向服務(wù)的建模與架構(gòu))為例,介紹SOA分析和設(shè)計(jì)中的主要內(nèi)容和方法。

            1、SOA方法學(xué)和其他方法學(xué)的比較

            與SOA的設(shè)計(jì)原則類(lèi)似,SOA方法學(xué)并不是全新的方法學(xué),它是現(xiàn)有方法學(xué)的繼承和發(fā)展。一方面,原有的方法學(xué)并不能解決由于服務(wù)概念的引入帶 來(lái)的問(wèn)題,如怎樣發(fā)現(xiàn)服務(wù),怎樣定義服務(wù);另一方面,服務(wù)是一個(gè)水平的概念,而不是一個(gè)垂直的概念,在服務(wù)分析和設(shè)計(jì)的過(guò)程中,需要處理服務(wù)和現(xiàn)有方法學(xué) 產(chǎn)物的關(guān)系,如業(yè)務(wù)流程和服務(wù),企業(yè)架構(gòu)和SOA,服務(wù)和對(duì)象等。因此服務(wù)的分析和設(shè)計(jì)最主要的職責(zé)在于發(fā)現(xiàn)服務(wù)、定義服務(wù)和實(shí)現(xiàn)服務(wù),并指導(dǎo)如何和其他 方法學(xué)結(jié)合完成這些職責(zé)。

            如圖4-1所示揭示了現(xiàn)有幾種方法學(xué)的定位。圖的橫坐標(biāo)將項(xiàng)目周期分為分析、設(shè)計(jì)和開(kāi)發(fā)三個(gè)階段,縱坐標(biāo)將域分為應(yīng)用、架構(gòu)和業(yè)務(wù)。流程建模 (BPM)用于業(yè)務(wù)領(lǐng)域的分析和設(shè)計(jì),如業(yè)務(wù)流程的定義、業(yè)務(wù)數(shù)據(jù)的定義等;企業(yè)架構(gòu)(EA)和方案架構(gòu)(SA)側(cè)重在架構(gòu)領(lǐng)域的分析和設(shè)計(jì),如根據(jù)業(yè)務(wù) 需求確定目前目標(biāo)業(yè)務(wù)系統(tǒng)和IT系統(tǒng),根據(jù)目標(biāo)系統(tǒng)需求設(shè)計(jì)主要架構(gòu)元素和它們之間的關(guān)系;面向?qū)ο蟮姆治龊驮O(shè)計(jì)(OOAD)則貫穿分析、設(shè)計(jì)和開(kāi)發(fā)三個(gè) 階段,它主要分析細(xì)粒度的業(yè)務(wù)需求,如用例,分析和設(shè)計(jì)實(shí)現(xiàn)這些需求的類(lèi)和對(duì)象,以及它們之間的關(guān)系。

            圖4-1 傳統(tǒng)的方法學(xué)

            

            如圖4-2所示,面向服務(wù)的分析和設(shè)計(jì)貫穿項(xiàng)目周期的三個(gè)階段和IT系統(tǒng)的三個(gè)域。這暗示著,在操作層面上,面向服務(wù)的分析和設(shè)計(jì)會(huì)和其他方法學(xué)緊密相聯(lián)。

            圖4-2 SOA和傳統(tǒng)的方法學(xué)

            

            1.BPM和SOA

            業(yè)務(wù)流程建模是一個(gè)相當(dāng)零散的領(lǐng)域,存在各種各樣的方法和技術(shù),有效的方法可以幫助企業(yè)對(duì)業(yè)務(wù)進(jìn)行合理的劃分,從而求得業(yè)務(wù)層面的靈活性。有些 方法則側(cè)重于流程建模本身,例如如何確定和定義業(yè)務(wù)流程中的業(yè)務(wù)活動(dòng)、業(yè)務(wù)數(shù)據(jù)、業(yè)務(wù)規(guī)則、業(yè)務(wù)指標(biāo)和業(yè)務(wù)事件等,但是BPM并不會(huì)幫助我們?nèi)グl(fā)現(xiàn)和定義 服務(wù)。從SOA的方法學(xué)來(lái)看,各種BPM的結(jié)果是面向服務(wù)的分析和設(shè)計(jì)的重要輸入,如業(yè)務(wù)組件、業(yè)務(wù)流程和業(yè)務(wù)目標(biāo)是服務(wù)發(fā)現(xiàn)的重要依據(jù),而業(yè)務(wù)指標(biāo)、業(yè) 務(wù)數(shù)據(jù)、業(yè)務(wù)規(guī)則等是服務(wù)暴露的分析的重要依據(jù)。

            2.EA和SOA

            盡管和BPM一樣,EA是一個(gè)零散的領(lǐng)域,但是當(dāng)前的EA主要側(cè)重于定義跨越業(yè)務(wù)單元邊界的系統(tǒng)框架,企業(yè)范圍內(nèi)系統(tǒng)的主要構(gòu)成元素,這些元素 間的關(guān)系,以及將這些元素有機(jī)組合在一起的參考架構(gòu)。但是,各種EA技術(shù)都缺乏業(yè)務(wù)領(lǐng)域的藍(lán)圖指導(dǎo)企業(yè)架構(gòu)的設(shè)計(jì)。從SOA方法學(xué)來(lái)看,一方面,面向服務(wù) 的分析和設(shè)計(jì)通過(guò)和BPM結(jié)合將業(yè)務(wù)分解為各種類(lèi)型的服務(wù),可以作為企業(yè)業(yè)務(wù)的藍(lán)圖指導(dǎo)企業(yè)架構(gòu)的設(shè)計(jì);另一方面,企業(yè)架構(gòu)設(shè)計(jì)的結(jié)果,如參考架構(gòu),又是 服務(wù)實(shí)現(xiàn)的重要依據(jù)。

            3.OOAD和SOA

            面向?qū)ο蟮姆治龊驮O(shè)計(jì)告訴我們使用Use Case捕獲需求,并設(shè)計(jì)類(lèi)、對(duì)象及對(duì)象間交互來(lái)滿(mǎn)足Use Case定義的需求。但是面向?qū)ο蟮姆治龊驮O(shè)計(jì)往往只是局限在單個(gè)應(yīng)用內(nèi)部,它不會(huì)缺乏業(yè)務(wù)藍(lán)圖和企業(yè)架構(gòu)藍(lán)圖的指導(dǎo)。從SOA方法學(xué)看,在原理層面上, OOAD中的很多設(shè)計(jì)原則,如抽象、隔離關(guān)注等被SOA繼承和發(fā)揚(yáng),并應(yīng)用于服務(wù)的定義和實(shí)現(xiàn)中。而在操作層面上,服務(wù)模型為OOAD進(jìn)行類(lèi)和對(duì)象設(shè)計(jì)提 供了業(yè)務(wù)藍(lán)圖和企業(yè)架構(gòu)藍(lán)圖,與此同時(shí),Use Case作為對(duì)業(yè)務(wù)流程的補(bǔ)充說(shuō)明被用于服務(wù)的發(fā)現(xiàn)和定義中。

          posted on 2008-03-11 13:08 gembin 閱讀(353) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): SOA

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(6)

          隨筆分類(lèi)(440)

          隨筆檔案(378)

          文章檔案(6)

          新聞檔案(1)

          相冊(cè)

          收藏夾(9)

          Adobe

          Android

          AS3

          Blog-Links

          Build

          Design Pattern

          Eclipse

          Favorite Links

          Flickr

          Game Dev

          HBase

          Identity Management

          IT resources

          JEE

          Language

          OpenID

          OSGi

          SOA

          Version Control

          最新隨筆

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          free counters
          主站蜘蛛池模板: 乌鲁木齐市| 郸城县| 宾川县| 新郑市| 奉化市| 噶尔县| 峡江县| 三原县| 旺苍县| 广元市| 贡嘎县| 同江市| 青田县| 荆门市| 秦安县| 卓尼县| 宜兰市| 博客| 房山区| 若羌县| 香格里拉县| 巴林左旗| 徐州市| 林西县| 景洪市| 大足县| 淮滨县| 平和县| 容城县| 加查县| 承德县| 富宁县| 靖江市| 武定县| 阿城市| 德兴市| 当雄县| 西畴县| 镇沅| 乌兰察布市| 儋州市|