《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于SOA的快速開(kāi)發(fā)平臺(tái)研究與實(shí)現(xiàn)
基于SOA的快速開(kāi)發(fā)平臺(tái)研究與實(shí)現(xiàn)
2014年微型機(jī)與應(yīng)用第16期
石 輝,馬 軍,裴文斌,楊懷璽
西安雷迪維護(hù)系統(tǒng)設(shè)備有限公司(西安),陜西 西安 710061
摘要: 介紹了基于SOA技術(shù)快速構(gòu)建OA、MIS類(lèi)項(xiàng)目的開(kāi)發(fā)平臺(tái),該平臺(tái)使用簡(jiǎn)單、高效,支持界面圖形化操作,使得開(kāi)發(fā)過(guò)程更簡(jiǎn)潔、代碼編寫(xiě)更少、開(kāi)發(fā)效率更高。使用該平臺(tái)建設(shè)系統(tǒng)對(duì)開(kāi)發(fā)人員要求很低,方便二次開(kāi)發(fā)和快速響應(yīng)用戶的需求變更,可節(jié)省企業(yè)人力成本。
Abstract:
Key words :

  摘  要: 介紹了基于SOA技術(shù)快速構(gòu)建OA、MIS類(lèi)項(xiàng)目的開(kāi)發(fā)平臺(tái),該平臺(tái)使用簡(jiǎn)單、高效,支持界面圖形化操作,使得開(kāi)發(fā)過(guò)程更簡(jiǎn)潔、代碼編寫(xiě)更少、開(kāi)發(fā)效率更高。使用該平臺(tái)建設(shè)系統(tǒng)對(duì)開(kāi)發(fā)人員要求很低,方便二次開(kāi)發(fā)和快速響應(yīng)用戶的需求變更,可節(jié)省企業(yè)人力成本。

  關(guān)鍵詞: SOA;HMVC快速開(kāi)發(fā)平臺(tái);MIS

  隨著信息化的發(fā)展,越來(lái)越多的日常人為手動(dòng)處理的工作由電腦系統(tǒng)完成,因此OA、MIS系統(tǒng)得到了廣泛的應(yīng)用。隨之而來(lái)的是各方面需求量的不斷增加,快速開(kāi)發(fā)平臺(tái)就是為了高效地開(kāi)發(fā)此類(lèi)系統(tǒng)而產(chǎn)生的。快速開(kāi)發(fā)平臺(tái)幾乎是以零代碼量來(lái)開(kāi)發(fā)系統(tǒng),使系統(tǒng)建設(shè)者更加快捷、高效地實(shí)現(xiàn)MIS系統(tǒng)的同時(shí),使用者可以更加靈活、多樣地對(duì)系統(tǒng)進(jìn)行調(diào)整,同時(shí)滿足了不同層次的需求。

1 快速開(kāi)發(fā)平臺(tái)設(shè)計(jì)

  本快速開(kāi)發(fā)平臺(tái)基于SOA架構(gòu),采用分層結(jié)構(gòu)設(shè)計(jì),包括信息表示層(已配置的業(yè)務(wù)系統(tǒng))、信息展示層(建立的業(yè)務(wù)系統(tǒng))、業(yè)務(wù)對(duì)象層、持久層(聲明式服務(wù)對(duì)象),采用微內(nèi)核、元模型、插件體系、總線集成的體系結(jié)構(gòu)。該平臺(tái)實(shí)現(xiàn)了組織機(jī)構(gòu)、工作流、報(bào)表、業(yè)務(wù)規(guī)則、組織機(jī)構(gòu)權(quán)限和用戶界面的完全可視化設(shè)計(jì),提供豐富的組件庫(kù)和業(yè)務(wù)模板,實(shí)現(xiàn)了可視化建模和代碼開(kāi)發(fā)的完美結(jié)合;支持順序、并行、同步、異步、分支、合并、循環(huán)、終止、回退、轉(zhuǎn)交、通知、子流程、批處理等所有業(yè)務(wù)工作流模式,提供完全可視化的流程建模環(huán)境,集流程圖設(shè)計(jì)、業(yè)務(wù)規(guī)則定制和運(yùn)行跟蹤于一體;創(chuàng)新的元模型處理體系,完全可視化的界面設(shè)計(jì)工具,提供前所未有的Web交互頁(yè)面設(shè)計(jì)體驗(yàn)。多樣的布局模式、豐富的界面組件、強(qiáng)大的頁(yè)面向?qū)В归_(kāi)發(fā)人員幾乎不用寫(xiě)代碼便可開(kāi)發(fā)出復(fù)雜的業(yè)務(wù)應(yīng)用界面[1]。開(kāi)發(fā)平臺(tái)系統(tǒng)結(jié)構(gòu)如圖1所示。

001.jpg

  (1)信息表示層

  應(yīng)用程序運(yùn)行配置完成的應(yīng)用以及用來(lái)作為配置管理的核心應(yīng)用,例如多租戶配置等。信息表示層是本系統(tǒng)平臺(tái)的UI(用戶界面)部分,此UI部分采用層疊式MVC模式(如圖2所示),將客戶端應(yīng)用程序分解為有層次的父子關(guān)系的MVC。反復(fù)應(yīng)用這個(gè)模式,形成結(jié)構(gòu)化的客戶端架構(gòu)。這樣把界面分成了多個(gè)部分,降低了依賴性,同時(shí)提高了代碼、組件或者模塊的重用度,在日后的維護(hù)中,提高了可擴(kuò)展性。

002.jpg

  (2)邏輯層

  邏輯層與UI層是松耦合的,邏輯層實(shí)現(xiàn)的核心是聲明式業(yè)務(wù)對(duì)象[2],主要通過(guò)以下幾種方式進(jìn)行:①聲明式業(yè)務(wù)對(duì)象的服務(wù)可以通過(guò)業(yè)務(wù)對(duì)象總線進(jìn)行互操作;②聲明式業(yè)務(wù)對(duì)象的粒度可大可小,可以是一個(gè)實(shí)體表,也可以是一個(gè)較大的業(yè)務(wù)模塊;③服務(wù)可以調(diào)用多個(gè)規(guī)則,規(guī)則本身可以根據(jù)上下文環(huán)境判斷是否可以執(zhí)行,從而完成復(fù)雜的業(yè)務(wù)邏輯而無(wú)需編碼;④服務(wù)可以調(diào)用腳本或JavaClass完成平臺(tái)不能配置或不易配置的業(yè)務(wù)邏輯。邏輯層主要包含了各類(lèi)插件及中間處理組件,系統(tǒng)為SOA架構(gòu)(如圖3所示),其主要目的是:  ①使總線成為業(yè)務(wù)對(duì)象之間共享數(shù)據(jù)、交換數(shù)據(jù)的唯一媒介;②總線的生命周期是Session,即從用戶會(huì)話開(kāi)始到用戶會(huì)話結(jié)束數(shù)據(jù)總線是一貫和連續(xù)的;③數(shù)據(jù)總線是線程獨(dú)享的、線程安全的,一個(gè)線程對(duì)數(shù)據(jù)總線的改變不會(huì)影響到其他線程對(duì)數(shù)據(jù)總線的使用,每個(gè)線程使用的都是總線的副本。

  數(shù)據(jù)總線包括Form、User總線等[3]。Form的類(lèi)型是BOInstance。使用Form實(shí)現(xiàn)對(duì)HTTP GET的QueryString的封裝或?qū)TTP POST數(shù)據(jù)的封裝,它同時(shí)可以充當(dāng)界面上Form的值,也可以是通過(guò)AJAX方式傳遞的參數(shù);User的類(lèi)型是BOInstance,通過(guò)Form對(duì)登錄用戶封裝,User在登錄自定義動(dòng)作里進(jìn)行創(chuàng)建;通過(guò)MVCController操作總線,為了減少調(diào)用次數(shù),總線和面板操作及服務(wù)操作放在一起進(jìn)行。元模型層面提供對(duì)WebService的支持,即平臺(tái)中每個(gè)服務(wù)都是可被調(diào)用的Restful WebService。

003.jpg

  (3)持久層

  持久層提供了各類(lèi)服務(wù)組件和可擴(kuò)展的組件,將各類(lèi)服務(wù)以組件的方式進(jìn)行封裝,包括組織權(quán)限、數(shù)據(jù)庫(kù)訪問(wèn)、國(guó)際化等,擴(kuò)展組件包括WebService和Restfull等接口的實(shí)現(xiàn),充分發(fā)揮了平臺(tái)的靈活性。其中,數(shù)據(jù)庫(kù)訪問(wèn)組件的建立包含了多種方式不同數(shù)據(jù)庫(kù)的連接,支持多種不同的連接方式。

2 快速開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)

  該平臺(tái)由操作人員通過(guò)管理界面的配置來(lái)達(dá)到項(xiàng)目開(kāi)發(fā)的目的,基本是零代碼量來(lái)開(kāi)發(fā)系統(tǒng)。配置界面的主要功能有控制器、工作流管理、組織定義管理、數(shù)據(jù)庫(kù)管理、圖標(biāo)使用、數(shù)據(jù)字典等。由于篇幅關(guān)系,重點(diǎn)詳解控制器類(lèi)的實(shí)現(xiàn)。

  (1)控制器管理。平臺(tái)中界面展示都是通過(guò)各種控制器控制輸出的。傳統(tǒng)的MVC模式,一個(gè)界面對(duì)應(yīng)一個(gè)控制器,其界面與控制器是粗粒度的,這也是傳統(tǒng)MVC模式在復(fù)用方面無(wú)法做到更細(xì)更深層次的一個(gè)根本原因。本系統(tǒng)采用多層次的HMVC模式,使得界面層能夠?qū)崿F(xiàn)從粗粒度到細(xì)粒度的靈活復(fù)用,即從比較大的界面區(qū)域到最細(xì)粒度的界面元素都能夠得到良好的復(fù)用支持。控制器主要包括面板控制器、表格控制器、表格元素控制器、功能樹(shù)控制器和菜單控制器5類(lèi)。控制器的建立主要是指這5類(lèi)元素的建立和搭配,元素的建立都是通過(guò)配置界面進(jìn)行的,用戶只需要了解業(yè)務(wù)流程即可,不需要進(jìn)行任何代碼的編寫(xiě)。控制器的實(shí)現(xiàn)如圖4所示,主要由MVCControl類(lèi)實(shí)現(xiàn),DOFormBean類(lèi)進(jìn)行業(yè)務(wù)對(duì)象的組織,通過(guò)DoViewTemplat模板類(lèi)進(jìn)行展示,BIOIstence類(lèi)是服務(wù)總線類(lèi),Session類(lèi)進(jìn)行服務(wù)總線生命周期的控制,CacheMem是加載的系統(tǒng)默認(rèn)配置數(shù)據(jù)[2,4]。

004.jpg

  (2)工作流管理。本平臺(tái)工作流的建立是在可視化操作界面通過(guò)拖拽的方式進(jìn)行的。本平臺(tái)同時(shí)提供了請(qǐng)假流程的用例,以方便用戶熟悉工作流的建立。主要通過(guò)流程模板、模板變量、節(jié)點(diǎn)、業(yè)務(wù)數(shù)據(jù)這幾個(gè)關(guān)鍵部分進(jìn)行協(xié)調(diào)工作。

  (3)組織定義管理。本系統(tǒng)對(duì)組織結(jié)構(gòu)進(jìn)行高層抽象,每一個(gè)類(lèi)型的組織結(jié)構(gòu)(如部門(mén)、員工、集團(tuán)公司、事業(yè)部等)都可以注冊(cè)為Parter。組織結(jié)構(gòu)可以增加、刪除、替換,所以平臺(tái)的組織結(jié)構(gòu)是靈活、可擴(kuò)展的。用戶只需簡(jiǎn)單的設(shè)置,就可以擁有自己的組織權(quán)限管理功能。

  (4)數(shù)據(jù)源管理。在數(shù)據(jù)源中存儲(chǔ)了所有建立數(shù)據(jù)庫(kù)連接的信息。就像通過(guò)指定文件名可以在文件系統(tǒng)中找到文件一樣,通過(guò)提供正確的數(shù)據(jù)源名稱,可以找到相應(yīng)的數(shù)據(jù)庫(kù)連接。平臺(tái)提供了3種連接數(shù)據(jù)庫(kù)的方式:(1)JNDI方式。數(shù)據(jù)庫(kù)的連接信息存儲(chǔ)在SEVLET容器或應(yīng)用程序服務(wù)器中(如Tomcat、Weblogic、Websphere等),由其提供數(shù)據(jù)庫(kù)的連接池。推薦用這種方式。(2)直接JDBC連接。數(shù)據(jù)庫(kù)連接信息存儲(chǔ)在平臺(tái)中,每次數(shù)據(jù)庫(kù)訪問(wèn)都會(huì)請(qǐng)求一次數(shù)據(jù)庫(kù)連接。(3)平臺(tái)提供的數(shù)據(jù)庫(kù)連接池。數(shù)據(jù)庫(kù)連接信息存儲(chǔ)在平臺(tái)中,與JDBC唯一不同的是“服務(wù)器初始化”選擇“是”。數(shù)據(jù)庫(kù)訪問(wèn)會(huì)從平臺(tái)提供的數(shù)據(jù)庫(kù)連接池請(qǐng)求連接。

3 快速開(kāi)發(fā)平臺(tái)建立項(xiàng)目的步驟

  應(yīng)用快速開(kāi)發(fā)平臺(tái)可以方便地建立各類(lèi)應(yīng)用項(xiàng)目,主要分為以下幾步:(1)分析需要建立項(xiàng)目的需求,明確業(yè)務(wù)需求的業(yè)務(wù)對(duì)象;(2)建立工程;(3)選擇數(shù)據(jù)源,可以選擇不同地址及類(lèi)型的數(shù)據(jù)庫(kù);(4)建立數(shù)據(jù)對(duì)象,數(shù)據(jù)對(duì)象的建立可以在頁(yè)面上逐步錄入,也可點(diǎn)擊導(dǎo)入已有的建立庫(kù)表的語(yǔ)句;(5)數(shù)據(jù)初始化,根據(jù)對(duì)象,初始化數(shù)據(jù)、組織權(quán)限及業(yè)務(wù)表數(shù)據(jù);(6)系統(tǒng)配置、初始化完成后,工程名的子菜單會(huì)顯示出所建立的對(duì)象名稱,每一個(gè)對(duì)象下面對(duì)應(yīng)的有面板和服務(wù),面板就是對(duì)象展示的方式,服務(wù)就是對(duì)象的處理邏輯,用戶可以根據(jù)業(yè)務(wù)需求進(jìn)入不同的頁(yè)面進(jìn)行修改和配置;(7)發(fā)布工程,系統(tǒng)配置完成后,點(diǎn)擊界面上的“發(fā)布工程”,系統(tǒng)自動(dòng)完成新建工程的部署。

  通過(guò)以上幾步配置,就能夠輕松地實(shí)現(xiàn)穩(wěn)定的MIS系統(tǒng),幾乎是零代碼編寫(xiě)量,可以根據(jù)業(yè)務(wù)的變動(dòng)隨時(shí)方便地進(jìn)行配置調(diào)整,極大地提高了開(kāi)發(fā)效率,降低了開(kāi)發(fā)成本。

  本文簡(jiǎn)要闡述了快速開(kāi)發(fā)平臺(tái)的架構(gòu)、功能和實(shí)現(xiàn)方式,將主流的框架集成于本平臺(tái)中,為用戶呈現(xiàn)一個(gè)高效、穩(wěn)定、可復(fù)用、低耦合、通用、功能齊全并且用戶體驗(yàn)良好的套件產(chǎn)品。通過(guò)平臺(tái)的集成能力,化繁為簡(jiǎn),從而提高了開(kāi)發(fā)效率,讓軟件工程師將主要精力放在最核心的業(yè)務(wù)邏輯上,而非寫(xiě)一堆POJO類(lèi)或頁(yè)面導(dǎo)航的配置文件這類(lèi)工作中。基于服務(wù),快速實(shí)現(xiàn)業(yè)務(wù)需求。IT的服務(wù)、流程直接反映了業(yè)務(wù)經(jīng)營(yíng)的狀況,服務(wù)、流程的管理和監(jiān)控為業(yè)務(wù)績(jī)效的改進(jìn)提供了巨大的可能性,它可以告訴工程技術(shù)人員在流程的哪些地方存在改進(jìn)的空間,并為改進(jìn)業(yè)務(wù)績(jī)效提供直接的信息支持。

  參考文獻(xiàn)

  [1] 顏元,武岳山.多標(biāo)簽快速識(shí)別算法研究與改進(jìn)[J].電子技術(shù)應(yīng)用,2012,38(1):81-84.

  [2] 王紫瑤.SOA核心技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,2008.

  [3] NEWCOMER E, LOMOW G. Understanding SOA with Web Services[M]. 徐涵,譯.北京:電子工業(yè)出版社,2006.

  [4] JENDROCK E, EVANS L, GOLLAPUDI D, et al. The Java EE 6 tutorial: basic concepts(Fourth Edition)[M]. 李鵬,韓智,譯.北京:人民郵電出版社,2012.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美国产亚洲视频| 国产精品自拍小视频| 亚洲欧美国产日韩中文字幕| 最新国产精品拍自在线播放| 欧美在线免费一级片| 亚洲伊人观看| 亚洲一区观看| 亚洲视频综合| 亚洲图片欧美日产| 中文av字幕一区| 一本久道久久久| 99国产一区二区三精品乱码| 亚洲另类黄色| 99这里只有精品| 一本色道久久99精品综合| av成人天堂| 正在播放欧美视频| 亚洲视频图片小说| 亚洲视频免费| 亚洲欧美日韩精品久久| 欧美一二三区精品| 久久国产精品久久久| 亚洲第一精品在线| 亚洲日韩欧美视频| 一区二区精品国产| 亚洲视频中文| 午夜视频久久久| 久久精品观看| 美女视频一区免费观看| 蜜桃精品一区二区三区| 欧美激情亚洲激情| 欧美久久久久久| 国产精品国产一区二区| 国产日产欧产精品推荐色 | 久热re这里精品视频在线6| 另类亚洲自拍| 欧美精品午夜视频| 亚洲国产一成人久久精品| 亚洲综合色自拍一区| 亚洲欧美精品伊人久久| 欧美一区在线视频| 亚洲国产中文字幕在线观看| 亚洲三级影院| 亚洲在线播放电影| 久久国产精品久久国产精品| 久久综合伊人77777蜜臀| 欧美电影在线| 国产精品久久999| 国产亚洲网站| 最新国产精品拍自在线播放| 国产精品99久久久久久久久| 亚洲欧美日韩在线一区| 亚洲国产欧美一区二区三区丁香婷| 亚洲精品一区中文| 亚洲欧美日韩视频一区| 久久色中文字幕| 欧美日韩国产综合视频在线观看中文 | 亚洲视频欧美视频| 久久精品国产久精国产爱| 牛牛影视久久网| 国产精品入口夜色视频大尺度 | 影音先锋久久久| 在线一区欧美| 久久精品夜色噜噜亚洲a∨ | 一本到12不卡视频在线dvd | 亚洲欧洲视频在线| 亚洲自拍三区| 欧美成人亚洲成人| 国产精品免费一区豆花| 激情小说亚洲一区| 亚洲视频一二区| 亚洲精品视频免费观看| 午夜久久电影网| 欧美激情中文不卡| 国产亚洲欧美日韩美女| 亚洲三级免费| 久久精品免费看| 先锋影音国产精品| 欧美黑人多人双交| 国产精品天天看| 亚洲人成绝费网站色www| 欧美一级二级三级蜜桃| 一区二区三区高清不卡| 玖玖玖国产精品| 国产情人综合久久777777| 一本久道久久久| 亚洲精品中文字幕女同| 久久精品亚洲热| 国产精品久久久一区麻豆最新章节 | 免费观看一区| 国产日韩欧美黄色| 99精品欧美一区| 亚洲精品久久久久久一区二区| 欧美与欧洲交xxxx免费观看| 欧美人成在线视频| 亚洲第一福利社区| 久久不射中文字幕| 欧美一区二区在线| 欧美亚日韩国产aⅴ精品中极品| 亚洲国产精品成人综合色在线婷婷 | 国产精品成人观看视频免费| 亚洲国产裸拍裸体视频在线观看乱了中文 | 日韩视频在线观看| 美女精品在线| 国产一区二区三区免费在线观看| 这里只有精品电影| 亚洲桃色在线一区| 欧美全黄视频| 亚洲巨乳在线| av成人天堂| 欧美片网站免费| 亚洲日韩欧美视频| 亚洲另类自拍| 欧美成人在线免费观看| 亚洲高清av| 亚洲精品日本| 欧美韩日精品| 亚洲国产中文字幕在线观看| 亚洲黄色av一区| 欧美a级片一区| 精品成人乱色一区二区| 亚洲第一精品夜夜躁人人躁| 久久精品电影| 国产日韩视频| 欧美影院在线播放| 久久网站免费| 精品成人在线| 亚洲激情视频在线观看| 欧美成人精品1314www| 亚洲国产日韩在线一区模特| 日韩视频在线你懂得| 欧美日韩成人一区二区三区| 亚洲麻豆一区| 亚洲欧美日韩在线综合| 国产精品色婷婷| 久久国产免费| 欧美成年人视频网站欧美| 亚洲第一精品电影| 日韩亚洲欧美一区二区三区| 欧美女同视频| 亚洲手机视频| 久久精品久久综合| 激情五月***国产精品| 亚洲精品永久免费| 欧美日韩一区三区四区| 亚洲视频在线观看三级| 欧美在线免费视频| 精品不卡一区| 一区二区久久| 国产精品揄拍500视频| 亚洲第一黄色网| 欧美日本精品一区二区三区| 在线一区日本视频| 久久精品视频免费| 亚洲国产99精品国自产| 亚洲视频在线一区观看| 国产欧美精品一区aⅴ影院| 亚洲国产成人高清精品| 欧美激情一区三区| 中日韩高清电影网| 久久这里只有精品视频首页| 亚洲日本国产| 午夜精品国产更新| 一色屋精品视频在线观看网站 | 亚洲深夜影院| 国产一区二区日韩| 一本色道久久综合亚洲精品小说| 国产精品欧美日韩一区| 欧美在线一区二区三区| 欧美激情导航| 亚洲综合视频在线| 欧美大片va欧美在线播放| 一本色道88久久加勒比精品| 久久国内精品视频| 亚洲精品一区二区三区福利| 亚洲欧美中文另类| 亚洲第一综合天堂另类专| 亚洲一区国产| 影音先锋久久精品| 午夜在线视频观看日韩17c| 在线观看日产精品| 午夜免费电影一区在线观看| 极品尤物久久久av免费看| 亚洲无线观看| 影音先锋日韩资源| 先锋影音网一区二区| 亚洲激情一区| 久久久久99| 亚洲视频狠狠| 欧美黄色免费网站| 欧美在线关看| 国产精品狠色婷| 日韩视频―中文字幕| 国产午夜精品视频免费不卡69堂| 一区二区三区精品国产| 黄色欧美成人| 香港成人在线视频| 日韩图片一区| 麻豆av一区二区三区久久| 亚洲综合999|