Transcript About OSGi

OSGiについて
2005年5月17日
02K0122 田畑智洋
[email protected]
目次?
•
•
•
•
•
OSGiとは
OSGiフレームワーク
バンドル・ライフサイクル
OSGiフレームワーク「Oscar」
おまけスライド
Hosei University CIS-02K0122 Tomohiro Tabata
1
OSGi とは
Open Service Gateway Initiativeの略
1. Open Service Gateway(OSG)の規格統一に
向けて動いている団体。 1999年設立
2. 1のOSGiが規格統一に向けて作成をしている
仕様そのもの。
以降OSGiというときは、2を指すことにします
もしかしたら、「おすぎ」と言うかもしれません
Hosei University CIS-02K0122 Tomohiro Tabata
2
OSGi フレームワーク
• 家電製品etcをインターネットに接続し、
パソコンや機器間で相互にサービスを提供する。
標準バンドル群
各種バンドル
OSGiフレームワーク
JavaVM
• 最小動作単位を「バンドル」と呼ぶ
Hosei University CIS-02K0122 Tomohiro Tabata
3
OSGi フレームワーク 動作例
インターネット
つながったよ
通信規格(古いヤツ)
バンドル1
通信規格(新しいヤツ)
バンドル2のインストール
バンドル2
準備完了
OSGiフレームワーク
JavaVM
通信端末など
Hosei University CIS-02K0122 Tomohiro Tabata
4
バンドルのライフサイクル
• 開発者によって作成・インストールされてから
削除されるまでの一連のライフサイクルが定義
されている。
OSGiへの
インストール
更新
Installed
start()
Stop()
Activated
Deactivated
Start()
OSGiからの削除
Uninstalled
Hosei University CIS-02K0122 Tomohiro Tabata
5
バンドル間の連携
• 作成した複数のバンドルを、OSGiフレームワーク
上のサービスとして連携することもできる。
バンドルA
情報の
提供
サービスの登録
OSGi フレームワーク
サービスの検索・利用
バンドルB
Hosei University CIS-02K0122 Tomohiro Tabata
6
以上を踏まえて、実際にデモンストレーションして
みたいと思います。
使用するOSGiフレームワーク:Oscar 1.0.5
(http://oscar.objectweb.org/よりダウンロードできます)
辞書検索(?)サービス
http://oscar-osgi.sourceforge.net/tutorial/の
Example2とExample3を使用します。
Hosei University CIS-02K0122 Tomohiro Tabata
7
辞書検索サービス
• Example2
– 辞書検索のサービスを提供する
• boolean checkWord(String)を備える
• Example3
– 辞書検索を実際に行うバンドル
– Example2のバンドルを使用して、辞書に登録されて
いる語を入力した場合に”Correct”と表示する(だけ)
– Example2のcheckWord(String)を使用する
Hosei University CIS-02K0122 Tomohiro Tabata
8
OSGi フレームワーク(おさらい)
• 標準バンドル群:OscarのAPI、OscarのGUI機能のバンドル etc
• 各種バンドル:辞書検索バンドル(後からインストールしたもの)
標準バンドル群
各種バンドル
Oscar(OSGiフレームワーク本体)
JavaVM
Hosei University CIS-02K0122 Tomohiro Tabata
9
OSGiフレームワーク 標準サービス
• OSGiでは、さまざまなサービスが標準で用意
されている
リリース1から提供されている代表的な標準サービス
• デバイスアクセス
– 新しいデバイスがOSGi環境に接続された場合に、必要となるドライバを
探し出し、ドライバ・バンドルを自動的にダウンロードする。
• HTTPサービス
– HTTP1.1のサーバ機能を提供する。バンドル追加で、サーブレット環境の
構築もできる。
• ログサービス
– エラーなどのログを出力したり、サービスに通知したりする機能。
Hosei University CIS-02K0122 Tomohiro Tabata
10
OSGiに何ができるか!?(モバイル編)
• 新しいデバイスや通信規格が導入されたとき、
そのドライバやアプリケーションを自動的に
ダウンロード&インストールをすることができる。
そのために
OSGiアライアンスは、J2ME用に開発できる
コンパクトなフレームワークAPIを提供している!
Hosei University CIS-02K0122 Tomohiro Tabata
11
最後に・・・
Hosei University CIS-02K0122 Tomohiro Tabata
12
参考文献
• OSGi3.0仕様書
• OSGi WhitePaper
(以上2つ:http://www.osgi.org/より)
• JAVAモバイルアプリケーション
立川敬行 著 ソフト・リサーチ・センター
• love unstable
http://kumiki.c.u-tokyo.ac.jp/~ichiyama/cgi-bin/hiki/OSGi.html
(東大の博士課程の方の博士論文のwikiみたいです)
Hosei University CIS-02K0122 Tomohiro Tabata
13