デブサミ2010 これからのアーキテクチャを見通す

5,071
-1

Published on

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,071
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
232
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

デブサミ2010 これからのアーキテクチャを見通す

  1. 1. グロースエクスパートナーズ株式会社 ビジネスプラットフォーム事業ゼネラルマネージャー チーフアーキテクト 日本Javaユーザーグループ幹事 / 日本Springユーザー会幹事 鈴木雄介 【19-C-1】 これからのアーキテクチャを見通す Developers Summit 2010 1
  2. 2. 自己紹介 鈴木雄介 75年生まれ グロースエクスパートナーズ(株) ビジネスプラットフォーム事業ゼネラルマネージャー/チーフアーキテクト アークランプ ブログ http://www.arclamp.jp JJUG/JSUG幹事 日本Javaユーザー会/日本Sptingユーザー会 97本監修 『ソフトウェアアーキテクトが知るべき97のこと』 Developers Summit 2010 2
  3. 3. これからの アーキテクチャを見通す Developers Summit 2010 3
  4. 4. いま、何が起きているのか? Developers Summit 2010 4
  5. 5. 受注ソフトウェア売上伸び率 30.0 20.0 10.0 10.5% 成熟期 0.0 1% 95 96 97 98 99 00 01 02 03 04 05 06 07 08 09 ▲ 10.0 ▲ 20.0 経済産業省「特定サービス産業動態統計調査」 Developers Summit 2010 5
  6. 6. 派遣受入れ従業者(人日) 30.0 20.0 10.0 8.5% 8.2% 0.0 95 96 97 98 99 00 01 02 03 04 05 06 07 08 09 ▲ 10.0 ▲ 20.0 経済産業省「特定サービス産業動態統計調査」 Developers Summit 2010 6
  7. 7. リーマンショック後 30.0 20.0 10.0 衰退期? -3.0% 0.0 08/1 08/5 08/9 09/1 09/5 09/9 ▲ 10.0 -9.7% ▲ 20.0 Developers Summit 2010 7
  8. 8. http://www.flickr.com/photos/29007475@N08/3218110963/ 労働集約的産業 生産要素のうちの労働と資本の組み合わ せにおいて、労働者一人当たりの設備な ど固定資産額の小さい産業 Developers Summit 2010 8 http://kotobank.jp/word/労働集約的産業
  9. 9. 「クライアントために」 は手工芸。産業としては 原始的なありかた http://www.flickr.com/photos/24443965@N08/3286611736/Developers Summit 2010 http://www.flickr.com/photos/eqqman/76493361/ 9
  10. 10. いま、何が起きているのか? 世界は変わった。 受託開発が産業として衰退期を迎え つつある。市場縮小=人員削減。 Developers Summit 2010 10
  11. 11. これから何が起きるのか Developers Summit 2010 11
  12. 12. 自家発電のための 発電所を運営して 機械を売ろう 電力を売ろう トーマス・エジソン サミュエル・インサル (1847年-1931年) (1859年-1938年) Developers Summit 2010 12
  13. 13. 電力のユーティリティ化は技術がな ければできなかった。しかし、経済 合理性がなければ進まなかった。 ニコラス・G・カー『クラウド化する世界』翔泳社、2008年 http://www.flickr.com/photos/plastique/4021279909/ Developers Summit 2010 13
  14. 14. いかに早く作るか いかに長く使うか Developers Summit 2010 14
  15. 15. いかに長く使うか 運用保守性の向上 変化に素早く対応する 質の良いサービス いかに早く作るか 開発生産性の向上 動くコード 質の良いコード Developers Summit 2010 15 http://www.flickr.com/photos/emciek/2683598052/
  16. 16. 「Force.comの開発効率はJavaや.NETの5倍」 開発生産性が5倍(=早く作れる)ではない。 長く使える、と理解すべき ・必要な分だけ作る ・開発/本番環境の準備が必要ない ・サービスの管理が容易 ・ユーザー数の変化にはすぐに対応可能 Force.comの開発効率はJavaや.NETの5倍――Nucleus調査 http://www.itmedia.co.jp/enterprise/articles/0905/18/news087.html Developers Summit 2010 16
  17. 17. ただし制約がある データ転送量/速度 専用言語/専用ツール/専用API セキュリティ Developers Summit 2010 http://www.flickr.com/photos/greendragonflygirl/3387375487/ 17
  18. 18.  クラウドに移行しない理由  セキュリティの懸念:46%  制御できないこと :39%  コスト :36%  既存インフラ投資 :32%  性能懸念 :31%  レガシーシステムおよび統合懸念:26% Cloud Computing Adoption Survey Results Released http://www.thehostingnews.com/cloud-computing-adoption-survey-results-released-12517.html Developers Summit 2010 18
  19. 19. 何かを得れば、何かを失う。そして 何ものをも失わずに次のものを手に 入れることはできない。 - 開高健 Developers Summit 2010 19
  20. 20. これから何が起きるのか 開発の現場に産業革命がおきる。 新たな価値感は新たなアーキテク チャによってもたらされる。当然、 失うものもある。 Developers Summit 2010 20
  21. 21. これからの アーキテクチャを見通す Developers Summit 2010 21
  22. 22. いかに長く使うか 運用保守性の向上 変化に素早く対応する 質の良いサービス Developers Summit 2010 22
  23. 23. 本当に我々は 変化に 適応できるのか? Developers Summit 2010 23
  24. 24. オブジェクト指向 Developers Summit 2010 24
  25. 25. ソフトウェアの基本構造 変化しない”モノ” 構造 構造 構造 要素 要素 要素 変化する”コト” サービス/機能 サービス/機能 サービス/機能 Developers Summit 2010 25
  26. 26. 散乱ともつれ合い 散乱:複数のクラスを横断するような変更 もつれ合い:ユースケースに共通のクラスへの変更 責務 クラスA クラスB クラスC ユースケースA ユースケースB もつれ合い 散乱 (tangled) (scattered) Developers Summit 2010 26
  27. 27. DI(依存性の注入) 利点 ・構造要素間の関係を外出しできる ただし、 ・インターフェースの変更に対応でき ない ・依存性が複雑になると管理が煩雑に なる Developers Summit 2010 27
  28. 28. アスペクト指向 利点 ・クラスを変更せずに後から処理を追 加できる ・クラスに横断する関心事を扱える ただし、 ・アスペクト間の依存に影響を受ける ・クラスの変更に影響を受ける Developers Summit 2010 28
  29. 29. オブジェクト指向の限界 ・予見できる変化にしか最適に変化で きない ・柔軟性を上げるには複雑にするしか ない(DI、アスペクト…) ・人の経験や認識力に強く依存する 萩原正義『アーキテクトの審美眼』翔泳社、2009年 Developers Summit 2010 29
  30. 30. アジャイルプロセス Developers Summit 2010 30
  31. 31. デザインパターンからXPへ パターンの適用対象を設計からプロセスへ 構造:変化しにくく、長く残る プロセス:変化しやすく、後に残らない 江渡浩一郎『パターン、Wiki、XP ―― 時を超えた創造の原則』 2009 Developers Summit 2010 31
  32. 32. 動的平衡には エネルギーが必要 http://www.flickr.com/photos/ralphunden/3380101930/ Developers Summit 2010 32
  33. 33. アジャイルの限界 ・変化しやすいが維持しにくい ・スケールしない(教育が必要) ・人の経験や能力に非常に強く依存す る Developers Summit 2010 33
  34. 34. 結論: 変化に適応する のは難しい Developers Summit 2010 34
  35. 35. オブジェクト指向と アジャイルプロセスは 優れた手法だが、 それだけでは足りない Developers Summit 2010 35
  36. 36. これからの アーキテクチャ Developers Summit 2010 36
  37. 37. 構造の不変性を利用し、 変化の影響を管理する。 →モジュール 変化の方向を管理する。 →プラットフォーム Developers Summit 2010 37
  38. 38. モジュール 変化の影響を管理する Developers Summit 2010 38 http://www.flickr.com/photos/rltherichman/4241350513/
  39. 39. モジュールとは 実装の追加情報をメタデータとして 持ち、内部の実装方法を隠蔽する。 (コンポーネント) 追加情報の例: バージョン、呼び出しの事前/事後 条件、呼び出しのポリシー定義、依 存性など Developers Summit 2010 39
  40. 40. OSGi Java用のモジュール管理基盤。 モジュール=バンドル 採用プロダクト ・Eclipse ・アプリケーションサーバ ・Spring DM/iPOJO… Developers Summit 2010 40
  41. 41. A.jar Foo ただの アーカイブ Bar ファイル Hoge Developers Summit 2010 41
  42. 42. Aバンドル Foo バージョン 〒 ベンダー Bar 公開 依存 Hoge Developers Summit 2010 42
  43. 43. A バージョンを利用した クラスロード解決 a.Foo 1.0 1.0 a.Foo OSGi a.Foo 1.1 [1.3.0,2.0.0] 1.1 a.Foo 2.0 2.0 Developers Summit 2010 43
  44. 44. モジュールの可能性 ・これまでの開発手法は流用可能 ・より”疎”を実現。部分単位の入れ替 えを可能に ・SOAはモジュールの一形態とし て捉えられる ・時間軸上での再利用が可能 ・変化の影響を管理できる Developers Summit 2010 44
  45. 45. プラットフォーム 変化の方向を管理する http://www.flickr.com/photos/saturnism/195649679/ Developers Summit 2010 45
  46. 46. プラットフォームとは 狭義:アプリケーションソフトを動 作させる際の基盤(OS、ミ ドルウェア) 広義:ソーシャルグラフ上でコミュ ニケーションをするための基 盤 Developers Summit 2010 46
  47. 47. エンタープライズ ソーシャルアプリケーション ソーシャルグラフを前提に、ユー ザー同士がコミュニケーションを行 うためのアプリケーション。 のエンタープライズ適用 Developers Summit 2010 47
  48. 48. 横断的プラットフォーム A B C ベース的プラットフォーム Developers Summit 2010 48
  49. 49. ガジェット/ウィジット ベース的プラットフォームの例。 特定のプラットフォームを前提とし た埋め込み式のものが増えている Developers Summit 2010 49
  50. 50. 覇権抗争中 Facebook アプリ mixiアプリ OpenSocial(Google) Googleガジェット W3C Widgets OpenAjax Metadata/iWidget Developers Summit 2010 50
  51. 51. Chatter by SFDC 横断的プラットフォームの例。 すべてのデータが喋り出す。 データ(ネタ)を中心としたコミュ ニケーションなので時間軸の中で流 れていくが、論点がブレない。 Developers Summit 2010 51
  52. 52. デブサミ2008講演より ナレッジマネジメント(KM)の変遷 … 文書共有を中心と したグループウェアなどの第1世代ナレッジマネジメントを 「Document Centric KM」、第2世代であるQ&Aコミュ ニティーやソーシャルネットワーキングサービス(SNS) など情報を持っている人を中心としたものを「Human Centric KM」 … 動画共有サイトのニコニコ動画や初音ミ クをはじめとしたVOCALOIDシリーズの製品などがネット 上で流行している現象をKMの第3世代「Neta Centric KM」ではないかと仮説をたてる。 吉川日出行氏 http://japan.cnet.com/news/media/story/0,2000056023,20367358,00.htm 『ニコニコ動画から見える第3世代のナレッジマネジメント論--「コト」「人」の次は「ネタ」』 Developers Summit 2010 52
  53. 53. プラットフォームの可能性 ・既存システムは流用可能。価値向上 ・横断的機能を緩やかに分離可能 ・時間軸上での再利用が可能 ・変化の方向を管理できる Developers Summit 2010 53
  54. 54. プロセスと アーキテクチャは 補完的である Developers Summit 2010 54
  55. 55. http://www.flickr.com/photos/seandreilinger/1247300270/ アジャイルとアーキテクチャの補完関係 Agile Architecture Developers Summit 2010 55
  56. 56. その他のトピックス 並列化(GPGPU) スレート端末(Android) ソリューション型OSS(BI,オンライン会議…) 空間情報システム(a.k.a GIS) Developers Summit 2010 56
  57. 57. 何かを得れば、何かを失う。そして 何ものをも失わずに次のものを手に 入れることはできない。 - 開高健 Developers Summit 2010 57
  58. 58. あなたはどこにいますか? http://www.flickr.com/photos/dingo_x/3721358864/ Developers Summit 2010 58
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×