Loading...
|
Please use this identifier to cite or link to this item:
https://nccur.lib.nccu.edu.tw/handle/140.119/94861
|
Title: | 以靜態織入方法實現剖面導向工作流程 Design and Implementation of a Static Weaver for Aspectual Workflow |
Authors: | 許朝傑 Hsu, Chao Chieh |
Contributors: | 陳恭 Chen, Kung 許朝傑 Hsu, Chao Chieh |
Keywords: | 剖面導向程式設計 工作流程 流程描述語言 靜態織入 橫跨性流程 aspect-oriented programming workflow jPDL static weaving cross-cutting concerns |
Date: | 2008 |
Issue Date: | 2016-05-09 12:02:36 (UTC+8) |
Abstract: | 現今的應用系統中常會有橫跨性(Cross-Cutting)的程式模組存在,這類程式模組包括:日誌記錄、授權認證、資料永存性等,而這種程式模組在系統中若沒有被區分抽離出來,常常會導致系統重複出現與主要功能需求無關的程式碼,除此之外,這些橫跨性需求的程式碼還會與主要功能需求程式碼糾結在一起,造成程式碼夾雜不清的現象。在工作流程(Workflow)的開發過程中也有著相同的問題。為了解決上述的問題,本研究以JBoss jBPM(Java Business Process Manage- ment)為基礎平台,將剖面導向程式設計(Aspect-Oriented Progra- mming)的觀念與技術運用在工作流程的領域中,使流程設計人員能夠利用AOP的方式來解決橫跨性需求的模組化問題,並且利用靜態織入方法,改善jBPM工作流程引擎進行剖面流程在織入時的效能。 Cross-cutting concerns are those system design issues that cut across the various modules of an application and are typically foundational system services that we need to consider before diving into building an application. Most common among these are logging, authentication, authorization, and persistence. Cross-cutting concerns always cause program code to be scattered and tangled, and therefore make it harder to understand and maintain. Similar problem also occurs in the field of workflow. In our research, we apply the concept of aspect-oriented programming(AOP) to the field of workflow system, and implement a static weaver for jBPM. With static weaver, process designer can use the facilities of AOP, and the performance is also improved via static weaving . 第一章 導論. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1
1.1 研究動機. . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.2 研究目標. . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.3 本論文的貢獻. . . . . . . . . . . . . . . . . . . . . . . . . .2
1.4 本論文的限制. . . . . . . . . . . . . . . . . . . . . . . . . .2
1.5 論文章節架構. . . . . . . . . . . . . . . . . . . . . . . . . .2
第二章 相關研究與技術背景. . . . . . . . . . . . . . . . . . . . . .4
2.1 Aspect-Oriented Programming(AOP) . . . . . . . . . . . . . .4
2.2 Aspect-Oriented Web Service Composition with AO4BPEL . .6
2.3 Aspect-Oriented Workflow Languages . . . . . . . . . . . . .6
2.4 JBoss jBPM . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.4.1 jBPM主要元件介紹. . . . . . . . . . . . . . . . . . . . .7
2.4.2 jPDL介紹. . . . . . . . . . . . . . . . . . . . . . . . . .10
2.4.3 jBPM流程解析方式介紹. . . . . . . . . . . . . . . . . .13
2.4.4 jBPM流程驅動方式. . . . . . . . . . . . . . . . . . . . .14
2.4.5 剖面導向流程範例說明. . . . . . . . . . . . . . . . . .16
第三章 剖面導向流程描述語言. . . . . . . . . . . . . . . . . . . .19
3.1 靜態織入的過程. . . . . . . . . . . . . . . . . . . . . . . . .19
3.2 jPDL的擴充. . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2.1 jPDL中的Join Point . . . . . . . . . . . . . . . . . . .20
3.2.2 Aspect元素. . . . . . . . . . . . . . . . . . . . . . . . .21
3.2.3 Pointcut元素. . . . . . . . . . . . . . . . . . . . . . .22
3.2.4 Advice元素. . . . . . . . . . . . . . . . . . . . . . . . .25
第四章 靜態織入方法的設計與實作. . . . . . . . . . . . . . . . .32
4.1 靜態織入方法之設計. . . . . . . . . . . . . . . . . . . . . .32
4.2 靜態織入器之架構. . . . . . . . . . . . . . . . . . . . . . .33
4.3 靜態織入器之實作. . . . . . . . . . . . . . . . . . . . . . .35
4.3.1 靜態織入演算法. . . . . . . . . . . . . . . . . . . . . .35
4.3.2 Pointcut的處理. . . . . . . . . . . . . . . . . . . . . .37
4.3.2 Advice的子流程處理. . . . . . . . . . . . . . . . . . .40
4.4 流程測試與效能比較. . . . . . . . . . . . . . . . . . . . .52
第五章 結論與未來發展方向. . . . . . . . . . . . . . . . . . . . .55
5.1 結論. . . . . . . . . . . . . . . . . . . . . . . . .55
5.2 後續工作. . . . . . . . . . . . . . . . . . . . . . . . . . .55
第六章 參考文獻. . . . . . . . . . . . . . . . . . . . . . . . . . . .57 |
Reference: | 【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】AspectJ Project, www.eclipse.org/aspectj/, 2006.
【7】JBoss Group, JBoss jBPM, http://www.jboss.com/products/jbpm
【8】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.
【9】 Boris Bachmendo and Rainer Unland, Aspect-based workflow evolution, In Work-shop on Aspect-Oriented Programming and Separation of Concerns, August 2001.
【10】 Anis Charfi and Mira Mezini, Aspect-Oriented Workflow Languages, Proceedings of the 14th International Conference on Cooperative Information Systems (CoopIS), November 2006.
【11】 Cheng Hsien Chung, Enhancing Workflow Engines with Aspectual Processes, Master’s Thesis of National Chengchi University, January 2008.
【12】JUnit, http://www.junit.org/index.htm, 2006.
【13】 Mike Gunderloy and Sybex, Coder to Developer, Sybex Publications, 2004.
【14】 G. Joeris and O. Herzog, Managing Evolving Workflow Specifications, Third International Conference of Cooperative Information Systems, New York, August 1998
【15】 J. Clark and S. DeRose, XML Path Language (XPath)Version 1.0, W3C Recom-mendation 16 November 1999.
【16】 JBoss, Inc., JBoss jBPM WS-BPEL Runtime User Guide, http://docs.jboss.com/jbpm/bpel/
【17】 J. Gradecki and N. Lesiecki, Mastering AspectJ, Wiley Publications, 2003.
【18】 Jörg Becker and Michael zur Muehlen, Workflow Handbook 2002, Future Strategies Inc., Book Division, Pages:39-50.
【19】Matt Cumberlidge, Business Process Management with JBoss jBPM, PACKT Publishing, 2007.
【20】 P. Niemeyer, BeanShell, http://www.beanshell.org/. |
Description: | 碩士 國立政治大學 資訊科學學系 95753041 |
Source URI: | http://thesis.lib.nccu.edu.tw/record/#G0095753041 |
Data Type: | thesis |
Appears in Collections: | [資訊科學系] 學位論文
|
Files in This Item:
File |
Size | Format | |
index.html | 0Kb | HTML2 | 273 | View/Open |
|
All items in 政大典藏 are protected by copyright, with all rights reserved.
|