久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Activiti源碼分析一——源碼架構及結構分析

     賈朋亮博客 2015-12-25

    背景介紹

    本系列文章是對Activiti-5.15.1的源碼進行分析的結果,后面提到的Activiti均是指該版本。源碼的下載地址是:https://github.com/Activiti/Activiti/archive/activiti-5.15.1.zip。請參考源碼來閱讀本文。

    源碼工程結構

    Activiti使用maven來管理源碼工程。它是一個maven項目群組成的。這些項目群中的子模塊之間的關系如下所示。


    上圖體現了各項目之間的集成和依賴關系。

    下面是各項目的說明。說明,省略了所有相同的groupId的值org.activiti

    項目名稱項目內容
    activiti-bpmn-model
    該項目中包含了Activiti實現的BPMN的模型定義的類,實現了BPMN2.0的標準,參考BPMN2.0去理解比較容易些。
    activiti-process-validation
    該項目中包含了工作流的校驗相關的代碼。
    activiti-bpmn-converter
    該項目中包含了對XML格式定義的流程進行解析和轉換的類。
    activiti-engine
    該項目是工作流引擎的核心工程,該工程可以獨立部署提供服務,集成了其它幾個子工程。

    因此可以看出來核心的工程是activiti-engine該工程主要實現了Activiti工作流引擎的核心邏輯。接下來的代碼分析主要從該工程代碼入手。

    activiti-engine工程結構

    從上圖可以看出來,目前activiti-engine是用到了spring和mybatis兩個組件的,另外使用了一些通用的包,主要是common-*,測試用到了junit4.

    activiti-engine抽象接口類圖


    上述類圖是activiti的幾個抽象接口,這些接口也是暴露給應用程序最終的幾個接口,了解這些接口非常重要。

    接口名稱接口含義
    EngineServices

    Interface implemented by all classes that expose the Activiti services.

    該接口表示是工作流引擎,通過該接口暴露出工作流引擎的核心服務,其它主要接口的實例通過該接口獲取。

    RepositoryService

    Service providing access to the repository of process definitions and deployments.

    該接口是提供了流程定義和部署的服務。

    RuntimeService
    流程運行時接口,該接口提供了流程實例的各種處理服務。
    FormService

     Access to form data and rendered forms for starting new process instances and completing tasks.

    動態表單服務,提供了表單的數據獲取、表單生成等服務接口。

    TaskService

    Service which provides access to {@link Task} and form related operations.

    任務相關服務,提供了對任務的各種處理接口。

    HistoryService
     Service exposing information about ongoing and past process instances.  This is different
     * from the runtime information in the sense that this runtime information only contains 
     * the actual runtime state at any given moment and it is optimized for runtime 
     * process execution performance.  The history information is optimized for easy 

     * querying and remains permanent in the persistent storage.

    歷史服務,主要提供了查詢歷史的流程實例的相關數據的接口。

    IdentityService

    Service to manage {@link User}s and {@link Group}s.

    用戶和用戶組的接口。若想實現與本地用戶的集成,可以重新實現該接口。


    ManagementService
    Service for admin and maintenance operations on the process engine.
     * 
     * These operations will typically not be used in a workflow driven application,

     * but are used in for example the operational console.

    流程數據管理接口。提供對于流程中的各種數據的存取的相關接口。





    接下來將繼續研究ProcessEngineConfiguration的實現類,具體是如何實現的。


      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 亚洲国产成人久久综合三区| 国产乱女乱子视频在线播放| 40岁大乳的熟妇在线观看| 免费国产黄线在线观看| 亚洲自偷自拍另类小说| 西西人体大胆444WWW| 国产精品免费中文字幕| 国产精品一码二码三码| 国产成人精品视频不卡| A男人的天堂久久A毛片| 无码一区二区三区中文字幕| 伊人无码一区二区三区| 国产在线观看播放av| 美女被强奷到抽搐的动态图| 成人特黄A级毛片免费视频| 白色丝袜国产在线视频| V一区无码内射国产| 肉大捧一进一出免费视频| 国产AV无码专区亚洲AV毛片搜| 午夜福利国产精品视频| 韩国青草无码自慰直播专区| 国产欧美日韩VA另类在线播放| 亚洲精品宾馆在线精品酒店| 亚洲人成网站18禁止无码| 色播久久人人爽人人爽人人片AV| 国偷自产AV一区二区三区| 手机看片AV永久免费| 欧美高清精品一区二区| 国产av午夜精品福利| 97夜夜澡人人爽人人模人人喊| 亚洲中文字幕精品久久久久久动漫 | 国产好大好硬好爽免费不卡 | 国产精品丝袜亚洲熟女| 高大丰满熟妇丰满的大白屁股| 两个人看的视频WWW在线高清| 国产成人精品无码免费看| 人妻少妇偷人精品一区| 国产一精品一AV一免费爽爽| 一区二区三区精品不卡| 久久久久亚洲精品无码蜜桃| H无码动漫在线观看|