Jini 為網絡設備(特別是家庭消費電子)提供了即插即用的分布式計算平台。核心思想:服務以 Java 介面定義,代理對象下載到客戶端,代理封裝具體通信協議(甚至直接驅動硬件),實現「網絡級設備驅動」。
| 模式 | 硬件要求 | 優點 | 缺點 |
|---|---|---|---|
| 設備內置完整 JVM | 微處理器+內存+持久化存儲,運行「被剝皮」JDK(無 AWT/Swing) | 完全 Jini 功能、RMI 通信、代碼動態下載、多服務共存、靈活演進 | 成本最高 |
| 專用微型 JVM | 僅實現 Discovery/Join/Lease/代碼下載子集 | 代碼量極小、成本大幅降低 | 失去動態性,綁定特定 Lookup Service,無法升級服務邏輯 |
| 多設備共享物理 JVM(Jini 設備港) | 集中式「港」提供電源、網絡、JVM、JDK;設備僅需實現本地協議 | 單點成本分攤到多設備、設備廠商只需實現固定協議、支援本地+網絡雙模式 | 引入單點故障、協議演進受限 |
ServiceItem、Entry 等 Jini 核心對象Lease 續租機制(本地對象實現 net.jini.core.lease.Lease)若設備無法運行完整 JVM,需採用專用 Lookup Service 實現(不同 RMI 代理)。
隨著微處理器普及,家電數字化加速。Jini 帶來的變革:
典型場景:智能冰箱發現庫存不足 → 自動下單服務 → 物流服務送達 → 手機推送通知,全程無人工干預。
Jini 通過服務介面標準化 + 代理移動代碼 + 發現/加入協議,將「硬件差異」屏蔽在代理內部,為異構設備互聯提供了優雅的抽象層。三種硬件適配模式覆蓋從高端網關到低成本傳感器的全譜系,是物聯網雛形的經典實踐。