迷途書童

          敏感、勤學(xué)、多思
          隨筆 - 77, 文章 - 4, 評論 - 86, 引用 - 0
          數(shù)據(jù)加載中……

          快速構(gòu)建面向服務(wù)的應(yīng)用-1

          不知不覺畢業(yè)已經(jīng)四載有余,幾年來一直和太陽公公比著賽上班,披星戴月著下班。隨著年齡和資歷的增長,工作和生活的時間比值竟然越來越大,回首過去,偶爾也感嘆一聲,真是驢一樣的年華。

          近年來中國的IT也發(fā)展的紅紅火火,人才輩出,網(wǎng)絡(luò)上好文比比皆是,但是卻沒有一篇是我的,真是悲哉

          女朋友走了,時間多了,百無聊賴之際,努力想為我慢慢逝去的青春留下一點可供回憶的東西,琢磨著寫一篇記錄我的一些火花的文章,也希望能給網(wǎng)絡(luò)上的朋友們提供一些參考,為祖國的IT業(yè)盡一點綿薄之力,便是我最大的心愿。

          廢話少說,開始進入主題,我的火花是“建立一套快速構(gòu)建面向服務(wù)的應(yīng)用應(yīng)用生成環(huán)境,簡稱ACEApplication Creation Environment)”以及對應(yīng)的“應(yīng)用執(zhí)行環(huán)境(AEEApplication Execution Environment)”。

          第一篇         面向服務(wù)的快速應(yīng)用生成環(huán)境

          案例和問題就不分析了,無非是什么支撐業(yè)務(wù)快速上線、快速響應(yīng)用戶需求、降低開發(fā)成本、淘到第一桶金、抓住用戶的心、實現(xiàn)業(yè)務(wù)敏捷等等之流。每當(dāng)做起這種事情就頭痛不已,但是領(lǐng)導(dǎo)又最喜歡看這種東西

          目標(biāo):

          l  基于MDA的思想,建立一套端到端的開發(fā)環(huán)境,端到端指從前臺展現(xiàn)邏輯到后臺業(yè)務(wù)邏輯、數(shù)據(jù)持久邏輯、業(yè)務(wù)流程邏輯等。保守估計,期望至少能夠減少開發(fā)工作量的50%以上(本人一向比較低調(diào))。

          l  支撐面向服務(wù)的應(yīng)用程序構(gòu)建,不綁定特定實現(xiàn)環(huán)境。如,不綁定C++或者java等特定的實現(xiàn)方式。

          l  不局限于某種特定的界面展現(xiàn)技術(shù),如swingweb等。

          l  不局限于服務(wù)的分布方式,如不要求服務(wù)一定在本地,可以在本地也可以部署在世界各地。

          姑且按照我的愚見,對一個典型的應(yīng)用參考DDD的理念作一下抽象,后面全部按照這種理解來推導(dǎo)ACE應(yīng)是何物:


          一個典型的企業(yè)應(yīng)用的元模型

          從上圖中,可以看出,DDD中的主要類型的領(lǐng)域?qū)ο蠖荚冢?/span>RepositoryServiceEntity Process也是一種特化的service。還有一個東東:DataView,不知道叫它什么好,先不費腦筋去給他取名了。

          下面一一解釋這些東東的含義:

          Name

          Introduction

          Association

          Remark

          Data Entity

          數(shù)據(jù)實體

          表示企業(yè)應(yīng)用中的數(shù)據(jù)實體,比如訂單管理系統(tǒng)中的訂單對象就是一個數(shù)據(jù)實體。

          數(shù)據(jù)實體之間可能有關(guān)聯(lián)。比如訂單對象關(guān)聯(lián)多個訂單項對象。

          Data View

          數(shù)據(jù)視圖

          表示數(shù)據(jù)實體的一個視圖,也可能是多個有關(guān)聯(lián)的數(shù)據(jù)實體的一個視圖。類似于DB中的視圖的概念。

          數(shù)據(jù)視圖關(guān)聯(lián)一個或者多個數(shù)據(jù)實體。無須多解釋,參考數(shù)據(jù)庫視圖就可以了。

          Service

          服務(wù)

          表示企業(yè)應(yīng)用中的服務(wù)對象。比如訂單管理系統(tǒng)中的訂單服務(wù)。服務(wù)的粒度可大可小,原子服務(wù)也可以聚合成業(yè)務(wù)服務(wù)。類似SCA中的服務(wù)聚合。

          服務(wù)可能聚合服務(wù)形成大粒度服務(wù)。服務(wù)可能接收數(shù)據(jù)對象,輸出另外的數(shù)據(jù)對象。

          服務(wù)不能包含有與特定應(yīng)用上下文相關(guān)的狀態(tài)信息,不然影響復(fù)用。每個服務(wù)對服務(wù)的使用者來說是無狀態(tài)的。

          Process

          流程

          各種各樣的流程的頂層抽象,流程也是一種特殊的服務(wù)

          所有的流程都將有服務(wù)參與。因此流程與服務(wù)有依賴關(guān)系。

          Operation Process

          操作流程

          表示一個業(yè)務(wù)邏輯處理過程,比如我們計算一個四則混合運算表達式的時候,心里會先分解城一個一個的計算單元,然后先算某個單元再算某個單元,算完收工。這一個一個的有次序執(zhí)行的計算單元就是一個操作流程。這種流程的生命周期很短,流程運行數(shù)據(jù)不需要持久化,一次調(diào)用就走完,不走完就完全失敗。

          操作流程可能與數(shù)據(jù)實體和服務(wù)關(guān)聯(lián),比如做四則混合運算的操作流程,要接受數(shù)據(jù),接收了數(shù)據(jù)之后呢,要調(diào)用各種加減乘除服務(wù)來做計算單元的運算。

          Business Process

          業(yè)務(wù)流程

          業(yè)務(wù)流程表示數(shù)據(jù)實體的一個有次序的處理過程。這種流程表示人工協(xié)作處理一件事情的一個過程。就是常用的工作流的概念。

          業(yè)務(wù)流程肯定要和數(shù)據(jù)實體、服務(wù)關(guān)聯(lián)的。這個就不詳細說明了。

          Orchestration Process

          編排流程

          編排各應(yīng)用系統(tǒng)暴露的服務(wù)達成業(yè)務(wù)目標(biāo),一種實現(xiàn)就是BPEL

          編排流程肯定要和服務(wù)和數(shù)據(jù)實體關(guān)聯(lián),也不多說,看BPEL規(guī)范就是了

          View Process

          視圖流程

          數(shù)據(jù)實體通過數(shù)據(jù)視圖來展現(xiàn),而數(shù)據(jù)視圖之間的變遷,以及數(shù)據(jù)視圖與服務(wù)之間的關(guān)聯(lián)則由視圖流程來表述。視圖流程的一種實現(xiàn)技術(shù)就是頁面流,不過目前的頁面流都綁定了web,其實數(shù)據(jù)和服務(wù)的展現(xiàn)(接入)方式有很多種,比如IVR接入,web接入,swing接入等等。

          和服務(wù)和數(shù)據(jù)實體關(guān)聯(lián)。

          Signaling process

          信令流,表示電信業(yè)務(wù)中的信令交互流程

          跟服務(wù)和數(shù)據(jù)實體關(guān)聯(lián)

          Repository

          倉庫

          DDD中的倉庫對象,保存數(shù)據(jù)實體的領(lǐng)域?qū)ο蟆?/span>

          與數(shù)據(jù)對象關(guān)聯(lián)。被服務(wù)對象調(diào)用。

          DAO

          數(shù)據(jù)訪問對象

          負責(zé)從某種特定的存儲介質(zhì)中存儲和retrieve數(shù)據(jù)實體。用于避免倉儲對象依賴特定的存儲介質(zhì),如DB,文件系統(tǒng)等。

          是數(shù)據(jù)對象關(guān)聯(lián),被倉儲對象調(diào)用。

          Permission

          權(quán)限

          指對數(shù)據(jù)實體能夠執(zhí)行的操作的權(quán)限,如增、刪、改、查,可能要控制到數(shù)據(jù)實體的屬性粒度。也有可能對服務(wù)有訪問權(quán)限控制,即允不允許用戶執(zhí)行某個服務(wù)。

          權(quán)限跟數(shù)據(jù)實體或服務(wù)關(guān)聯(lián)。


          posted on 2008-11-07 23:50 迷途書童 閱讀(1719) 評論(2)  編輯  收藏 所屬分類: 隨感系統(tǒng)設(shè)計java應(yīng)用SOA

          評論

          # re: 快速構(gòu)建面向服務(wù)的應(yīng)用  回復(fù)  更多評論   

          good but difficult to understand
          2008-11-08 00:19 | serena

          # re: 快速構(gòu)建面向服務(wù)的應(yīng)用  回復(fù)  更多評論   

          面向構(gòu)件的開發(fā)?
          2008-11-11 09:46 | 單飛
          主站蜘蛛池模板: 中卫市| 疏附县| 英吉沙县| 错那县| 昆明市| 天台县| 那坡县| 环江| 米林县| 杭锦旗| 岢岚县| 宁海县| 上蔡县| 胶南市| 余江县| 通州市| 建昌县| 阿城市| 共和县| 措美县| 滕州市| 伽师县| 金阳县| 泰宁县| 游戏| 田东县| 义乌市| 隆子县| 定南县| 文山县| 花垣县| 和田市| 安庆市| 石棉县| 阿巴嘎旗| 河北省| 邳州市| 郎溪县| 绥江县| 白银市| 德庆县|