Suche senden
Hochladen
DevLOVE 20100823 EnterpriseOSGi
•
Als PPTX, PDF herunterladen
•
1 gefällt mir
•
708 views
Nobuhiro Sue
Folgen
2010/8/23 DevLOVE モジュール指向勉強会の資料です
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 18
Jetzt herunterladen
Empfohlen
『POStudy(プロダクトオーナーシップ勉強会)のご紹介』第32回 すくすくスクラム
『POStudy(プロダクトオーナーシップ勉強会)のご紹介』第32回 すくすくスクラム
満徳 関
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
Kameko Ohmura
YouTubeのSEOは再生回数から視聴時間と視聴者維持率へ
YouTubeのSEOは再生回数から視聴時間と視聴者維持率へ
新潟コンサルタント横田秀珠
プログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのか
Haruo Sato
BPStudy#116(PyQ開発秘話)
BPStudy#116(PyQ開発秘話)
Haruo Sato
ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法
Yuko Fujiyama
匠メソッドを導入したらサイトのサクセスが10倍になった話〜connpassの事例その他
匠メソッドを導入したらサイトのサクセスが10倍になった話〜connpassの事例その他
Haruo Sato
Azure PipelinesをサーバサイドのCI/CDに活用
Azure PipelinesをサーバサイドのCI/CDに活用
Shinya Nakajima
Empfohlen
『POStudy(プロダクトオーナーシップ勉強会)のご紹介』第32回 すくすくスクラム
『POStudy(プロダクトオーナーシップ勉強会)のご紹介』第32回 すくすくスクラム
満徳 関
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
Kameko Ohmura
YouTubeのSEOは再生回数から視聴時間と視聴者維持率へ
YouTubeのSEOは再生回数から視聴時間と視聴者維持率へ
新潟コンサルタント横田秀珠
プログラミングを学ぶと何が良いのか
プログラミングを学ぶと何が良いのか
Haruo Sato
BPStudy#116(PyQ開発秘話)
BPStudy#116(PyQ開発秘話)
Haruo Sato
ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法
Yuko Fujiyama
匠メソッドを導入したらサイトのサクセスが10倍になった話〜connpassの事例その他
匠メソッドを導入したらサイトのサクセスが10倍になった話〜connpassの事例その他
Haruo Sato
Azure PipelinesをサーバサイドのCI/CDに活用
Azure PipelinesをサーバサイドのCI/CDに活用
Shinya Nakajima
PlayFabとCognitiveを連携させて健全なゲーム運営を
PlayFabとCognitiveを連携させて健全なゲーム運営を
Shinya Nakajima
Ride on Azure! 詳細編
Ride on Azure! 詳細編
Keiji Kamebuchi
NVIDIAのエンジニア向けコミュニティ活動&CUDA最新情報
NVIDIAのエンジニア向けコミュニティ活動&CUDA最新情報
NVIDIA Japan
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
Shinya Nakajima
Astahプラグイン開発勉強会
Astahプラグイン開発勉強会
Kinji Akemine
Python開発環境構築ハンズオンセミナー
Python開発環境構築ハンズオンセミナー
地球人
Visual Studio App CenterにmBaaS機能が増えてきた
Visual Studio App CenterにmBaaS機能が増えてきた
Shinya Nakajima
GGJ登録マニュアル
GGJ登録マニュアル
IGDA JAPAN
SPC(20110120)
SPC(20110120)
真 岡本
Human talk pres
Human talk pres
Pierrick BOITEL
山雨欲来的中国电子商务
山雨欲来的中国电子商务
coderjoy
山雨欲来的中国电子商务
山雨欲来的中国电子商务
coderjoy
Secret de l_oignon1
Secret de l_oignon1
Serge Monteil
节能减排仍存 钢坯价格回暖
节能减排仍存 钢坯价格回暖
coderjoy
G*workshop 20101209 OSGi and Grails2.0
G*workshop 20101209 OSGi and Grails2.0
Nobuhiro Sue
G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)
Nobuhiro Sue
山雨欲来的中国电子商务
山雨欲来的中国电子商务
coderjoy
C nyffenegger 2012 portfolio 16x9 format
C nyffenegger 2012 portfolio 16x9 format
Carol Nyffenegger
2012 KUDOs cmn ppt
2012 KUDOs cmn ppt
Carol Nyffenegger
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
Nobuhiro Sue
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
Nobuhiro Sue
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427
Nobuhiro Sue
Weitere ähnliche Inhalte
Was ist angesagt?
PlayFabとCognitiveを連携させて健全なゲーム運営を
PlayFabとCognitiveを連携させて健全なゲーム運営を
Shinya Nakajima
Ride on Azure! 詳細編
Ride on Azure! 詳細編
Keiji Kamebuchi
NVIDIAのエンジニア向けコミュニティ活動&CUDA最新情報
NVIDIAのエンジニア向けコミュニティ活動&CUDA最新情報
NVIDIA Japan
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
Shinya Nakajima
Astahプラグイン開発勉強会
Astahプラグイン開発勉強会
Kinji Akemine
Python開発環境構築ハンズオンセミナー
Python開発環境構築ハンズオンセミナー
地球人
Visual Studio App CenterにmBaaS機能が増えてきた
Visual Studio App CenterにmBaaS機能が増えてきた
Shinya Nakajima
GGJ登録マニュアル
GGJ登録マニュアル
IGDA JAPAN
SPC(20110120)
SPC(20110120)
真 岡本
Was ist angesagt?
(9)
PlayFabとCognitiveを連携させて健全なゲーム運営を
PlayFabとCognitiveを連携させて健全なゲーム運営を
Ride on Azure! 詳細編
Ride on Azure! 詳細編
NVIDIAのエンジニア向けコミュニティ活動&CUDA最新情報
NVIDIAのエンジニア向けコミュニティ活動&CUDA最新情報
GitHub ActionsでiOSのCIを実現しよう
GitHub ActionsでiOSのCIを実現しよう
Astahプラグイン開発勉強会
Astahプラグイン開発勉強会
Python開発環境構築ハンズオンセミナー
Python開発環境構築ハンズオンセミナー
Visual Studio App CenterにmBaaS機能が増えてきた
Visual Studio App CenterにmBaaS機能が増えてきた
GGJ登録マニュアル
GGJ登録マニュアル
SPC(20110120)
SPC(20110120)
Andere mochten auch
Human talk pres
Human talk pres
Pierrick BOITEL
山雨欲来的中国电子商务
山雨欲来的中国电子商务
coderjoy
山雨欲来的中国电子商务
山雨欲来的中国电子商务
coderjoy
Secret de l_oignon1
Secret de l_oignon1
Serge Monteil
节能减排仍存 钢坯价格回暖
节能减排仍存 钢坯价格回暖
coderjoy
G*workshop 20101209 OSGi and Grails2.0
G*workshop 20101209 OSGi and Grails2.0
Nobuhiro Sue
G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)
Nobuhiro Sue
山雨欲来的中国电子商务
山雨欲来的中国电子商务
coderjoy
C nyffenegger 2012 portfolio 16x9 format
C nyffenegger 2012 portfolio 16x9 format
Carol Nyffenegger
2012 KUDOs cmn ppt
2012 KUDOs cmn ppt
Carol Nyffenegger
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
Nobuhiro Sue
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
Nobuhiro Sue
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427
Nobuhiro Sue
Gws 20131018 vertx_handson(updated)
Gws 20131018 vertx_handson(updated)
Nobuhiro Sue
Application Les Restos du Coeur sur l'Apple Watch - Recommandation Stratégique
Application Les Restos du Coeur sur l'Apple Watch - Recommandation Stratégique
Damla Yilmaz
Cartilages et membranes du larynx
Cartilages et membranes du larynx
Abdoulaye DJIBO
Printemps Digital Recommandation
Printemps Digital Recommandation
Damla Yilmaz
Start it up, le Guide à la création d'une entreprise
Start it up, le Guide à la création d'une entreprise
Jeune Pousse d'Assas
OSGi Applications(Open Alpha) for WAS7.0
OSGi Applications(Open Alpha) for WAS7.0
Nobuhiro Sue
进口矿市场将小幅上涨 分阶段性调整
进口矿市场将小幅上涨 分阶段性调整
coderjoy
Andere mochten auch
(20)
Human talk pres
Human talk pres
山雨欲来的中国电子商务
山雨欲来的中国电子商务
山雨欲来的中国电子商务
山雨欲来的中国电子商务
Secret de l_oignon1
Secret de l_oignon1
节能减排仍存 钢坯价格回暖
节能减排仍存 钢坯价格回暖
G*workshop 20101209 OSGi and Grails2.0
G*workshop 20101209 OSGi and Grails2.0
G*workshop sendai 20100424(v2)
G*workshop sendai 20100424(v2)
山雨欲来的中国电子商务
山雨欲来的中国电子商务
C nyffenegger 2012 portfolio 16x9 format
C nyffenegger 2012 portfolio 16x9 format
2012 KUDOs cmn ppt
2012 KUDOs cmn ppt
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
JJUG CCC 2011 Fall / Web test automation with Geb and Spock
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427
Gws 20131018 vertx_handson(updated)
Gws 20131018 vertx_handson(updated)
Application Les Restos du Coeur sur l'Apple Watch - Recommandation Stratégique
Application Les Restos du Coeur sur l'Apple Watch - Recommandation Stratégique
Cartilages et membranes du larynx
Cartilages et membranes du larynx
Printemps Digital Recommandation
Printemps Digital Recommandation
Start it up, le Guide à la création d'une entreprise
Start it up, le Guide à la création d'une entreprise
OSGi Applications(Open Alpha) for WAS7.0
OSGi Applications(Open Alpha) for WAS7.0
进口矿市场将小幅上涨 分阶段性调整
进口矿市场将小幅上涨 分阶段性调整
Ähnlich wie DevLOVE 20100823 EnterpriseOSGi
勉強会勉強会
勉強会勉強会
Naoki Takahashi
DevSummit2011JGGUG OpenJam: Groovy
DevSummit2011JGGUG OpenJam: Groovy
Nobuhiro Sue
Letsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous Delivery
Nobuhiro Sue
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
DevLOVE甲子園「成功と失敗の狭間に横たわる2つのマネジメント」_yohhatu
DevLOVE甲子園「成功と失敗の狭間に横たわる2つのマネジメント」_yohhatu
Yoh Nakamura
XPagesDay2013 【B-4】 Dojo 徹底解剖! ~ XPages で Dojo を有効活用するには ~
XPagesDay2013 【B-4】 Dojo 徹底解剖! ~ XPages で Dojo を有効活用するには ~
Atsushi Ono
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Shuji Watanabe
SCUGJ第22回勉強会:オンプレのL2 NetworkをAzureに延伸? Azure Extended Network
SCUGJ第22回勉強会:オンプレのL2 NetworkをAzureに延伸? Azure Extended Network
wind06106
第34回Office 365勉強会 : Microsoftサポート活用術 ~ Microsoft Azureを中心に ~
第34回Office 365勉強会 : Microsoftサポート活用術 ~ Microsoft Azureを中心に ~
Genki WATANABE
Ansible study1
Ansible study1
Hideki Saito
ごった煮じゃNight!vol.1
ごった煮じゃNight!vol.1
Satoshi Furuichi
Creators'night#3今井
Creators'night#3今井
Daisuke Imai
CV勉強会CVPR2019読み会: Video Action Transformer Network
CV勉強会CVPR2019読み会: Video Action Transformer Network
Toshiki Sakai
SCUGJ第24回勉強会:Azureネットワークアダプターってなに?
SCUGJ第24回勉強会:Azureネットワークアダプターってなに?
wind06106
Letsgo sendai nobusue_20110528
Letsgo sendai nobusue_20110528
Nobuhiro Sue
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - Introduction
Kazuchika Sekiya
神戸電子専門学校 業界セミナー 20170422
神戸電子専門学校 業界セミナー 20170422
Aya Tokura
DevLOVE関西「勉強会勉強会」
DevLOVE関西「勉強会勉強会」
Yoh Nakamura
60分でわかった気になるMicrosoft Azure
60分でわかった気になるMicrosoft Azure
Kazumi Hirose
じっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープ
Kazuhiro Serizawa
Ähnlich wie DevLOVE 20100823 EnterpriseOSGi
(20)
勉強会勉強会
勉強会勉強会
DevSummit2011JGGUG OpenJam: Groovy
DevSummit2011JGGUG OpenJam: Groovy
Letsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous Delivery
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
DevLOVE甲子園「成功と失敗の狭間に横たわる2つのマネジメント」_yohhatu
DevLOVE甲子園「成功と失敗の狭間に横たわる2つのマネジメント」_yohhatu
XPagesDay2013 【B-4】 Dojo 徹底解剖! ~ XPages で Dojo を有効活用するには ~
XPagesDay2013 【B-4】 Dojo 徹底解剖! ~ XPages で Dojo を有効活用するには ~
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
SCUGJ第22回勉強会:オンプレのL2 NetworkをAzureに延伸? Azure Extended Network
SCUGJ第22回勉強会:オンプレのL2 NetworkをAzureに延伸? Azure Extended Network
第34回Office 365勉強会 : Microsoftサポート活用術 ~ Microsoft Azureを中心に ~
第34回Office 365勉強会 : Microsoftサポート活用術 ~ Microsoft Azureを中心に ~
Ansible study1
Ansible study1
ごった煮じゃNight!vol.1
ごった煮じゃNight!vol.1
Creators'night#3今井
Creators'night#3今井
CV勉強会CVPR2019読み会: Video Action Transformer Network
CV勉強会CVPR2019読み会: Video Action Transformer Network
SCUGJ第24回勉強会:Azureネットワークアダプターってなに?
SCUGJ第24回勉強会:Azureネットワークアダプターってなに?
Letsgo sendai nobusue_20110528
Letsgo sendai nobusue_20110528
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - Introduction
神戸電子専門学校 業界セミナー 20170422
神戸電子専門学校 業界セミナー 20170422
DevLOVE関西「勉強会勉強会」
DevLOVE関西「勉強会勉強会」
60分でわかった気になるMicrosoft Azure
60分でわかった気になるMicrosoft Azure
じっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープ
Mehr von Nobuhiro Sue
Fuse Online Hands-on Guide
Fuse Online Hands-on Guide
Nobuhiro Sue
Fuse Online Hands-on Guide
Fuse Online Hands-on Guide
Nobuhiro Sue
Knative CloudEvents
Knative CloudEvents
Nobuhiro Sue
JTF2018_B30_k8s_operator_nobusue
JTF2018_B30_k8s_operator_nobusue
Nobuhiro Sue
DevLove k8s nobusue 20180711
DevLove k8s nobusue 20180711
Nobuhiro Sue
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocp
Nobuhiro Sue
Light and shadow of microservices
Light and shadow of microservices
Nobuhiro Sue
Gws 20141024 gradle_intro
Gws 20141024 gradle_intro
Nobuhiro Sue
Jjug 20140430 gradle_intro
Jjug 20140430 gradle_intro
Nobuhiro Sue
Gws 20140418 camel_groovy
Gws 20140418 camel_groovy
Nobuhiro Sue
20140329_kyon_kao_wedding_LT_Groovy
20140329_kyon_kao_wedding_LT_Groovy
Nobuhiro Sue
Gws 20140117 lt
Gws 20140117 lt
Nobuhiro Sue
Groovy base gradle_20130309
Groovy base gradle_20130309
Nobuhiro Sue
クラウド研究会 20120712 BaaS
クラウド研究会 20120712 BaaS
Nobuhiro Sue
Gws 20120521 gradle
Gws 20120521 gradle
Nobuhiro Sue
Html5勉強会 20120423
Html5勉強会 20120423
Nobuhiro Sue
Groovy indy 20120222
Groovy indy 20120222
Nobuhiro Sue
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+Betamax
Nobuhiro Sue
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nobuhiro Sue
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC
Nobuhiro Sue
Mehr von Nobuhiro Sue
(20)
Fuse Online Hands-on Guide
Fuse Online Hands-on Guide
Fuse Online Hands-on Guide
Fuse Online Hands-on Guide
Knative CloudEvents
Knative CloudEvents
JTF2018_B30_k8s_operator_nobusue
JTF2018_B30_k8s_operator_nobusue
DevLove k8s nobusue 20180711
DevLove k8s nobusue 20180711
JSUG20171027-spfingboot-k8s-ocp
JSUG20171027-spfingboot-k8s-ocp
Light and shadow of microservices
Light and shadow of microservices
Gws 20141024 gradle_intro
Gws 20141024 gradle_intro
Jjug 20140430 gradle_intro
Jjug 20140430 gradle_intro
Gws 20140418 camel_groovy
Gws 20140418 camel_groovy
20140329_kyon_kao_wedding_LT_Groovy
20140329_kyon_kao_wedding_LT_Groovy
Gws 20140117 lt
Gws 20140117 lt
Groovy base gradle_20130309
Groovy base gradle_20130309
クラウド研究会 20120712 BaaS
クラウド研究会 20120712 BaaS
Gws 20120521 gradle
Gws 20120521 gradle
Html5勉強会 20120423
Html5勉強会 20120423
Groovy indy 20120222
Groovy indy 20120222
G*workshop 2011/11/22 Geb+Betamax
G*workshop 2011/11/22 Geb+Betamax
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC
Kürzlich hochgeladen
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
sugiuralab
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
sugiuralab
Kürzlich hochgeladen
(8)
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
DevLOVE 20100823 EnterpriseOSGi
1.
DevLOVE: モジュール指向勉強会エンタープライズOSGi 2010/8/23
須江 信洋(@nobusue) ※この資料は2010/8/23時点での公開情報に基づいて記載されています。 また、資料の内容は個人としての見解を述べたものであり、 所属する企業・組織が内容を保証するものではありません。
2.
自己紹介 氏名: 須江
信洋(すえ のぶひろ) 所属: 日本IBM ソフトウェア事業 仕事: JavaEE関連のプリセールス お世話になっているコミュニティ JJUG, JGGUG, JSUG その他 http://twitter.com/nobusue Groovyと猫が好きです
3.
menu なぜ今OSGiか? OSGi概要
エンタープライズOSGi
4.
なぜ今OSGi? Answer: Javaはモジュール指向プラットフォームじゃないから
5.
モジュール指向を実現するには モジュール境界が定義できること 外部に公開するインターフェース
モジュールに閉じたリソース 物理的なパッケージングの仕様 モジュール間の依存性管理が可能であること 依存先モジュールの明示 モジュールのバージョン管理 依存関係の解決 モジュールのライフサイクル管理が可能であること インストール/アンインストール 開始/停止 ライフサイクルイベントへの対応
6.
Javaの現状 モジュール境界が定義できること クラスやメソッドの可視性だけでは制御が難しい
publicではクラスローダー全体に公開されてしまう そもそも、Javaのクラスはモジュールとしては細かすぎ JARはモジュールとしては不十分 単に複数のクラスやリソースをまとめる機能のみ ロードされた後はクラスと同じ扱い モジュール間の依存性管理が可能であること 静的な依存関係はコンパイルしてみないと分からない 実行時の依存関係は実行してみないと分からない バージョン管理機能はない モジュールのライフサイクル管理が可能であること ロードしたクラスはアンロードできない ライフサイクルという概念はない(ロードされたら直ちに有効となる)
7.
7 OSGiの歴史 1999年:「Open
Service Gateway Initiative」が設立 当初は家庭や小規模オフィス向けのゲートウェイ装置で動作するサービスプログラムの実行基盤 2003年:名称を「OSGi Alliance」に変更 対象を車載機器やモバイル端末、エンタープライズシステムに拡大 2003年:Eclipse 3.0が プラグイン管理システムとしてOSGi仕様を採用 Javaの世界での知名度が一気に向上 2010年:OSGi R4.2の一部としてEnterprise Specification公開 JavaEE環境でOSGiを活用するための拡張仕様 Spring Framework由来のDIコンテナ機能も標準化
8.
8 OSGiの提供する機能 実行環境が依存関係を管理
同一モジュールの異なるバージョンが存在してもOK JVMを起動したままモジュールの入れ替えが可能 Moduleレイヤー 依存関係の解決 複数バージョンの管理 Life Cycleレイヤー モジュールの動的ロード Serviceレイヤー Securityレイヤー
9.
9 OSGiにおけるモジュール「Bundle」 JarのマニフェストファイルにMetadataを記述
Manifest-Version: 1.0 Bundle-SymbolicName: com.ibm.jp.myapp Bundle-Name: My Application Bundle Bundle-Vendor: IBM Japan Bundle-Version: 2.0.0 Import-Package: com.ibm.jp.mylib1.ui;version="[1.2.0,1.3.0)", com.ibm.jp.mylib1.util;version="[1.2.0,1.3.0)" Export-Package: com.ibm.jp.myapp;version="2.0.0" Bundle-RequiredExecutionEnvironment: J2SE-1.5Bundle-Activator:com.ibm.jp.myapp.MyAppActivator バンドルはOSGi Framework実装が管理する「Repository」に登録され その管理下でロード・実行される
10.
10 バージョン管理 Import
Export com.foo.bar com.foo.bar 1.4.5 [1.2.0, 1.4.0) com.foo.bar com.foo.bar 1.3.12 [1.4.0, 1.5.0)
11.
11 ライフサイクル管理 packagecom.ibm.jp.myapp;importorg.osgi.framework.BundleActivator;importorg.osgi.framework.BundleContext;publicclassMyAppActivatorimplementsBundleActivator
{publicvoid start(BundleContext context) throws Exception {System.out.println("Bundle is starting."); }publicvoid stop(BundleContext context) throws Exception {System.out.println("Bundle is stopping."); }}
12.
OSGi R4.2 Enterprise
Spec OSGi Alliance Enterprise Expert Group(EEG)によって定められたEnterprise向けの仕様 http://www.infoq.com/news/2010/03/osgi-enterprise-42-released 以下が規定されている アプリケーションのアセンブリ・フォーマットの拡張 JavaEEコンテナ・サービスとの統合 宣言的なDI仕様(Blueprint)
13.
デプロイメント・モデル OSGi Bundle(.jar)
OSGimetadata OSGi Bundle(.jar) OSGi Bundle(.jar) Enterprise Bundle App (.eba) Web App Bundle(.war) BusinessLevelApplication ContextPath Enterprise Bundle App(.eba) VirtualHost Enterprise Bundle App(.eba)
14.
Bundleの入れ替え:WASの例 14 バージョンを指定して保存
⇒アプリケーション再起動で反映
15.
Blueprintと宣言的サービス あるBundleが提供するサービスを、Client(他のBundle)から動的に参照 JNDIサービスにより、OSGiのサービスレジストリにJNDI経由でアクセス可能
[OSGI-INF/blueprint/xxx.xml] <blueprint xmlns:tx="http://www.ibm.com/appserver/schemas/8.0/blueprint/transactions" xmlns:jpa="http://www.ibm.com/xmlns/ibm-blueprint-jpa/v1.0.0"> <bean id="blabberImpl" class="com.ibm.ws.eba.example.blabber.persistence.BlabberImpl"> <jpa:context property="entityManager" unitname="blabber" /> <tx:transaction method="*" value="Required"/> </bean> <service id="blabberService" ref="blabberImpl" interface="com.ibm.ws.eba.example.blabber.persistence.spi.BlabberUserInterface" /> </blueprint> OSGi Bundle(.jar) InitialContextic = new InitialContext(); return (BlabberUserInterface) ic.lookup("osgi:service/" + BlabberUserInterface.class.getName()); Client
16.
OSGiの利点(1) 設計モデルと実行モデルの一致 実行モデル(Java)
flat classloader B.jar A.jar 設計モデル B.jar A.jar C.jar 実行モデル(OSGi) C.jar classloader by bundle B.jar A.jar C.jar
17.
OSGiの利点(2) 依存関係のトレーサビリティ A.jar
モジュールを入れ替える際に影響のあるモジュールが機械的に特定できる B.jar C.jar D.jar E.jar F.jar G.jar
18.
18 参考資料 OSGi
R4.2 Specs http://www.osgi.org/Download/Release4V42 Introduction to OSGi by Neil Bartlett http://www.slideshare.net/njbartlett/introduction-to-osgi-tokyo-jug "Enterprise OSGi in Action"(Manning) http://www.manning.com/alves/ PDF(MEAP版)が購入可能 エンタープライズOSGi入門: 第1回 OSGi概要と実行環境の導入 http://www.ibm.com/developerworks/jp/websphere/library/was/was7_fep_osgi/1.html
Jetzt herunterladen