230 likes | 628 Views
資訊組織研究 SOAP. 指導老師:張迺貞老師 組員:蔡佩珊 097153115 ( 報告者 ) 黃淑珍 097153108 曲惠君 097153113 吳雅瑜 097153119. 大綱. 前言 SOAP 起源、簡介及定義 SOAP 特性 何謂 Web Service? Web Service 與 SOAP 的關係 SOAP 技術規格 舉例說明 結論 參考書目. 一、前言.
E N D
資訊組織研究SOAP 指導老師:張迺貞老師 組員:蔡佩珊097153115(報告者) 黃淑珍097153108 曲惠君097153113 吳雅瑜097153119
大綱 • 前言 • SOAP起源、簡介及定義 • SOAP特性 • 何謂Web Service? • Web Service與SOAP的關係 • SOAP技術規格 • 舉例說明 • 結論 • 參考書目
一、前言 • Internet的興起和蓬勃發展,已改變電腦的運算環境,電腦網站不再是靜態網頁,而要和上游的廠商、生意夥伴、交易市集、客戶群等等的網路系統互相結合及互通訊息,成為一個整合的系統。 • 分散式物件的溝通方式,除了互通性這個問題,還有不易跨越防火牆的障礙。 • 因此在企業間電子商務的推動下,一個由HTTP與XML組合而成的網路通訊協定應運而生,名為「簡單物件存取協定」(Simple Object Access Protocol),簡稱SOAP。
二、起源 • SOAP的概念起源於Userland Software創辦人Dave Winer的XML/RPC。我們知道,XML誕生的動機,最早是鑒於網路上通行的HTML格式,往往無法對文件的內容架構作明確的描述。隨後大家很快地發現:XML簡練的語法,不僅適用於描述文件,更可以拿來描述資料,包括被程式讀取和產生的資料,以及DBMS中的資料。從跨AP、跨資料庫、跨平台的資訊整合,一直到B2B電子商務,這個藉由純文字來描述資料的特性,正是Gartner Group所謂,XML將在未來幾年內成為「EC之語」的精隨所在。Dave Winer在當時看到了這樣的特性,便以XML定義出一套簡單的RPC (Remote Procedure Call) 包裝機制,並名為XML/RPC,這可說是SOAP的前身。 • “SOAP”的名稱則是當DevelopMentor的Don Box應微軟之邀,開始研發一個彌補MTS/COM不足的標準時才產生的。當初研發的動機,根據Don Box的現身說法,是著眼於MTS/COM的機制對系統資源索求過重、不夠輕巧,難以應付未來需求。在SOAP制定初期,微軟扮演了主要的推手,同時也是最早宣佈全力支援這個標準的大型業者。
簡介 • 此標準由IBM、Microsoft、UserLand和DevelopMentor在1998年共同提出,並得到IBM、Lotus、Compaq等公司的支持,於2000年提交給W3C,目前SOAP1.1版是業界共同的標準。 • SOAP1.2已於2003年由W3C發佈為正式版本的建議書。 • SOAP1.2已於2007年由W3C發佈二版的建議書。 Latest SOAP versions-SOAP Version 1.2 http://www.w3.org/TR/soap12-part1/
定義 • 「簡單物件存取協定」(Simple Object Access Protocol),簡稱SOAP,就是一個以XML為基礎的通訊協定,讓軟體元件或應用程式可以藉此透過HTTP 來進行溝通。 • SOAP的設計思考,就是著重在如何利用標準化的動作,來解決跨平台的程式溝通問題。
下圖為HTTP、XML、SOAP、OAI與OPENURL五者之關係圖:下圖為HTTP、XML、SOAP、OAI與OPENURL五者之關係圖:
三、特性 • SOAP是由W3C組織所制定發展的標準。 • SOAP是一個輕量化(lightweight)的通訊協定。 • SOAP是用在軟體元件或應用程式的溝通上。 • SOAP在設計上是利用HTTP 來當作底層的通訊協定。 • SOAP並不仰賴目前任何的資訊元件技術。 • SOAP並不仰賴任何特定的程式語言。 • SOAP訊息是以XML 為描述基礎。 • SOAP是簡易且具有彈性的。
四、何謂Web Service?(1/2) • Web Services是一種以XML為基礎,讓不同系統中的應用程式能夠在網際網路上橫跨不同平台、不同語言,使其能相互溝通的服務。 • 透過服務導向架構(SOA, Service Oriented Architecture)的設計方法,將企業內部現有應用程式的功能與資料公開為Web Services,透過Web Services技術平台進行溝通,完成應用程式快速整合的目的。
四、何謂Web Service?(2/2) Web Services其在存取、描述及仲介的基礎技術如下: • XML(Extensible Markup Language):提供建立共通的資訊格式。 • SOAP(Simple Object Access Protocol):讓應用程式間能相互溝通的公開標準。 • UDDI(Universal Description, Discovery and Protocol):以語法描述網路上可供使用的軟體元件、模組。 • WSDL(Web Services Description Language):讓Web Services應用程式能以XML語法描述自己的特性、使用方法。
五、Web Service與SOAP的關係? • 服務導向架構圖 (SOA) • Web Services應用SOAP在網際網路上的運作流程
六、SOAP的技術規格? • 要使用SOAP來當作通訊協定,就必須先了解SOAP是利用所謂的「訊息」(Message)為溝通的基本單位。而一個標準的SOAP訊息,就是一個制式的XML 文件,並包含以下幾個基本元素: • 封包(Envelop):用來定義整個SOAP 訊息的內容。 • 訊息標頭紀錄(Header):此部份為選用,包含了所有標頭所應登錄的資料。 • 訊息主體(Body):其中包括了所有的呼叫描述與回應內容。
一個標準的SOAP訊息結構圖: 封包 訊息標頭記錄 訊息主體
SOAP請求(Request)訊息: <SOAP-ENV:Envelope> <SOAP-ENV:Body> <xmlns:m="http://www.stock.org.tw/stock" /> <m:GetStockPrice> <StockName>台積電</StockName> </m:GetStockPrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
SOAP回傳(Response)訊息: <SOAP-ENV:Envelope> <SOAP-ENV:Body> <xmlns:m="http://www.stock.org.tw/stock" /> <m:GetStockPriceResponse> <Price>43.5</Price> </m:GetStockPriceResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
七、舉例說明? 一、舉一個資訊查詢功能的例子: 服務提供者: Flickr 服務目的: 查看在Flickr上所存放的前六張照片 Flickr上有存放圖片, 他的ID是jolly_5433 jolly_5433存放的圖片
在網站上找到的用戶端(client)服務 http://beta.ym.edu.tw:8080/phpflickr/myphotosoap.php 二、送出soap封包到Flickr的WebService: Web Service
Web Service 三、Flickr的WebService回傳soap封包: 收到該帳號的照片為此六張
八、結論 • SOAP簡而言之就是利用現存的網際網路架構,讓應用程式可以自由的彼此溝通,跨越防火牆的障礙,於分散式的系統架構下,成為一個整合的系統。 • 由於有許多軟體界大巨人的支持,SOAP成功機率大很多,SOAP的發展代表軟體業的空前合作。 • 圖書館內部也存在許多異質系統,如能針對上述系統整合的問題及應用XML的彈性,而發展出Web Services的服務模式,不僅可整合現有的資訊系統,亦能提供未來網路上公開與開放式的服務需求!
九、參考書目 • W3C SOAP http://www.w3.org/TR/soap12-part1/ • 以Web Services與XML為基礎之跨平台交易技術探析http://dbmaker.syscom.com.tw/mag/98/research_02.htm • SOAP之起源 http://weco.net/blog/ie955126/31-may-2008/10155 • 余顯強、陳瑞順(民91)。網路服務:資訊系統整合的應用。中國圖書館學會會報,68,125-134。 • 余顯強(民92)。應用網路服務實現開放式服務與系統整合之探討。圖書資訊學刊,1:1,25-36。 • 陳明聰、謝俊偉(民97)。Web Services Security標準與應用研究。電信研究,38:1,21-36。 • 張思源(民89)。網路上的肥皀--SOAP簡單物件擷取協定。網路通訊雜誌,113,62-68。 • 陳文欽、陳振臺、林建成(民95)。應用SOAP Agents開發跨平臺遠端監控系統 。技術學刊,21:3 ,277-284。