跳到主要內容

簡易檢索 / 詳目顯示

研究生: 鍾政憲
Chung,Cheng Hsien
論文名稱: 設計與實作工作流程引擎之剖面導向擴充機制
Enhancing Workflow Engines with Aspectual Processes
指導教授: 陳恭
Chen,Kung
學位類別: 碩士
Master
系所名稱: 理學院 - 資訊科學系
論文出版年: 2008
畢業學年度: 96
語文別: 中文
論文頁數: 80
中文關鍵詞: 工作流程管理系統剖面導向流程定義語言流程引擎
外文關鍵詞: jPDL, JBoss jBPM, AOP, Workflow
相關次數: 點閱:123下載:60
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 根據應用系統的功能特性可將其劃分為功能性需求(Functional Requirements)及非功能性需求(Non-functional Requirements)。功能性需求定義了系統的核心功能,而非功能性需求為系統層面的需求,且為核心模組所共用,例如logging、 authorization。雖然物件導向程式設計是目前最常被用來管理核心功能的方法論,但其對於橫跨(crosscutting)的非功能性需求則缺乏適當的模組化機制。剖面導向程式設計(Aspect-Oriented Programming)是一種新興的程式語言方法論,能夠利用新的模組化單位—aspect—有效處理橫跨性需求的模組化問題,因此本研究將剖面導向程式設計的觀念與技術運用在工作流程(Workflow)的領域中,並且以JBoss jBPM(Java Business Process Management)為基礎,設計jPDL(jBPM Process Definition Language)的剖面導向擴充語言AO4JPDL(Aspect-Oriented for jPDL),並擴充jBPM工作流程引擎(jBPM Workflow Engine),使流程設計人員能利用AO4JPDL解決橫跨性需求的模組化問題。


    Software-system is composed of functional requirements and non-functional requirements. Functional requirements define core functions of software-system. Non-functional requirements are crosscutting concerns such as logging, authorization and other elements common to many of the core modules. While object-oriented programming (OOP) is the most common methodology employed today to manage core functions, it is not enough to manage crosscutting concerns. Aspect-Oriented Programming (AOP) is a relative new methodology that specifically targeted the management of crosscutting concerns by introducing a new unit of modularization—an aspect—that realizes the concept of Separation of Concerns. Our research is to apply Aspect-Oriented Programming in the field of workflow. We implement Aspect-Oriented for jBPM Process Definition Language (AO4JPDL) and extend jBPM workflow Engine to support Aspect-Oriented Programming. AO4JPDL is a aspect-oriented extension to the jBPM Process Definition Language(jPDL). With AO4JPDL process designer can implement crosscutting concerns in aspects instead of fusing them in the core modules, resulting in a system that is easier to design, implement, and maintain.

    第一章 導論................................................1
    1.1 研究動機...............................................1
    1.2 研究目標...............................................2
    1.3 本論文的貢獻...........................................2
    1.4 本論文的限制...........................................2
    1.5 論文章節架構...........................................2
    第二章 技術背景與相關研究....................................4
    2.1 Aspect-Oriented Web Service Composition with AO4BPEL..4
    2.2 Aspect-Oriented Workflow Languages....................4
    2.3 JBoss jBPM 介紹.......................................5
    2.3.1 jBPM 主要元件介紹....................................5
    2.3.2 jPDL 介紹...........................................8
    2.3.3 jBPM 流程解析方式介紹................................10
    2.3.4 流程範例說明.........................................11
    第三章 剖面導向流程定義語言的設計............................15
    3.1 傳統編程方法的限制.....................................15
    3.2 利用剖面導向程式設計改善模組化問題.......................19
    3.3 AO4JPDL 介紹..........................................23
    3.3.1 Join Point ........................................23
    3.3.2 Pointcut ..........................................24
    3.3.3 Advice ............................................26
    3.3.4 Aspect ............................................28
    第四章 剖面導向擴充機制的設計與實作..........................29
    4.1 jBPM 核心類別庫介紹...................................32
    4.2 剖面導向擴充類別介紹...................................34
    4.3 核心類別與擴充類別的整合...............................35
    4.4 Aspect 處理流程......................................37
    4.4.1 before advice 處理流程.............................39
    4.4.2 after advice 處理流程..............................40
    4.5 效能改善機制..........................................41
    4.5.1 節點緩存機制........................................41
    4.5.2 節點緩存機制與版本控制...............................42
    4.6 流程測試與效能比較....................................42
    第五章 結論..............................................53
    第六章 參考文獻...........................................54
    附錄A ASPECT 模組處理程式碼...............................56
    附錄B 測試流程...........................................60
    附錄C 測試程式碼..........................................63

    【1】 WFMC, Workflow Process Definition Interface-XML Process Definition Language(XPDL), WfMC-TC-1025, October 2005.
    【2】 JBoss, Inc., JBoss jBPM jPDL User Guide, http://docs.jboss.com/jbpm/v3/userguide.
    【3】 AOSD Community, Aspect-Oriented Software Development Community and Conference, http://www.aosd.net.
    【4】 G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin, Aspect-oriented programming, in ECOOP '97 Object-Oriented Programming 11th European Conference, Finland (M. Aksit and S. Matsuoka, eds.), vol. 1241. 220-242, 1997.
    【5】 R. Laddad, AspectJ in Action, Manning Publications, 2003.
    【6】 JBoss Group, JBoss jBPM, http://www.jboss.com/products/jbpm.
    【7】 Anis Charfi and Mira Mezini, Aspect-Oriented Web Service Composition with AO4BPEL, In Proceedings of the European Conference on Web Services (ECOWS), volume 3250 of LNCS, Springer, September 2004.
    【8】 Boris Bachmendo and Rainer Unland, Aspect-based workflow evolution, In Work-shop on Aspect-Oriented Programming and Separation of Concerns, August 2001.
    【9】 Anis Charfi and Mira Mezini, Aspect-Oriented Workflow Languages, Proceedings of the 14th International Conference on Cooperative Information Systems (CoopIS), November 2006.
    【10】 JUnit (http://www.junit.org/index.htm), 2006.
    【11】 Mike Gunderloy and Sybex, Coder to Developer, Sybex Publications, 2004.
    【12】 G. Joeris and O. Herzog, Managing Evolving Workflow Specifications, Third International Conference of Cooperative Information Systems, New York, August 1998.
    【13】 J. Clark and S. DeRose, XML Path Language (XPath)Version 1.0, W3C Recom-mendation 16 November 1999.
    【14】 JBoss, Inc., JBoss jBPM WS-BPEL Runtime User Guide, http://docs.jboss.com/jbpm/bpel/.
    【15】 J. Gradecki and N. Lesiecki, Mastering AspectJ, Wiley Publications, 2003.
    【16】 Jörg Becker and Michael zur Muehlen, Workflow Handbook 2002, Future Strategies Inc., Book Division, Pages:39-50.
    【17】 P. Niemeyer, BeanShell, http://www.beanshell.org/.

    QR CODE
    :::