Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OSGi概要

Avatar for Akira Ikeda Akira Ikeda
October 10, 2012

 OSGi概要

勉強会のために作った概要資料。

Avatar for Akira Ikeda

Akira Ikeda

October 10, 2012
Tweet

More Decks by Akira Ikeda

Other Decks in Technology

Transcript

  1.  OSGi Alliance により標準化 ◦ http://www.osgi.org/  Javaに基づいたオープンのソフトウェア部品化技術  完全な動的モジュールを実現するための技術

    (動作を停止させずにモジュールの入れ替えが可能)  ネットワークを通じて部品を追加/更新/変更/削除  当初はホームゲートウェイを対象としていたが,現在 はモバイル機器や車載機器などにも範囲拡大 ◦ 最近ではアプリケーションサーバでの採用が目立つ ◦ その他,EclipseもOSGiを採用している
  2.  OSGiは5つのWGにてそれぞれ仕様策定 ◦ Core Platform Expert Group (CPEG)  OSGiコアの仕様を策定

    ◦ Enterprise Expert Group (EEG)  エンタープライズ分野の仕様を策定 ◦ Mobile Expert Group (MEG)  モバイル機器分野の仕様を策定 ◦ Residential Expert Group (REG)  ホームネットワーク分野の仕様を策定 ◦ Vehicle Expert Group (VEG)  車載機器分野の仕様を策定
  3.  OSGiアプリケーションはJavaの知識があればそれほ ど難しくない ◦ 言語(レベル)はJavaが書ければ大丈夫 ◦ 開発環境はEclipse 使えばいいだろう ◦ OSGiはオープン技術であり,その仕様は無料で入手可能

     ベンダの商用実装もあるが,最初は以下を使ってもいいだろう  Equinox : http://www.eclipse.org/equinox/  Eclipse使うならこれがらくちん  Apache Ferix : http://felix.apache.org/
  4.  OSGiではモジュールの単位を「バンドル」と呼ぶ ◦ イメージがつきにくい人は,プラグインと思ってもらっても良い 「バンドル」はマニフェストファイル・クラスファイル・リソース ファイルを1つにまとめたもの ◦ OSGi特有の実装としては以下が必要  マニフェストファイルにOSGi特有の属性を設定する

     BundleActivatorインターフェイスをクラスに実装する  「バンドル」には個別の設定が可能 ◦ バージョン制限や依存関係が設定 ◦ セキュリティ(アクセス制限)の設定  OSGiアプリはOSGiフレームワーク上で動作 ◦ OSGiはJava VM 上の フレームワークとして動作
  5.  Javaであることの難点を引き継いでしまう ◦ 実行速度の問題等  国内ではまだまだ普及しているとまではいえない(と思 う)  参考となる日本語情報がまだまだ少ない 

    基本実装はOSSでもあるが,バンドル管理や配信シス テムなど高度な管理などは商用のものが必要だろう ◦ バンドルの数が少ないうちは手作業でもいいのだが…
  6.  開発環境は「Eclipse + Equinox」を使います  今回はhello world 程度を実装します  以下の動きを見ます

    ◦ インストール ◦ スタート ◦ ストップ ◦ アップデート ◦ アンインストール