SlideShare uma empresa Scribd logo
1 de 84
成長できるエンタープライズシステムを目指して OSGi によるモジュール型アーキテクチャの実現 近藤寛喜 株式会社チェンジビジョン 開発部 19-C-3
 
自己紹介
[ 宣伝 / お仕事 ]astah* ブースへお立ち寄りください ,[object Object],3/31 まで動く特別評価版進呈中 お手元のチラシをご覧ください
アジェンダ ,[object Object],[object Object],[object Object],[object Object],[object Object]
一 . システムを持続的に  成長させるには?
システムはそもそも複雑なもの http://www.flickr.com/photos/adc/411821495/
複雑なシステムを わかりやすく構築するには どうしたらよいですか?
複雑なシステムを構成するには 複雑性を 軽減する仕組み が必要
オブジェクト指向も、構造化設計も 複雑性を軽減させる仕組み http://www.flickr.com/photos/procsilas/392877509/
[object Object],高い成長性を維持
Eclipse の成長の要因の一つは、 モジュール型アーキテクチャ にある
モジュール型アーキテクチャ http://www.flickr.com/photos/37hz/1247083341/
スモールイズビューティフル http://www.flickr.com/photos/mdpettitt/2665598298/
スモールイズビューティフル ,[object Object],[object Object],[object Object],[object Object],[object Object]
普通の Java だったら・・・ http://www.flickr.com/photos/morberg/3146874095/
Q.JAR で モジュールシステムを構成 できないの?
A. できないことはないです。 でもモジュールとして維持するのが大変。
Java のクラスロードモデル ブート クラスローダ A B C D E F G 拡張 クラスローダ アプリケーションクラスローダ JAR 依存
つまり・・・ ,[object Object],[object Object],[object Object],[object Object]
JAR は 依存する JAR の情報 を持っていません
アプリケーション クラスローダの中 http://www.flickr.com/photos/shareski/3481154470/
APP クラスローダでは 変更した時の影響範囲 が分かりません
再利用の二つの軸 時間軸 空間軸 ( 機能 : ライブラリ等 )
成長するシステム とは 時間軸での再利用 ができるシステムの事
新しい要件 に対応する度に システムを全部更新 をしますよね?
規模が大きく なるにつれ、どうなっていきますか?
システムを全部更新 する= 影響が分からないので 全テスト
ごちゃごちゃのシステム http://www.flickr.com/photos/joiseyshowaa/2402764792/
見通しよく整理する http://www.flickr.com/photos/cheltenham/4100341188/
システムを分割 し、影響範囲を限定するため 独立 させたい
依存情報があれば 、依存情報から テスト範囲を限定できます
どうやって? http://www.flickr.com/photos/oddwick/1765661986/
[object Object],プロジェクト間の独立性と 依存関係の整理がキー
まとめ: 複雑なシステム-> 小さく ・ 独立 ・ 組み合わせ
モジュール型システムの問題 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],宮本武蔵・五輪書より 武器や流派にこだわるな 使うべき場所を 見誤らないように
二 .OSGi とは?
OSGi とは ,[object Object],[object Object],[object Object],[object Object]
OSGi とは ,[object Object]
増える OSGi の利用例 ,[object Object],[object Object]
どんなところで有効なの? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OSGi の 3 大要素 モジュールシステム サービス連携 動的 ( Dynamic ) http://www.flickr.com/photos/yourdon/2921734152/
OSGi の 3 大要素 モジュールシステム サービス連携 動的 (Dynamic) http://www.flickr.com/photos/yourdon/2921734152/
OSGi を使って モジュールシステムを構築すると、 クラスローダの関係はこうなります。
OSGi のクラスロードモデル System A B C D E F ,[object Object],[object Object],G
利点 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Bundle =  JAR  +  メタデータ 今まで通りの環境でも使える
欠点 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],System A B C D E F G
OSGi のメタデータの 書き方一例 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
OSGi メタデータの 一例
メタデータがあるので・・・ ,[object Object],[object Object],[object Object],[object Object]
依存の定義方法 ,[object Object],[object Object],[object Object],[object Object],[object Object]
バージョン (1) 定義方法 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
バージョン (2) 範囲指定 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
バージョンの異なる JAR への依存 ,[object Object],[object Object],先に宣言された JAR で解決 app a Ext Boot b c a2
バージョンの異なる Bundle への依存 ,[object Object],宣言された Bundle で解決 app a Ext Boot b c a2 System
OSGi の 3 大要素 モジュールシステム 動的 (Dynamic) サービス連携 http://www.flickr.com/photos/yourdon/2921734152/
Declartive Service ( サービスの宣言 : 利用側 ) ,[object Object]
Declartive Service ( サービスの宣言:提供側 ) ,[object Object]
Declartive Service ( サービスの宣言 ) ,[object Object],[object Object],[object Object],[object Object]
Declarative Service ( サービスの宣言 ) ,[object Object],[object Object],[object Object],[object Object],[object Object]
OSGi の 3 大要素 モジュールシステム サービス連携 動的 (Dynamic) http://www.flickr.com/photos/yourdon/2921734152/
Dynamic ,[object Object],[object Object],[object Object],[object Object]
四 .Bundle 設計の六つの勘どころ
Bundle 設計の勘どころ 一 . 大きくしすぎない ,[object Object],[object Object],[object Object],[object Object]
Bundle 設計の勘どころ 二 . 登録サービスを限定 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Bundle 設計の勘どころ 三 . 役割を明確に ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bundle 設計の勘どころ 四 . 公開パッケージを限定する ,[object Object],[object Object],[object Object],[object Object],非公開パッケージ名の規約として、パッケージ名を ” *.internal.*” と明示
Bundle 設計の勘どころ 五 .Bundle= 独立したシステム ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bundle 設計の勘どころ 六 .Bundle をまたいだ継承、静的参照は × ,[object Object],[object Object],[object Object],[object Object],[object Object]
Bundle 設計の勘どころ まとめ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],小さい 独立
まとめ: 複雑なシステム-> 小さく ・ 独立 ・ 組み合わせ
四 . デモ
こんぴろ書店 ( デブサミ支店 ) ,[object Object],[object Object],[object Object],動的に切り替えます。 Bundle が 独立している事を実感してください。 ( 開発環境 :Spring DM(1.2.1)+Maven) http://github.com/kompiro/osgi-demo-bookstore.git
初期構成 System books books mock web. admin web books. domain 依存 サービス 提供
一 .mock から impl に System books books mock web. admin web books. domain 依存 サービス 提供 books impl books 2
二 .mock と impl を共存 ( システムの一部が旧バージョン ) System books books mock web. admin web books. domain 依存 サービス 提供 books impl books 2
五 .OSGi がもたらす未来
Polyglot( 多言語 )OSGi System A B C JRuby Scala Groovy G
必要なサービスを必要な時に ,[object Object]
参考文献
本日盛り込まなかった内容 ,[object Object],[object Object],[object Object],[object Object]
まとめ: 複雑なシステム-> 小さく ・ 独立 ・ 組み合わせ
 

Mais conteúdo relacionado

Mais procurados

Azure 10 周年の節目に見直したい、azure インフラのちょっと大事な話
Azure 10 周年の節目に見直したい、azure インフラのちょっと大事な話Azure 10 周年の節目に見直したい、azure インフラのちょっと大事な話
Azure 10 周年の節目に見直したい、azure インフラのちょっと大事な話ShuheiUda
 
SCUGJ第14回勉強会:Shielded VMってなに?
SCUGJ第14回勉強会:Shielded VMってなに?SCUGJ第14回勉強会:Shielded VMってなに?
SCUGJ第14回勉強会:Shielded VMってなに?wind06106
 
ownCloud概要説明
ownCloud概要説明ownCloud概要説明
ownCloud概要説明Tetsurou Yano
 
そうだ、ECL2.0でホステッドプライベート・クラウドをつくろう!
そうだ、ECL2.0でホステッドプライベート・クラウドをつくろう!そうだ、ECL2.0でホステッドプライベート・クラウドをつくろう!
そうだ、ECL2.0でホステッドプライベート・クラウドをつくろう!ミランティスジャパン株式会社
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成Takashi Kanai
 
第2回JAZUG総会 LT - FreeBSD on Azure
第2回JAZUG総会 LT - FreeBSD on Azure第2回JAZUG総会 LT - FreeBSD on Azure
第2回JAZUG総会 LT - FreeBSD on AzureKeiji Kamebuchi
 
開発者のための最新グループポリシー活用講座
開発者のための最新グループポリシー活用講座開発者のための最新グループポリシー活用講座
開発者のための最新グループポリシー活用講座junichi anno
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドTakashi Kanai
 
Openstack abstract2
Openstack abstract2Openstack abstract2
Openstack abstract2Ayumi Oka
 
Azure vm の可用性を見直そう
Azure vm の可用性を見直そうAzure vm の可用性を見直そう
Azure vm の可用性を見直そうShuheiUda
 
OpenStack開発のいろはの「い」
OpenStack開発のいろはの「い」OpenStack開発のいろはの「い」
OpenStack開発のいろはの「い」VirtualTech Japan Inc.
 
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WANInterop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WANShuheiUda
 
データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例
データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例
データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例NHN テコラス株式会社
 
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計ShuheiUda
 
Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計Tech Summit 2016
 
OSC2013.Cloud@Osaka
OSC2013.Cloud@OsakaOSC2013.Cloud@Osaka
OSC2013.Cloud@OsakaHideki Saito
 
5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方Yuki Takahashi
 
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)irix_jp
 
Windows Azure Pack 監視入門
Windows Azure Pack 監視入門Windows Azure Pack 監視入門
Windows Azure Pack 監視入門Norio Sashizaki
 

Mais procurados (20)

Azure 10 周年の節目に見直したい、azure インフラのちょっと大事な話
Azure 10 周年の節目に見直したい、azure インフラのちょっと大事な話Azure 10 周年の節目に見直したい、azure インフラのちょっと大事な話
Azure 10 周年の節目に見直したい、azure インフラのちょっと大事な話
 
SCUGJ第14回勉強会:Shielded VMってなに?
SCUGJ第14回勉強会:Shielded VMってなに?SCUGJ第14回勉強会:Shielded VMってなに?
SCUGJ第14回勉強会:Shielded VMってなに?
 
ownCloud概要説明
ownCloud概要説明ownCloud概要説明
ownCloud概要説明
 
Fuelを利用したOpenStack簡単セットアップ
Fuelを利用したOpenStack簡単セットアップFuelを利用したOpenStack簡単セットアップ
Fuelを利用したOpenStack簡単セットアップ
 
そうだ、ECL2.0でホステッドプライベート・クラウドをつくろう!
そうだ、ECL2.0でホステッドプライベート・クラウドをつくろう!そうだ、ECL2.0でホステッドプライベート・クラウドをつくろう!
そうだ、ECL2.0でホステッドプライベート・クラウドをつくろう!
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
 
第2回JAZUG総会 LT - FreeBSD on Azure
第2回JAZUG総会 LT - FreeBSD on Azure第2回JAZUG総会 LT - FreeBSD on Azure
第2回JAZUG総会 LT - FreeBSD on Azure
 
開発者のための最新グループポリシー活用講座
開発者のための最新グループポリシー活用講座開発者のための最新グループポリシー活用講座
開発者のための最新グループポリシー活用講座
 
App controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウドApp controllerとwindows azure packで作る大規模プライベートクラウド
App controllerとwindows azure packで作る大規模プライベートクラウド
 
Openstack abstract2
Openstack abstract2Openstack abstract2
Openstack abstract2
 
Azure vm の可用性を見直そう
Azure vm の可用性を見直そうAzure vm の可用性を見直そう
Azure vm の可用性を見直そう
 
OpenStack開発のいろはの「い」
OpenStack開発のいろはの「い」OpenStack開発のいろはの「い」
OpenStack開発のいろはの「い」
 
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WANInterop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
Interop Tokyo 2021 - ShowNet を陰で支えた Azure Virtual WAN
 
データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例
データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例
データホテル・フルマネージドホスティング サービスを支えるOSSと、活用事例
 
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
サポート エンジニアが語る、トラブルを未然に防ぐための Azure インフラ設計
 
Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計Dep005 azure ネットワーク設計
Dep005 azure ネットワーク設計
 
OSC2013.Cloud@Osaka
OSC2013.Cloud@OsakaOSC2013.Cloud@Osaka
OSC2013.Cloud@Osaka
 
5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方5分でわかる!ownCloudアドオンの作り方
5分でわかる!ownCloudアドオンの作り方
 
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
 
Windows Azure Pack 監視入門
Windows Azure Pack 監視入門Windows Azure Pack 監視入門
Windows Azure Pack 監視入門
 

Semelhante a 成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-

成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-Hiroki Kondo
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCIYosuke Mizutani
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれMasataka MIZUNO
 
サービスリリースから安定軌道に乗せるまでに行った開発施策
サービスリリースから安定軌道に乗せるまでに行った開発施策サービスリリースから安定軌道に乗せるまでに行った開発施策
サービスリリースから安定軌道に乗せるまでに行った開発施策Keiichi Hagiwara
 
【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5幸夫 茅根
 
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageViewTitanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView濱田 章吾
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナーKazuko Itoda
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradlekimukou_26 Kimukou
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!Minoru Naito
 
CodePipeline入門
CodePipeline入門CodePipeline入門
CodePipeline入門ryota koyama
 
How to walk_on_windows_azure_platform
How to walk_on_windows_azure_platformHow to walk_on_windows_azure_platform
How to walk_on_windows_azure_platformYoshida Yuri
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版Minoru Naito
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料Shinichiro Isago
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料guest628c07
 
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューションオープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューションTetsurou Yano
 
20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回Keiji Kamebuchi
 

Semelhante a 成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現- (20)

成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
 
はじめての CircleCI
はじめての CircleCIはじめての CircleCI
はじめての CircleCI
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
サービスリリースから安定軌道に乗せるまでに行った開発施策
サービスリリースから安定軌道に乗せるまでに行った開発施策サービスリリースから安定軌道に乗せるまでに行った開発施策
サービスリリースから安定軌道に乗せるまでに行った開発施策
 
【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5
 
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageViewTitanium もくもく会第6回 Kii Cloud と TiGPUImageView
Titanium もくもく会第6回 Kii Cloud と TiGPUImageView
 
20130203 oss-db-lpi
20130203 oss-db-lpi20130203 oss-db-lpi
20130203 oss-db-lpi
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradle
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!
 
CodePipeline入門
CodePipeline入門CodePipeline入門
CodePipeline入門
 
How to walk_on_windows_azure_platform
How to walk_on_windows_azure_platformHow to walk_on_windows_azure_platform
How to walk_on_windows_azure_platform
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
Azure Network 概要
Azure Network 概要Azure Network 概要
Azure Network 概要
 
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューションオープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
 
20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回20150704 MS Azure最新 - innovation egg 第4回
20150704 MS Azure最新 - innovation egg 第4回
 

成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-

Notas do Editor

  1. システムをいくつかのモジュールに分割 モジュールを組み合わせてシステムを構築 -> 「 Modularity 」 モジュール毎に独自に発展が可能 -> インタフェースに互換があれば OK -> モジュールごとにパフォーマンス改善 構成要素によって、振る舞いを変えられる
  2. 前の話とつながりが悪い . サービスの連携 ( 宣言敵に )
  3. 前の話とつながりが悪い . サービスの連携 ( 宣言敵に )
  4. 前の話とつながりが悪い . サービスの連携 ( 宣言敵に )
  5. Declartive Service とは、 Bundle からシステムに対し、どういうサービスが必要なのか、はたまたどういうサービスを提供できるのか、宣言するというものです。ピンと来た方も大勢いらっしゃるとおもいますが、この考え方は DI 、依存性を注入する、というところに非常に近いものと言えるでしょう。言い換えると、 Bundle がどういうサービスに依存していて、どういうサービスが提供できるのか、を宣言するわけです。 依存するサービスはインタフェースでの宣言、実装は POJO というあたりも DI と同じです。 Di との違いは、あくまで DI は静的な条件で行われるもので、起動時に構築された県連性は、変更できませんが、 Declartive Service では、宣言も含め動的に変更できます。インタフェースに基づく開発
  6. Declartive Service とは、 Bundle からシステムに対し、どういうサービスが必要なのか、はたまたどういうサービスを提供できるのか、宣言するというものです。ピンと来た方も大勢いらっしゃるとおもいますが、この考え方は DI 、依存性を注入する、というところに非常に近いものと言えるでしょう。言い換えると、 Bundle がどういうサービスに依存していて、どういうサービスが提供できるのか、を宣言するわけです。 依存するサービスはインタフェースでの宣言、実装は POJO というあたりも DI と同じです。 Di との違いは、あくまで DI は静的な条件で行われるもので、起動時に構築された県連性は、変更できませんが、 Declartive Service では、宣言も含め動的に変更できます。インタフェースに基づく開発
  7. 前の話とつながりが悪い . サービスの連携 ( 宣言敵に )
  8. バージョンをあげると、動かなくなる例