學術產出-Theses

Article View/Open

Publication Export

Google ScholarTM

政大圖書館

Citation Infomation

  • No doi shows Citation Infomation
題名 應用剖面技術實作資料庫存取應用之偵錯工具
Design and implementation of an aspect-based debugging tool for database applications
作者 張妏瑛
Chang, Wen Ying
貢獻者 陳恭
Chen, Kung
張妏瑛
Chang, Wen Ying
關鍵詞 應用程式偵錯
JDBC
AOP
AspectJ
日期 2009
上傳時間 9-May-2016 15:28:59 (UTC+8)
摘要 對於不同團隊協同開發大型的應用程式,常會面臨應用程式自行處理例外事件而未正確回報用戶之執行結果與無法得知封閉式類別庫內部詳細呼叫流程,導致偵錯不易的困擾。有鑒於此,本研究將實作一個工具,利用Aspect-Oriented Programming(AOP)特性,將AspectJ織入JDBC驅動程式並賦予存取紀錄儲存之功能,既可免除應用程式本身未針對資料庫儲存存取紀錄的問題,直接儲存所有存取紀錄,亦不影響資料庫操作,更可以分辦造成錯誤發生的程式以釐清問題,有效幫助偵錯。此工具適用於任何使用JDBC介面去存取資料庫管理系統(DBMS)之JAVA應用程式,它能在不影響應用程式的情況下客製化儲存應用程式透過JDBC驅動程式連結資料庫管理系統(DBMS)的存取紀錄,並利用存取紀錄進行分析並複製存取行為,以提供更豐富的資訊進一步協助偵錯。
When using a large database application which is jointly designed by different teams, the administrators are often confronted with a problem that the application handles the exception spontaneously and often fails to report back the result of user’s execution. Therefore, the administrator can’t be informed of the details of the calling flow in case of exceptions. This will make it not only difficult to find which part of the application goes wrong, but also hard to fix. To resolve this problem, this thesis designs and implements an aspect-based debugging tool for such database applications. The key idea behind the tool is that, instead of adapting the large application for logging database access activities, we target at the JDBC driver and make JDBC driver capable of saving access log. This tool works for any JAVA applications that use JDBC interface to access database. Without any modification to the user-level application, this tool can save the access log obtained by application which use JDBC driver to connect the database, and the administrator can customize the access log. By analyzing the access records and duplicating the access behavior, this tool provides more information to further assist in application debugging.
參考文獻 【1】 林經緯、陳恭,「應用剖面導向技術研製網路應用程式之可設定式細緻化存取控管」,第15屆資訊安全會議
     【2】 周政宏,「從入門到進階Java程式建構思維第二版」,文魁資訊,2005
     【3】 侯捷,「Java的物件永續之道」,http://jjhou.csdn.net/javatwo-2003-serialization-doc.pdf,2003
     【4】 Torrenti-Roman A., Pascual-Miret L., Irun-Briz L., Beyer S. and Munoz-Escoi F. D. 2008. ASPY An Access-Logging Tool for JDBC Applications. ICSOFT.
     【5】 Ramnivas Laddad. AspectJ In Action- Practical Aspect-Oriented Programming. 2003
     【6】 超維度工作室,「Java專業認證SCJP考前黃金講座」, 博碩文化,2003
     【7】 Apache Services Logging Project - Apache log4j。
     http://logging.apache.org/log4j/
     【8】 Java API 1.5
     http://java.sun.com/j2se/1.5.0/docs/api/
     【9】 MySQL® Connector/J
     http://www.mysql.com/products/connector/j/
     【10】 Bloom R. 2006 .Debugging JDBC with a logging driver. Java Developer’s Journal.
     【11】 Kiczales G., Lamping J., Menhdhekar A., Maeda C., Lopes C., Loingtier J.-M., and Irwin J. 1997. Aspect-oriented programming. in ECOOP `97 Object-Oriented Programming 11th European Conference," Finland (M. Aksit and S. Matsuoka, eds.), vol. 1241, pp. 220-242, New York, NY: Springer-Verlag.
     【12】 NetBeans
     http://www.netbeans.org/
描述 碩士
國立政治大學
資訊科學學系
95971019
資料來源 http://thesis.lib.nccu.edu.tw/record/#G0095971019
資料類型 thesis
dc.contributor.advisor 陳恭zh_TW
dc.contributor.advisor Chen, Kungen_US
dc.contributor.author (Authors) 張妏瑛zh_TW
dc.contributor.author (Authors) Chang, Wen Yingen_US
dc.creator (作者) 張妏瑛zh_TW
dc.creator (作者) Chang, Wen Yingen_US
dc.date (日期) 2009en_US
dc.date.accessioned 9-May-2016 15:28:59 (UTC+8)-
dc.date.available 9-May-2016 15:28:59 (UTC+8)-
dc.date.issued (上傳時間) 9-May-2016 15:28:59 (UTC+8)-
dc.identifier (Other Identifiers) G0095971019en_US
dc.identifier.uri (URI) http://nccur.lib.nccu.edu.tw/handle/140.119/95264-
dc.description (描述) 碩士zh_TW
dc.description (描述) 國立政治大學zh_TW
dc.description (描述) 資訊科學學系zh_TW
dc.description (描述) 95971019zh_TW
dc.description.abstract (摘要) 對於不同團隊協同開發大型的應用程式,常會面臨應用程式自行處理例外事件而未正確回報用戶之執行結果與無法得知封閉式類別庫內部詳細呼叫流程,導致偵錯不易的困擾。有鑒於此,本研究將實作一個工具,利用Aspect-Oriented Programming(AOP)特性,將AspectJ織入JDBC驅動程式並賦予存取紀錄儲存之功能,既可免除應用程式本身未針對資料庫儲存存取紀錄的問題,直接儲存所有存取紀錄,亦不影響資料庫操作,更可以分辦造成錯誤發生的程式以釐清問題,有效幫助偵錯。此工具適用於任何使用JDBC介面去存取資料庫管理系統(DBMS)之JAVA應用程式,它能在不影響應用程式的情況下客製化儲存應用程式透過JDBC驅動程式連結資料庫管理系統(DBMS)的存取紀錄,並利用存取紀錄進行分析並複製存取行為,以提供更豐富的資訊進一步協助偵錯。zh_TW
dc.description.abstract (摘要) When using a large database application which is jointly designed by different teams, the administrators are often confronted with a problem that the application handles the exception spontaneously and often fails to report back the result of user’s execution. Therefore, the administrator can’t be informed of the details of the calling flow in case of exceptions. This will make it not only difficult to find which part of the application goes wrong, but also hard to fix. To resolve this problem, this thesis designs and implements an aspect-based debugging tool for such database applications. The key idea behind the tool is that, instead of adapting the large application for logging database access activities, we target at the JDBC driver and make JDBC driver capable of saving access log. This tool works for any JAVA applications that use JDBC interface to access database. Without any modification to the user-level application, this tool can save the access log obtained by application which use JDBC driver to connect the database, and the administrator can customize the access log. By analyzing the access records and duplicating the access behavior, this tool provides more information to further assist in application debugging.en_US
dc.description.tableofcontents 第一章 緒論 1
     1.1前言 1
     1.2研究動機 2
     1.3研究目的 3
     1.4研究成果 4
     1.5論文大綱 5
     第二章 相關研究與技術背景 6
     2.1 Aspect-Oriented Programming 6
     2.2 AspectJ 10
     2.3 Log4j 13
     2.4 Java相關技術 13
     2.5 Log相關技術 16
     第三章 系統設計與架構 19
     3.1 系統設計理念 19
     3.2 系統設計考量 20
     3.3 系統流程 21
     3.4設計方法 26
     3.4.1 Access Logger Aspect設計 26
     3.4.2 產生具儲存功能之JDBC驅動程式 37
     3.4.3 Log4j設定檔設計 38
     3.4.4 視窗化偵錯工具設計 38
     第四章 系統實作與展示 44
     4.1實作語言與工具 44
     4.2系統實作展示 45
     4.2.1 實例情境說明與分析 45
     4.2.2 JDBC驅動程式with logger實作展示 55
     4.2.3 偵錯工具展示 57
     4.2.4 測試數據 61
     第五章 結論與建議 66
     5.1 結論 66
     5.2 未來發展 66
     參考文獻 68
zh_TW
dc.source.uri (資料來源) http://thesis.lib.nccu.edu.tw/record/#G0095971019en_US
dc.subject (關鍵詞) 應用程式偵錯zh_TW
dc.subject (關鍵詞) JDBCen_US
dc.subject (關鍵詞) AOPen_US
dc.subject (關鍵詞) AspectJen_US
dc.title (題名) 應用剖面技術實作資料庫存取應用之偵錯工具zh_TW
dc.title (題名) Design and implementation of an aspect-based debugging tool for database applicationsen_US
dc.type (資料類型) thesisen_US
dc.relation.reference (參考文獻) 【1】 林經緯、陳恭,「應用剖面導向技術研製網路應用程式之可設定式細緻化存取控管」,第15屆資訊安全會議
     【2】 周政宏,「從入門到進階Java程式建構思維第二版」,文魁資訊,2005
     【3】 侯捷,「Java的物件永續之道」,http://jjhou.csdn.net/javatwo-2003-serialization-doc.pdf,2003
     【4】 Torrenti-Roman A., Pascual-Miret L., Irun-Briz L., Beyer S. and Munoz-Escoi F. D. 2008. ASPY An Access-Logging Tool for JDBC Applications. ICSOFT.
     【5】 Ramnivas Laddad. AspectJ In Action- Practical Aspect-Oriented Programming. 2003
     【6】 超維度工作室,「Java專業認證SCJP考前黃金講座」, 博碩文化,2003
     【7】 Apache Services Logging Project - Apache log4j。
     http://logging.apache.org/log4j/
     【8】 Java API 1.5
     http://java.sun.com/j2se/1.5.0/docs/api/
     【9】 MySQL® Connector/J
     http://www.mysql.com/products/connector/j/
     【10】 Bloom R. 2006 .Debugging JDBC with a logging driver. Java Developer’s Journal.
     【11】 Kiczales G., Lamping J., Menhdhekar A., Maeda C., Lopes C., Loingtier J.-M., and Irwin J. 1997. Aspect-oriented programming. in ECOOP `97 Object-Oriented Programming 11th European Conference," Finland (M. Aksit and S. Matsuoka, eds.), vol. 1241, pp. 220-242, New York, NY: Springer-Verlag.
     【12】 NetBeans
     http://www.netbeans.org/
zh_TW