Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OSGi概要
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Akira Ikeda
October 10, 2012
Technology
1
1.2k
OSGi概要
勉強会のために作った概要資料。
Akira Ikeda
October 10, 2012
Tweet
Share
More Decks by Akira Ikeda
See All by Akira Ikeda
JaSST'24 Kyushu 基調講演 「一周まわって考えるソフトウェアテストへのマインドマップの利用」
ikedon
0
1k
それって技術の仕事!? 仕様の輻輳問題(SS2023in仙台 FPセッション)
ikedon
0
46
長崎ビジネスDX "SAIZENSEN" 長崎の未来 ~私達の活動の先にあるもの~ ポジショントーク資料
ikedon
0
24
米国修士課程ベストセラーに学ぶ体系的ソフトウェアエンジニアリングの必要性
ikedon
0
46
テスト設計技法、その前に ~フェイスアップ、次にビルドアップ、その先にマインドアップ~
ikedon
0
22
単なる仕様チェックを卒業してテスト技術力を高めていくために ~押さえておきたいキホンのキ~
ikedon
0
46
IV&Vの概要 ~JAXA様発行「IV&Vガイド【虎の巻】」第1~2部の要約~
ikedon
1
470
親子で使おうマインドマップ
ikedon
0
31
3万円で始めるソフトウェアテスト
ikedon
1
120
Other Decks in Technology
See All in Technology
ナレッジワーク IT情報系キャリア研究セッション資料(情報処理学会 第88回全国大会 )
kworkdev
PRO
0
180
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.8k
OCI Security サービス 概要
oracle4engineer
PRO
2
13k
AIエージェント、 社内展開の前に知っておきたいこと
oracle4engineer
PRO
2
120
NewSQL_ ストレージ分離と分散合意を用いたスケーラブルアーキテクチャ
hacomono
PRO
3
310
最強のAIエージェントを諦めたら品質が上がった話 / how quality improved after giving up on the strongest AI agent
kt2mikan
0
170
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
290
VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!
tommy0124
0
200
AI時代のSaaSとETL
shoe116
1
130
AI時代の「本当の」ハイブリッドクラウド — エージェントが実現した、あの頃の夢
ebibibi
0
110
ナレッジワークのご紹介(第88回情報処理学会 )
kworkdev
PRO
0
190
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
180
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
120
Designing Powerful Visuals for Engaging Learning
tmiket
0
270
Information Architects: The Missing Link in Design Systems
soysaucechin
0
830
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
71
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Ethics towards AI in product and experience design
skipperchong
2
220
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
140
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
200
The Language of Interfaces
destraynor
162
26k
Transcript
池田 暁 2012.10.10
OSGi Alliance により標準化 ◦ http://www.osgi.org/ Javaに基づいたオープンのソフトウェア部品化技術 完全な動的モジュールを実現するための技術
(動作を停止させずにモジュールの入れ替えが可能) ネットワークを通じて部品を追加/更新/変更/削除 当初はホームゲートウェイを対象としていたが,現在 はモバイル機器や車載機器などにも範囲拡大 ◦ 最近ではアプリケーションサーバでの採用が目立つ ◦ その他,EclipseもOSGiを採用している
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) 車載機器分野の仕様を策定
OSGiアプリケーションはJavaの知識があればそれほ ど難しくない ◦ 言語(レベル)はJavaが書ければ大丈夫 ◦ 開発環境はEclipse 使えばいいだろう ◦ OSGiはオープン技術であり,その仕様は無料で入手可能
ベンダの商用実装もあるが,最初は以下を使ってもいいだろう Equinox : http://www.eclipse.org/equinox/ Eclipse使うならこれがらくちん Apache Ferix : http://felix.apache.org/
OSGiではモジュールの単位を「バンドル」と呼ぶ ◦ イメージがつきにくい人は,プラグインと思ってもらっても良い 「バンドル」はマニフェストファイル・クラスファイル・リソース ファイルを1つにまとめたもの ◦ OSGi特有の実装としては以下が必要 マニフェストファイルにOSGi特有の属性を設定する
BundleActivatorインターフェイスをクラスに実装する 「バンドル」には個別の設定が可能 ◦ バージョン制限や依存関係が設定 ◦ セキュリティ(アクセス制限)の設定 OSGiアプリはOSGiフレームワーク上で動作 ◦ OSGiはJava VM 上の フレームワークとして動作
サービス(VM)を止めずに機能の追加削除更新が可 能 ◦ ネットワークで簡単に実行できるため,保守も楽 部品化が高度に促進されることで,異なる製品や バージョンでの再利用がすすむ ◦ 生産性などが向上
業界標準であるため,他社製製品への搭載などビジ ネスの幅が広がる ◦ バンドル自体を製品として売ることもできるだろう
Javaであることの難点を引き継いでしまう ◦ 実行速度の問題等 国内ではまだまだ普及しているとまではいえない(と思 う) 参考となる日本語情報がまだまだ少ない
基本実装はOSSでもあるが,バンドル管理や配信シス テムなど高度な管理などは商用のものが必要だろう ◦ バンドルの数が少ないうちは手作業でもいいのだが…
開発環境は「Eclipse + Equinox」を使います 今回はhello world 程度を実装します 以下の動きを見ます
◦ インストール ◦ スタート ◦ ストップ ◦ アップデート ◦ アンインストール
None