車載資料庫服務系統 Part 2

117
1 車車車車車車車車車 Part 2 車車車車車車

description

車載資料庫服務系統 Part 2. 國立東華大學. 大綱. Part1 資料庫簡介 資訊平台的過去與現在 服務導向架構 Part2 網路服務 網路服務安全 雲端運算服務 行動網路服務. 網路服務 (Web Services). Web Services. 一種讓分散於不同平台上,由不同技術所實作出來的相關服務,利用軟體程式整合技術,結合各種相關服務,以提供使用者一個更具效率性與便利性的全新服務。. 繳款服務. 一家一家繳費,真累人!. 繳款服務. 有小7真好. 地址修改通報. 還有幾家漏掉了?. 地址遷移通報服務. 郵局就感心耶~~. - PowerPoint PPT Presentation

Transcript of 車載資料庫服務系統 Part 2

Page 1: 車載資料庫服務系統 Part 2

1

車載資料庫服務系統Part 2

國立東華大學

2

大綱bull Part1

ndash 資料庫簡介ndash 資訊平台的過去與現在ndash 服務導向架構

bull Part2ndash 網路服務ndash 網路服務安全ndash 雲端運算服務ndash 行動網路服務

3

網路服務(Web Services)

4

Web Services

bull 一種讓分散於不同平台上由不同技術所實作出來的相關服務利用軟體程式整合技術結合各種相關服務以提供使用者一個更具效率性與便利性的全新服務

5

繳款服務

一家一家繳費真累人

6

繳款服務

有小7真好

7

地址修改通報

還有幾家漏掉了

8

地址遷移通報服務

郵局就感心耶~~

9

旅行社業務服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 2: 車載資料庫服務系統 Part 2

2

大綱bull Part1

ndash 資料庫簡介ndash 資訊平台的過去與現在ndash 服務導向架構

bull Part2ndash 網路服務ndash 網路服務安全ndash 雲端運算服務ndash 行動網路服務

3

網路服務(Web Services)

4

Web Services

bull 一種讓分散於不同平台上由不同技術所實作出來的相關服務利用軟體程式整合技術結合各種相關服務以提供使用者一個更具效率性與便利性的全新服務

5

繳款服務

一家一家繳費真累人

6

繳款服務

有小7真好

7

地址修改通報

還有幾家漏掉了

8

地址遷移通報服務

郵局就感心耶~~

9

旅行社業務服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 3: 車載資料庫服務系統 Part 2

3

網路服務(Web Services)

4

Web Services

bull 一種讓分散於不同平台上由不同技術所實作出來的相關服務利用軟體程式整合技術結合各種相關服務以提供使用者一個更具效率性與便利性的全新服務

5

繳款服務

一家一家繳費真累人

6

繳款服務

有小7真好

7

地址修改通報

還有幾家漏掉了

8

地址遷移通報服務

郵局就感心耶~~

9

旅行社業務服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 4: 車載資料庫服務系統 Part 2

4

Web Services

bull 一種讓分散於不同平台上由不同技術所實作出來的相關服務利用軟體程式整合技術結合各種相關服務以提供使用者一個更具效率性與便利性的全新服務

5

繳款服務

一家一家繳費真累人

6

繳款服務

有小7真好

7

地址修改通報

還有幾家漏掉了

8

地址遷移通報服務

郵局就感心耶~~

9

旅行社業務服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 5: 車載資料庫服務系統 Part 2

5

繳款服務

一家一家繳費真累人

6

繳款服務

有小7真好

7

地址修改通報

還有幾家漏掉了

8

地址遷移通報服務

郵局就感心耶~~

9

旅行社業務服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 6: 車載資料庫服務系統 Part 2

6

繳款服務

有小7真好

7

地址修改通報

還有幾家漏掉了

8

地址遷移通報服務

郵局就感心耶~~

9

旅行社業務服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 7: 車載資料庫服務系統 Part 2

7

地址修改通報

還有幾家漏掉了

8

地址遷移通報服務

郵局就感心耶~~

9

旅行社業務服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 8: 車載資料庫服務系統 Part 2

8

地址遷移通報服務

郵局就感心耶~~

9

旅行社業務服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 9: 車載資料庫服務系統 Part 2

9

旅行社業務服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 10: 車載資料庫服務系統 Part 2

10

旅行社網路服務 訂票系統

訂房系統

租車系統

旅遊地點 日本福岡交通工具 飛機 開車時間 一月七天六夜

UDDI

交通工具 CI8888交通工具 Honda CRV飯店 福岡大飯店時間 1 月 24 日七天六夜

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 11: 車載資料庫服務系統 Part 2

11

資訊整合平台

保險公司

航空公司

領務局

租車公司路況中心UDDI

銀行

保險公司

消費者

旅遊業者

飯店氣象局

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 12: 車載資料庫服務系統 Part 2

12

什麼是 Web Services

bull 一種新的程式開發環境ndash 架構於服務導向的應用程式架構

bull 結合元件開發的優點及 Web 的優點ndash 鬆散偶合的網際網路應用程式架構

bull 一種全新的網路經濟模式ndash Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通進而幫助企業節省成本也可創造出新的服務付費客戶以賺取更多的利潤

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 13: 車載資料庫服務系統 Part 2

13

服務導向架構bull 服務導向架構 (SOA Service Oriented Architect

ure) 的三種角色 ndash 服務仲介者 (Services Broker)

bull 扮演媒介網路服務的角色它可以接受來自服務提供者的註冊請求也可以處理來自服務需求者的查詢要求

ndash 服務提供者 (Services Provider)bull 開發網路服務外另外需以 WSDL 格式描述網路服務並儲存成為一個檔案

ndash 服務需求者 (Services Requester)bull 發起服務的請求而後續的主要作業有查詢及鏈結適當的網路服務等

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 14: 車載資料庫服務系統 Part 2

14

服務導向的應用程式架構

ServiceRequesters

ServiceProviders

ServiceBrokers

LegacySystem

Bind

Find Publish

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 15: 車載資料庫服務系統 Part 2

15

網路服務運作流程1 服務提供者將網路服務依 UDDI 所需的資

料向服務仲介者註冊2 服務仲介者回應服務提供者註冊成功的訊

息完成網路服務 Publish 程序3 服務需求者向服務仲介者提出服務的需求

查詢4 服務仲介者回應服務需求者查詢的結果

完成網路服務的 Discovery 程序

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 16: 車載資料庫服務系統 Part 2

16

網路服務運作流程5 服務需求者依相關資訊向服務提供者要求

取得 WSDL 檔案6 服務提供者回應服務需求者所需的網路服

務的細節資訊 (WSDL 檔案 ) 7 服務需求者依據 WSDL 檔案的描述鏈

結及執行遠端的應用程式 8 服務提供者回應服務需求者執行的結果

完成網路服務的鏈結 (Bind) 程序

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 17: 車載資料庫服務系統 Part 2

17

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

Web Services

XMLHTTP

XM

LHTTP

XMLHTTP

UDDI Business Registry

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 18: 車載資料庫服務系統 Part 2

18

網路服務bull 網路服務的定義

ndash Web services 是一種軟體元件它透過 Web 通訊協定及資料格式的開放式標準 (如 HTTP XML 及 SOAP 等 ) 來為其他的應用程式提供服務

ndash 網路服務是指一個應用程式可經由 XML 來描述查詢以及利用 URI 來辨識此應用程式的介面與 binding方式均已被完整定義並能藉 XML型式的訊息經合乎網際網路的協定來直接驅動

bull Web services 相關技術ndash XML SOAP UDDI WSDL

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 19: 車載資料庫服務系統 Part 2

19

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

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

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 20: 車載資料庫服務系統 Part 2

20

Why Web Services

bull Interoperability Enterprise Application Integrationndash 利用一些計畫方法或程式工具來幫助企業內部的應用系統能夠現代化並彼此能聯合統一增進協調性以幫助企業內與企業間作業流程和應用系統的有效 e化與整合

bull B2B Integrationndash 企業合作夥伴間結合彼此的流程作業應用軟體資料及 Web 功能使參與的夥伴間皆能即時獲得相關資訊並據以回應使企業充分協同作業( Collaboration)並達到企業延伸( Enterprise Extension)目的在使企業社群整體皆能獲利

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 21: 車載資料庫服務系統 Part 2

21

EAI

B2Bi

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 22: 車載資料庫服務系統 Part 2

22

Web Services 與 Web Application

Web Services Web Application

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

描述語言 XML WSDL HTML

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

應用領域 B2B B2C

通訊協定SOAP+HTTP

HTTPSSMTPFTPHTTPHTTPS

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 23: 車載資料庫服務系統 Part 2

23

Web Services特色bull Services as componentsbull Loose couplingbull Platform independentbull Open Standardbull Interoperabilitybull Incremental deployment

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 24: 車載資料庫服務系統 Part 2

24

Services as componentsbull 將每個服務元件化每個服務元件都有自己完的功能如此可以達到服務再利用的好處

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 25: 車載資料庫服務系統 Part 2

25

Loose couplingbull 「 Loose Coupling」為鬆散耦合經過細分化後的模組之間的關聯性較小相互的影響程度不大的一種狀態

bull 在「 Loose Coupling」架構下的個個模組之間雖然有相互連結但是彼此的依存度較小在變更或者修改模組時的柔軟度較佳相對的緊密耦合 (tight coupling) 處理速度上會較快但是因為彼此之間的關聯性較大在變更或者修改模組時必須考慮必須周詳

bull 系統如果是鬆散耦合沒有使用特定的技術和語言開發當業務或交易對象發生變更時也能夠迅速對應例如WEB Service 就是一種鬆散耦合

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 26: 車載資料庫服務系統 Part 2

26

Platform independentbull 遵循同一標準規範任何平台或作業系統均可互相溝通資訊

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 27: 車載資料庫服務系統 Part 2

27

Open Standardbull 訂有 XML SOAP UDDIWSDL 等建議規範

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 28: 車載資料庫服務系統 Part 2

28

Interoperabilitybull 相互操作性是指不同的計算機系統網路作業系統和應用程式一起工作並共享訊息的能力

bull 打破平台之間的隔閡各個系統間可以透過共通的標準協定進行資料交換

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 29: 車載資料庫服務系統 Part 2

29

Incremental deploymentbull 將現有系統服務重新包裝成網路服務不用大費周張重新開發新的應用程式採漸進式的上線方式替換將適用於網路服務的系統

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 30: 車載資料庫服務系統 Part 2

30

對於 Web Services 應釐清的觀念bull Web Services 強調互通性( interoperability)而不是可攜性( portability)ndash 將 legacy 的應用程式於原始平台上重新包裝而非移植至新平台

bull Web Services 不是整合問題的唯一解決方案ndash 資訊應用整合不一定非Web Services 不可但對於有此需求的應用 Web Services 則是一項值得投入的技術

bull Web Services 的價值在於商業經營觀點的思考ndash 經由新服務模式的創造以開創出新的商業模式

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 31: 車載資料庫服務系統 Part 2

31

Web Services 的基礎技術

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 32: 車載資料庫服務系統 Part 2

32

Web Services 的重要技術及標準bull Web Services 使用 XML( eXtensible Markup Lan

guage) 作為它的資料架構bull Web Services 使用 SOAP( Simple Object Access

Protocol)作為它的通訊協定bull Web Services 使用 WSDL(Web Service Descripti

on Language)作為它描述服務細節的標準bull Web Services 使用 UDDI( Universal Description

Discovery and Integration)的標準作為它的服務 搜尋工具

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 33: 車載資料庫服務系統 Part 2

33

Web Services Architecture Stack

SECURITY

MANAGEMENT

ProcessesDiscovery Aggregation Choreographyhellip

DescriptionsWeb Services Descriptions (WSDL)

CommunicationsHTTP SMTP FTP JMS IIOP hellip

Messages

SOAP

SOAP ExtensionsReliability Correlation Transactionshellip

Base T

echnologies X

ML

DT

D

Schem

a

Base T

echnologies X

ML

DT

D

Schem

a

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 34: 車載資料庫服務系統 Part 2

34

XML

bull XML (eXtensible Markup Language)

bull XML 是類似 HTML 的標記語言bull XML 是被設計用來存資料不是用來展現資料

bull XML 的 tag 不用事先定義使用者可以自定義自己想要的 tag

bull XML 是可以自我描述的 bull XML 是 W3C Recommendation

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 35: 車載資料庫服務系統 Part 2

35

XML 與 HTML 的不同bull XML 不是用來取代 HTML

bull XML 與 HTML 有不同目的 ndash XML被設計用來做資料傳輸與資料儲存ndash HTML被用來展現資料

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 36: 車載資料庫服務系統 Part 2

36

Example of an XML document

Element

Content

Attribute(name and value)

ltxml version=10gt

lttransactionsgt

lttransactiongt

ltname position=boss sex=Mgttony yaoltnamegt

ltproduct type1=p01 type2=p02 type3=p03gt

computer

ltproductgt

ltpricegt49900ltpricegt

ltcardnogt1234-5678-8765-4321ltcardnogt

lttransactiongt

lttransactionsgt

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 37: 車載資料庫服務系統 Part 2

37

SOAP

bull 簡單物件存取協定 (SOAP Simple Object Access Protocol) 是以 XML 來規範的協定

bull SOAP 是以訊息傳遞機制來達成程式驅動 bull SOAP沒有自己的底層通訊協定故需使用其他的協定 (如 HTTP SMTP FTP 等 ) 因此 SOAP 的彈性極佳

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 38: 車載資料庫服務系統 Part 2

38

SOAP

bull SOAP 是網路服務架構中最重要的一項技術它促成了訊息環境的實現

bull SOAP 是被定位在傳輸協定的用途用於網路服務架構中的ndash FindDiscoveryndash RegisterPublishndash Bindingndash Forward

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 39: 車載資料庫服務系統 Part 2

39

SOAP 訊息

SOAP BODY

SOAP ENVELOPE

FAULT

SOAP HEADER

Transport protocol

MIME header

39

bull 每一個 SOAP 訊息包含ndash An envelopendash A headerndash A bodyndash The body may contain a fau

lt element

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 40: 車載資料庫服務系統 Part 2

40

ltsoapEnvelope xmlnssoap=httpschemasxmlsoaporgsoapenvelopegt ltsoapHeadergt lt-- optional --gt

lt-- header blocks go here --gt ltsoapHeadergt ltsoapBodygt

lt-- payload or Fault element goes here --gt ltsoapBodygt

ltsoapEnvelopegt

40

SOAP example code

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 41: 車載資料庫服務系統 Part 2

41

SOAP Message 的優點bull 不需特定的技術才能傳送

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

bull 不需特定的平台才能接收ndash 透過 XML 來傳訊還有一項更大的優點是 CORBA Java RM

I 及 DCOM 這些以專屬 binary 格式傳送資料所不及之處那就是對程式語言作業平台的獨立性

ndash 由於是純文字 XML 格式 SOAP 訊息可由任何一種程式語言所產生被任何程式語言甚至肉眼所解讀這個 late-binding 的特性 正是 Web services 時代所迫切需要的

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 42: 車載資料庫服務系統 Part 2

42

SOAP Message 的缺點bull 利用 XML Parser 來解釋 SOAP 訊息中的

XML 資訊是很耗費時間的bull 在 SOAP 訊息中並沒有提供服務執行先後順序的資訊

bull 因為 SOAP 的編碼規則使得在所有的 SOAP 訊息中都必須包含一些額外的型別資訊因此會多佔用一些儲存空間且增加系統編碼及解碼的額外處理時間

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 43: 車載資料庫服務系統 Part 2

43

仲介網路服務的 UDDI協定bull 我們找工作寫好履歷後要如何告訴企業主我是個人材請企業主來聘請我呢ndash 在人力銀行上登錄個人履歷資料

bull 104 人力銀行bull 111 人力銀行

bull 解決 Services如何被認識的問題可以透過仲介者來達成 UDDI規範 提供下列功能ndash 登錄機制以 UDDI規範約定註冊資料與格式使得網路服務的相關資訊能登錄至資料庫中

ndash 查詢機制讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務

ndash 發佈機制讓已登錄的網路服務能主動通報到其他的註冊中心

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 44: 車載資料庫服務系統 Part 2

44

UDDI 協定bull UDDI (Universal Description Discovery and I

ntegration) ndash 是以 XML 為基礎的規範用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務

ndash 規範可概分為資料結構與應用程式介面

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 45: 車載資料庫服務系統 Part 2

45

UDDI 協定ndash 資料結構界定企業及網路服務提供者登錄註冊該服務所需遵守的格式其格式內容如商業組織名稱基本分類資訊網址資訊與註冊引用資訊等等這些內容會被放置在稱為「註冊中心」的資料庫中

ndash 應用程式介面提供 Publish 及 Search該網路服務註冊內容所需之應用程式介面對程式師來說便是利用此 API對應用系統進行準備與執行另一方面建置一個註冊中心亦需遵循此應用程式介面

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 46: 車載資料庫服務系統 Part 2

46

UDDI 的註冊資料bull White pages

ndash 包含企業基本資料及一組識別碼bull Yellow pages

ndash 包含企業的分類bull Green pages

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

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 47: 車載資料庫服務系統 Part 2

47

描述網路服務的 WSDL協定bull WSDL 也是一項以 XML 為基礎的規範 其實它僅涉及執行描述及介面描述

bull WSDL 描述網路服務的細節內容 ndash 如服務位置形式啟動方式等

bull WSDL 是以抽象的方式來描述網路服務類似 IDL 的作用

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 48: 車載資料庫服務系統 Part 2

48

WSDL

Service

Port

Implementation Description

Types

Message

PortType

Binding

Interface Description

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 49: 車載資料庫服務系統 Part 2

49

WSDL文件架構

元素 描述message 通訊的訊息資料之定義訊息可由多個部

份組成每一個部份可以是不同類型portType 一或多個結束點所支援的抽象作業集binding 特定通訊埠類型的具體通訊協定和資料格

式規格service 相關結束點的集合

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 50: 車載資料庫服務系統 Part 2

50

UDDI和WSDL 的描述bull UDDI和WSDL都有描述網路服務的功能

ndash UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊

ndash WSDL 的描述除抽象的外觀描述外另有與實作相關的細節資訊

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 51: 車載資料庫服務系統 Part 2

51

REST

bull REST Representational State Transfer 它的名稱由來概念理論基礎和原則源於 Roy Fielding 2000 年的博士論文中所提出來的一種軟體架構風格

bull REST 是一種設計風格而不是一個標準 REST 通常基於使用 HTTP URI 和 XML以及 HTML這些現有的廣泛流行的協議和標準

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 52: 車載資料庫服務系統 Part 2

52

REST

bull 資源是由 URI 來指定 bull 對資源的操作包括獲取創建修改和刪除資源這些操作正好對應 HTTP協議提供的GET POST PUT和 DELETE方法

bull 通過操作資源的表形來操作資源 bull 資源的表現形式則是 XML或者 HTML 取決於讀者是機器還是人是消費 web 服務的客戶軟體還是 web瀏覽器當然也可以是任何其他的格式

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 53: 車載資料庫服務系統 Part 2

53

REST 優點 bull 可以利用 Cache 來提高回應速度 bull 通訊本身的無狀態性可以讓不同的伺服器的處理一系列請求中的不同請求提高伺服器的擴展性

bull 瀏覽器即可作為客戶端簡化軟體需求bull 相對與其他疊加在 HTTP協議之上的機制

REST 的軟體依賴性更小 bull 不需要額外的資源發現機制 bull 在軟體技術演進中的長期的兼容性更好

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 54: 車載資料庫服務系統 Part 2

54

網路服務安全

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 55: 車載資料庫服務系統 Part 2

55

網路服務安全bull WS-Security(Web 服務安全)是一種提供在 Web 服務上應用安全的方法的網路傳輸協議協議包含了關於如何在 Web 服務消息上保證完整性和機密性的規約ndash 2004年 4 月 19 日 OASIS組織發布了 WS-Se

curity標準的 10版本 2006年 2 月 17 日發布了 11版本

ndash WS-Security 是最初 IBM 微軟 VeriSign和Forum Systems 開發的現在協議由 Oasis-Open下的一個委員會開發官方名稱為 WSS

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 56: 車載資料庫服務系統 Part 2

56

網路服務安全bull WS-Security 描述了如何將簽名和加密頭加入 SOAP 訊息ndash 安全技術主要由 XML-Signature 與 XML-Encr

yption 來達成ndash 描述了如何在訊息中加入 security token 包括二進制 security token 如 X509認證證書和 Kerberos門票( ticket)

bull WS-Security 將安全特性放入一個 SOAP 訊息的 header 中在應用層處理這樣協議保證了端到端的安全

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 57: 車載資料庫服務系統 Part 2

57

W3C XML Encryption

bull 一般加密文件均是整個文件加密但整個文件加密耗費太多運算資源

bull XML文件為樹狀結構加密可選擇加密整份文件或是選擇部分的文件

bull 對於一份 XML文件我們可以加密ndash 整個 XML 文件ndash 一個元素ndash 元素的內容ndash 至於元素屬性則無法加密

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 58: 車載資料庫服務系統 Part 2

58

W3C XML Encryptionltxml version=10gt ltPaymentInfo xmlns=httpexampleorgpaymentv2gt ltNamegtJohn SmithltNamegt ltCreditCard Limit=5000 Currency=USDgt ltNumbergt ltEncryptedData xmlns=httpwwww3org200104xmlenclsquo Type=httpwwww3org200104xmlencContentgt ltCipherDatagt ltCipherValuegtA23B45C56ltCipherValuegt ltCipherDatagt ltEncryptedDatagt ltNumbergt ltIssuergtExample BankltIssuergt ltExpirationgt0402ltExpirationgt ltCreditCardgt ltPaymentInfogt

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 59: 車載資料庫服務系統 Part 2

59

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegt765ltpricegt ltcardnogt4567-1234-5678-4321ltcardnogtlttransactiongt

lttransactiongt ltnamegtcy wangltnamegt ltproductgtkeyboardltproductgt ltpricegtGA1UEAxMQSGlyb3NoaSBltpricegt ltcardnogtMDM3MzRa Fw0wMDAzMltcardnogtlttransactiongt

Original XML document

Element-wise encrypted document

Perform element-wise encryption

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 60: 車載資料庫服務系統 Part 2

60

XML Element-wise Encryption for publishing privileged document

B info

C info

D info

A info

A info

B info

C info

A

B

C

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 61: 車載資料庫服務系統 Part 2

61

XML Element-wise Encryption for publishing privileged document

bull 一份 XML文件中分別存放多人(A BC Dhellip)的資料

bull 分別利用每個人的公開金鑰針對個人的資料進行加密

bull 雖然同一份文件裡有多人的資料每個人只能利用其私鑰解開其有權解密的部份資料

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 62: 車載資料庫服務系統 Part 2

62

XML Element-wise Encryption for routing document

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Dealer

wFiw^amp

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Credit Card Bank

Card info

helliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Purchase info

Consumer

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 63: 車載資料庫服務系統 Part 2

63

XML Element-wise Encryption for routing document (cont)

bull 如一份訂單 XML文件 A 公司向 B 公司下訂 B 公司再將訂單資料傳給銀行請款在這個過程中 B 公司不用知道訂貨的 A公司之銀行信用卡資料 A 公司以銀行的key加密付款資料以 B 公司的 key加密訂貨資料 B 公司只能取得訂貨資料而信用卡資料只有銀行可以取用

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 64: 車載資料庫服務系統 Part 2

64

XML Signature

bull 傳統的數位簽章是對整個訊息進行簽章bull XML數位簽章可以針對特定元素進行簽章bull 提供一個元素的簽章或多個元素的簽章

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 65: 車載資料庫服務系統 Part 2

65

XML Signature

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 66: 車載資料庫服務系統 Part 2

66

Document Security Language

bull XML文件描述語言bull 可定義對 XML加密時所需要的 Key 演算法與所要加密的目標元素

bull 加密範圍ndash 整份文件ndash 元素( element)ndash 元素內容( content)ndash 元素屬性( attribute)

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 67: 車載資料庫服務系統 Part 2

67

The Operational model for securing XML documents

(A) Encrypting and embedding signatures

(B) Decrypting and verifying signatures

DSLSecuring

Tool

XML Xs

DSL DP + DSig

XML Xacute

Results of digital signature verification

DSLSecuring

ToolXML Xs

DSL DP +DSig

XML X

DSL DP + DT + DSig

Schema S Schema Sacute

The combination of security algorithms and encryption and

decryption keys

The actual data transformation of the element-wise encryption

How to embed digital signatures in the resulting XML document

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 68: 車載資料庫服務系統 Part 2

68

網路服務安全ltsoapenvEnvelopegt

ltsoapenvEnvelopegt

ltsoapenvHeadergt

ltsoapenvHeadergt

Body

ltwsseSecuritygt

ltwsseSecuritygt

Security Token(usernamepassword or X509 certificate)

ltdsSignaturegt

XML Signature

ltdsSignaturegt

ltxencReferenceListgt

XML Encryption

ltxencReferenceListgt

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 69: 車載資料庫服務系統 Part 2

69

WS-Security PolicyltwspPolicygt ltspAsymmetricBindinggt ltwspPolicygt ltspInitiatorTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspInitiatorTokengt ltspRecipientTokengt ltwspPolicygt ltspX509V3Token spIncludeToken=IncludeTokenAlways gt ltwspPolicygt ltspRecipientTokengt ltspAlgorithmSuitegt ltwspPolicygtltspBasic256 gtltwspPolicygt ltspAlgorithmSuitegt ltspEncryptBeforeSigning gt ltwspPolicygt ltspAsymmetricBindinggt ltspSignedPartsgt ltspHeader Name=Header1 Namespace= gtltspBodygt ltspSignedPartsgt ltspEncryptedPartsgtltspBodygtltspEncryptedPartsgtltwspPolicygt

The locations and identities of the keys cannot be

specified in WS-SecurityPolicy

This represents a type of implicit key definition

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 70: 車載資料庫服務系統 Part 2

70

XKMS Server 運作模式

XKMS Server

Client AP Server

Step 1

Step 2

Step 4

Step 3

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 71: 車載資料庫服務系統 Part 2

71

XKMS Server 運作模式bull Step 1

ndash Client連線 XKMS Server 查詢 AP Server 是否為經過認證通過的 Server

bull Step 2ndash Client 向 AP Server 提出 service request

bull Step 3 ndash AP Server收到 Client 的 request 時向 XKMS Server 請求驗證 client 的身分及所傳送資料的完整性

bull Step4ndash 當 client 的資料通過驗證後 AP Server即會處理 client的所要的服務

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 72: 車載資料庫服務系統 Part 2

72

LDAP

bull LDAP (Lightweight Directory Access Protocol)

bull 為輕量級通訊協定使用 TCPIP 及精簡的核心操作為一種名錄服務

bull 用途ndash 將分散資料統合一處 ( 如個人資料 伺服器資訊 ) 便於組織資料管理

ndash 可與許多應用軟體整合應用ndash 對於資料的存取具有權限保護

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 73: 車載資料庫服務系統 Part 2

73

LDAP 運作模式

ClientService provider

LDAP Server (Certificates)

憑證申請 授與

憑證

(2)

查詢憑證

(3)

回應憑證查詢狀態

(1)傳送訊息 ( 憑證 )

(4) 回應訊息

CA

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 74: 車載資料庫服務系統 Part 2

74

HTTPS

bull HTTP+SSL (Secure Socket Layer) bull SSL 運作原理

1 Client對 Server 提出 HTTPS連線要求 2 Server傳送 Server 的 Public KeyCertificate給 client 3 Client 以亂數產生後續傳輸過程所要用的加密 解密 S

ession Key 並以 Server 的 Public Key加密後回傳給Server

4 Server 用 Private Key解開以其 Public Key加密回傳的資料並取得 Session Key

5 此後 Client 與 Server 間傳送資料均以此 Session Key來進行資料的加密與解密當此連線任務結束後此Session Key 立即失效

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 75: 車載資料庫服務系統 Part 2

75

HTTPS 運作原理

1 提出 HTTPS連線要求

2 下載 Server Public KeyCertificate

3 Client 產生 Session Key

4 Server Public Key加密 Session Key

5 Server 以其 Private Key解密 Session Key

雙方以資料以 Session Key加密後傳送

Client

Server

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 76: 車載資料庫服務系統 Part 2

76

實作網路服務安全的簡單操模式

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 77: 車載資料庫服務系統 Part 2

77

WSSLAPI

SOAP

SOAP

signatures

s

Client-sideproxy

Keystore

Servicerequester

Serviceprovider

Server-sideProxy

KeystoreWSSL

API

WSSL

SOAP

(A)

Internet

Authenticationpolicy

(2)

(1)

(4)

(3)

(6)

(5)

WSSLEditor

WSSLWSDL

(B)

SOAP

signatures

s

SOAP SOAP

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 78: 車載資料庫服務系統 Part 2

78

WSSLInternet

Servicerequester

1

WSSLAPI

Keystore

SOAP

Servicerequester

2

WSSLAPI

Keystore

SOAP

Servicerequester

n

WSSLAPI

Keystore

SOAP

Keystore

SOAP

Serviceprovider

SOAP (secured)

signature

WSSLAPI

Client-sideproxy

Server-sideProxy

Authenticationpolicy

Client-sideproxy

Client-sideproxy

SOAP (secured)

signature

SOAP (secured)

signature

bull Many-to-one service model

Static keys

Dynamically selected keys

Keys applied to digital signatures

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 79: 車載資料庫服務系統 Part 2

79

WSSLAPI

Client-sideproxy

Servicerequester

WSSL

serviceprovider

Server-sideProxy

WSSLAPI

WSSL

SOAP

Purchase department private key

Service provider private key

Account department private key

SOAPs

Pur_Certificate

Pur_Signature

Acc_Certificate

Acc_Signature

Pur_Certificate

Acc_Certificate

SOAP SOAP

SOAPs

signatureSOAP

Service providercertificate

An example for securing SOAP message

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 80: 車載資料庫服務系統 Part 2

80

雲端運算服務

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 81: 車載資料庫服務系統 Part 2

81

雲端特色bull On-demand self-service

bull Broad network access

bull Resource pooling

bull Elasticity

bull Measured service

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 82: 車載資料庫服務系統 Part 2

82

Cloud Service Models

IaaSInfrastructure as a Service

PaaSPlatform as a Service

SaaSSoftware as a Service

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 83: 車載資料庫服務系統 Part 2

83

83

Service Model ArchitecturesCloud Infrastructure

IaaS

PaaS

SaaS

Infrastructure as a Service (IaaS) Architectures

Platform as a Service (PaaS)Architectures

Software as a Service (SaaS)

Architectures

Cloud Infrastructure

SaaS

Cloud Infrastructure

PaaS

SaaS

Cloud Infrastructure

IaaS

PaaS

Cloud Infrastructure

PaaS

Cloud Infrastructure

IaaS

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 84: 車載資料庫服務系統 Part 2

84

Software as a Service (SaaS)

bull SaaS 為一種服務型的軟體使用者在需要的時候下載所須要軟體功能安裝在自己的電腦使用或者直接透過網際網路使用線上的軟體目前服務的型態以後者居多

bull 非服務型的一般的軟體使用者必須事先花錢購買而且不能只選擇其中自己要的功能來節省支出利用服務型軟體的使用者相對的事前不須花費任何費用只要在需要時才付費使用

bull 目前提供服務型軟體的代表企業有美國的 salesforce 公司目前正急速成長中 SAP ORACLE等大軟體廠商也陸續開始提供 SaaS型的服務

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 85: 車載資料庫服務系統 Part 2

85

Infrastructure as a Service (IaaS)

bull 亦被稱為 Hardware as a Service (Haas)

bull 以虛擬化平台主體提供設備bull 採用 everything as a service 的概念

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 86: 車載資料庫服務系統 Part 2

86

Platform as a Service (PaaS)

bull PaaS 為一種服務型的主機平台服務型軟體 (Saas)衍生出來的一種服務型態使用者不用自已建置執行軟體的主機和 OS 等平台透過網路利用提供 PaaS 服務業者的平台而且能夠省去主機的維護和障礙對應的人力和時間

bull Amazon從 2006年開始提供「 Amazon EC」「 Amazon S3」的服務在海外已有多數的企業在開始使用 Google 也在世界各地積極的建置資料中心 2008年 4 月發表類似 Amazon 的 PaaS 服務稱為「 Google APP Engine」提供 Saas 服務著名的美國 salesforce 公司 2007年也將提供 SaaS 服務的平台公開開始展開 PaaS 的業務該公司並提供統合的開發環境所需開發語言工具等服務 (Development as a ServiceDaaS)

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 87: 車載資料庫服務系統 Part 2

87

Cloud Deployment Models

bull Private cloud

bull Community cloud

bull Public cloud

bull Hybrid cloud

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 88: 車載資料庫服務系統 Part 2

88

The NIST Cloud Definition Framework

88

CommunityCommunityCloudCloud

Private Private CloudCloud

Public CloudPublic Cloud

Hybrid Clouds

DeploymentModels

ServiceModels

EssentialCharacteristics

Common Characteristics

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrastructure as a Service (IaaS)

Resource Pooling

Broad Network Access Rapid Elasticity

Measured Service

On Demand Self-Service

Low Cost Software

Virtualization Service Orientation

Advanced Security

Homogeneity

Massive Scale Resilient Computing

Geographic Distribution

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 89: 車載資料庫服務系統 Part 2

89

服務導向架構 ( SOA)與雲端運算的關係

bull SOA 是藍圖雲端服務是實體bull 雲端服務是服務導向但不一定是有 SOAbull SOA Governance 就是雲端服務

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 90: 車載資料庫服務系統 Part 2

90

SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 91: 車載資料庫服務系統 Part 2

91

雲端運算是服務導向但不一定是有 SOA

91

服務屬性

Amazon

EC2

Google

App Engine

Microsoft

Azure

Yahoo

Hadoop

架構 IaasPaasIaasPaas PaasPaas PaasPaas SoftwareSoftware

服務型態 Compute

Storage

Web application

Web and non-web

Software

管理技術 OS on Xen hypervisor

Application container

OS through Fabric

controller

Map Reduce Architecture

使用者介面 EC2 Command-line

tools

Web-based Administration

console

Windows Azure portal

Command line and web

APIs yes yes yes yes

收費 yes maybe yes no

程式語言 AMI (Amazon Machine Image)

Python NET framework

Java

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 92: 車載資料庫服務系統 Part 2

9292

現有的雲端運算服務

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 93: 車載資料庫服務系統 Part 2

93

SOA Governance 就是雲端服務bull SOA 企業 E化系統管理在時間的遞延下就是 SOA Governance 更顯現 SOA 就是完整的雲端服務

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 94: 車載資料庫服務系統 Part 2

94

目前提供雲端服務的廠商bull Googlebull Amazonbull IBMbull VMwarebull MicroSoftbull Sunbull HPbull Citrix

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 95: 車載資料庫服務系統 Part 2

95

Google App Engine

bull Google 的雲端服務稱為 Google App Engine (GAE) GAE 是提供一個平台有註冊的使用者可以建立 web application然後 Google會幫你 hosting 可以免費註冊及使用但是有些限制在十個 registered application 1GB的 disk storage每天 10GB 的頻寬每天 46 CPU-hours每天兩千 Emails 以及一個 query最多回應 1000 個結果使用者也不需要去維持維護 server只需上載 application至 GAE

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 96: 車載資料庫服務系統 Part 2

96

Google App Engine (cont)

bull GAE 是一個開發託管網路應用程式的平台使用 Google管理的資料中心

bull GAE 使用了雲端運算技術它跨越多個伺服器和資料中心來虛擬化應用程式

bull GAE屬於 web application 開發環境目前主要支援的程式語言是 Python和 Java

bull GAE 要求開發者使用 Python或 Java做為程式語言且只能使用有限的一套 API

bull GAE 的 Datastore 使用一個與 SQL類似的語法叫做 GQL

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 97: 車載資料庫服務系統 Part 2

97

GEA 的 Dashboard

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 98: 車載資料庫服務系統 Part 2

98

Amazon Web Services

bull Amazon 的雲端服務稱為 Amazon Web Services 簡稱 AWS 由 Amazoncom 提供是一些 remote computing services ( 也稱為 web services) 所組成的集合透過網際網路Amazon 為開發者提供自己本身擁有的後端技術平台利用此技術平臺開發者可以專注在自身應用的開發

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 99: 車載資料庫服務系統 Part 2

99

Amazon 的雲端服務bullNetworkingAmazon Virtual Private Cloud (VPC)Elastic Load Balancing

bullPayments amp BillingAmazon Flexible Payments Service (FPS)Amazon DevPay

bullStorageAmazon Simple Storage Service (S3)Amazon Elastic Block Storage (EBS)AWS ImportExport

bullSupportAWS Premium Support

bullWeb TrafficAlexa Web Information ServiceAlexa Top Sites

bullWorkforceAmazon Mechanical Turk

bullComputeAmazon Elastic Compute Cloud (EC2)Amazon Elastic MapReduceAuto Scaling

bullContent DeliveryAmazon CloudFront

bullDatabaseAmazon SimpleDBAmazon Relational Database Service (RDS)

bullE-CommerceAmazon Fulfillment Web Service (FWS)

bullMessagingAmazon Simple Queue Service (SQS)Amazon Simple Notification Service (SNS)

bullMonitoringAmazon CloudWatch

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 100: 車載資料庫服務系統 Part 2

100

Amazon Elastic Compute Cloud(EC2)bull EC2 是一個讓使用者可以租用雲端電腦運行所需應用的系統

bull EC2藉由提供 web service 的方式讓使用者可以彈性地運行自己的 Amazon 機器映像檔使用者將可以在這個虛擬機器上運行任何自己想要的軟體或應用程式

bull EC2 讓使用者可以控制執行虛擬伺服器的主機地理位置這可以讓延遲還有備援性最高

記憶體 核心 EC2 硬碟空間 平台小型實例 17GB 一個 一

個160GB 32位元

大型實例 75GB 兩個 兩個

850GB 64位元

極大實例 15GB 四個 兩個

1690GB 64位元

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 101: 車載資料庫服務系統 Part 2

101

Amazon Simple Storage Service(S3)

bull S3 是一個網路儲存器服務它的設計是為了讓網路開發者能夠更容易開發

bull S3 提供一個簡單的 Web services interface 可以用來存儲和擷取任何數量的資料不管在何時何地只要你可以上網

bull S3 讓任何開發者都可以存取同一個快速安全可靠又便宜的 infrastructure

bull S3 的目標是希望獲得最大化的利益並且回饋給開發者

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 102: 車載資料庫服務系統 Part 2

102

Google Web Toolkit (GWT)

Google Gears Mashup Editor

Google Gadgets others

Google App Engine (GAE)

Python amp Django

Dynamic Scalable Runtime

GAE Datastore GData

Google Accounts

Social Graph API Others

Simple Storage Service (S3)

Simple DB MTurk

Simple Queue Service (SQS)

General Purpose Support Services

Internet

Elastic Compute Cloud (EC2)

Machineimages

On-Demandinstances

Cloud Computing Services

Client Capabilities

Client capabilities are entirety providedby Amazonrsquos developer community

Inte

grati

on

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 103: 車載資料庫服務系統 Part 2

103

行動網路服務

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 104: 車載資料庫服務系統 Part 2

104

行動網路服務bull隨著上網功能的行動裝置 (如手機 )不斷推陳出新行動上網取得服務或消費越來越普及

bull利用行動裝置呼叫遠端服務進行複雜運算並回傳結果除了方便外又能解決行動裝置本身效能問題

bull透過寬頻網路行動技術可以讓車載通訊技術應用在日常的大眾運輸服務上

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 105: 車載資料庫服務系統 Part 2

105

行程規劃-東華資工bull 目前的網路上的旅遊服務網站使用者輸入行程條件可以獲得旅遊規劃的建議若輸入條件相同則每次的建議行程即相同所以一個人半年前已經驗台北台東三天兩日的行程現在若要再體驗台北台東三天兩日的行程使用同一網站的旅遊建議就無法滿足使用者的需求因此東華資訊工程學系師生利用專題課程開發了一套行動旅遊規劃系統使用者即便使用者輸入相同的旅遊條件所規劃出來的行程均會不相同可以滿足喜歡在同一區域旅行者的需求

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 106: 車載資料庫服務系統 Part 2

106

行程規劃

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 107: 車載資料庫服務系統 Part 2

107

行程規劃

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 108: 車載資料庫服務系統 Part 2

108

行程規劃

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 109: 車載資料庫服務系統 Part 2

109

行程規劃bull 系統特色

ndash方便安裝ndash手機消耗資源低ndash所有運作皆透過遠端的 Web Service運行

ndash包含行程規劃路徑導航資料庫存取

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 110: 車載資料庫服務系統 Part 2

110

行動網路服務中研院 VProbe

bull 中研院網路系統與服務實驗室研究社群感知系統實作了 VProbe 系統它可以在使用者每天的通勤路程中使用新型的智慧型手機來蒐集使用者的 GPS 資訊與加速度數據透過分析使用者的行為以及計算出它們行車的耗油量使用者們不但可以在各社交平台上 (如 Facebook) 與其他人溝通互動更可以分享他門的駕駛經驗比較彼此的碳耗量找出最舒適路徑並且從朋友身上學習如何駕駛得讓乘客更感到舒適

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 111: 車載資料庫服務系統 Part 2

111

行動網路服務中研院 VProbe

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 112: 車載資料庫服務系統 Part 2

112

行動網路服務中研院 VProbe

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 113: 車載資料庫服務系統 Part 2

113

行動網路服務中研院 VProbe

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 114: 車載資料庫服務系統 Part 2

114

行動網路服務中研院 VProbe

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 115: 車載資料庫服務系統 Part 2

115

行動網路服務 -智慧型巴士

( 接駁車 )

車輛衛星自動定

電信業者通訊機房

中心主機

Internet

S22

回程 311 5 站 13分

路線 方向 位置距離站數

到站時間

(LED 資訊站 )

(LED 資訊站 )

( 車隊即時管理 )

GPRS

行動通訊基地台Base Station

GPS

客戶

車機回報定位及作業訊息

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 116: 車載資料庫服務系統 Part 2

116

References

bull httpdev2devbeacomtwtechdoc07soa07soa_040812_01htm

bull XML 10ndash httpwwww3orgTRxml

bull SOAP 12 Primerndash httpwwww3orgTR2007REC-soap12-part0-20070427

bull UDDIndash httpwwwoasis-openorgspecsindexphpuddiv302

bull WSDL 11ndash httpwwww3orgTRwsdl

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117
Page 117: 車載資料庫服務系統 Part 2

117

References

bull WS-Securityndash httpwwwoasis-openorgspecsindexphpwssv11

bull Android SDKndash httpdeveloperandroidcomsdkindexhtml

bull 戚玉樑 (2004) 網路服務技術導論全華科技圖書公司

bull 余浩朱成丁鵬 SOA 實踐 架構基於 Java Web 服務和 BPEL 的企業應用上奇資訊

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • Slide 25
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
  • Slide 61
  • Slide 62
  • Slide 63
  • Slide 64
  • Slide 65
  • Slide 66
  • Slide 67
  • Slide 68
  • Slide 69
  • Slide 70
  • Slide 71
  • Slide 72
  • Slide 73
  • Slide 74
  • Slide 75
  • Slide 76
  • Slide 77
  • Slide 78
  • Slide 79
  • Slide 80
  • Slide 81
  • Slide 82
  • Slide 83
  • Slide 84
  • Slide 85
  • Slide 86
  • Slide 87
  • Slide 88
  • Slide 89
  • Slide 90
  • Slide 91
  • Slide 92
  • Slide 93
  • Slide 94
  • Slide 95
  • Slide 96
  • Slide 97
  • Slide 98
  • Slide 99
  • Slide 100
  • Slide 101
  • Slide 102
  • Slide 103
  • Slide 104
  • Slide 105
  • Slide 106
  • Slide 107
  • Slide 108
  • Slide 109
  • Slide 110
  • Slide 111
  • Slide 112
  • Slide 113
  • Slide 114
  • Slide 115
  • Slide 116
  • Slide 117