Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OSGi概要
Search
Akira Ikeda(池田 暁)
October 10, 2012
Technology
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OSGi概要
勉強会のために作った概要資料。
Akira Ikeda(池田 暁)
October 10, 2012
More Decks by Akira Ikeda(池田 暁)
See All by Akira Ikeda(池田 暁)
体系を学び、プロセスを測る_一般公開版
ikedon
0
10
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
400
NaITE勉強会 Vol38 AIとひとりで働く 勉強会拡張版
ikedon
0
19
AIとひとりで働く 〜今後に向けた,わたしの現在地とみんなの論点〜
ikedon
0
110
JaSST'24 Kyushu 基調講演 「一周まわって考えるソフトウェアテストへのマインドマップの利用」
ikedon
0
1.2k
それって技術の仕事!? 仕様の輻輳問題(SS2023in仙台 FPセッション)
ikedon
0
75
マインドマップについて知る
ikedon
0
15
長崎ビジネスDX "SAIZENSEN" 長崎の未来 ~私達の活動の先にあるもの~ ポジショントーク資料
ikedon
0
55
米国修士課程ベストセラーに学ぶ体系的ソフトウェアエンジニアリングの必要性
ikedon
0
84
Other Decks in Technology
See All in Technology
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
230
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
140
アカウント統制の健康診断
kenichinakamura
1
110
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
220
What Is JetBrains Air
x5gtrn
PRO
0
140
~最速でビジネスインパクトを創出する~ Sansanのデータ基盤と活用事例
sansantech
PRO
0
110
DBについての基礎説明(MySQL編) - コロプラ 2026年度 新卒研修
colopl
0
160
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
「エーアイ」をバズワードにしないために RPA 導入経験と Kiro 上での Claude モデル利用経験から
kazzpapa3
0
110
「私が一番顧客に詳しい」を捨てる~ 全員が一次情報に精通する開発チームをつくり、PMが次のボトルネックへ染み出すまで
kaminashi
3
1.2k
顧客価値を追いかけたら、プライシングにたどり着いた
sansantech
PRO
2
390
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Deep Space Network (abreviated)
tonyrice
0
380
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
Building an army of robots
kneath
307
47k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Navigating Weather and Climate Data
rabernat
0
560
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Navigating Team Friction
lara
192
16k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
590
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Raft: Consensus for Rubyists
vanstee
142
7.8k
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