跳到主要內容

簡易檢索 / 詳目顯示

研究生: 彭育彥
Yu-Yen Peng
論文名稱: 設計與實作SOAP服務與RESTful服務之整合方法
Design and Implementation of a Framework to Integrate SOAP Services and RESTful Services
指導教授: 李允中
Jonathan Lee
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系
Department of Computer Science & Information Engineering
畢業學年度: 97
語文別: 中文
論文頁數: 73
中文關鍵詞: 網際服務服務導向架構商業流程執行語言REST服務
外文關鍵詞: BPEL, SOA, SOAP service, RESTful service, web service
相關次數: 點閱:13下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 現今Web 2.0網站所提供的網際服務(Web service)大多是屬於REST型態的服務。REST(REpresentational State Transfer)服務是一種輕型態的網際服務,其是利用HTTP方法來存取特定的資源。對於服務導向架構的應用服務來說,由於其應用服務的核心是商業流程執行語言(BPEL),但由於BPEL目前沒有辦法能夠支援REST型態的網際服務,所以服務導向架構的應用服務並無法利用REST型態的網際服務資源。
    故本研究提出一個經由BPEL整合REST型態的服務的架構,用以整合REST以及服務導向架構之資源。將REST服務透過轉換,成為SOAP服務,讓BPEL能夠使用轉換後的SOAP服務來呼叫使用該REST服務,並能夠讓服務開發者佈署其混搭服務給予客戶使用。


     At presence, Web 2.0 concept has widely accepted and realized by most of new websites. Web 2.0 brings more user-involved interactions, and harnesses the power of collective intelligence. Many software companies provide their Web 2.0 websites, like YouTube, Flickr, Delicious…etc. We found that the most services provided by a Web 2.0 website are not SOAP services but REST-style web services, called RESTful services. More and more service providers publish their services in REST fashion. Meanwhile, Service-Oriented Architecture already becomes a standard of building web application, and SOAP service is the solution of web services. The core of SOA-based application is service composition, and BPEL is the standard of service composition. However BPEL could not integrate RESTful services directly for now.
     Hence, we propose a framework to integrate SOAP services and RESTful services through BPEL engine enhancements. Service developers could utilize the framework to publish their composite services.

    摘要 ................................................................................................................................. ii ABSTRACT .................................................................................................................... iii 目 錄 ............................................................................................................................. iv 圖目錄 ............................................................................................................................. vi 表目錄 ........................................................................................................................... viii 第一章 緒論 .................................................................................................................... 1 1-1 引言 ................................................................................................................... 1 1-2 動機 ................................................................................................................... 2 1-3 論文架構........................................................................................................... 3 第二章 背景知識介紹 ................................................................................................... 4 2-1 Web 2.0 .............................................................................................................. 4 2-2 Representational State Transfer, REST ............................................................ 5 2-3 Web Application Description Language, WADL[5,7] ..................................... 7 2-4 WADL Designer[8] ............................................................................................ 8 2-5 WADL2Java[7] .................................................................................................. 9 2-6 Mashup Style ................................................................................................... 10 2-7 Service-Oriented Architecture ........................................................................ 12 2-8 Business Process Execution Language, BPEL .............................................. 12 2-9 Apache Axis[1,11] ........................................................................................... 13 2-10 Apache Ant[12] .............................................................................................. 14 第三章 系統需求與設計 ............................................................................................. 15 3-1 系統需求(System Requirement) ................................................................... 15 3-2 系統架構(System Architecture) .................................................................... 17 3-3 系統概觀(System Overview) ........................................................................ 19 3-4 RESTful服務發佈為SOAP服務之流程..................................................... 20 3-5 細部設計(Detailed Design) ........................................................................... 21 3-5-1 RESTful Service Publisher .................................................................. 21 3-5-2 WADL Convertor ................................................................................. 23 3-5-2-1 WADL Validator ....................................................................... 24 3-5-2-2 WADLTreeBuilder .................................................................... 25 3-5-2-3 WADL2Java[7] ......................................................................... 29 3-5-3 Proxy Generator ................................................................................... 30 3-5-3-1 ProxyFunctionBuilder .............................................................. 33 3-5-3-2 Mapper ...................................................................................... 37 3-5-3-3 JClassGenerator ........................................................................ 41 3-5-4 REST2SOAP Deployment Assistant ................................................... 42 第四章 系統實作 .......................................................................................................... 45 4-1 發佈RESTful服務 ........................................................................................ 45 4-2 藝文網站......................................................................................................... 49 4-2-1 藝文網站說明 ..................................................................................... 50 4-2-2 藝文搜尋 ............................................................................................. 51 第五章 相關文獻探討 ................................................................................................. 55 5-1 RESTful Web Service Composition with BPEL for REST[17] .................... 55 5-2 Bite[18] ............................................................................................................ 58 5-3 BPEL for REST、Bite及本架構之比較 ...................................................... 59 5-4 其他 ................................................................................................................. 59 第六章 結論 .................................................................................................................. 61 6-1 本架構之優點 ................................................................................................ 61 6-2 未來研究......................................................................................................... 62 參考文獻 ........................................................................................................................ 63

    [1]Graham, Steve et al., Building Web Services with Java, Second Edition , Sams Publishing , 2004.
    [2]Hansen, Mark D., SOA Using Java Web Services, Prentice Hall, 2007.
    [3]Tim O’Reilly, What Is Web 2.0, http://oreilly.com/web2/archive/what-is-web-20.html
    [4]Fielding, Roy T.; Taylor, Richard N. (2002-05), "Principled Design of the Modern Web Architecture" (PDF), ACM Transactions on Internet Technology (TOIT) (New York: Association for Computing Machinery) 2 (2): 115–150,
    [5]Leonard Richardson, Sam Ruby, RESTful Web Service, O’Reilly, 2007
    [6]Jordan, Diane et al., Web Services Business Process Execution Language Version 2.0, 2007.
    [7]Web Application Description Language,Sun, https://wadl.dev.java.net/
    [8]WADL Designer, REST API Code Generation, steiner.thomas,Google, http://code.google.com/p/rest-api-code-gen/
    [9]Pro Web 2.0 Mashups - Remixing Data and Web Services, p3
    [10]Mashup Styles, Ed Ort, Sean Brydon, Mark Basler, Sun Developer Network, http://java.sun.com/developer/technicalArticles/J2EE/mashup_1/
    [11]Apache Axis, User Guide, http://ws.apache.org/axis/java/user-guide.html
    [12]Apache Ant 1.7.1 Manual, Apache Ant, http://ant.apache.org/manual/index.html
    [13]News Search Documentation for Yahoo! Search, Yahoo Developer Network, http://developer.yahoo.com/search/news/V1/newsSearch.html
    [14]Wrapper Service, 年代售票, http://www.ticket.com.tw/
    [15]YouTube APIs and Tools, Google, http://code.google.com/intl/zh-TW/apis/youtube/2.0/developers_guide_protocol.html
    [16]Google Maps API, Google, http://code.google.com/intl/zh-TW/apis/maps/documentation/index.html
    [17]Cesare Pautasso, “RESTful Web service composition with BPEL for REST”, Volume 68, Issue 9, September 2009, Pages 851-866
    [18]F. Curbera, M. Duftler, R. Khalaf, D. Lovell, Bite: workflow composition for the web, in: Proceedings of the Fifth International Conference on Service-Oriented Computing (ICSOC 2007), Vienna, Austria, 2007.
    [19]Apache ODE, http://ode.apache.org/wsdl-11-extensions-for-rest.html
    [20]JOpera: Autonomic Service Orchestration, Pautasso, C.; Heinis, T.; Alonso, G. , IEEE Data Engineering Bulletin, September 2006, Volume 29, Issue 3, (2006)

    QR CODE
    :::