車載資料庫服務系統 Part 2
description
Transcript of 車載資料庫服務系統 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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
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
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
-
90
SOA 是藍圖雲端服務是實體bull SOA 是藍圖bull SOA 的理想需要雲端服務來執行bull 雲端服務是 SOA 的實體bull 這時觀念上 SOA= Clouding Services
91
雲端運算是服務導向但不一定是有 SOA
91
服務屬性
Amazon
EC2
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
-
91
雲端運算是服務導向但不一定是有 SOA
91
服務屬性
Amazon
EC2
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-