国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于EDA架構(gòu)的協(xié)同平臺(tái)的研究與實(shí)現(xiàn)

2019-11-05 17:13時(shí)應(yīng)友
中國(guó)信息化 2019年9期
關(guān)鍵詞:發(fā)布者調(diào)用耦合

時(shí)應(yīng)友

本文以行業(yè)精益管理對(duì)業(yè)務(wù)高度協(xié)同為出發(fā)點(diǎn),分析SOA在事件響應(yīng)與處理方面的固有缺陷,引入事件驅(qū)動(dòng)(EDA)概念,探討EDA架構(gòu)對(duì)協(xié)同管理的支撐,研究事件驅(qū)動(dòng)的關(guān)鍵技術(shù),重點(diǎn)剖析事件的規(guī)范化描述以及事件驅(qū)動(dòng)的原理,提出一種基于EDA架構(gòu)的協(xié)同平臺(tái)框架的設(shè)計(jì)思路和實(shí)現(xiàn)方法,最后以“基于EDA架構(gòu)的協(xié)同辦公平臺(tái)”為背景,將該架構(gòu)應(yīng)用于實(shí)際系統(tǒng)中加以實(shí)現(xiàn)。

一、背景及現(xiàn)狀

近年來(lái),煙草行業(yè)通過(guò)增加產(chǎn)量和提升產(chǎn)品結(jié)構(gòu)實(shí)現(xiàn)了快速發(fā)展,但依靠外延式發(fā)展的潛力和速度難以持續(xù),導(dǎo)致重點(diǎn)費(fèi)用控制艱難、適應(yīng)市場(chǎng)能力不強(qiáng)、運(yùn)行效率不高等問(wèn)題。精益管理的本質(zhì)就是利用最小的資源創(chuàng)造最大的價(jià)值,改變傳統(tǒng)管理理念和行為模式,優(yōu)化資源配置,推進(jìn)管理創(chuàng)新,注重信息化支撐,不斷優(yōu)化價(jià)值流程,持續(xù)提升企業(yè)管理水平。

精益管理對(duì)應(yīng)用和服務(wù)之間的協(xié)同要求日益提高。一般情況下企業(yè)內(nèi)部協(xié)同是通過(guò)工作流實(shí)現(xiàn),外部協(xié)同則通過(guò)SOA等實(shí)現(xiàn)。近年來(lái),基于SOA架構(gòu)的協(xié)同可實(shí)現(xiàn)跨系統(tǒng)、跨組織的流程協(xié)作,在一定時(shí)期、一定程度上實(shí)現(xiàn)了對(duì)協(xié)同的支撐,但對(duì)極端松耦合、高效率、易擴(kuò)展等支撐并不令人滿意。請(qǐng)求/響應(yīng)的服務(wù)模式主要支持同步的服務(wù)調(diào)用和執(zhí)行,即服務(wù)請(qǐng)求者發(fā)出請(qǐng)求后,在請(qǐng)求者和提供者間須維持一個(gè)鏈接直到請(qǐng)求者收到響應(yīng)。這就產(chǎn)生了兩個(gè)問(wèn)題:一是請(qǐng)求者和服務(wù)者必須知道彼此的存在,二是如果得不到響應(yīng),請(qǐng)求者不得不采用輪詢方式不斷發(fā)出請(qǐng)求。事實(shí)上,協(xié)同的請(qǐng)求往往是來(lái)自分布式的、不可預(yù)知的應(yīng)用或服務(wù)。這種線性的協(xié)同模式不能很好支撐不可預(yù)知、松耦合、異步的系統(tǒng)或服務(wù)間的協(xié)同。

理想的協(xié)同環(huán)境下,流程是通過(guò)事件觸發(fā)。因此,本文將事件驅(qū)動(dòng)的方法和面向服務(wù)的方法相結(jié)合,引入了EDA作為協(xié)同平臺(tái)的支撐。

二、總體結(jié)構(gòu)設(shè)計(jì)

EDA是Gartner公司2003年提出的一種設(shè)計(jì)和構(gòu)建應(yīng)用的方法,EDA也稱為事件驅(qū)動(dòng)的SOA,與SOA是兩種相容且互補(bǔ)的架構(gòu)。二者最明顯的區(qū)別是,SOA采用請(qǐng)求/響應(yīng)服務(wù)機(jī)制,EDA通常采用發(fā)布/訂閱機(jī)制。請(qǐng)求/響應(yīng)服務(wù)服務(wù)模式中,發(fā)布者和使用者是一對(duì)一的關(guān)系,服務(wù)使用者調(diào)用發(fā)布者提供的服務(wù),且必須等待,直到提供者一端的操作完成。而消息發(fā)布/訂閱模式可實(shí)現(xiàn)事件的一對(duì)多靈活分發(fā):發(fā)布者將事件發(fā)布到中央處理主干上,傳遞給多個(gè)訂閱者,其可讓事件的發(fā)布者和訂閱者之間徹底解耦。

EDA與SOA是兩種相容且互補(bǔ)的架構(gòu)。一個(gè)典型的事件驅(qū)動(dòng)模型由事件發(fā)布者、事件訂閱者、事件管理器和服務(wù)注冊(cè)中心組成。在事件的發(fā)布者和訂閱者之間要通過(guò)事件和服務(wù)的注冊(cè)中心來(lái)連接兩者。如圖1所示:

事件發(fā)布者(或事件源)生成事件。事件發(fā)布者可以是應(yīng)用程序、數(shù)據(jù)存儲(chǔ)、服務(wù)、業(yè)務(wù)流程、發(fā)送器、傳感器或者協(xié)作工具。事件訂閱者接到事件時(shí),由其確定觸發(fā)哪些處理,包括(但不局限于)調(diào)用一個(gè)服務(wù)或啟動(dòng)一個(gè)業(yè)務(wù)流程,將事件發(fā)布到一個(gè)訂閱中心,直接通知人員或系統(tǒng),生成一個(gè)新事件,以及捕獲事件以備用。

EDA架構(gòu)本質(zhì)上是一個(gè)極端松耦合且高度分布的框架,事件的發(fā)布者只需發(fā)布這個(gè)事件,并不需要了解會(huì)引發(fā)什么事情,也不需要知道訂閱者的信息,事件的發(fā)布者和訂閱者也不必同時(shí)處于活動(dòng)狀態(tài)。相應(yīng)的,事件訂閱者也只需接受事件,并根據(jù)規(guī)則執(zhí)行下一動(dòng)作,并不需要知道事件是由誰(shuí)引發(fā)的。

從以上特性可以看出,EDA具備非實(shí)時(shí)、異步、極端松耦合等特性,它將傳統(tǒng)的輪詢模式轉(zhuǎn)化為了事件驅(qū)動(dòng)的推動(dòng)模式,這就意味著事件觸發(fā)的消息能夠在獨(dú)立的、非耦合的組件和服務(wù)之間傳遞,實(shí)現(xiàn)表面上毫無(wú)關(guān)聯(lián)的應(yīng)用或服務(wù)之間的整合。因此,EDA是解決SOA松耦合通信與協(xié)同服務(wù)的理想解決方案,它不僅是激活和驅(qū)動(dòng)分布式系統(tǒng)的直接動(dòng)因,也是進(jìn)一步構(gòu)建分布式對(duì)象管理的基礎(chǔ)。

基于EDA架構(gòu)是最近研究的熱點(diǎn)之一。Brenda M. Michelson提出了一個(gè)實(shí)現(xiàn)EDA架構(gòu)的模型,把實(shí)現(xiàn)EDA架構(gòu)的組件分為五類:

事件元數(shù)據(jù)(Event Metadata),包括事件描述(Event Specifications)和事件處理規(guī)則(Event Processing Rules)。

事件處理(Event Processing),包括事件處理引擎(Event Processing Engine)和事件數(shù)據(jù)(event occurrence data)。

事件工具(Event Tooling),包括開(kāi)發(fā)工具和管理工具,開(kāi)發(fā)工具用于設(shè)定事件的描述和事件處理規(guī)則,管理工具則提供可視化的流程監(jiān)控、干預(yù)以及統(tǒng)計(jì)分析功能。

企業(yè)集成主干(Enterprise Integration),實(shí)現(xiàn)對(duì)事件的預(yù)處理(過(guò)濾、路由、轉(zhuǎn)換等)、事件通道傳輸、服務(wù)調(diào)用、業(yè)務(wù)流程調(diào)用、事件發(fā)布訂閱和企業(yè)信息訪問(wèn)等功能。

集成資源和目標(biāo)(Sources and Targets),包括企業(yè)應(yīng)用、服務(wù)、業(yè)務(wù)流程、數(shù)據(jù)庫(kù)、人、代理(agent)等企業(yè)資源。

在上述基礎(chǔ)上,本文設(shè)計(jì)了一種基于EDA架構(gòu)的協(xié)同平臺(tái)模型,如圖2所示:

核心內(nèi)容包括以下幾個(gè)部分:

企業(yè)服務(wù)總線(ESB:Enterprise Service Bus):松散耦合服務(wù)和應(yīng)用之間標(biāo)準(zhǔn)的集成方式,承擔(dān)解耦中介的角色,在EDA架構(gòu)中提供服務(wù)注冊(cè)中心和事件注冊(cè)中心,實(shí)現(xiàn)協(xié)議轉(zhuǎn)換、消息轉(zhuǎn)換、消息路由等功能;提供服務(wù)等級(jí)協(xié)議、服務(wù)管理監(jiān)控等管理功能。

本體(Ontology)服務(wù)器:理清事件之間的邏輯關(guān)系,提取事件的關(guān)鍵詞,為接下來(lái)的服務(wù)編排處理做好準(zhǔn)備。本體服務(wù)器提供明確定的詞匯表,描述概念與概念之間的關(guān)系,實(shí)現(xiàn)對(duì)事件的規(guī)范化描述,使事件能夠被響應(yīng)方識(shí)別。

事件管理器:是平臺(tái)的中央控制器,是對(duì)外溝通的窗口,負(fù)責(zé)響應(yīng)外部用戶的要求,并按要求給系統(tǒng)中的EDA或SOA元件分配任務(wù)。它負(fù)責(zé)與事件注冊(cè)中心、規(guī)則引擎、BPM、Ontology本體服務(wù)器進(jìn)行交互和調(diào)度。

規(guī)則引擎:解析、調(diào)用、執(zhí)行規(guī)則包的服務(wù),由推理引擎發(fā)展而來(lái)。一個(gè)業(yè)務(wù)規(guī)則包含一組條件和在此條件下執(zhí)行的操作,規(guī)則引擎定義了在什么條件下觸發(fā)一個(gè)規(guī)則,以及當(dāng)規(guī)則被觸發(fā)后,執(zhí)行規(guī)則對(duì)應(yīng)的流程。

業(yè)務(wù)流程管理(BPM: Business Process Management):通常包括建模與設(shè)計(jì)、部署與執(zhí)行、監(jiān)控與分析、優(yōu)化與調(diào)整、工作流引擎、流程仿真、流程監(jiān)控、流程KPI分析、等工具,可以完成流程的編排、運(yùn)行,可視化監(jiān)控流程的執(zhí)行情況,對(duì)流程執(zhí)行過(guò)程中出現(xiàn)的意外進(jìn)行處理,對(duì)流程執(zhí)行的情況進(jìn)行統(tǒng)計(jì)、分析。

開(kāi)發(fā)工具和管理工具:開(kāi)發(fā)工具用于對(duì)事件的描述、對(duì)事件處理規(guī)則的設(shè)定,管理工具提供可視化的流程監(jiān)控、干預(yù)以及統(tǒng)計(jì)分析功能。

基于EDA架構(gòu)的請(qǐng)求/響應(yīng)行為模型如圖3所示,其工作流程如圖4所示。

三、技術(shù)實(shí)現(xiàn)

(一)事件模型

事件實(shí)際上是指事情的記錄,以基本形式表示的事件可以提供豐富的內(nèi)容,通常它包含了事件發(fā)生的時(shí)間、來(lái)源及相關(guān)數(shù)據(jù),以及希望返回的結(jié)果等。事件模型用XML格式描述,用schema驗(yàn)證。

(二)事件驅(qū)動(dòng)模型

事件架構(gòu)通常包括事件通道、事件發(fā)布者和事件接收者。事件通道負(fù)責(zé)注冊(cè)和取消注冊(cè)事件接收者,并負(fù)責(zé)將事件消息從事件發(fā)布者以匿名方式路由到事件接收者。下面的框架給出了事件通道功能,即根據(jù)事件對(duì)象實(shí)現(xiàn)的Java 類或接口的類型,來(lái)過(guò)濾消息,并將消息路由到適當(dāng)?shù)慕邮照?。如圖5所示:

當(dāng)事件管理器接收到一個(gè)事件,調(diào)用本體服務(wù)器對(duì)事件本身進(jìn)行規(guī)范化描述,并調(diào)用規(guī)則引擎,明確調(diào)用流程的走向,最后把流程傳遞給BPM,由BPM調(diào)用相應(yīng)的流程(或一組流程),程序片段如下:

public static Object invokeAction(String process, String activity, String action, String executor, String executeContext, Map events)

調(diào)用Action

參數(shù):

String process process流程標(biāo)識(shí), 帶路徑

String activity activity活動(dòng)標(biāo)識(shí)

String action action動(dòng)作標(biāo)識(shí)

String executor 執(zhí)行者

String executeContext 執(zhí)行環(huán)境

Map events 事件參數(shù)

返回:

Object //包含了根據(jù)事件<返回要求>規(guī)定的格式化信息,或是產(chǎn)生新的事件等。

可以觸發(fā)多個(gè)流程:

public static List invokeActions(List processes, List activities, List actions, List executors, List executeContexts, List events)

調(diào)用多個(gè)Action

參數(shù):

List processes process流程標(biāo)識(shí)列表, 帶路徑

List activities activity活動(dòng)標(biāo)識(shí)列表

List actions action動(dòng)作標(biāo)識(shí)列表

List executors 執(zhí)行者列表

List executeContexts 執(zhí)行環(huán)境

List events 事件參數(shù)列表

返回:

List 返回每個(gè)流程處理后的結(jié)果。

四、應(yīng)用效果

基于EDA架構(gòu)的協(xié)同辦公平臺(tái)以組織戰(zhàn)略目標(biāo)和階段目標(biāo)為核心,以目標(biāo)分解后的任務(wù)為驅(qū)動(dòng),以規(guī)范化的流程、高度共享的信息、即時(shí)快捷的溝通為紐帶,為決策、管理、執(zhí)行層提供統(tǒng)一、規(guī)范、高效的基礎(chǔ)管理和協(xié)作平臺(tái),通過(guò)績(jī)效管理體系實(shí)現(xiàn)人員、任務(wù)、目標(biāo)的三級(jí)量化考評(píng),為決策和目標(biāo)的提升提供依據(jù)。系統(tǒng)主要由統(tǒng)一信息門戶、移動(dòng)門戶、目標(biāo)管理、體系管理、綜合事務(wù)管理、績(jī)效考核、對(duì)標(biāo)管理、創(chuàng)新管理、創(chuàng)優(yōu)管理、知識(shí)管理、決策支持等核心應(yīng)用體系構(gòu)成。

基于EDA架構(gòu)的協(xié)同平臺(tái)提供的這種異步、極端松耦合的協(xié)同機(jī)制,很好地滿足了不可預(yù)知的、復(fù)雜的異構(gòu)應(yīng)用系統(tǒng)或服務(wù)間協(xié)同的需求,有效解決了信息孤島、應(yīng)用孤島和資源孤島三大問(wèn)題,實(shí)現(xiàn)跨部門、跨組織、跨系統(tǒng)的流程互聯(lián)和數(shù)據(jù)交換,滿足組織上下貫通、左右協(xié)同的需求。協(xié)同平臺(tái)作為支撐組織管理和業(yè)務(wù)活動(dòng)的核心應(yīng)用,承載著組織意圖、戰(zhàn)略管控、制度運(yùn)行、事務(wù)處理、績(jī)效考核、知識(shí)型和學(xué)習(xí)型組織建設(shè)等業(yè)務(wù)落地。

五、總結(jié)

本文分析了企業(yè)業(yè)務(wù)協(xié)同中存在的問(wèn)題,探討了基于事件驅(qū)動(dòng)的架構(gòu)對(duì)協(xié)同的支持,以及實(shí)現(xiàn)事件驅(qū)動(dòng)思想的關(guān)鍵技術(shù),在此基礎(chǔ)上給出了事件模型以及一個(gè)基于事件驅(qū)動(dòng)的協(xié)同模型,分析了協(xié)同模型的各組成部分及事件驅(qū)動(dòng)機(jī)制工作的原理,重點(diǎn)探討了事件的規(guī)范化描述以及事件驅(qū)動(dòng)的原理,并提出了基于EDA架構(gòu)的協(xié)同辦公平臺(tái)的設(shè)計(jì)與應(yīng)用實(shí)現(xiàn)。

猜你喜歡
發(fā)布者調(diào)用耦合
高效降解菌耦合顆粒生物活性炭處理印染廢水
新加坡新法規(guī)引爭(zhēng)議
新疆人口與經(jīng)濟(jì)耦合關(guān)系研究
新疆人口與經(jīng)濟(jì)耦合關(guān)系研究
瑞薩電子推出光電耦合器適用于工業(yè)自動(dòng)化和太陽(yáng)能逆變器
基于INTESIM睪ISCI的流固耦合仿真軟件技術(shù)及應(yīng)用
在微信朋友圈買到假貨,該如何維權(quán)?
基于Android Broadcast的短信安全監(jiān)聽(tīng)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
網(wǎng)絡(luò)大V轉(zhuǎn)發(fā)違法廣告須擔(dān)責(zé)
寓言
永善县| 乌拉特后旗| 兴文县| 凉山| 桐庐县| 漳浦县| 济南市| 梨树县| 郴州市| 宝应县| 元氏县| 铜鼓县| 什邡市| 福贡县| 通渭县| 武安市| 太仆寺旗| 蓬莱市| 时尚| 南溪县| 遵义县| 荥经县| 秭归县| 阜新市| 扎囊县| 龙海市| 乌鲁木齐市| 泽库县| 邓州市| 石景山区| 遂平县| 巴马| 灌云县| 泸溪县| 固原市| 西丰县| 哈尔滨市| 涪陵区| 忻城县| 西畴县| 商城县|