Programming Open Service Gateways with Java Embedded Server Technology (Paperback)
暫譯: 使用 Java 嵌入式伺服器技術編程開放服務閘道器 (平裝本)

Kirk Chen, Li Gong

  • 出版商: Addison Wesley
  • 出版日期: 2001-08-30
  • 定價: $1,575
  • 售價: 8.0$1,260
  • 語言: 英文
  • 頁數: 480
  • 裝訂: Paperback
  • ISBN: 0201711028
  • ISBN-13: 9780201711028
  • 相關分類: 嵌入式系統Java 程式語言
  • 立即出貨(限量)

買這商品的人也買了...

商品描述


Description



Back to Top


Appropriate Courses



Back to Top


Features

Back to Top


Table Of Contents

Preface.
Acknowledgments.
1. Introduction.
The Internet and the Networked Home.
The Service Gateway.
Challenges.
A Multitude of Competing Solutions.
A New Application Environment.

Java Embedded Server Technology.
The Open Services Gateway Initiative.
Operational Model.

2. Getting Started.
Setting Up the Java Embedded Server Software.
The "Home, Sweet Home" Bundle.
Create the Directory.
Define the Manifest.
Write an Activator.
Compile the Activator Class.
Pack Up.

Running the Bundle.
Getting Help.
The Cache Directory.
The Bundle Base URL.
Brief Summary of the Major Commands.


3. Architecture and Basic Concepts.
Motivation.
Architecture.
Service.
Bundle.
A Bundle Is a Packaging Vehicle.
A Bundle Is a Functional Module.
The "Hooks" to the Framework.

The Framework.
Cooperation among Bundles and Services.
Exporting and Importing Packages.
Registering and Obtaining Services.
Package versus Service Dependency.

Life within the Framework.
Installing a Bundle.
Starting the Bundle.
Importing Packages and Getting Services.
Handling the Dynamic Service Dependency.
Updating a Bundle.
Stopping and Uninstalling a Bundle.

The Component-based Model.
Forget CLASSPATH.

4. Developing Bundles.
Writing Service Bundles.
Design the Service Interface.
Implement the Service.
Register the Service in the Activator.
Define the Manifest Headers.
Create the Bundle.

Same Service Interface, Different Implementations.
Retrieving Resources from within the Bundle.
Obtaining and Calling Registered Services.
Interbundle Dependency and Class Loading Issues.
Service Use Count.
Compiling Client Bundles.

Service Factory.
Producing a Customized Service for Each Client Bundle.
Service Cache.
Customization for Getting and Releasing Service.

Relevant org.osgi.framework APIs.
BundleContext Interface.
ServiceReference Interface.
ServiceRegistration Interface.

Library Bundles.
Advanced Examples.
A Mailer.
A Line Printer Daemon Print Service.

Writing Bundles That Contain Native Code.
Common Mistakes.
Activator.
Manifest.
Creating a JAR File.


5. Cooperation among Service Bundles.
Event Handling.
Bundle State and Service Registration.
Synchronous and Asynchronous Events.
Dealing with Service Unregistration.
Don't Start without the Service.
Discovering Stale Service.
Carrying On without the Service.
Picking an Alternative.
Cascading Service Registration.
Refusing Service.

Cooperation with Asynchronous Events.

6. Design Patterns and Pitfalls.
Designing the Service.
Separating Service Interface and Implementation.
Challenges in Designing a Service Interface.
Approaching an Interface Design.
The Social Aspect.

Designing Library Bundles.
Delegation and Callback.
Leveraging the Service Registry.
Threading.
Preventing Runaway Threads.
Writing a Multithread Server Bundle.
Using a Thread Pool.

Managing Object Allocation.
Nullify References After Use.
Managing References among Bundles.


7. Standard Services.
The Log Service.
Using LogService to Write Logs.
Using LogReaderService to Get Logs.
Performing Persistent Logging.

The HTTP Service.
The Standard HttpService API.
Performing Basic Authentication.
The Extended HTTP Service.


8. Device Access.
Introduction.
The Software Stack in Device Access.
What Device Access Is Not.

Motivation.
Cast of Characters.
Device Service.
Driver Services.
Driver Locator.
Device Manager.

Writing DA Services.
The Base Driver.
Device Detection.
Device Refinement.
The Reconfiguration Process.

Putting It Together.

9. Permission-based Security and Administration.
Permission-based Security inside the Java 2 Platform.
Code Source.
Permission.
Policy.
Granting Permissions to Classes.
Security Manager.

OSGi Permissions.
AdminPermission.
ServicePermission.
PackagePermission.
Permission Required by the Framework APIs.

Enabling Security.
Setting Up a Policy.
Running with Security Enabled.

Using Permissions in Your Service.
Checking Permissions.
Performing Privileged Actions.
Creating Your Own Permission Types.

Administration.
Resolving Bundles Dynamically.
Relevant APIs.


10. Future Directions.
Removing Phantom Bundles.
Dynamic Permissions.
Preferences.
User Administration.
Configuration Management.
What's Next.

Appendix A. Code Examples.
Chapter 4--Developing Bundles.
The LPD Print Service.

Chapter 8--Device Access.
Serial Service and Driver Locator.
Driver Service and Modem Service.
Web Interface to the Serial Ports.

Chapter 9--Permission-based Security and Administration.
Parameter Services.
Parameter Configuration Servlet.
Facilitator.


Appenidix B. OSGi Service Gateway Specification.
org.osgi.framework.
AdminPermission.
Bundle.
BundleActivator.
BundleContext.
BundleEvent.
BundleException.
BundleListener.
Configurable.
FrameworkEvent.
FrameworkListener.
InvalidSyntaxException.
PackagePermission.
ServiceEvent.
ServiceFactory.
ServiceListener.
ServicePermission.
ServiceReference.
ServiceRegistration.
org.osgi.service.device.
Device.
Driver.
DriverLocator.
org.osgi.service.http.
HttpContext.
HttpService.
NamespaceException.
org.osgi.service.log.
LogEntry.
LogListener.
LogReaderService.
LogService.

Bibliography.
Index. 0201711028T08142001


Back to Top

商品描述(中文翻譯)

描述

適合的課程

特點

目錄
- 前言
- 感謝
- 1. 介紹
- 網際網路與網路家庭
- 服務閘道
- 挑戰
- 眾多競爭解決方案
- 新的應用環境
- Java 嵌入式伺服器技術
- 開放服務閘道倡議
- 操作模型

- 2. 開始使用
- 設定 Java 嵌入式伺服器軟體
- 「家,甜蜜的家」套件
- 創建目錄
- 定義清單
- 編寫啟動器
- 編譯啟動器類別
- 打包
- 執行套件
- 獲取幫助
- 快取目錄
- 套件基本 URL
- 主要命令簡要總結

- 3. 架構與基本概念
- 動機
- 架構
- 服務
- 套件
- 套件是包裝工具
- 套件是功能模組
- 與框架的「鉤子」
- 框架
- 套件與服務之間的合作
- 匯出與匯入套件
- 註冊與獲取服務
- 套件與服務依賴性
- 框架內的生命
- 安裝套件
- 啟動套件
- 匯入套件與獲取服務
- 處理動態服務依賴性
- 更新套件
- 停止與卸載套件
- 基於元件的模型
- 忘記 CLASSPATH

- 4. 開發套件
- 編寫服務套件
- 設計服務介面
- 實作服務
- 在啟動器中註冊服務
- 定義清單標頭
- 創建套件
- 相同服務介面,不同實作
- 從套件內獲取資源
- 獲取與調用註冊服務
- 套件間依賴性與類別加載問題
- 服務使用計數
- 編譯客戶端套件
- 服務工廠
- 為每個客戶端套件生成自定義服務
- 服務快取
- 獲取與釋放服務的自定義
- 相關的 org.osgi.framework API
- BundleContext 介面
- ServiceReference 介面
- ServiceRegistration 介面
- 函式庫套件
- 進階範例
- 郵件發送器
- 行列印表守護進程列印服務
- 編寫包含原生代碼的套件
- 常見錯誤
- 啟動器
- 清單
- 創建 JAR 檔案

- 5. 服務套件之間的合作
- 事件處理
- 套件狀態與服務註冊
- 同步與非同步事件
- 處理服務註銷
- 不要在沒有服務的情況下啟動
- 發現過期服務
- 在沒有服務的情況下繼續
- 選擇替代方案
- 連鎖服務註冊
- 拒絕服務
- 與非同步事件的合作

- 6. 設計模式與陷阱
- 設計服務
- 分離服務介面與實作
- 設計服務介面的挑戰
- 接近介面設計
- 社會層面
- 設計函式庫套件
- 委派與回調
- 利用服務註冊表
- 執行緒
- 防止失控執行緒
- 編寫多執行緒伺服器套件
- 使用執行緒池
- 管理物件分配
- 使用後清除引用
- 管理套件間的引用

- 7. 標準服務
- 日誌服務
- 使用 LogService 寫入日誌
- 使用 LogReaderService 獲取日誌
- 執行持久日誌記錄
- HTTP 服務
- 標準 HttpService API
- 執行基本身份驗證
- 擴展 HTTP 服務

- 8. 設備存取
- 介紹
- 設備存取中的軟體堆疊
- 設備存取不是什麼
- 動機
- 角色介紹
- 設備服務
- 驅動程式服務
- 驅動程式定位器
- 設備管理器
- 編寫 DA 服務
- 基本驅動程式
- 設備檢測
- 設備精煉
- 重新配置過程
- 整合

- 9. 基於權限的安全性與管理
- Java 2 平台內的基於權限的安全性
- 代碼來源
- 權限
- 政策
- 授予類別權限
- 安全管理器
- OSGi 權限
- AdminPermission
- ServicePermission
- PackagePermission
- 框架 API 所需的權限
- 啟用安全性
- 設定政策
- 在啟用安全性的情況下運行
- 在服務中使用權限
- 檢查權限
- 執行特權操作
- 創建自定義權限類型
- 管理
- 動態解析套件
- 相關 API

- 10. 未來方向
- 移除虛幻套件
- 動態權限
- 偏好設定
- 使用者管理
- 配置管理
- 下一步

附錄 A. 代碼範例
- 第 4 章 - 開發套件
- LPD 列印服務
- 第 8 章 - 設備存取
- 串列服務與驅動程式定位器
- 驅動程式服務與調製解調器服務
- 串列埠的網頁介面
- 第 9 章 - 基於權限的安全性與管理
- 參數服務
- 參數配置伺服器
- 促進者

附錄 B. OSGi 服務閘道規範
- org.osgi.framework
- AdminPermission
- Bundle
- BundleActivator
- BundleContext
- BundleEvent
- BundleException
- BundleListener
- Configurable
- FrameworkEvent
- FrameworkListener
- InvalidSyntaxException
- PackagePermission
- ServiceEvent
- ServiceFactory
- ServiceListener
- ServicePermission
- ServiceReference
- ServiceRegistration
- org.osgi.service.device
- Device
- Driver
- DriverLocator
- org.osgi.service.http
- HttpContext
- HttpService
- NamespaceException
- org.osgi.service.log
- LogEntry
- LogListener
- LogReaderService
- LogService

參考文獻

索引