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
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
900
それって技術の仕事!? 仕様の輻輳問題(SS2023in仙台 FPセッション)
ikedon
0
36
長崎ビジネスDX "SAIZENSEN" 長崎の未来 ~私達の活動の先にあるもの~ ポジショントーク資料
ikedon
0
14
米国修士課程ベストセラーに学ぶ体系的ソフトウェアエンジニアリングの必要性
ikedon
0
30
テスト設計技法、その前に ~フェイスアップ、次にビルドアップ、その先にマインドアップ~
ikedon
0
18
単なる仕様チェックを卒業してテスト技術力を高めていくために ~押さえておきたいキホンのキ~
ikedon
0
41
IV&Vの概要 ~JAXA様発行「IV&Vガイド【虎の巻】」第1~2部の要約~
ikedon
1
450
親子で使おうマインドマップ
ikedon
0
24
3万円で始めるソフトウェアテスト
ikedon
1
120
Other Decks in Technology
See All in Technology
LLMプロダクトの信頼性を上げるには?LLM Observabilityによる、対話型音声AIアプリケーションの安定運用
ivry_presentationmaterials
0
730
もう外には出ない。より快適なフルリモート環境を目指して
mottyzzz
7
2.4k
[2025年10月版] Databricks Data + AI Boot Camp
databricksjapan
1
230
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
Railsの話をしよう
yahonda
0
170
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
110
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.7k
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
430
AI時代の開発を加速する組織づくり - ブログでは書けなかったリアル
hiro8ma
1
160
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
20251007: What happens when multi-agent systems become larger? (CyberAgent, Inc)
ornew
1
510
Kubernetes self-healing of your workload
hwchiu
0
310
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Designing for humans not robots
tammielis
254
26k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Thoughts on Productivity
jonyablonski
70
4.9k
Documentation Writing (for coders)
carmenintech
75
5.1k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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