全新時代已經到來!
雲端計算、物聯網、大數據……
人類走過了一次又一次的工業革命,如今,第四次工業個命已然來臨。
加快你的腳步,別被物聯網的浪潮給甩下!
本書闡述了雲端計算和物聯網的理論知識,以及切實可行的實施步驟和技術,彙總了作者在實施環保物聯雲端計算平台的實際經驗,對雲端計算和物聯網具有重要的資訊。
全書包括雲端計算和物聯網介紹、基於物聯網技術的雲端計算平台、雲端服務和服務對接、物聯、雲端計算平台、雲端儲存、雲數據中心、雲端服務中心、門戶服務、雲端計算平台管理等內容。
本書適合對雲端計算和物聯網技術感興趣的讀者閱讀,對軟體平台的系統分析師和架構師而言是一本很好的技術參考;同時也可作為從事雲端計算和物聯網研究與開發人員的參考資料。
作者簡介:
楊正洪,畢業於美國State University Of New York at Stony Brook,在美國IBM公司工作8年多,是雲端計算領域的技術專家。楊正洪在中美出版了10多本書籍,是多家上市公司的首席技術顧問。
周發武,兼職教授,曾獲「優秀環境科技工作者獎」,主編《環境自動監控系統技術與管理》等教材,是環境自動監測領域和物聯網的技術專家。周發武是多家公司的董事和董事長。
章節試閱
雲端數據中心
由於數據源(如文件系統、關係資料庫、監聽埠等)的多樣性,企業應用程式常常涉及多個數據源間的數據存取。為了減少業務層的複雜性,便出現了資訊集成層。資訊集成層為業務層提供抽象對接。這一層的主要作用是,業務層無須知道底層具體的數據源,所有針對某個數據源的具體數據存取都在資訊集成層封裝並實現。業務對象並不需要知道在某一業務過程中,如何從數據源上存取數據。透過資訊集成層存取數據有很多好處,比如,可以實現數據的緩存、統一處理事務和存取異常處理等。資訊集成層解決了數據訪問問題,增強了系統靈活性和可維護性。
在業界,資訊集成層也叫內容管理層(或內容管理器,英文為Content Manager),把各類數據統稱為「內容」。當一個企業或單位使用 ERP,CRM,SCM 系統管理業務流程的結構化數據時,卻逐漸陷入巨量增加的非結構化數據海洋中。原始文件(合約、證明、單據、報告、申請材料、統計報表、稅務報表、發票、專利文件)、圖像、電子郵件、網頁、影像、聲音、掃描文件、工程圖、記錄資料、示範文稿等,這些非結構化數據正在以每年200% 的速度快速增加,而這些數據占據了企業或單位全部數據資訊的80% 以上。企業應用程式往往只是抽取原始文件的數據並存放在資料庫中,而並不以原始文件為中心來管理,這樣的軟體越來越不能滿足當今企業或單位的需要。因此,內容管理的概念就提出來了。在內容管理器上,結構數據存放在資料庫中,而原始文件存放在文件系統中。內容管理伺服器以一個標準對接來同時管理結構化數據和非結構化數據。資料庫和文件系統是雲端計算平台數據中心的主要數據源,雲端服務最終要訪問資料庫和文件系統上的數據。在資料庫上存放結構化數據(如屬性資訊),在文件系統上存放非結構化數據。資訊集成層的作用在於為應用程式提供對企業中全部數據的一致訪問,它不受數據的格式、來源或位置的限制。在實現時,往往是數據的虛擬化和對象化,這可能包括數據總線(Data Bus)和實體管理器的開發和使用,企業中的所有應用程式都透過標準服務或對接從數據總線或實體管理器中請求數據,並以對象形式返回。應用程式不知道管理數據的操作系統,數據的位置也是透明的。由於數據管理是由共同的服務提供的,所以是由訪問的服務而不是由應用程式來負責查詢數據(無論是本地的還是遠程的),然後按照請求的格式提供數據。
雲端計算的數據中心存放海量數據,數據類型多樣且易變。因此,在數據中心上,必須要有數據模型的管理。
在數據模型管理介面下,管理員根據需求動態定義各類數據模型。比如,某汽車保險公司定義了一個保險單數據模型,有15個基本描述屬性,任意個的投保車輛記錄,任意個的被保駕駛人記錄,任意個保險單據資料(文件)等。
投保車輛記錄和被保駕駛人記錄有各自的多個屬性。這是一個樹型結構。當一個新保險單進來時,輸入基本資訊、指定投保車輛和被保駕駛人、導入原始保險單據。每年更新保險時,更新屬性記錄(如保額),導入新的保險單據。
管理員可以動態修改數據模型。比如,在使用一段時間後,根據業務需要添加多個新屬性(如車型),或者增加屬性的長度(如保險單號從7位增加到9位),或者增加子節點(如任意個駕駛員違規駕駛記錄),或者將某個屬性改為可空屬性(如電話號碼)等。
數據模型管理器的一些基本功能為:
1. 建立、更新、刪除屬性。管理員設定屬性的數據類型、長度、最大最小值(整數屬性)、字元串的內容(如規定只包含數字和字元)等。
2. 建立、更新、刪除數據模型。如圖 7-2 和 7-3 所示,可以設定數據模型的名稱、訪問控製表、儲存設備、版本控制、是否自動放到某個文件處理流程和其流程名稱、歸檔設定、監控設定、文件的類型、是否自動放入文件夾(一個或多個)和文件夾名稱、引用設定、屬性和子節點。針對在數據模型中的屬性,可以設定是否強制(非空)、是否唯一、是否只讀、是否可查詢、是否有缺省值和其缺省值。子節點是屬性和次子節點的集合。根據屬性和子節點,使用樹型結構來描述該數據模型。
雲端服務中心
服務中心上的服務可以理解為一個業務或者業務工具,這個服務同具體的數據無關。當把企業A 的數據加載到服務上,就形成了企業A 的服務;當把企業B 的數據加載到服務上,就形成了企業 B 的服務。按照是否需要人工參與,把服務中心的服務分為自動服務和非自動服務。另外,一個服務可以包含其他多個服務。多服務的集成是透過一個處理流程來完成。無論用什麼工具編寫服務,在服務中心上必須具有流程管理,從而把多個服務集合為一個更大的服務。
流程集成是將服務集成為一個業務流程,這裡可以將流程看做一個大服務。集成到流程中的應用程式可能包括企業內的應用程式,也可能包括遠程系統中的應用程式或服務,而這些遠程系統多半屬於業務合作夥伴。同樣地,流程集成可能涉及多個流程的集成。比如,集成供應鏈管理和金融服務上的多個流程,可以使用一些工具為企業流程建立模型,如Web Sphere Business Modeler。這些工具使用BPEL(Business Process Execution Language,企業流程執行語言)定義業務流程,這些定義可以被用來生成業務流程代碼。在業界,還出現了一些可以用於Web服務的業務流程執行語言(Business Process Execution Language for Web Services,BPEL4WS)。可以在底層使用BPEL4WS來構造一個面向Web服務的流程,然後透過一個流程引擎(伺服器)來驅動(該引擎提供了流程管理和其他功能)。本書不討論具體的流程管理工具,而是闡述流程管理在雲端服務上的使用。
在服務中心上,管理員可以定義多個處理流程和其中的各個步驟。每個步驟由工作點(如一個工作部門)和條件設定。各種數據和文件夾透過各個處理流程按照設定的條件送達各個工作點,並由各個工作點處理。這個工作點可以是一個手工操作(如財務人員的審核),也可以是一個服務自動調用操作(如調用發簡訊服務)。
在定義處理流程時,可以定義多路分支的條件點(比如,對於超過500元的索賠申請,送到大額索賠處理部門;否則送到普通索賠處理部門),並行處理點(如同時將索賠申請送到兩個部門來審核)等。各類人員在自己授權的部門中處理文件,從而不需要考慮分發或尋找文件,增加了工作效率,並消除了工作流程各步驟之間的時間延遲。
雲端數據中心
由於數據源(如文件系統、關係資料庫、監聽埠等)的多樣性,企業應用程式常常涉及多個數據源間的數據存取。為了減少業務層的複雜性,便出現了資訊集成層。資訊集成層為業務層提供抽象對接。這一層的主要作用是,業務層無須知道底層具體的數據源,所有針對某個數據源的具體數據存取都在資訊集成層封裝並實現。業務對象並不需要知道在某一業務過程中,如何從數據源上存取數據。透過資訊集成層存取數據有很多好處,比如,可以實現數據的緩存、統一處理事務和存取異常處理等。資訊集成層解決了數據訪問問題,增強了系統靈活性和...
推薦序
前言
時光匆匆,編者分別進入環保領域和IT 領域工作已有十餘年,見證了物聯網與雲端計算技術、環境自動監控系統技術的發展與應用,編者本身也一直從事技術的開發、應用及管理,雖一直有將多年的些許經驗出版成冊之心願,苦於工作繁忙,無暇整理。今年在郭永龍、胡志剛、周思良、鄭第、譚焱、尹艷芝、胡立軍、董哲、安繼軍、鄭鐵芳、趙斌、徐勤向等各位同仁的幫助和支持下,總算達成所願。
本書是編者多年從事物聯網和雲端計算技術開發實踐經驗的總結,編者透過不斷摸索與實踐,將雲端計算與物聯網技術緊密結合起來,找出了一條適應資訊產業化建設的新思路,尤其是在環境自動監控領域應用取得了重大突破。多年的實踐證明,傳統的孤立系統和人工營運工作已不能適應資訊技術的高速發展。透過利用物聯網和雲端計算技術進行智慧化改造,將所有的監控前端設備連接到環保雲端計算平台,構建立體化的環境監控體系,真正實現了物物互聯;同時在統一的環保雲端平台上提供智慧化的系統營運管理和環境綜合資訊管理服務,將前端設備管理與後臺應用服務有機結合起來,實現了監控設施的智慧化營運管理以及環境質量的實時監控、預測預警與應急指揮聯合互動。
本書共分10章,闡述了雲端計算和物聯網的體系結構和實施策略。對於雲端計算涉及的儲存管理、伺服器平台、開發工具、編程技術,我們儘量闡述其精髓部分。我們的目標是闡述雲端計算和物聯網本身,而不是某一個特定工具。本書講解了:
1. 雲端計算和物聯網介紹:什麼是雲端計算和物聯網,雲端計算同 SaaS 有什麼區別,物聯網與網際網路的不同之處,兩者的體系結構是什麼,如何成為雲端計算平台或雲端服務供應商?雲端計算和物聯網產業的規模,兩者如何結合和實施。
2. 基於物聯網的雲端計算平台:什麼是數據源管理器,怎麼實現物聯,什麼是數據中心,數據模型的重要性;什麼是服務中心。
3. 雲端服務和服務對接:雲端服務的層次和設計方法;雲端服務的設計原則和描述方法,如何為雲端服務建模,如何使用 WSDL 定義雲端服務。討論了各類服務對接(Web 服務、SOAP、消息傳遞、郵件等)。
4. 物聯:物聯涉及硬體和軟體兩個部分。本書闡述軟體上的設計和實現,包括數據源(設備)驅動器、各類操作、設備規則、收集伺服器等。
5. 雲端計算平台:介紹了主要的商業雲端計算平台;怎麼搭建自己的雲端計算平台和搭建雲端平台所涉及的Web 伺服器、前臺和後臺開發工具、資料庫伺服器、服務註冊表等內容。另外,示範了如何組合和部署雲端服務。
6. 雲端儲存:介紹了hadoop 的組成、MapReduce、Hive和HDFS的功能。
7. 雲數據中心:介紹了數據模型管理器和內容管理伺服器,為所有雲端服務提供一個數據中心,雲端服務不用考慮各個數據管理系統的不同(如文件系統和資料庫)和各個資料庫產品的不同。
8. 雲端服務中心:闡述了集成多個服務的流程管理和如何建立組件,並在這之上建立雲端服務。以Web服務為例闡述了開發雲端服務的方法和同步/ 異步調用。
9. 門戶服務: 如何使用 portal、Mashup、Widget、HTML5等技術實現門戶服務。以JSF和Web 2.0技術為例,示範了如何建立和測試門戶服務。
10. 雲端計算平台管理:介紹了雲端計算平台的服務質量管理和安全管理,如何使用JUnit、TPTP 等方法測試雲端服務。最後還介紹了概要分析(profiling)。
參加本書編寫的人員還有:鄭齊心、吳寒、夏皇、李建國、謝素婷、郭晨、孫延輝、高艷、薛文、李越、何進勇、杜理淵、胡鈦等。中網在線控股有限公司董事長程漢東、金銀島公司董事長王宇宏、優勝教育集團董事長陳昊、Google美國公司Song Sun、中國遠洋總公司丁冬聚總工程師、GE美國投資公司Daniel Xue、IBM 美國公司Hua Chen、加拿大Telus電信公司 Richard Lu 審閱了本書的初稿並給予了很多建議和幫助。圖格新知公司和夏非彼老師為本書的出版和編輯做了大量的工作,在此深表謝意。
把雲端計算和物聯網兩大技術結合起來構建行業雲是一個創新。
周發武、楊正洪
前言
時光匆匆,編者分別進入環保領域和IT 領域工作已有十餘年,見證了物聯網與雲端計算技術、環境自動監控系統技術的發展與應用,編者本身也一直從事技術的開發、應用及管理,雖一直有將多年的些許經驗出版成冊之心願,苦於工作繁忙,無暇整理。今年在郭永龍、胡志剛、周思良、鄭第、譚焱、尹艷芝、胡立軍、董哲、安繼軍、鄭鐵芳、趙斌、徐勤向等各位同仁的幫助和支持下,總算達成所願。
本書是編者多年從事物聯網和雲端計算技術開發實踐經驗的總結,編者透過不斷摸索與實踐,將雲端計算與物聯網技術緊密結合起來,找出了一條適應資訊產...
目錄
Chapter 內容簡介 iii
Chapter 前言 iv
Chapter 1雲端計算和物聯網介紹
1.1 什麼是雲端計算
1.2 什麼是物聯網
1.3 雲端計算產業
1.4 物聯網產業
1.5 雲端計算和物聯網的結合
1.6 本書兩個案例
1.7 基於物聯網的雲端計算平台的人員安排
Chapter 2
基於物聯網的雲端計算平台
2.1 平台總體結構
2.2 基於物聯網的數據源控製器
2.3 數據中心
2.4 服務中心
2.5 平台控制中心
2.6 環保雲端平台總結
Chapter 3雲端服務和服務對接
3.1 雲端服務
3.2 怎麼描述雲端服務
3.3 為雲端服務建模
3.4 服務註冊表
3.5 雲端服務對接
3.6 消息傳遞對接
3.7 對接選型考慮
Chapter 4物聯網
4.1 採集規則
4.2 數據源(設備)驅動器
4.3 收集伺服器
Chapter 5雲端計算平台
5.1 雲端平台提供商
5.2 搭建自己的雲端平台
Chapter 6雲端儲存
6.1 Apache Hadoop
6.2 虛擬儲存管理器
6.3 硬體虛擬化
Chapter 7雲數據中心
7.1 數據模型管理器
7.2 資料庫訪問
7.3 雲數據的事務管理
Chapter 8雲端服務中心
8.1 處理流程
8.2 單個服務
8.3 Web 服務
8.4 其他考慮
Chapter 9 門戶服務
9.1 Portal
9.2 Widget
9.3 Mashup
9.4 網頁
9.5 調用EJB 的Web 程序實例
9.6 JSF
9.7 Web 2.0 開發
Chapter 10雲端計算平台管理
10.1 雲端計算平台的要求
10.2 雲端計算的安全管理
10.3 服務質量(QoS)管理
10.4 雲端服務測試
10.5 基於TPTP 的概要分析(profiling)
10.6 雲端服務維護和升級
Chapter 內容簡介 iii
Chapter 前言 iv
Chapter 1雲端計算和物聯網介紹
1.1 什麼是雲端計算
1.2 什麼是物聯網
1.3 雲端計算產業
1.4 物聯網產業
1.5 雲端計算和物聯網的結合
1.6 本書兩個案例
1.7 基於物聯網的雲端計算平台的人員安排
Chapter 2
基於物聯網的雲端計算平台
2.1 平台總體結構
2.2 基於物聯網的數據源控製器
2.3 數據中心
2.4 服務中心
2.5 平台控制中心
2.6 環保雲端平台總結
Chapter 3雲端服務和服務對接
3.1 雲端服務
3.2 怎麼描述雲端服務
3.3 為雲端服務建模
3.4 服務註冊表
3.5 雲端服務對接
...