Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Spring Dynamic Modules

       近藤 寛喜
自己紹介させてください
• お仕事
  – Eclipse RCPプログラマ
• EclipsePlugin開発勉強会(GoogleGroup)
• OSGiについて書かせていただきました。
  – 「今日のいいのかこんな記事」として取り上げら...
Spring Dynamic Modulesって?
• 以前はSpring-OSGi
 – プロジェクト名はOSGi Allianceからの承認待ち
• 導入したときのうれしさ
 – 動的にApplicationContextの保持するBean...
アジェンダ
• そもそもOSGiってなんなのさ
• Spring Dynamic Modulesの設定方法
• 簡単なデモ
ざんねんなおしらせ
• Spring Dynamic Modules は2.5リリースに
  は含まれてません(現在RC1リリース)
• 動作は非常に良好と言いたかったんですが、
  うまく行きませんでした。Orz
• 環境の問題だと思われます...
OSGiってなに?
• Open Service Gateway Initiativeの略
  – 家電などの機器間でサービスを提供するための
    インターフェース仕様を規定
• 現在R4.1が公開されています
• 仕様なので、実装はいくつ...
OSGiってどこで使われてる?
• Eclipse Platform
• 携帯電話/PDA(Nokia)
• APサーバーでも
  – Websphere
  – JBoss(JBoss-OSGi)

• 拡張性の高さ・容易さが求められる場面で...
OSGiのうれしさ
• VMを停止せずに機能追加・削除・更新ができる
 – 実行中にサービスを入れ替えられる
• 依存するライブラリを極力衝突させない仕組み
 – 実装に依存しないクラスのロード
   • インストールされているコンポーネントで...
コンソール上で機能追加
                                   State (active)

• install                          State (RESOLVE)


   – B...
どうやって設定するの?(1)
• 各Bundle(モジュール)のMETA-INF/MANIFEST.MF
どうやって設定するの?(2)
• サービスの登録・読み込み
OSGiのよくしたほうがいいところ
• モジュールをまたぐと基本別世界
 – モジュールをまたいだDI
 – モジュールをまたいだリソースのロード
• 約束事が多い
• この辺りをSpringFrameworkがサポート
Spring Dynamic Modulesのうれしさ

• OSGi環境に導入すると、
  ApplicationContextをサービスとして提供
 – Springの持つAOP/Transaction等の機能を提供
• モジュールの状態に...
SpringDynamicModulesを使うと?
                                                              Bean
                             ...
Spring Dynamic Modules
• サポートしているプラットフォーム
 – 仕様上R4.0以降のプラットフォーム
 – テストしているプラットフォーム
  • Eclipse Equinox
  • Apache Felix
  ...
Spring Dynamic Modulesを使うには
            Bundle編
• Bundleに下記の設定を追加
 – OSGi Framework上のApplicationContextに追加


•META-INF/MAN...
Spring Dynamic Modulesを使うには
             XML編
• サービスを登録する場合




• サービスを利用する場合
デモ
• ApplicationContextが提供するBeanの変更
 – XMLの修正で動的に書き換わる例
 – Bundleの起動・停止で入れ替わる例
• ApplicationContextへBeanを追加する例
 – Bundleのイ...
質問/Question
ご清聴ありがとうございました。
ライセンスについて
•   JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを
    元にした派生作品)の複製・頒布・表示・上演を認めます。

•   非商用目的に限り、本作品(またそれを元にした派生作品...
Appendix A. Spring Dynamic Modules
     を使うには(環境構築編 1)
• 用意するもの
 – Eclipse 3.3.1.1 for Plugin/RCP Developper
 – spring-osg...
Appendix A. Spring Dynamic Modules
     を使うには(環境構築編 2)
1. 次の構造でフォルダを作成




2. spring-osgi-extensions/eclipse/pluginsの下に
  ...
Appendix A. Spring Dynamic Modules
     を使うには(環境構築編 3)




5. Locationにspring-osgi-extensions/eclipseを指
   定 -> Reload ->画...
Appendix A. Spring Dynamic Modules
     を使うには(環境構築編 4)
6. 本日のサンプルワークスペースを現在の
   ワークスペースとしてスイッチする
7.         Open Run Dialo...
Appendix B. 文献
• Spring Dynamic Modules Document
  – http://static.springframework.org/osgi/docs/current/ref
    erence/ht...
Upcoming SlideShare
Loading in …5
×

Spring Dynamic Modules

4,201 views

Published on

JSUG第7回「初冬の勉強会」で発表した資料です。

Published in: Technology
  • Dating direct: ❶❶❶ http://bit.ly/2ZDZFYj ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ❤❤❤ http://bit.ly/2ZDZFYj ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • It's genuinely changed my life. I have been sleeping in the spare room for 4 months - and let's just say my sex life had become pretty boring! My wife and I were becoming strangers living in the same house. Thanks to your strategies, I am now back in our bed and the closeness and intimacy have returned. Thank you so much for taking the time to put all this together. It has genuinely changed my life. ▲▲▲ http://ishbv.com/snoringno/pdf
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Spring Dynamic Modules

  1. 1. Spring Dynamic Modules 近藤 寛喜
  2. 2. 自己紹介させてください • お仕事 – Eclipse RCPプログラマ • EclipsePlugin開発勉強会(GoogleGroup) • OSGiについて書かせていただきました。 – 「今日のいいのかこんな記事」として取り上げられ ました。 • http://www.javainthebox.net/blog/2007/08/blog- post_05.html • OSGiがJDKに入るかどうかを問題視
  3. 3. Spring Dynamic Modulesって? • 以前はSpring-OSGi – プロジェクト名はOSGi Allianceからの承認待ち • 導入したときのうれしさ – 動的にApplicationContextの保持するBeanを入 れ替えられる – JARの依存性地獄から抜けられます
  4. 4. アジェンダ • そもそもOSGiってなんなのさ • Spring Dynamic Modulesの設定方法 • 簡単なデモ
  5. 5. ざんねんなおしらせ • Spring Dynamic Modules は2.5リリースに は含まれてません(現在RC1リリース) • 動作は非常に良好と言いたかったんですが、 うまく行きませんでした。Orz • 環境の問題だと思われます。 • それでもデモしていいですか?
  6. 6. OSGiってなに? • Open Service Gateway Initiativeの略 – 家電などの機器間でサービスを提供するための インターフェース仕様を規定 • 現在R4.1が公開されています • 仕様なので、実装はいくつかあります – 一部ではJava Operating Systemだと言う声も
  7. 7. OSGiってどこで使われてる? • Eclipse Platform • 携帯電話/PDA(Nokia) • APサーバーでも – Websphere – JBoss(JBoss-OSGi) • 拡張性の高さ・容易さが求められる場面で使われて います。 • ×Android – OSGiの動作報告アリ • △ JDKに導入 – モジュール管理システムとして →Sunはどうしても自作
  8. 8. OSGiのうれしさ • VMを停止せずに機能追加・削除・更新ができる – 実行中にサービスを入れ替えられる • 依存するライブラリを極力衝突させない仕組み – 実装に依存しないクラスのロード • インストールされているコンポーネントで実行時に間に合わせる – モジュールごとにクラスローダーの境界を設定できる • Public classでも他のコンポーネントからのロードを制限 – ロードするライブラリのマルチバージョンサポート • 同一パッケージで違うバージョンのロードを可能に OSGiではBundleという単位でモジュールを扱います
  9. 9. コンソール上で機能追加 State (active) • install State (RESOLVE) – Bundleをインストール System Bundle bundle M • start – Bundleを活性化 Bundle • stop D-v2 X – Bundleを停止 • uninstall Bundle B – Bundleを削除 Bundle Bundle A C OSGiによるBundleの連携
  10. 10. どうやって設定するの?(1) • 各Bundle(モジュール)のMETA-INF/MANIFEST.MF
  11. 11. どうやって設定するの?(2) • サービスの登録・読み込み
  12. 12. OSGiのよくしたほうがいいところ • モジュールをまたぐと基本別世界 – モジュールをまたいだDI – モジュールをまたいだリソースのロード • 約束事が多い • この辺りをSpringFrameworkがサポート
  13. 13. Spring Dynamic Modulesのうれしさ • OSGi環境に導入すると、 ApplicationContextをサービスとして提供 – Springの持つAOP/Transaction等の機能を提供 • モジュールの状態によって自動的にBeanを 登録・削除する • XML設定でOSGiのお約束をSpring流に
  14. 14. SpringDynamicModulesを使うと? Bean State (active) • install State (RESOLVE) – Bundleをインストール System Bundle bundle M • start – Bundleを活性化 Bundle Spring • stop extender X – Bundleを停止 • uninstall Bundle B – Bundleを削除 Bundle Bundle A C Spring Dynamic Modules 導入後のOSGi
  15. 15. Spring Dynamic Modules • サポートしているプラットフォーム – 仕様上R4.0以降のプラットフォーム – テストしているプラットフォーム • Eclipse Equinox • Apache Felix • Knopflerfish • どんな感じに設定するか見てみます
  16. 16. Spring Dynamic Modulesを使うには Bundle編 • Bundleに下記の設定を追加 – OSGi Framework上のApplicationContextに追加 •META-INF/MANIFEST.MFに下記を追記する Spring-Context: filepath タイムアウトなどの細かい設定が可能 •META-INF/spring/というフォルダを作成し、その 下にxmlを配置する
  17. 17. Spring Dynamic Modulesを使うには XML編 • サービスを登録する場合 • サービスを利用する場合
  18. 18. デモ • ApplicationContextが提供するBeanの変更 – XMLの修正で動的に書き換わる例 – Bundleの起動・停止で入れ替わる例 • ApplicationContextへBeanを追加する例 – BundleのインストールでBeanを追加 • 残念/失敗しちゃいます
  19. 19. 質問/Question
  20. 20. ご清聴ありがとうございました。
  21. 21. ライセンスについて • JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを 元にした派生作品)の複製・頒布・表示・上演を認めます。 • 非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認 めます。 • 本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。
  22. 22. Appendix A. Spring Dynamic Modules を使うには(環境構築編 1) • 用意するもの – Eclipse 3.3.1.1 for Plugin/RCP Developper – spring-osgi-1.0-rc1-with-dependencies – 本日のサンプルワークスペース • spring-osgi-workspace.zipとしてJSUGの GoogleGroupに公開予定
  23. 23. Appendix A. Spring Dynamic Modules を使うには(環境構築編 2) 1. 次の構造でフォルダを作成 2. spring-osgi-extensions/eclipse/pluginsの下に SpringDynamicModules/のdist、lib以下のものを コピーする 3. Eclipseを起動し、Window->Prefrencesを開く 4. Plug-in Development -> Target Platformを選ぶ
  24. 24. Appendix A. Spring Dynamic Modules を使うには(環境構築編 3) 5. Locationにspring-osgi-extensions/eclipseを指 定 -> Reload ->画面のようにチェックを外しOK
  25. 25. Appendix A. Spring Dynamic Modules を使うには(環境構築編 4) 6. 本日のサンプルワークスペースを現在の ワークスペースとしてスイッチする 7. Open Run Dialog 8. 左記を選んで起動
  26. 26. Appendix B. 文献 • Spring Dynamic Modules Document – http://static.springframework.org/osgi/docs/current/ref erence/html/ – 設定方法が一通りかかれています • OSGi Tutorial – http://www.aqute.biz/OSGi/Tutorial – OSGiの使い方が一通りかかれています • 先取りJava7(自著) – http://www.thinkit.co.jp/free/article/0708/9/2/ – OSGiについて書いた記事です。

×