Distributed Systems Architecture: A Middleware Approach
暫譯: 分散式系統架構:中介軟體方法
Arno Puder, Kay Römer, Frank Pilhofer
- 出版商: Morgan Kaufmann
- 出版日期: 2005-10-01
- 售價: $3,350
- 貴賓價: 9.5 折 $3,183
- 語言: 英文
- 頁數: 344
- 裝訂: Hardcover
- ISBN: 1558606483
- ISBN-13: 9781558606487
海外代購書籍(需單獨結帳)
買這商品的人也買了...
-
$1,040Architecture-Centric Software Project Managemenet: A Practical Guide
-
$520$510 -
$800$720 -
$280$238 -
$680$537 -
$550$468 -
$2,200$2,090 -
$890$757 -
$490$382 -
$580$458 -
$600$480 -
$1,680Software Development for Embedded Multi-core Systems: A Practical Guide Using Embedded Intel Architecture
-
$2,800$2,660 -
$2,940$2,793 -
$1,760$1,672 -
$1,680Software Architecture in Practice, 3/e (Hardcover)
-
$1,601Designing Software Architectures: A Practical Approach (Hardcover)
-
$1,960Guide to Reliable Distributed Systems: Building High-Assurance Applications and Cloud-Hosted Services (Texts in Computer Science)
-
$1,980$1,881 -
$4,870$4,627 -
$2,000$1,900 -
$2,860$2,717 -
$2,240$2,128 -
$2,450$2,328 -
$2,070$1,967
相關主題
商品描述
Middleware is the bridge that connects distributed applications across different physical locations, with different hardware platforms, network technologies, operating systems, and programming languages. This book describes middleware from two different perspectives: from the viewpoint of the systems programmer and from the viewpoint of the applications programmer. It focuses on the use of open source solutions for creating middleware and the tools for developing distributed applications. The design principles presented are universal and apply to all middleware platforms, including CORBA and Web Services. The authors have created an open-source implementation of CORBA, called MICO, which is freely available on the web. MICO is one of the most successful of all open source projects and is widely used by demanding companies and institutions, and has also been adopted by many in the Linux community.
About the Authors
Preface
1
Introduction
1.1
Infrastructures For Distributed
Applications
1.2 Thematic
Organization
1.3 Target
Group
1.4 Chapter
Overviews
1.5 Ancillary
Materials
- 2.1 Distributed Systems
- 2.1.1 Characterization
2.1.2 Transparency
2.1.3 Communication Mechanisms
2.1.4 Client/Server Model
2.1.5 Failure Semantics
- 2.2.1 Characterization
2.2.2 Terminology
- 2.3.1 Tasks Of A Middleware
2.3.2 The Structure Of A Middleware Platform
2.3.3 Standardization Of A Middleware
2.3.4 Portability And Interoperability
- 2.4.1 The Account Example
2.4.2 C++ Implementation
2.5 Summary
- 3.1 Object Management Architecture
3.2 Overview Of CORBA
- 3.2.1 CORBA Object Model
3.2.2 Interface Definition Language
3.2.3 IDL-Language Mappings
3.2.4 Object Request Broker
3.2.5 Invocation And Object Adapters
3.2.6 Interoperability
3.4 Application Development In C++
- 3.4.1 IDL Specification
3.4.2 IDL Language Mapping For C++
3.4.3 C++ Server Implementation
3.4.4 C++ Client Implementation
- 3.5.1 Compiling The Application
3.5.2 Executing The Application
- 3.6.1 Java Server Implementation
3.6.2 Java Client Implementation
3.6.3 Compiling And Executing The Java Implementation
- 3.7.1 File-Based Bootstrapping
3.7.2 Object Urls
3.7.3 Command Line Arguments
- 3.8.1 Overview
3.8.2 Name Server Daemon
3.8.3 Example
- 4.1 ORB Architecture
4.2 Transport Layer
4.3 Presentation Layer
- 4.3.1 Value Ranges Of Types
4.3.2 Representation Of Type Instances
4.3.3 Modeling Of The Presentation Layer
- 4.4.1 Protocol For Remote Operation
Invocation
4.4.2 Structure Of Protocol Data Units (Pdus)
4.4.3 Modeling Of Protocol Data Units
4.6 Object Services
- 4.6.1 Life Cycle Of An Object
4.6.2 Object References
4.6.3 Services On The Server Side
- 5.1 ORB Functionality
5.2 ORB Architectures
5.3 Design Of MICO's ORB
- 5.3.1 Invocation Adapter Interface
5.3.2 Object Adapter Interface
5.3.3 Invocation Table
5.3.4 Scheduler
5.3.5 Object Generation
5.3.6 Bootstrapping
5.3.7 Dynamic Extensibility
- 6.1 Model
6.2 Inter-ORB Protocols
- 6.2.1 Interoperable Object References
(IOR)
6.2.2 General Inter-ORB Protocol (GIOP)
6.2.3 Environment-Specific Inter-ORB Protocols
- 6.3.1 Framework
6.3.2 GIOP
- 7.1 Terminology
7.2 Functionality
- 7.2.1 Object Management
7.2.2 Servant Management
7.2.3 Generation Of Object References
7.2.4 Mapping Objects To Servants
7.2.5 Execution Of Method Invocations
- 7.3.1 Portable Object Adapter
7.3.2 POA Manager
7.3.3 Request Processing
7.3.4 Persistence
- 7.4.1 Object Key
Generation
7.6 POA Mediator
7.7 Collocation
- 8.1 Functionality
- 8.1.1 Representation Of IDL Data
Types
8.1.2 Type Checking
8.3 Static Invocation Interface
8.4 Design Of MICO's DII
- 8.4.1 Compound Data Types
8.6 Summary
- 9.1 Invocation Adapters.
- 9.1.1 Dynamic Vs. Static Invocation
Adapters
9.1.2 Support Of Static Invocation Adapters
9.1.3 MICO's Static Invocation Adapter
- 9.2.1 Formal Languages And Grammars
9.2.2 Parse Trees
9.2.3 Structure Of A Compiler
9.4 MICO's IDL Compiler
- 9.4.1 Class Structure
9.4.2 Front End
9.4.3 Back End
- 10.1 CORBA Components
- 10.1.1 Component-Based Development
10.1.2 The CORBA Component Model
10.1.3 An Example Component
10.1.4 Implementation Overview
10.1.5 Discussion
- 10.2.1 Overview Of XML
10.2.2 Service Descriptions Through WSDL
10.2.3 Server Side Mapping
10.2.4 Interoperability Through SOAP
10.2.5 Service Lookup Through UDDI
10.2.6 CORBA Or Web Services?
- 10.3.1 Ubiquitous Computing In A
Nutshell
10.3.2 Middleware Challenges
10.3.3 Case Study: Sensor Networks
10.3.4 Conclusions
- A.1 Installing MICO On Unix
A.2 Installing MICO On Windows
A.3 Road Map
- B.1 ORB
B.1.1 ORB Initialization
B.2 Interface Repository (IR)
B.3 POA
B.3.1 MICO Daemon.
B.3.2 Implementation Repository (IMR)
B.4 IDL Compiler
B.5 Compiler And Linker Wrappers
B.5.1 Examples
- C.1 Path Of An Operation Invocation Through An
ORB
- C.1.1 Client Side
C.1.2 Server Side
C.3 Integration Of A New Object Adapter
C.4 Integration Of A New Transport Mechanism
- C.4.1 Xaddress
C.4.2 Xaddressparser
C.4.3 Xprofile
C.4.4 Xprofiledecoder
C.4.5 Xtransport
C.4.6 Xtransportserver
C.4.7 Dispatcher
C.4.8 Initialization
- D.1 Standalone Application In C++
D.2 IDL Specification
D.3 Implementation Of The Server In C++
D.4 Implementation Of The Client In C++
D.5 Implementation Of The Server In Java
D.6 Implementation Of The Client In Java.
Glossary
Bibliography
Index
商品描述(中文翻譯)
描述
中介軟體是連接分散式應用程式的橋樑,這些應用程式位於不同的物理位置,使用不同的硬體平台、網路技術、作業系統和程式語言。本書從兩個不同的角度描述中介軟體:系統程式設計師的觀點和應用程式程式設計師的觀點。它專注於使用開源解決方案來創建中介軟體以及開發分散式應用程式的工具。所提出的設計原則是普遍適用的,適用於所有中介軟體平台,包括 CORBA 和 Web Services。作者創建了一個名為 MICO 的 CORBA 開源實作,該實作在網路上免費提供。MICO 是所有開源專案中最成功的之一,廣泛被要求高的公司和機構使用,並且也被許多 Linux 社群成員採用。
目錄
關於作者
前言
1 介紹
1.1 分散式應用程式的基礎設施
1.2 主題組織
1.3 目標群體
1.4 章節概述
1.5 附屬材料
2 基本概念
2.1 分散式系統
2.1.1 特徵
2.1.2 透明性
2.1.3 通訊機制
2.1.4 客戶端/伺服器模型
2.1.5 故障語義
2.2 物件模型
2.2.1 特徵
2.2.2 術語
2.3 中介軟體
2.3.1 中介軟體的任務
2.3.2 中介軟體平台的結構
2.3.3 中介軟體的標準化
2.3.4 可攜性和互操作性
2.4 範例應用程式
2.4.1 帳戶範例
2.4.2 C++ 實作
2.4.3 範例應用程式的分佈
2.5 總結
3 CORBA 介紹
3.1 物件管理架構
3.2 CORBA 概述
3.2.1 CORBA 物件模型
3.2.2 介面定義語言
3.2.3 IDL 語言映射
3.2.4 物件請求代理
3.2.5 調用和物件適配器
3.2.6 互操作性
3.3 CORBA 應用程式的創建過程
3.4 C++ 的應用程式開發
3.4.1 IDL 規範
3.4.2 C++ 的 IDL 語言映射
3.4.3 C++ 伺服器實作
3.4.4 C++ 客戶端實作
3.5 編譯和執行應用程式
3.5.1 編譯應用程式
3.5.2 執行應用程式
3.6 Java 的應用程式開發
3.6.1 Java 伺服器實作
3.6.2 Java 客戶端實作
3.6.3 編譯和執行 Java 實作
3.7 啟動問題
3.7.1 基於檔案的啟動
3.7.2 物件 URL
3.7.3 命令行參數
3.8 命名服務
3.8.1 概述
3.8.2 名稱伺服器守護進程
3.8.3 範例
3.9 總結
4 ORB
4.1 ORB 架構
4.2 傳輸層
4.3 表示層
4.3.1 類型的值範圍
4.3.2 類型實例的表示
4.3.3 表示層的建模
4.4 互操作性層
4.4.1 遠程操作調用的協議
4.4.2 協議數據單位 (PDU) 的結構
4.4.3 協議數據單位的建模
4.5 代理
4.6 物件服務
4.6.1 物件的生命週期
4.6.2 物件引用
4.6.3 伺服器端的服務
4.7 總結
5 ORB 設計
5.1 ORB 功能
5.2 ORB 架構
5.3 MICO 的 ORB 設計
5.3.1 調用適配器介面
5.3.2 物件適配器介面
5.3.3 調用表
5.3.4 調度器
5.3.5 物件生成
5.3.6 啟動
5.3.7 動態擴展性
5.4 總結、評估和替代方案
6 互操作性
6.1 模型
6.2 互 ORB 協議
6.2.1 可互操作的物件引用 (IOR)
6.2.2 一般互 ORB 協議 (GIOP)
6.2.3 環境特定的互 ORB 協議
6.3 MICO 的互操作性設計
6.3.1 框架
6.3.2 GIOP
6.4 總結、評估和替代方案
7 物件適配器
7.1 術語
7.2 功能
7.2.1 物件管理
7.2.2 服務管理
7.2.3 物件引用的生成
7.2.4 將物件映射到服務者
7.2.5 方法調用的執行
7.3 物件適配器的範例
7.3.1 可攜式物件適配器
7.3.2 POA 管理器
7.3.3 請求處理
7.3.4 持久性
7.4 MICO 的 POA 設計
7.4.1 物件鍵的生成
7.5 持久性
7.6 POA 中介
7.7 協同位置
8 調用適配器
8.1 功能
8.1.1 IDL 數據類型的表示
8.1.2 類型檢查
8.2 動態調用介面
8.3 靜態調用介面
8.4 MICO 的 DII 設計
8.4.1 複合數據類型
8.5 MICO 的 SII 設計
8.6 總結
9 IDL 編譯器
9.1 調用適配器
9.1.1 動態與靜態調用適配器
9.1.2 靜態調用適配器的支持
9.1.3 MICO 的靜態調用適配器
9.2 編譯器基礎
9.2.1 正式語言和文法
9.2.2 解析樹
9.2.3 編譯器的結構
9.3 IDL 規範的抽象語法樹
9.4 MICO 的 IDL 編譯器
9.4.1 類別結構
9.4.2 前端
9.4.3 後端
9.5 總結、評估和替代方案
10 CORBA 及其後續
10.1 CORBA 組件
10.1.1 基於組件的開發
10.1.2 CORBA 組件模型
10.1.3 一個範例組件
10.1.4 實作概述
10.1.5 討論
10.2 Web Services
10.2.1 XML 概述
10.2.2 通過 WSDL 的服務描述
10.2.3 伺服器端映射
10.2.4 通過 SOAP 的互操作性
10.2.5 通過 UDDI 的服務查找
10.2.6 CORBA 還是 Web Services?
10.3 無所不在計算的中介軟體
10.3.1 無所不在計算的概述
10.3.2 中介軟體挑戰
10.3.3 案例研究:感測器網路
10.3.4 結論
10.4 總結
附錄 A MICO 安裝
A.1 在 Unix 上安裝 MICO
A.2 在 Windows 上安裝 MICO
A.3 路線圖
附錄 B MICO 實作概述
B.1 ORB
B.1.1 ORB 初始化
B.2 介面庫 (IR)
B.3 POA
B.3.1 MICO 守護進程
B.3.2 實作庫 (IMR)
B.4 IDL 編譯器
B.5 編譯器和連結器包裝器
B.5.1 範例
附錄 C MICO 實作細節
C.1 通過 ORB 的操作調用路徑
C.1.1 客戶端
C.1.2 伺服器
C.2 整合新的調用適配器
C.3 整合新的物件適配器
C.4 整合新的傳輸機制
C.4.1 Xaddress
C.4.2 Xaddressparser
C.4.3 Xprofile
C.4.4 Xprofiledecoder
C.4.5 Xtransport
C.4.6 Xtransportserver
C.4.7 Dispatcher
C.4.8 初始化
C.5 生成的程式碼結構
附錄 D 範例應用程式