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
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
1
100
NaITE勉強会 Vol38 AIとひとりで働く 勉強会拡張版
ikedon
0
11
AIとひとりで働く 〜今後に向けた,わたしの現在地とみんなの論点〜
ikedon
0
15
JaSST'24 Kyushu 基調講演 「一周まわって考えるソフトウェアテストへのマインドマップの利用」
ikedon
0
1.1k
それって技術の仕事!? 仕様の輻輳問題(SS2023in仙台 FPセッション)
ikedon
0
65
長崎ビジネスDX "SAIZENSEN" 長崎の未来 ~私達の活動の先にあるもの~ ポジショントーク資料
ikedon
0
38
米国修士課程ベストセラーに学ぶ体系的ソフトウェアエンジニアリングの必要性
ikedon
0
67
テスト設計技法、その前に ~フェイスアップ、次にビルドアップ、その先にマインドアップ~
ikedon
0
37
単なる仕様チェックを卒業してテスト技術力を高めていくために ~押さえておきたいキホンのキ~
ikedon
0
68
Other Decks in Technology
See All in Technology
Digital Credentials API × OpenID4VP ブラウザ完結型本人確認の実装知見(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
360
AI駆動開発をチームに根付かせる - 「1行も書かない」チームがHarnessを育てた1年 -
kenichirokimura
6
3.4k
Distributed Transactions Under Fire: Building a Zero-Oversell Flash Sale Platform with Amazon Aurora DSQL
yama3133
1
110
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
54k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
470
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
11
9.1k
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
0
220
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
4
2.1k
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
15
14k
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
5
1.1k
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
1000⼈規模のClaude Enterprise運⽤を「Oktaのグループ」と「Slack」に集約する
sansantech
PRO
1
520
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.7k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
360
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
220
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Between Models and Reality
mayunak
4
410
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
490
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Designing Experiences People Love
moore
143
24k
Speed Design
sergeychernyshev
33
2k
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