net liaison 技術概要

36
1 Net Liaison 技技技技 技技技技技 ( 技 ) 技技 技技

Upload: shelby

Post on 11-Jan-2016

54 views

Category:

Documents


2 download

DESCRIPTION

Net Liaison 技術概要. 沖電気工業 ( 株 ) 福田 春生. Net Liaison とは ?. Jini を汎用的な分散システム構築のためのインフラストラクチャとして、利用するためのミドルウェア群 クライアント層: Service Finder を中心とするクライアント環境 ユーティリティ・サービス層: 複数の Jini サービス群で構成する AP システム構築に利用可能なユーティリティサービス群 管理コンポーネント層: Jini サービスを管理するための汎用的な管理項目に対する API および、 AP サービスに組み込んで使用するコンポーネント群. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Net Liaison  技術概要

1

Net Liaison 技術概要

沖電気工業 ( 株 )福田 春生

Page 2: Net Liaison  技術概要

2

Net Liaison とは ?

Jini を汎用的な分散システム構築のためのインフラストラクチャとして、利用するためのミドルウェア群

クライアント層:– Service Finder を中心とするクライアント環境

ユーティリティ・サービス層:– 複数の Jini サービス群で構成する AP システム構築に利用可能

なユーティリティサービス群 管理コンポーネント層:

– Jini サービスを管理するための汎用的な管理項目に対する APIおよび、 AP サービスに組み込んで使用するコンポーネント群

Page 3: Net Liaison  技術概要

3

ログ管理

JoinManager

改造版Lookup

サービス

状態管理

リース管理

分散イベント管理

サービス連携管理障害管理

リモートファイルサービス

DOMストレージ

サービスラウンチャ

rmid

ロケーションサービス

管理コンポーネント層

ユーティリティ層

クライアント層

Service Finder

Service UI

アプリケーション サービス・

Net Liaison 全体構成

JavaSpaceモニタ

Liaisonサービス

JavaSpace

Page 4: Net Liaison  技術概要

4

Service UI プロジェクト

Jini サービスが提供するユーザインターフェイスのための API を定義

UI には GUI だけでなく、音声などの手段も想定 UI はサービスの属性情報として付与

→ UI の着脱、 3rd パーティによる提供が可能

ServiceProxy

ServiceUI

JiniService

ユーザ

Service ObjectUI Object

Page 5: Net Liaison  技術概要

5

Service UI API

public class UIDescriptor implements Entry { // UI の役割 . ex. “net.jini.lookup.ui.AdminUI” String role;

// 表示に必要な API. ex. “javax.swing” String toolkit;

// 属性情報の集合 . Factory の TYPE 名、利用可能な Locale などを設定 Set attributes;

// UI コンポーネントを生成するファクトリオブジェクト MarshalledObject factory;}

UI を登録する属性エントリ : UIDescriptor.java

Page 6: Net Liaison  技術概要

6

Jini Service Finder 汎用的な Jini クライア

ント– Lookup サービスが提供

する対話的検索 API を GUI で表現

Service UI API に準拠– UI クラス自体の動的なダ

ウンロードおよび表示 SCSL に従って公開

Page 7: Net Liaison  技術概要

7

Service Finder – 検索パネル

Lookup サービスの選択 サービス・タイプによ

る検索 属性情報による検索

Page 8: Net Liaison  技術概要

8

UIDescriptor

Lookup サービス

ServiceFinder

サービスプロキシ

Jini サービス

Service Finder – 表示機構

UIDescriptor

JFrameFactory factory = (JFrameFactory) desc.getUIFactory(loader);JFrame frame = factory.getJFrame(serviceItem);

Service UI

UIDescriptor

サービスプロキシ

Page 9: Net Liaison  技術概要

9

Service Finder – UI 追加

サービスの I/F を走査して、利用可能な代表的な UI を表示

JoinAdmin を用いて、選択した UI 属性を追加

Page 10: Net Liaison  技術概要

10

RegistrarPanel

ServiceTypePanel

AttributePanel

FinderManager

ResultPanel

UIFrame

JoinAdminPanel

LookupDiscovery

MultipleEvent

Manager

NotifyManager

Jini Service

JoinManager

ServiceRegistrar

JoinAdmin

Service Finder – 内部構造

ServiceRegistrar

ServiceRegistrar

Page 11: Net Liaison  技術概要

11

Service Finder – Servlet 版

Service Finder のロジックをServlet 上で実現

クライアント環境の自由度 サービス側からのコール

バックは受けられない

Page 12: Net Liaison  技術概要

12

ログ管理

JoinManager

改造版Lookup

サービス

状態管理

リース管理

分散イベント管理

サービス連携管理障害管理

リモートファイルサービス

DOMストレージ

サービスラウンチャ

rmid

ロケーションサービス

管理コンポーネント層

ユーティリティ層

クライアント層

Service Finder

Service UI

アプリケーション サービス・

Net Liaison 全体構成

JavaSpaceモニタ

Liaisonサービス

JavaSpace

Page 13: Net Liaison  技術概要

13

Jini サービス管理

Jini-1.1 が規定する汎用的な管理項目– net.jini.admin.Adminstrable– net.jini.admin.JoinAdmin– net.jini.admin.DestroyAdmin– com.sun.jini.admin.StorageLocationAdmin

ただし、仕様化はされていない UI の動的ダウンロード機構による利点

– 管理マネージャに予め UI を登録する必要がない– サービスに固有な管理 UI も動的に表示可能

Page 14: Net Liaison  技術概要

14

Jini サービス管理 API 管理プロキシによるサービス管理機構

Object admin = ((Administrable) proxy).getAdmin();JoinAdmin joinAdmin = (JoinAdmin) admin;joinAdmin.addLookupAttributes(attrs);

Jini サービス

管理クライアント

管理プロキシ

サービスプロキシAdministrable

JoinAdmin

DestroyAdmin サービス毎に管理機構を定義→オブジェクトの再利用性に難

Page 15: Net Liaison  技術概要

15

Jiniサービス

管理クライアント 管理プロキシ

サービスプロキシAdministrable

JoinAdmin

DestroyAdmin

Join管理プロキシ

Join 管理コンポーネント

Destroy管理プロキシ

Destroy 管理コンポーネント

管理コンポーネントの構造

Jini サービス管理 API をそのまま利用 サービス開発に共通な管理機構を UI まで含

めてコンポーネントとして提供

Page 16: Net Liaison  技術概要

16

サービス状態・障害管理– サービスの状態の参照および強制的な遷移– 属性情報による障害情報の通知

ログ管理– サービスが生成するログ情報の動的な設定

サービス間連携管理– サービス間の依存関係を外部から制御

イベント管理、リース管理– イベントソース , リース提供者 (Lease Grantor)

としての動作の制御

その他の汎用的な管理項目

Page 17: Net Liaison  技術概要

17

障害情報

サービスプロキシ

Lookup サービス

Jini サービス

管理クライアント

EventMailbox

管理プロキシ

サービス状態・障害管理

状態情報

Jiniクライアント

利用可能なサービスだけを検索対象とする

管理クライアントを常時起動しておく必要が無い

・内部状態を表示・障害情報の公開

Page 18: Net Liaison  技術概要

18

ログ管理 サービスが出力するログ情報の出力レベル、出力先

( ファイル、端末、 syslogなど ) を動的に制御 複数のログ出力ポートを階層的に管理

Page 19: Net Liaison  技術概要

19

Jini Service Launcher

Activatable な Jini サービス起動のためのユーティリティおよびライブラリ

機能– サービス起動に必要な初期情報の収集・設定– サービスを RMI Activation 機構 (rmid) に登録– サービスを起動

効果– サービス起動方法の統一化– GUI を使った起動設定– 起動設定ファイルによる運用の統一化

Page 20: Net Liaison  技術概要

20

Launcher 基本動作ー

LauncherActivation

SystemJini Service

初期化情報の雛型を要求

初期化情報の雛型初期化情報の収集・設定

Activation Group 登録

Activation Group ID

サーバ登録 (初期化情報 )

Activation ID

サーバ起動要求起動 ( コンストラクタ呼出 )

Page 21: Net Liaison  技術概要

21

GUI 版 Launcher

Page 22: Net Liaison  技術概要

22

ネットワークトポロジサービス

ロケーションサービス

コード配置情報サービス

改造版 Lookupサービス

管理マネージャ (Finder)

遠隔起動サービス

機器情報サービス

被管理サービス

管理マネージャ層

情報収集層

被管理層

インベントリ情報、ネットワーク情報

ネットワークトポロジ情報

サービス配置情報

ホスト情報

join

GUI GUI GUI

被管理サービス

機器情報サービス

サービス管理システム構成

遠隔ファイル管理サービス

Page 23: Net Liaison  技術概要

23

ロケーションサービス UI

Page 24: Net Liaison  技術概要

24

Page 25: Net Liaison  技術概要

25

ログ管理

JoinManager

改造版Lookup

サービス

状態管理

リース管理

分散イベント管理

サービス連携管理障害管理

リモートファイルサービス

DOMストレージ

サービスラウンチャ

rmid

ロケーションサービス

管理コンポーネント層

ユーティリティ層

クライアント層

Service Finder

Service UI

アプリケーション サービス・

Net Liaison 全体構成

JavaSpaceモニタ

Liaisonサービス

JavaSpace

Page 26: Net Liaison  技術概要

26

Jini システムの開発・管理に有効なサービス群

JavaSpace Monitor– JavaSpace に対する操作をモニタするサービス

Remote File Service– ファイル管理を Service UI で行なえるWebサーバ

DOM Storage– XMLデータを遠隔から DOM API を使ってアクセス可能とする

サービス Liaison Service

– Jini サービスを広域ネットワーク上で利用するためのメッセージング機構

ユーティリティ・サービス群

Page 27: Net Liaison  技術概要

27

JavaSpace

JavaSpaceクライアント

JavaSpaceクライアント

JavaSpaceクライアント

リアルタイムモニタ

ログ格納サービス

アクセスログ

JavaSpace モニタ

JavaSpace モニタ

Page 28: Net Liaison  技術概要

28

JavaSpace

JavaSpaceモニタ

JavaSpaceプロキシ

JavaSpaceクライアント

モニタプロキシ

JavaSpace モニタの構造

モニタプロキシは JavaSpace インターフェイスを実装

クライアントは JavaSpace としてモニタにアクセス プロキシ内のキュー採用によりモニタによる性能低下

を最小限に抑制

Page 29: Net Liaison  技術概要

29

Page 30: Net Liaison  技術概要

30

Remote File Service

Jini サービスによるファイル管理機能を備えたWebサーバ– プロキシは java.io.File継承クラスをク

ライアントに提供– エクスプローラ風の管理 UI

Jini/RMI の動的ダウンロード機構に対応– Manifest ファイルのバージョン管理機構– Manifest ファイルの Class-Path属性の解析

Page 31: Net Liaison  技術概要

31

Remote File Service  UI

Page 32: Net Liaison  技術概要

32

Page 33: Net Liaison  技術概要

33

Liaison サービスの目的

低速・不安定なネットワークでの利用を前提としたメッセージング機構

J2SE 以下の小さな Java 環境でもサービスが利用可能な環境

ネットワークを隠蔽化した通信 API と情報収集が可能な通信管理 API

Jar ファイルのバージョン情報に基づく効率的な動的クラスロード機構

既存の Jini サービスとの互換性

Page 34: Net Liaison  技術概要

34

Liaison サービス例

RolodexService

RolodexProxy

RolodexUI

Finder

RolodexProxy

StubRolodex

UI

MIDPEmulatorJAR

vCards

Servlet

MIDlet

Light Liaison

vCards

Server-sideLiaison

Client-sideLiaison

WebServer

クライアント #1

クライアント #2

クライアント #3

Page 35: Net Liaison  技術概要

35

Rolodex デモ – 表示例

検索画面

アドレス表示RolodexUI画面

Page 36: Net Liaison  技術概要

36

NAI フォーラムhttp://www.nai-forum.org/ NAI フォーラム: Network Application Interface フォーラム

– 発足: 2000年 5月,会長:慶応義塾大学 松下温教授,幹事 /事務局:沖電気工業(株)

– 2000年 6月現在: KDD(株),シャープ(株),サン・マイクロシステムズ(株)等 11社が賛同

NAI フォーラムの目的– Java/Jini 技術を利用した広域網サービスの流通・促進を目指した以下の活動

を行います.• 広域網サービスを構築するために必要な NAI標準仕様を作成・公開します.• NAI標準仕様に基づき構築した広域網サービスを評価できる環境を設置し,実証 デ・

モンストレーションを行います.• NAI標準仕様に基づくソフトウェアを,非営利目的での利用に限り無償公開します.

– フォーラムは以下のタイプのメンバにより構成され,今後Web 等により紹介・募集を行う計画です.

• 新しい広域網サービスの利用を検討しているユーザ.• 新しい広域網サービスの構築・提供を行うキャリア / プロバイダ.• 新しいネットワークデバイスやサーバを開発するメーカ.

Net Liaison と NAI フォーラムの関係– Net Liaison は NAI標準仕様の一つとして,仕様・ソフトウェアを公開する予

定です.• サービス分野としては,モバイル及び情報デリバリサービス等を対象としていま

す.