學術產出-Theses

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

  • No doi shows Citation Infomation
題名 設計與實作工作流程引擎之剖面導向擴充機制
Enhancing Workflow Engines with Aspectual Processes
作者 鍾政憲
Chung,Cheng Hsien
貢獻者 陳恭
Chen,Kung
鍾政憲
Chung,Cheng Hsien
關鍵詞 工作流程管理系統
剖面導向
流程定義語言
流程引擎
jPDL
JBoss jBPM
AOP
Workflow
日期 2007
上傳時間 17-Sep-2009 14:04:00 (UTC+8)
摘要 根據應用系統的功能特性可將其劃分為功能性需求(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】 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/.
描述 碩士
國立政治大學
資訊科學學系
94971019
96
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0094971019
資料類型 thesis
dc.contributor.advisor 陳恭zh_TW
dc.contributor.advisor Chen,Kungen_US
dc.contributor.author (Authors) 鍾政憲zh_TW
dc.contributor.author (Authors) Chung,Cheng Hsienen_US
dc.creator (作者) 鍾政憲zh_TW
dc.creator (作者) Chung,Cheng Hsienen_US
dc.date (日期) 2007en_US
dc.date.accessioned 17-Sep-2009 14:04:00 (UTC+8)-
dc.date.available 17-Sep-2009 14:04:00 (UTC+8)-
dc.date.issued (上傳時間) 17-Sep-2009 14:04:00 (UTC+8)-
dc.identifier (Other Identifiers) G0094971019en_US
dc.identifier.uri (URI) https://nccur.lib.nccu.edu.tw/handle/140.119/32690-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學學系zh_TW
dc.description (描述) 94971019zh_TW
dc.description (描述) 96zh_TW
dc.description.abstract (摘要) 根據應用系統的功能特性可將其劃分為功能性需求(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解決橫跨性需求的模組化問題。zh_TW
dc.description.abstract (摘要) 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.en_US
dc.description.tableofcontents 第一章 導論................................................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
zh_TW
dc.format.extent 48778 bytes-
dc.format.extent 60578 bytes-
dc.format.extent 110008 bytes-
dc.format.extent 127653 bytes-
dc.format.extent 107832 bytes-
dc.format.extent 552951 bytes-
dc.format.extent 655319 bytes-
dc.format.extent 424663 bytes-
dc.format.extent 71712 bytes-
dc.format.extent 59442 bytes-
dc.format.extent 133223 bytes-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.format.mimetype application/pdf-
dc.language.iso en_US-
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0094971019en_US
dc.subject (關鍵詞) 工作流程管理系統zh_TW
dc.subject (關鍵詞) 剖面導向zh_TW
dc.subject (關鍵詞) 流程定義語言zh_TW
dc.subject (關鍵詞) 流程引擎zh_TW
dc.subject (關鍵詞) jPDLen_US
dc.subject (關鍵詞) JBoss jBPMen_US
dc.subject (關鍵詞) AOPen_US
dc.subject (關鍵詞) Workflowen_US
dc.title (題名) 設計與實作工作流程引擎之剖面導向擴充機制zh_TW
dc.title (題名) Enhancing Workflow Engines with Aspectual Processesen_US
dc.type (資料類型) thesisen
dc.relation.reference (參考文獻) 【1】 WFMC, Workflow Process Definition Interface-XML Process Definition Language(XPDL), WfMC-TC-1025, October 2005.zh_TW
dc.relation.reference (參考文獻) 【2】 JBoss, Inc., JBoss jBPM jPDL User Guide, http://docs.jboss.com/jbpm/v3/userguide.zh_TW
dc.relation.reference (參考文獻) 【3】 AOSD Community, Aspect-Oriented Software Development Community and Conference, http://www.aosd.net.zh_TW
dc.relation.reference (參考文獻) 【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.zh_TW
dc.relation.reference (參考文獻) 【5】 R. Laddad, AspectJ in Action, Manning Publications, 2003.zh_TW
dc.relation.reference (參考文獻) 【6】 JBoss Group, JBoss jBPM, http://www.jboss.com/products/jbpm.zh_TW
dc.relation.reference (參考文獻) 【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.zh_TW
dc.relation.reference (參考文獻) 【8】 Boris Bachmendo and Rainer Unland, Aspect-based workflow evolution, In Work-shop on Aspect-Oriented Programming and Separation of Concerns, August 2001.zh_TW
dc.relation.reference (參考文獻) 【9】 Anis Charfi and Mira Mezini, Aspect-Oriented Workflow Languages, Proceedings of the 14th International Conference on Cooperative Information Systems (CoopIS), November 2006.zh_TW
dc.relation.reference (參考文獻) 【10】 JUnit (http://www.junit.org/index.htm), 2006.zh_TW
dc.relation.reference (參考文獻) 【11】 Mike Gunderloy and Sybex, Coder to Developer, Sybex Publications, 2004.zh_TW
dc.relation.reference (參考文獻) 【12】 G. Joeris and O. Herzog, Managing Evolving Workflow Specifications, Third International Conference of Cooperative Information Systems, New York, August 1998.zh_TW
dc.relation.reference (參考文獻) 【13】 J. Clark and S. DeRose, XML Path Language (XPath)Version 1.0, W3C Recom-mendation 16 November 1999.zh_TW
dc.relation.reference (參考文獻) 【14】 JBoss, Inc., JBoss jBPM WS-BPEL Runtime User Guide, http://docs.jboss.com/jbpm/bpel/.zh_TW
dc.relation.reference (參考文獻) 【15】 J. Gradecki and N. Lesiecki, Mastering AspectJ, Wiley Publications, 2003.zh_TW
dc.relation.reference (參考文獻) 【16】 Jörg Becker and Michael zur Muehlen, Workflow Handbook 2002, Future Strategies Inc., Book Division, Pages:39-50.zh_TW
dc.relation.reference (參考文獻) 【17】 P. Niemeyer, BeanShell, http://www.beanshell.org/.zh_TW