1 / 36

Net Liaison 技術概要

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

shelby
Download Presentation

Net Liaison 技術概要

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Net Liaison 技術概要 沖電気工業(株) 福田 春生

  2. Net Liaisonとは? • Jiniを汎用的な分散システム構築のためのインフラストラクチャとして、利用するためのミドルウェア群 • クライアント層: • Service Finderを中心とするクライアント環境 • ユーティリティ・サービス層: • 複数のJiniサービス群で構成するAPシステム構築に利用可能なユーティリティサービス群 • 管理コンポーネント層: • Jiniサービスを管理するための汎用的な管理項目に対するAPIおよび、APサービスに組み込んで使用するコンポーネント群

  3. Net Liaison全体構成 Service Finder クライアント層 Service UI ユーティリティ層 JavaSpace DOM ストレージ ロケーション サービス Liaison サービス JavaSpace モニタ 改造版 Lookup サービス rmid リモートファイル サービス 管理コンポーネント層 状態管理 Join Manager サービス ラウンチャ 分散イベント 管理 障害管理 サービス 連携管理 ログ管理 リース 管理 アプリケーション・サービス

  4. Service UIプロジェクト • Jiniサービスが提供するユーザインターフェイスのためのAPIを定義 • UIにはGUIだけでなく、音声などの手段も想定 • UIはサービスの属性情報として付与→ UIの着脱、3rdパーティによる提供が可能 UI Object Service Object Service UI Service Proxy Jini Service ユーザ

  5. Service UI API UIを登録する属性エントリ: UIDescriptor.java 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; }

  6. Jini Service Finder • 汎用的なJiniクライアント • Lookupサービスが提供する対話的検索APIをGUIで表現 • Service UI APIに準拠 • UIクラス自体の動的なダウンロードおよび表示 • SCSLに従って公開

  7. Service Finder – 検索パネル • Lookupサービスの選択 • サービス・タイプによる検索 • 属性情報による検索

  8. Service Finder – 表示機構 Lookupサービス サービス プロキシ UIDescriptor Service Finder UIDescriptor UIDescriptor Service UI Jini サービス サービス プロキシ JFrameFactory factory = (JFrameFactory) desc.getUIFactory(loader); JFrame frame = factory.getJFrame(serviceItem);

  9. Service Finder – UI追加 • サービスのI/Fを走査して、利用可能な代表的なUIを表示 • JoinAdminを用いて、選択したUI属性を追加

  10. Service Finder – 内部構造 Registrar Panel ServiceType Panel Attribute Panel Lookup Discovery Service Registrar Service Registrar Service Registrar Multiple Event Manager Finder Manager Notify Manager Result Panel JoinAdmin Join Manager Jini Service JoinAdmin Panel UI Frame

  11. Service Finder – Servlet版 • Service FinderのロジックをServlet上で実現 • クライアント環境の自由度 • サービス側からのコールバックは受けられない

  12. Net Liaison全体構成 Service Finder クライアント層 Service UI ユーティリティ層 JavaSpace DOM ストレージ ロケーション サービス Liaison サービス JavaSpace モニタ 改造版 Lookup サービス rmid リモートファイル サービス 管理コンポーネント層 状態管理 Join Manager サービス ラウンチャ 分散イベント 管理 障害管理 サービス 連携管理 ログ管理 リース 管理 アプリケーション・サービス

  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も動的に表示可能

  14. Jiniサービス管理 API • 管理プロキシによるサービス管理機構Object admin = ((Administrable) proxy).getAdmin();JoinAdmin joinAdmin = (JoinAdmin) admin;joinAdmin.addLookupAttributes(attrs); 管理 クライアント サービス プロキシ Jini サービス Administrable JoinAdmin 管理 プロキシ サービス毎に管理機構を定義→ オブジェクトの再利用性に難 DestroyAdmin

  15. 管理コンポーネントの構造 • Jiniサービス管理APIをそのまま利用 • サービス開発に共通な管理機構をUIまで含めてコンポーネントとして提供 管理 クライアント サービス プロキシ Jini サービス Administrable 管理プロキシ JoinAdmin Join 管理プロキシ Join 管理 コンポーネント DestroyAdmin Destroy 管理プロキシ Destroy 管理 コンポーネント

  16. その他の汎用的な管理項目 • サービス状態・障害管理 • サービスの状態の参照および強制的な遷移 • 属性情報による障害情報の通知 • ログ管理 • サービスが生成するログ情報の動的な設定 • サービス間連携管理 • サービス間の依存関係を外部から制御 • イベント管理、リース管理 • イベントソース, リース提供者(Lease Grantor)としての動作の制御

  17. サービス状態・障害管理 Jini クライアント Lookupサービス 利用可能なサービスだけを検索対象とする サービス プロキシ 状態情報 障害情報 管理 クライアント Event Mailbox Jiniサービス 管理 プロキシ ・内部状態を表示 ・障害情報の公開 管理クライアントを常時起動しておく必要が無い

  18. ログ管理 • サービスが出力するログ情報の出力レベル、出力先(ファイル、端末、syslogなど)を動的に制御 • 複数のログ出力ポートを階層的に管理

  19. Jini Service Launcher • ActivatableなJiniサービス起動のためのユーティリティおよびライブラリ • 機能 • サービス起動に必要な初期情報の収集・設定 • サービスをRMI Activation機構(rmid)に登録 • サービスを起動 • 効果 • サービス起動方法の統一化 • GUIを使った起動設定 • 起動設定ファイルによる運用の統一化

  20. Launcher ー 基本動作 Launcher Activation System Jini Service 初期化情報の雛型を要求 初期化情報の雛型 初期化情報の 収集・設定 Activation Group登録 Activation Group ID サーバ登録(初期化情報) Activation ID サーバ起動要求 起動(コンストラクタ呼出)

  21. GUI版 Launcher

  22. サービス管理システム構成 管理マネージャ (Finder) 管理マネージャ層 GUI GUI GUI 情報収集層 サービス配置 情報 ネットワーク トポロジ情報 ネットワーク トポロジ サービス ロケーション サービス コード配置 情報サービス ホスト情報 遠隔ファイル 管理サービス インベントリ情報、 ネットワーク情報 改造版 Lookup サービス 遠隔起動 サービス join 被管理層 機器情報 サービス 被管理 サービス 機器情報 サービス 被管理 サービス

  23. ロケーションサービス UI

  24. Net Liaison全体構成 Service Finder クライアント層 Service UI ユーティリティ層 JavaSpace DOM ストレージ ロケーション サービス Liaison サービス JavaSpace モニタ 改造版 Lookup サービス rmid リモートファイル サービス 管理コンポーネント層 状態管理 Join Manager サービス ラウンチャ 分散イベント 管理 障害管理 サービス 連携管理 ログ管理 リース 管理 アプリケーション・サービス

  25. ユーティリティ・サービス群 • Jiniシステムの開発・管理に有効なサービス群 • JavaSpace Monitor • JavaSpaceに対する操作をモニタするサービス • Remote File Service • ファイル管理をService UIで行なえるWebサーバ • DOM Storage • XMLデータを遠隔からDOM APIを使ってアクセス可能とするサービス • Liaison Service • Jiniサービスを広域ネットワーク上で利用するためのメッセージング機構

  26. JavaSpaceモニタ JavaSpace リアルタイム モニタ JavaSpaceモニタ ログ格納 サービス JavaSpace クライアント JavaSpace クライアント JavaSpace クライアント アクセス ログ

  27. JavaSpaceモニタの構造 • モニタプロキシはJavaSpaceインターフェイスを実装 • クライアントはJavaSpaceとしてモニタにアクセス • プロキシ内のキュー採用によりモニタによる性能低下を最小限に抑制 モニタプロキシ JavaSpace クライアント JavaSpace プロキシ JavaSpace JavaSpace モニタ

  28. Remote File Service • Jiniサービスによるファイル管理機能を備えたWebサーバ • プロキシはjava.io.File継承クラスをクライアントに提供 • エクスプローラ風の管理UI • Jini/RMIの動的ダウンロード機構に対応 • Manifestファイルのバージョン管理機構 • ManifestファイルのClass-Path属性の解析

  29. Remote File ServiceUI

  30. Liaisonサービスの目的 • 低速・不安定なネットワークでの利用を前提としたメッセージング機構 • J2SE以下の小さなJava環境でもサービスが利用可能な環境 • ネットワークを隠蔽化した通信APIと情報収集が可能な通信管理API • Jarファイルのバージョン情報に基づく効率的な動的クラスロード機構 • 既存のJiniサービスとの互換性

  31. Liaisonサービス例 クライアント#1 Rolodex Proxy Rolodex UI Finder Rolodex Service Rolodex Proxy Server-side Liaison Client-side Liaison Stub Rolodex UI vCards クライアント#2 クライアント#3 vCards Servlet Light Liaison JAR Web Server MIDlet MIDP Emulator

  32. Rolodexデモ – 表示例 RolodexUI画面 アドレス表示 検索画面

  33. 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標準仕様の一つとして,仕様・ソフトウェアを公開する予定です. • サービス分野としては,モバイル及び情報デリバリサービス等を対象としています.

More Related