研究生: |
陳政忠 Zheng-Jong Chen |
---|---|
論文名稱: |
引入網站服務合約以增強例外處理機制 Introducing Contract to Web Services to Improve Exception Handling Mechanism. |
指導教授: |
鄭永斌
Cheng, Yung-Pin |
學位類別: |
碩士 Master |
系所名稱: |
資訊教育研究所 Graduate Institute of Information and Computer Education |
論文出版年: | 2007 |
畢業學年度: | 95 |
語文別: | 中文 |
論文頁數: | 37 |
中文關鍵詞: | 網站服務 、軟體元件 、元件合約 、例外處理 、服務合約 、合約例外 |
英文關鍵詞: | web services, software component, component contracts, exception handling, service contracts, service exception |
論文種類: | 學術論文 |
相關次數: | 點閱:116 下載:1 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
資訊科技的發展日新月異,網際網路已經和日常生活密不可分,透過網路所提供的服務來進行軟體開發也愈來愈常見。但是這些由第三方(third-party)所提供的服務可能不具保障,軟體開發者有可能因為使用了這些不具保障的第三方服務而受到不可預期的影響。當然軟體開發者也可以尋求其它服務來替代,但是如果該服務無可取代,軟體開發者也只能束手無策。
本研究為了協助分散式運算環境(Distributed Computing Environment)下的軟體開發者,提出了服務合約(Service Contract)的構想。透過服務合約的訂定,期望能改善分散式運算架構中,軟體開發裡目前仍顯不足的例外處理機制(Exception Handling Mechanism)。我們針對分散式運算環境下例外處理機制無法跨平台或是跨網路的問題,利用code injection 的實作來說明服務合約和合約例外處理(Contract Exception Handling)的有效以及可行性。
Nowadays, software technology is making progress rapidly. Internet has become essential from everyday life and services provided via internet, such as web services, have become more and more common. However, services provided by third-party may not be trustworthy and reliable. Software that uses third-party service may encounter unexpected failures or errors. Unless the services are replaceable, software developers seem not have choices in trusting these third-party services.
To assist programmers that develop applications over web services, a service contract concept is proposed in this thesis. We believe that the exception handling mechanism in current programming language is inadequate and can be improved by contract. The contact is implemented by program instrumentation. It is transparent to the software developers.
[1] A. Beugnard, J-M. Jezequel, N. Plouzeau, D. Watkins, “Making Components Contract Aware,” IEEE Computer, July 1999.
[2] http://www.microsoft.com/taiwan/technet/book/xml/default_2.aspx, Business & Technology Lab, “XML 技術運用-WSDL,” XML-電子商務新語言, ch9-2
[3] C. Y. Hsieh, Y. C. Cheng, “Agile Exception Handling: Process, Refactoring, and Architecture”
[4] L. Bass, P. C. Clements, R. Kazman, Software Architecture in Practice, 2nd edition, Addison-Wesley, 2003.
[5] F. C. Filho, P. H. da S. Brito, and C. M. F. Rubira, “Specification of Exception Flow in Software Architectures,” Journal of Systems and Software, 2006, pp. 1397-1418.
[6] B. Meyer, Object-Oriented Software Construction, 2nd, Prentice-Hall, 1997.
[7] F. Cristian, Exception handling. Technical Report RJ5724, IBM Research, 1987.
[8] F. Cristian, “Exception Handling,” Dependability of Resilient Computers, Edited by T. Anderson, Oxford: BSP Professional, 1989.
[9] P. A. Buhr and W. Y. R. Mok, “Advanced exception handling mechanisms,” IEEE Trans. on Softw. Eng., vol.26, issue 9, 2000, pp. 820-836.
[10] S. Yemini and D.M. Berry, “A Modular Verifiable Exception-Handling Mechanism,” ACM Trans. on Progr. Languages and Systems, vol. 7, no. 2, 1985, pp. 213-243.
[11] R. Miller and A. Tripathi, “Issues with exception handling in object-oriented systems,” Proc. of ECOOP’97, Springer-Verlag, 1997, pp. 85-103.
[12] J. L. Knudsen, ”Exception Handling versus Fault Tolerance,” Proc. of ECOOP’00, Springer-Verlag, 2001, pp. 1-17.
[13] J. Gosling, B. Joy, G. Steele, and G. Bracha, The Java Language Specification, 3rd, Addison-Wesley, 2005.
[14] R. Wirfs-Brock, “Toward Exception-Handling Best Practices and Patterns,” IEEE Software, vol. 23, no. 5, Sep./Oct. 2006, pp.11-13.
[15] T. Anderson and P.A. Lee, Fault Tolerance: Principles And Practice, Prentice-Hall, 1981.
[16] Microsoft MSDN: http://msdn2.microsoft.com/
[17] Wikipedia: http://www.wikipedia.org/