SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Spring Dynamic Modules

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

• 拡張性の高さ・容易さが求められる場面で使われて
  います。
• ×Android – OSGiの動作報告アリ
• △ JDKに導入 – モジュール管理システムとして
  →Sunはどうしても自作
OSGiのうれしさ
• VMを停止せずに機能追加・削除・更新ができる
 – 実行中にサービスを入れ替えられる
• 依存するライブラリを極力衝突させない仕組み
 – 実装に依存しないクラスのロード
   • インストールされているコンポーネントで実行時に間に合わせる
 – モジュールごとにクラスローダーの境界を設定できる
   • Public classでも他のコンポーネントからのロードを制限
 – ロードするライブラリのマルチバージョンサポート
   • 同一パッケージで違うバージョンのロードを可能に
OSGiではBundleという単位でモジュールを扱います
コンソール上で機能追加
                                   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の連携
どうやって設定するの?(1)
• 各Bundle(モジュール)のMETA-INF/MANIFEST.MF
どうやって設定するの?(2)
• サービスの登録・読み込み
OSGiのよくしたほうがいいところ
• モジュールをまたぐと基本別世界
 – モジュールをまたいだDI
 – モジュールをまたいだリソースのロード
• 約束事が多い
• この辺りをSpringFrameworkがサポート
Spring Dynamic Modulesのうれしさ

• OSGi環境に導入すると、
  ApplicationContextをサービスとして提供
 – Springの持つAOP/Transaction等の機能を提供
• モジュールの状態によって自動的にBeanを
  登録・削除する
• XML設定でOSGiのお約束をSpring流に
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
Spring Dynamic Modules
• サポートしているプラットフォーム
 – 仕様上R4.0以降のプラットフォーム
 – テストしているプラットフォーム
  • Eclipse Equinox
  • Apache Felix
  • Knopflerfish
• どんな感じに設定するか見てみます
Spring Dynamic Modulesを使うには
            Bundle編
• Bundleに下記の設定を追加
 – OSGi Framework上のApplicationContextに追加


•META-INF/MANIFEST.MFに下記を追記する
               Spring-Context: filepath
     タイムアウトなどの細かい設定が可能
•META-INF/spring/というフォルダを作成し、その
下にxmlを配置する
Spring Dynamic Modulesを使うには
             XML編
• サービスを登録する場合




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

•   非商用目的に限り、本作品(またそれを元にした派生作品)の複製・頒布・表示・上演を認
    めます。

•   本作品のライセンスを遵守する限り、派生作品を頒布することを許可します。
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に公開予定
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を選ぶ
Appendix A. Spring Dynamic Modules
     を使うには(環境構築編 3)




5. Locationにspring-osgi-extensions/eclipseを指
   定 -> Reload ->画面のようにチェックを外しOK
Appendix A. Spring Dynamic Modules
     を使うには(環境構築編 4)
6. 本日のサンプルワークスペースを現在の
   ワークスペースとしてスイッチする
7.         Open Run Dialog



8.             左記を選んで起動
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について書いた記事です。

Más contenido relacionado

La actualidad más candente

Howtousenetboss
HowtousenetbossHowtousenetboss
Howtousenetbosskumee
 
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!devsumi2009
 
Tmp94 C251 Adfg Ja Datasheet 070914
Tmp94 C251 Adfg Ja Datasheet 070914Tmp94 C251 Adfg Ja Datasheet 070914
Tmp94 C251 Adfg Ja Datasheet 070914guesta378c1
 
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Yusuke Kawasaki
 
Developers[Media]Summit 2009
Developers[Media]Summit 2009Developers[Media]Summit 2009
Developers[Media]Summit 2009Akiko Iwakiri
 
イケテルRuby開発環境
イケテルRuby開発環境イケテルRuby開発環境
イケテルRuby開発環境mokada
 
Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)龍一 田中
 
Solutions@ Web Slides (Chinese)
Solutions@ Web Slides (Chinese)Solutions@ Web Slides (Chinese)
Solutions@ Web Slides (Chinese)webbssolutionsasia
 
gfw工作原理及突破技术
gfw工作原理及突破技术gfw工作原理及突破技术
gfw工作原理及突破技术Daniel Cheung
 
FlashDevelop开发流程
FlashDevelop开发流程FlashDevelop开发流程
FlashDevelop开发流程lzyy
 
すまべん関東#1「WindowsMobileでMortscriptを活用しよう!」
すまべん関東#1「WindowsMobileでMortscriptを活用しよう!」すまべん関東#1「WindowsMobileでMortscriptを活用しよう!」
すまべん関東#1「WindowsMobileでMortscriptを活用しよう!」icchu3
 
How to use Virtualization Technology in Hatena
How to use Virtualization Technology in HatenaHow to use Virtualization Technology in Hatena
How to use Virtualization Technology in HatenaShinji Tanaka
 
はてなブックマークのシステムについて
はてなブックマークのシステムについてはてなブックマークのシステムについて
はてなブックマークのシステムについてNaoya Ito
 
Perlで圧縮
Perlで圧縮Perlで圧縮
Perlで圧縮Naoya Ito
 

La actualidad más candente (20)

Howtousenetboss
HowtousenetbossHowtousenetboss
Howtousenetboss
 
Introduction to Android (in tamil)
Introduction to Android (in tamil)Introduction to Android (in tamil)
Introduction to Android (in tamil)
 
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
 
Tmp94 C251 Adfg Ja Datasheet 070914
Tmp94 C251 Adfg Ja Datasheet 070914Tmp94 C251 Adfg Ja Datasheet 070914
Tmp94 C251 Adfg Ja Datasheet 070914
 
090601-dotplot
090601-dotplot090601-dotplot
090601-dotplot
 
16 Ch
16 Ch16 Ch
16 Ch
 
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
 
Developers[Media]Summit 2009
Developers[Media]Summit 2009Developers[Media]Summit 2009
Developers[Media]Summit 2009
 
イケテルRuby開発環境
イケテルRuby開発環境イケテルRuby開発環境
イケテルRuby開発環境
 
Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)
 
EclipSky200712
EclipSky200712EclipSky200712
EclipSky200712
 
Solutions@ Web Slides (Chinese)
Solutions@ Web Slides (Chinese)Solutions@ Web Slides (Chinese)
Solutions@ Web Slides (Chinese)
 
gfw工作原理及突破技术
gfw工作原理及突破技术gfw工作原理及突破技术
gfw工作原理及突破技术
 
FlashDevelop开发流程
FlashDevelop开发流程FlashDevelop开发流程
FlashDevelop开发流程
 
すまべん関東#1「WindowsMobileでMortscriptを活用しよう!」
すまべん関東#1「WindowsMobileでMortscriptを活用しよう!」すまべん関東#1「WindowsMobileでMortscriptを活用しよう!」
すまべん関東#1「WindowsMobileでMortscriptを活用しよう!」
 
How to use Virtualization Technology in Hatena
How to use Virtualization Technology in HatenaHow to use Virtualization Technology in Hatena
How to use Virtualization Technology in Hatena
 
Android JNI
Android JNIAndroid JNI
Android JNI
 
はてなブックマークのシステムについて
はてなブックマークのシステムについてはてなブックマークのシステムについて
はてなブックマークのシステムについて
 
Perlで圧縮
Perlで圧縮Perlで圧縮
Perlで圧縮
 
T2@java-ja#toyama
T2@java-ja#toyamaT2@java-ja#toyama
T2@java-ja#toyama
 

Más de Hiroki Kondo

Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料Hiroki Kondo
 
Coderetreat in KIT 資料/
Coderetreat in KIT 資料/Coderetreat in KIT 資料/
Coderetreat in KIT 資料/Hiroki Kondo
 
Coderetreat in KITスポンサー資料
Coderetreat in KITスポンサー資料Coderetreat in KITスポンサー資料
Coderetreat in KITスポンサー資料Hiroki Kondo
 
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtipsEclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtipsHiroki Kondo
 
分散環境でのTrac
分散環境でのTrac分散環境でのTrac
分散環境でのTracHiroki Kondo
 
分散環境でのTrac
分散環境でのTrac分散環境でのTrac
分散環境でのTracHiroki Kondo
 
10分で出来る!?プラグインライブコーディング
10分で出来る!?プラグインライブコーディング10分で出来る!?プラグインライブコーディング
10分で出来る!?プラグインライブコーディングHiroki Kondo
 
JRubyでカードアプリを作ろう
JRubyでカードアプリを作ろうJRubyでカードアプリを作ろう
JRubyでカードアプリを作ろうHiroki Kondo
 
モジュール指向勉強会-コードリーディングを始める前に-
モジュール指向勉強会-コードリーディングを始める前に-モジュール指向勉強会-コードリーディングを始める前に-
モジュール指向勉強会-コードリーディングを始める前に-Hiroki Kondo
 
Javaにおけるモジュラリティ元年
Javaにおけるモジュラリティ元年Javaにおけるモジュラリティ元年
Javaにおけるモジュラリティ元年Hiroki Kondo
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-Hiroki Kondo
 
業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic ModulesHiroki Kondo
 
Kanban Vs Scrum日本語版
Kanban Vs Scrum日本語版Kanban Vs Scrum日本語版
Kanban Vs Scrum日本語版Hiroki Kondo
 
どこでもTrac Wiki
どこでもTrac WikiどこでもTrac Wiki
どこでもTrac WikiHiroki Kondo
 
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)Hiroki Kondo
 
HELP ME! 説明書
HELP ME! 説明書HELP ME! 説明書
HELP ME! 説明書Hiroki Kondo
 
Rodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜRodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜHiroki Kondo
 
斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)Hiroki Kondo
 

Más de Hiroki Kondo (20)

Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料Coderetreat in KIT 導入資料
Coderetreat in KIT 導入資料
 
Coderetreat in KIT 資料/
Coderetreat in KIT 資料/Coderetreat in KIT 資料/
Coderetreat in KIT 資料/
 
Coderetreat in KITスポンサー資料
Coderetreat in KITスポンサー資料Coderetreat in KITスポンサー資料
Coderetreat in KITスポンサー資料
 
Eclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtipsEclipseデバッガを活用するための31のtips
Eclipseデバッガを活用するための31のtips
 
分散環境でのTrac
分散環境でのTrac分散環境でのTrac
分散環境でのTrac
 
分散環境でのTrac
分散環境でのTrac分散環境でのTrac
分散環境でのTrac
 
10分で出来る!?プラグインライブコーディング
10分で出来る!?プラグインライブコーディング10分で出来る!?プラグインライブコーディング
10分で出来る!?プラグインライブコーディング
 
JRubyでカードアプリを作ろう
JRubyでカードアプリを作ろうJRubyでカードアプリを作ろう
JRubyでカードアプリを作ろう
 
モジュール指向勉強会-コードリーディングを始める前に-
モジュール指向勉強会-コードリーディングを始める前に-モジュール指向勉強会-コードリーディングを始める前に-
モジュール指向勉強会-コードリーディングを始める前に-
 
Javaにおけるモジュラリティ元年
Javaにおけるモジュラリティ元年Javaにおけるモジュラリティ元年
Javaにおけるモジュラリティ元年
 
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
 
なぜ今OSGiか
なぜ今OSGiかなぜ今OSGiか
なぜ今OSGiか
 
業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules業務システムで使うSpring Dynamic Modules
業務システムで使うSpring Dynamic Modules
 
Kanban Vs Scrum日本語版
Kanban Vs Scrum日本語版Kanban Vs Scrum日本語版
Kanban Vs Scrum日本語版
 
どこでもTrac Wiki
どこでもTrac WikiどこでもTrac Wiki
どこでもTrac Wiki
 
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
どこでも Trac Wiki (Moba S Conflicted Copy 2009 07 14)
 
HELP ME! 説明書
HELP ME! 説明書HELP ME! 説明書
HELP ME! 説明書
 
Help Me!
Help Me!Help Me!
Help Me!
 
Rodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜRodから聞いたことを全部話すぜ
Rodから聞いたことを全部話すぜ
 
斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)斜め上行くリッチクライアントの考え方(仮)
斜め上行くリッチクライアントの考え方(仮)
 

Spring Dynamic Modules

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