• 沒有找到結果。

Web Services Introduction

N/A
N/A
Protected

Academic year: 2022

Share "Web Services Introduction"

Copied!
58
0
0

加載中.... (立即查看全文)

全文

(1)

Web Services Introduction

林光龍

(2)

Outline

n

Web Services 範例

n

Web Services 簡介

n

分散式元件技術的發展

n

Web Services 主要技術簡介

n

Web Services 的發展障礙

(3)

Web Services 就是 …

一種讓分散於不同平台上,由不同技術所實

作出來的相關服務,得以互相運用的軟體程

式整合技術,其目地在於結合各種相關服

以提供使用者一更具效率性與便利性的

全新服務

(4)

Payment Service

(5)

Universal Payment Service

(6)

Address Notification

(7)

Universal Address Announce Service

(8)

Time Coordinate

(9)

Universal Coordinated Time Service

(10)

Travel Agent System

航空公司

訂票系統

旅館

訂房系統

租車公司 觀光地點: 夏威夷自助旅行

交通工具: 搭飛機、開車 時間: 7月份五天三夜

交通工具: 華航CI0018

(11)

Travel Agent Web Services

航空公司

訂票系統

旅館

訂房系統

租車公司 觀光地點: 夏威夷自助旅行

交通工具: 搭飛機、開車 時間: 7月份五天三夜

交通工具: 華航CI0018

交通工具: Hertz 福特 Escape 飯店: Holiday Hotel

UDDI

(12)

(UDDI)

銀行

航空公司 路況中心

旅遊業者

領務局 主要的 租車公司

基礎建設

旅遊資訊整合服務

(13)

Outline

n

Web Services 範例

n

Web Services 簡介

n

分散式元件技術的發展

n

Web Services 主要技術簡介

n

Web Services 的發展障礙

(14)

Web Services 簡介

n 什麼是 Web Services?

n Web Services 與 Services of Web 的差異

n 為什麼需要 Web Services?

n Web Services 的重要技術及標準

n Web Services 的流程

n Web Services 與 Web Application 的差異

n Web Services 的特色

n Web Services 應釐清的幾點觀念

(15)

什麼是 Web Services?

n

一種新的程式開發環境

¨建構於服務導向的應用程式架構

n

結合元件開發的優點及 Web 的優點

¨一種鬆散偶合的網際網路應用程式架構

n

一種全新的網路經濟模式

¨Web Services 讓不同的電腦系統可以在不以人 為介入的情況底下彼此溝通,進而幫企業節省 成本;也可因此創造出新的服務付費客戶,以 賺取更多的錢

(16)

Service Providers

服務導向的應用程式架構

Service Requestors

Service Brokers

Legacy System

Internet

Publish Find

Bind

(17)

鬆散偶合的網際網路應用程式架構

Web Services

XML/HTTP

XML/HTTP XML/HTTP

(18)

Web Services ≠Services of Web

n Web Services(W3C的定義)

¨ 透過 URI 方式存取的軟體程式,可透過 XML 定義、描 述或搜尋其介面與結合方式(binding),同時也藉由 以網際網路為基礎的通訊協定,以 XML 訊息與其它軟 體程式溝通

n Web Services 並非只是利用瀏覽器介面提供服 務,其運作未必需要瀏覽器,可發生在任何兩個 程式之間

n Web Services 是軟體工業發展的新架構,以「服 務」的形式提供動態整合,應用程式間可透過網 際網路取用軟體元件,並能彼此透過標準相互連

(19)

為什麼需要 Web Services?

企業內應用程式的互用性

(Interoperability ):

企業應用系統整合(EAI)

企業間應用程式的互用性:

企業與企業間的整合(B2Bi)

企業間供應鏈管理自動化與透明化

(20)

從 B2Bi 的角度來看 Web Services 的應 用 – 虛擬企業(Virtual Enterprise)

Provide Services Search Services

Call Services UDDI

Register Service Content

1

2 3 4

Service Providers

User

所有被呼叫的服務 被組合成一新的服 務,並將這個新的 服務提供給使用者

呼叫尋找到的 服務並接收回

傳的訊息

(21)

Web Services 的重要技術及標準

n Web Services 使用 XML(eXtensible Markup Language) 作為它的資料架構

n Web Services 使用 SOAP(Simple Object Access Protocol)作為它的通訊協定

n Web Services 使用 WSDL(Web Service

Description Language)作為它描述服務細節的 標準

n Web Services 使用 UDDI(Universal Description Discovery and Integration)的標準作為它的服務 搜尋工具

(22)

Web Services Technology Stack

Service Flow (WFMS)

Service Discovery & Publication (UDDI) Service Description (WSDL)

Service Invocation & Messaging (SOAP) XML (XML Schema, Namespace)

Management

Quality of Service

Security (WS-Sec)

(23)

Web Services 與 Web Application的差異

Web Services Web Application

提供者與使用者關係 程式對程式 人類對程式

描述語言 XML HTML

服務的檢索 利用UDDI查詢 利用搜尋引擎查詢

主要應用領域 B2B B2C

通訊協定 SOAP+HTTP/HTTPS/SM

TP HTTP/HTTPS

(24)

Web Services 的特色

n 元件化服務(Services as Components)

¨ 以元件化的方式開發各項服務,並達到服務元件的再利用

n 開放性平台(Platform-Free)

¨ 只要遵循標準,任何裝置或作業系統均可互相連通

n 公開標準(Open Standard)

¨ 制訂有SOAP、UDDI、WSDL等產業公開標準

n 動態整合(Dynamic Integration)

¨ 使用者隨時依需求取得需要的服務,或商業伙伴間透過事先建立 的服務元件進行流程整合

n 互通性(Interoperability)

¨ 打破平台之間的籓籬,透過自動化服務進行連通

n 漸進式部署(Incremental Deployment)

(25)

對於 Web Services 應釐清的觀念

n Web Services 強調互通性(interoperability),

而不是可攜性(portability)

¨ 將 legacy 的應用程式於原始平台上重新包裝,而非移 植至新平台

n Web Services 不是整合問題的唯一解決方案

¨ 資訊應用整合不一定非 Web Services 不可,但對於有 此需求的應用, Web Services 則是一項值得投入的技 術

n Web Services 的價值在於商業經營觀點的思考

¨ 經由新服務模式的創造,以開創出新的商業模式

(26)

Outline

n

Web Services 範例

n

Web Services 簡介

n

分散式元件技術的發展

n

Web Services 主要技術簡介

n

Web Services 的發展障礙

(27)

分散式元件技術的發展

n

軟體工程的演進

n

分散式計算環境的評估

n

分散式元件技術之比較

(28)

軟體工程的演進

Web Services Java RMI

Message Oriented Middleware CORBA

RPC DLL

Subroutine

DCOM 無所不在的服務

(29)

分散式計算環境的評估

n

透明性(Transparency)

n

互通性(Interoperability)

n

可擴充性(Scalability)

n

可攜性(Portability)

n

安全性(Security)

n

可靠性(Reliability)、可用性

(Availability )及效能(Performance)

(30)

分散式元件技術之比較

CORBA DCOM Java RMI SOAP RPC通訊協定 IIOP RPC IIOR or JRMP HTTP 訊息格式 CDR NDR Java Ser. Format XML

描述語言 OMG IDL IDL Java WSDL

探索機制 Naming Service Windows Registry RMI Registry UDDI

(31)

Outline

n

Web Services 範例

n

Web Services 簡介

n

分散式元件技術的發展

n

Web Services 主要技術簡介

n

Web Services 的發展障礙

(32)

Web Services 主要技術簡介

n XML(eXtensible Markup Language)

¨ 以SGML為基礎的一種標示語言(markup language),可透過自 我定義標籤,定義文件格式與結構化資訊

n SOAP(Simple Object Access Protocol)

¨ Web Services 的訊息傳輸與資料存取協定,作為訊息收送雙方溝 通的標準

n WSDL(Web Service Description Language)

¨ Web Services 的描述語言,以 XML 語法描述 Web Services 的 資料、命令與各元件所提供的功能

n UDDI(Universal Description Discover and Integration)

¨ Web Services 的註冊與搜尋機制,服務提供者可將所提供的服務 至 UDDI 資料庫進行註冊,服務要求者則可至其中取用已註冊的 各項服務

(33)

Web Services 主要技術簡介

3.0 1.2

1.2 Recent status

OASIS W3C

W3C Maintain by

UDDI SOAP

WSDL Standard

(34)

Web Services 主要技術簡介

n

SOAP

n

WSDL

n

UDDI

(35)

SOAP 的發展歷史

n 1998 年,UserLand 公司的執行總裁 Dave Winer 提出透過 XML 讓 RPC 的通訊方式透過 HTTP 協 定在網際網路上執行

¨ XML-RPC

n 經由微軟公司加以改良,提出了實際可行的

Simple Object Access Protocol (SOAP)通訊協定

n 2000 年由IBM、Microsoft、UserLand 和 DevelopMentor 共同提交給 W3C

(36)

SOAP 標準中所定義的事項

n

Envelop

¨定義了整個訊息架構與如何處理訊息的指示

n

Encoding Rules

¨定義如何將應用程式資料表現於SOAP訊息內 的方法

n

RPC Representation

¨定義了用SOAP來表示遠端程序叫用時所應遵 尋的規範

(37)

SOAP 的技術規格

n SOAP是利用所謂的「訊息」(Message)為溝 通的基本單位。而一個標準的SOAP訊息,就是 一個制式的XML文件,並包含了以下幾個基本元 素:

¨ 一個SOAP封套(Envelop),用來定義整個SOAP訊 息的內容。

¨ 一個SOAP訊息標頭紀錄(Header),此部份為選 用,包含了所有標頭所應登錄的資料。

¨ 一個SOAP訊息主體(Body),其中包括了所有的呼 叫描述與回應內容。

(38)

標準的 SOAP 訊息結構圖

SOAP Envelope SOAP Header

Extended Information

SOAP Body Method Element

Other Independent Embedded Elements

(39)

SOAP Message 的命名空間

http://schemas.xmlsoap.org/soap/envelope/

http://schemas.xmlsoap.org/soap/encoding/

(40)

Example:Hello Service

public interface Hello {

public String sayHelloTo(String name);

}

(41)

Simplified SOAP Request

<?xml version="1.0"?>

<Hello>

<sayHelloTo>

<name>John</name>

</sayHelloTo>

</Hello>

(42)

Simplified SOAP Response

<?xml version="1.0"?>

<Hello>

<sayHelloToResponse>

<message>

Hello John, How are you?

</message>

</sayHelloToResponse>

(43)

SOAP Request

<SOAP-ENV:Envelope xmlns:SOAP-

ENV="http://schemas.xmlsoap.org/soap/envelope/

"

xmlns:xsd="http://www.w3.org/1999/XMLSchema">

<SOAP-ENV:Header> </SOAP-ENV:Header>

<SOAP-ENV:Body>

<ns1:sayHelloTo xmlns:ns1="Hello"

SOAP-ENV:encodingStyle=

"http://schemas.xmlsoap.org/soap/encoding/">

<name type="xsd:string">John</name>

</ns1:sayHelloTo>

(44)

SOAP Respone

<SOAP-ENV:Envelope xmlns:SOAPENV="

http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsd="http://www.w3.org/1999/XMLSchema">

<SOAP-ENV:Header> </SOAP-ENV:Header>

<SOAP-ENV:Body>

<ns1:sayHelloToResponse xmlns:ns1="Hello"

SOAP-ENV:encodingStyle=

"http://schemas.xmlsoap.org/soap/encoding/">

<return type="xsd:string">

Hello John, How are you doing?

</return>

(45)

從 SOAP 的角度來看 Web Services 的

應用 – 中介軟體(Middleware)

(46)

SOAP Message 的優點

n 不需特定的技術才能傳送

¨ SOAP 利用 XML 純文字的特性,提供一套機制,以 XML 來包裝 方程式呼叫和訊息。由於採用了 XML,SOAP 順理成章地繼承了 許多 XML 的優點,可輕易透過 HTTP、SMTP 等網路上最常使 用、 極為耐操的通信管道來來挾帶,更能穿越企業的 firewalls,

還可透過 SSL、S/MIME 等機制加密,提供安全性

n 不需特定的平台才能接收

¨ 透過 XML 來傳訊,還有一項更大的優點,是 CORBA、Java

RMI,及 DCOM 這些以專屬 binary 格式傳送資料所不及之處,那 就是對程式語言、作業平台的獨立性--由於是純文字 XML 格 式, SOAP 訊息可由任何一種程式語言所產生,被任何程式語 言、甚至肉眼所解讀。這個 late-binding 的特性, 正是 Web- services 時代所迫切需要的

(47)

SOAP Message 的缺點

n

利用 XML Parser 來解釋 SOAP 訊息封套 中的 XML 資訊是很耗費時間的

n

在 SOAP 訊息中並沒有提供服務執行先後 順序的資訊

n

因為 SOAP 的編碼規則,使得在所有的 SOAP 訊息封套中都必須包含一些額外的 型別資訊。因此會多佔用一些儲存空間,

且增加系統編碼及解碼的額外處理時間

(48)

Web Services 主要技術簡介

n

SOAP

n

WSDL

n

UDDI

(49)

WSDL 所提供的資訊

n 描述 Service Provider 所提供的 Web Server 的 operations

n 描述 Service Requester 如何和 Web

Server 的 operations 溝通 , 內容包括

傳輸協定 、 格式及參數

(50)

WSDL檔的主要部份

<definitions name=“Weather_Service”>

<message> ... 定義通訊傳輸所需使用的訊息

</message>

<portType> ... Operations 和 operations 的 messages

</portType>

<binding> ... How the operations are invoked

</binding>

<service> ... Where the service is located

</service>

(51)

Web Services 主要技術簡介

n

SOAP

n

WSDL

n

UDDI

(52)

UDDI 的註冊資料

n

White pages

¨包含企業基本資料及一組識別碼

n

Yellow pages

¨包含企業的分類

n

Green pages

¨包含業務上所提供服務的技術資訊,例如如何 計價等。另外也包含商業流程、服務規格,以 及連結資訊等

(53)

White Pages

n Business Name

n Text Description

¨ list of multi-language text strings

n Contact info

¨ names, phone numbers, fax numbers, web sites…

n Known Identifiers

¨ list of identifiers that a business may be known by – D-U-N-S (UDDI registry generated unique number for each business)

(54)

Yellow Pages

n

Business categories

¨5 standard taxonomies in Version 2.0

n Industry: NAICS (Industry codes - US Govt.)

n Product/Services: Standard Industrial Classification, USPSC

n Location: Geographical taxonomy (GGC, ISOGT)

¨Implemented as name-value pairs to allow

any valid taxonomy identifier to be attached to the business white page

(55)

Green Pages

n

New set of information businesses use to describe how to “do e-commerce” with

them

¨Nested model

n Business processes

n Service descriptions

n Binding information

¨Programming/platform/implementation independent

¨Services can also be categorized

(56)

UDDI 的資料結構

n All XML based

n API implementations

n Inquire

n Publish

n Close to 15 structures

n Main Data Structures

n businessEntity

n serviceEntity

n tModel

(57)

Outline

n

Web Services 範例

n

Web Services 簡介

n

分散式元件技術的發展

n

Web Services 主要技術簡介

n

Web Services 的發展障礙

(58)

Web Services 的發展障礙

n

程式除錯的困難性

n

UDDI 的互通性

n

服務的可信任性

n

服務的身份辨識性

n

分散式交易的交付

¨Transaction Timing

¨Rollback

參考文獻

相關文件

敦煌患文雖然是禮懺法門的應用文書,有點格式化與過分老套的語言形式,但是卻保存

5.電視表現的形式與風格 從電視螢光幕談起,介紹電視如何傳送畫 面,以及電視的節目內容有哪些風格 6.電視科技發展

目錄的字型不一致 不一致 不一致 不一致 縮排格式.

• 由於對行文稱謂、格式的不熟悉,乃至於中西格式的 混淆,往往會出現一

(A)SQL 指令是關聯式資料庫的基本規格(B)只有 SQLServer 2000 支援 SQL 指令(C)SQL 指令 複雜難寫,適合程式進階者使用(D)是由 Oracle

比較多樣的 視覺及文字 資料,選擇 符合主題適 切性及具美 感的表現形 式,並採用 自我的語言 及角度進行 創作 8.

目的:讓學生多了解自己的能力 和升學就業取向,因應學生 不同的性格及興趣等作出.

媒體可以說是內容、資訊最大的生產者,但受制於 國際社交媒體及搜尋平台的經營手法,本地主流媒 體在發展網上業務時,面對不公平的競爭。 這些