1.17k likes | 1.36k Views
車載資料庫服務系統 Part 2. 國立東華大學. 大綱. Part1 資料庫簡介 資訊平台的過去與現在 服務導向架構 Part2 網路服務 網路服務安全 雲端運算服務 行動網路服務. 網路服務 (Web Services). Web Services. 一種讓分散於不同平台上,由不同技術所實作出來的相關服務,利用軟體程式整合技術,結合各種相關服務,以提供使用者一個更具效率性與便利性的全新服務。. 繳款服務. 一家一家繳費,真累人!. 繳款服務. 有小7真好. 地址修改通報. 還有幾家漏掉了?. 地址遷移通報服務. 郵局就感心耶~~.
E N D
車載資料庫服務系統Part 2 國立東華大學
大綱 • Part1 • 資料庫簡介 • 資訊平台的過去與現在 • 服務導向架構 • Part2 • 網路服務 • 網路服務安全 • 雲端運算服務 • 行動網路服務
Web Services • 一種讓分散於不同平台上,由不同技術所實作出來的相關服務,利用軟體程式整合技術,結合各種相關服務,以提供使用者一個更具效率性與便利性的全新服務。
繳款服務 一家一家繳費,真累人!
繳款服務 有小7真好
地址修改通報 還有幾家漏掉了?
地址遷移通報服務 郵局就感心耶~~
旅行社業務服務 訂票系統 旅遊地點: 日本福岡 交通工具: 飛機, 開車 時間: 一月七天六夜 訂房系統 租車系統 交通工具: CI8888 交通工具: Honda CRV 飯店:福岡大飯店 時間: 1月24日七天六夜
旅行社網路服務 訂票系統 UDDI 旅遊地點: 日本福岡 交通工具: 飛機, 開車 時間: 一月七天六夜 訂房系統 租車系統 交通工具: CI8888 交通工具: Honda CRV 飯店:福岡大飯店 時間: 1月24日七天六夜
租車公司 路況中心 UDDI 領務局 資訊整合平台 航空公司 銀行 旅遊業者 飯店 保險公司 保險公司 氣象局 消費者
什麼是Web Services? • 一種新的程式開發環境 • 架構於服務導向的應用程式架構。 • 結合元件開發的優點及Web 的優點 • 鬆散偶合的網際網路應用程式架構。 • 一種全新的網路經濟模式 • Web Services 讓不同的電腦系統間可以在不需人為介入的情況下溝通,進而幫助企業節省成本,也可創造出新的服務付費客戶,以賺取更多的利潤。
服務導向架構 • 服務導向架構 (SOA,Service Oriented Architecture)的三種角色 • 服務仲介者 (Services Broker) • 扮演媒介網路服務的角色,它可以接受來自服務提供者的註冊請求,也可以處理來自服務需求者的查詢要求。 • 服務提供者(Services Provider) • 開發網路服務外,另外需以WSDL 格式描述網路服務並儲存成為一個檔案。 • 服務需求者 (Services Requester) • 發起服務的請求,而後續的主要作業有查詢及鏈結適當的網路服務等。
服務導向的應用程式架構 Service Requesters Service Providers Bind Find Publish Service Brokers Legacy System
網路服務運作流程 • 服務提供者將網路服務依UDDI所需的資料向服務仲介者註冊。 • 服務仲介者回應服務提供者註冊成功的訊息,完成網路服務Publish程序。 • 服務需求者向服務仲介者提出服務的需求查詢。 • 服務仲介者回應服務需求者查詢的結果,完成網路服務的Discovery程序。
網路服務運作流程 • 服務需求者依相關資訊向服務提供者要求取得WSDL檔案。 • 服務提供者回應服務需求者所需的網路服務的細節資訊(WSDL檔案)。 • 服務需求者依據WSDL檔案的描述,鏈結及執行遠端的應用程式 。 • 服務提供者回應服務需求者執行的結果,完成網路服務的鏈結(Bind)程序。
鬆散偶合的網際網路應用程式架構 Web Services XML/HTTP UDDI Business Registry XML/HTTP XML/HTTP
網路服務 • 網路服務的定義 • Web services是一種軟體元件,它透過Web 通訊協定及資料格式的開放式標準(如 HTTP、XML 及 SOAP等)來為其他的應用程式提供服務。 • 網路服務是指一個應用程式可經由XML來描述、查詢以及利用URI來辨識,此應用程式的介面與binding方式均已被完整定義,並能藉XML型式的訊息經合乎網際網路的協定來直接驅動。 • Web services 相關技術: • XML、SOAP、UDDI、WSDL
網路服務 • Web Services 並非只是利用瀏覽器介面提供服務,其運作未必需要瀏覽器,可發生在任何兩個程式之間。 • Web Services 是軟體工業發展的新架構,以「服務」的形式提供動態整合,應用程式間可透過網際網路取用軟體元件,並能彼此透過標準相互連結。
Why Web Services? • Interoperability:Enterprise Application Integration • 利用一些計畫,方法或程式工具來幫助企業內部的應用系統能夠現代化,並彼此能聯合統一,增進協調性,以幫助企業內與企業間作業流程和應用系統的有效e化與整合。 • B2B Integration • 企業合作夥伴間,結合彼此的流程作業、應用軟體、資料及Web功能,使參與的夥伴間皆能即時獲得相關資訊,並據以回應,使企業充分協同作業(Collaboration),並達到企業延伸(Enterprise Extension),目的在使企業社群整體皆能獲利。
EAI B2Bi
Web Services特色 • Services as components • Loose coupling • Platform independent • Open Standard • Interoperability • Incremental deployment
Services as components • 將每個服務元件化,每個服務元件都有自己完的功能,如此可以達到服務再利用的好處。
Loose coupling • 「Loose Coupling」為鬆散耦合,經過細分化後的模組之間的關聯性較小,相互的影響程度不大的一種狀態。 • 在「Loose Coupling」架構下的個個模組之間,雖然有相互連結,但是彼此的依存度較小,在變更或者修改模組時的柔軟度較佳。相對的緊密耦合(tight coupling),處理速度上會較快,但是因為彼此之間的關聯性較大,在變更或者修改模組時,必須考慮必須周詳。 • 系統如果是鬆散耦合,沒有使用特定的技術和語言開發,當業務或交易對象發生變更時,也能夠迅速對應。例如WEB Service就是一種鬆散耦合。
Platform independent • 遵循同一標準規範,任何平台或作業系統均可互相溝通資訊。
Open Standard • 訂有XML、SOAP、UDDI、WSDL等建議規範。
Interoperability • 相互操作性是指不同的計算機系統、網路、作業系統和應用程式一起工作並共享訊息的能力。 • 打破平台之間的隔閡,各個系統間可以透過共通的標準協定進行資料交換。
Incremental deployment • 將現有系統服務重新包裝成網路服務,不用大費周張重新開發新的應用程式,採漸進式的上線方式,替換將適用於網路服務的系統。
對於Web Services 應釐清的觀念 • Web Services 強調互通性(interoperability),而不是可攜性(portability) • 將legacy 的應用程式於原始平台上重新包裝,而非移植至新平台。 • Web Services 不是整合問題的唯一解決方案 • 資訊應用整合不一定非Web Services 不可,但對於有此需求的應用, Web Services 則是一項值得投入的技術。 • Web Services 的價值在於商業經營觀點的思考 • 經由新服務模式的創造,以開創出新的商業模式。
Web Services 的重要技術及標準 • Web Services 使用XML(eXtensible Markup Language) 作為它的資料架構。 • Web Services 使用SOAP(Simple Object Access Protocol)作為它的通訊協定。 • Web Services 使用WSDL(Web Service Description Language)作為它描述服務細節的標準。 • Web Services 使用UDDI(Universal Description Discovery and Integration)的標準作為它的服務 搜尋工具。
Web Services Architecture Stack Base Technologies: XML、DTD、Schema Base Technologies: XML、DTD、Schema S E C U R I T Y Processes Discovery、Aggregation、Choreography… M A N A G E M E N T Descriptions Web Services Descriptions (WSDL) Messages SOAP Extensions Reliability、Correlation、Transactions…. SOAP Communications HTTP、SMTP、FTP、JMS、IIOP、….
XML • XML (eXtensible Markup Language) • XML是類似HTML的標記語言。 • XML是被設計用來存資料,不是用來展現資料。 • XML的 tag不用事先定義,使用者可以自定義自己想要的tag。 • XML是可以自我描述的。 • XML是W3C Recommendation。
XML與HTML的不同 • XML不是用來取代 HTML. • XML 與 HTML 有不同目的: • XML被設計用來做資料傳輸與資料儲存。 • HTML被用來展現資料。
Example of an XML document <?xml version="1.0"?> <transactions> <transaction> <name position="boss" sex="M">tony yao</name> <product type1="p01" type2="p02" type3="p03"> computer </product> <price>499.00</price> <cardno>1234-5678-8765-4321</cardno> </transaction> </transactions> Element Attribute (name and value) Content
SOAP • 簡單物件存取協定 (SOAP,Simple Object Access Protocol) 是以 XML來規範的協定。 • SOAP是以訊息傳遞機制來達成程式驅動。 • SOAP沒有自己的底層通訊協定,故需使用其他的協定(如 HTTP、SMTP、FTP 等),因此SOAP的彈性極佳。
SOAP • SOAP是網路服務架構中最重要的一項技術,它促成了訊息環境的實現。 • SOAP是被定位在傳輸協定的用途,用於網路服務架構中的 • Find/Discovery • Register/Publish • Binding • Forward
Transport protocol MIME header SOAP ENVELOPE SOAP HEADER SOAP BODY FAULT SOAP 訊息 • 每一個SOAP訊息包含: • An envelope • A header • A body • The body may contain a fault element 39
SOAP example code <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- optional --> <!-- header blocks go here... --> </soap:Header> <soap:Body> <!-- payload or Fault element goes here... --> </soap:Body> </soap:Envelope> 40
SOAP Message 的優點 • 不需特定的技術才能傳送 • SOAP 利用XML 純文字的特性,提供一套機制,以XML 來包裝方程式呼叫和訊息。由於採用了XML,SOAP 順理成章地繼承了許多XML 的優點,可輕易透過HTTP、SMTP 等網路上最常使用、極為耐操的通信管道來挾帶,更能穿越企業的firewalls,還可透過SSL、S/MIME 等機制加密,提供安全性。 • 不需特定的平台才能接收 • 透過XML 來傳訊,還有一項更大的優點,是CORBA、Java RMI,及DCOM 這些以專屬binary 格式傳送資料所不及之處,那就是對程式語言、作業平台的獨立性。 • 由於是純文字XML 格式, SOAP 訊息可由任何一種程式語言所產生,被任何程式語言、甚至肉眼所解讀。這個late-binding 的特性, 正是Web services時代所迫切需要的。
SOAP Message 的缺點 • 利用XML Parser 來解釋SOAP 訊息中的XML 資訊是很耗費時間的。 • 在SOAP 訊息中並沒有提供服務執行先後順序的資訊。 • 因為SOAP 的編碼規則,使得在所有的SOAP 訊息中都必須包含一些額外的型別資訊。因此會多佔用一些儲存空間,且增加系統編碼及解碼的額外處理時間。
仲介網路服務的 UDDI協定 • 我們找工作寫好履歷後,要如何告訴企業主我是個人材?請企業主來聘請我呢? • 在人力銀行上登錄個人履歷資料。 • 104人力銀行 • 111人力銀行 • 解決Services如何被認識的問題,可以透過仲介者來達成,UDDI規範 提供下列功能: • 登錄機制:以UDDI規範約定註冊資料與格式,使得網路服務的相關資訊能登錄至資料庫中。 • 查詢機制:讓服務需求者能透過註冊中心很快速的找到符合條件的網路服務。 • 發佈機制:讓已登錄的網路服務能主動通報到其他的註冊中心。
UDDI 協定 • UDDI (Universal Description, Discovery and Integration) • 是以 XML為基礎的規範,用於界定服務提供者如何描述網路服務及服務需求者如何查詢網路服務。 • 規範可概分為資料結構與應用程式介面。
UDDI 協定 • 資料結構:界定企業及網路服務提供者登錄註冊該服務所需遵守的格式,其格式內容如商業組織名稱、基本分類資訊、網址資訊、與註冊引用資訊等等,這些內容會被放置在稱為「註冊中心」的資料庫中。 • 應用程式介面:提供 Publish及Search該網路服務註冊內容所需之應用程式介面,對程式師來說,便是利用此API對應用系統進行準備與執行;另一方面,建置一個註冊中心亦需遵循此應用程式介面。
UDDI 的註冊資料 • White pages • 包含企業基本資料及一組識別碼 • Yellow pages • 包含企業的分類 • Green pages • 包含業務上所提供服務的技術資訊,例如如何計價等。另外也包含商業流程、服務規格,以及連結資訊等。
描述網路服務的 WSDL協定 • WSDL也是一項以 XML為基礎的規範, 其實它僅涉及執行描述及介面描述。 • WSDL描述網路服務的細節內容 • 如服務位置、形式、啟動方式等。 • WSDL是以抽象的方式來描述網路服務,類似IDL的作用。
Implementation Description Service Port Interface Description Types Message PortType Binding WSDL
UDDI和WSDL的描述 • UDDI和WSDL都有描述網路服務的功能 • UDDI 的網路服務描述是比較外表且與實作無直接關係的資訊。 • WSDL的描述除抽象的外觀描述外,另有與實作相關的細節資訊。