Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Spring frameworkが大好きなおはなし

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Java EE 再入門
Java EE 再入門
Wird geladen in …3
×

Hier ansehen

1 von 28 Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie Spring frameworkが大好きなおはなし (20)

Anzeige

Aktuellste (20)

Spring frameworkが大好きなおはなし

  1. 1. Spring Framework が大好きなおはなし Future Architect 木佐貫 智
  2. 2. 本日お伝えしたいこと  Framework war is Over !?  SpringはOracle 公認 !?  Spring Frameworkはすごく楽しい  カジュアルに旬のテクノロジーを採用できる 2イントロダクション(1/3)
  3. 3. Java Frameworkのおさらい フレームワーク 開発元 特徴 Spring Framework Pivotal (DELL/VMWare 傘下) Spring MVC, DI/AOP, RESTful, トランザクション マネジメント、メッセージング 他のOSSとの連携に優れている Java EE Oracle Webアプリケーションを開発するためのライブラリ、 フレームワーク、アプリケーションサーバの仕様の策定 Play Framework Zengularity (フランスの会社) ステートレス・アーキテクチャ(サーバに情報を持たない) Reactive Stream Struts Apache Foundation 2008年に開発終了 Viewとロジックの分離に成功したフレームワーク XMLにバリデーション、URLマッピングを行う 3イントロダクション(2/3)
  4. 4. Spring Project の紹介 4 プロジェクト名 特徴 Spring Framework Spring MVC, DI/AOP, RESTful, トランザクション マネジメント、メッセージング 他のOSSとの連携に優れている Spring Boot よりカジュアルにWebアプリケーションを作成できるようにするためのフレームワーク 設定ファイルをXMLではなく、コードで書けるようにしている Spring Security 認証・認可を行うための巨大なサーブレット・フィルター セキュリティを担保するための機能も充実(CSRF対策・XSS対策) Spring Cloud AWS Amazonのサービス(SQS・ElastiCache・S3)をSpring Wayで記述できるように したライブラリ群 Spring Cloud Netflix マイクロサービスを実現するためには、複数のデザインパターンを用いる必要があるが、 デザインパターンの適応が即座にできるようにしたライブラリ群 Spring Data Gemfire インメモリデータグリッド(Pivotal GemFire)を扱うためのライブラリ群 Spring Integration Enterprise Integration Patternsを適応したフレームワーク プロトコル変換、フィルター、変換、Publish/Subscribe Spring AMQP RabbitMQを扱うためのライブラリ Spring XD リアルタイム解析、バッチ処理、データ収集をシンプルにするためのアプリケーション イントロダクション(3/3)
  5. 5. なぜ、季節の名前なの? 5Framework war is Over !? (1/10)
  6. 6. 冬のJ2EE 時代(1999~2006) ~フレームワーク戦争の原点 ~ 6Framework war is Over !? (2/10)
  7. 7. フレームワーク戦争に春が訪れた? 7Framework war is Over !? (3/10)
  8. 8. フレームワーク戦争に春が訪れた? 8 Oracle Framework war is Over !? (4/10)
  9. 9. フレームワーク戦争に春が訪れた? 9 Oracle Duke Framework war is Over !? (5/10)
  10. 10. フレームワーク戦争に春が訪れた? 10 Oracle Duke Spring Boot !! Framework war is Over !? (6/10)
  11. 11. フレームワーク戦争の勝利者は!? 11 The fact that Spring has essentially won the framework wars Java Magazine 英語版 Framework war is Over !? (7/10)
  12. 12. フレームワーク戦争の勝利者は!? 12 Java Magazine 日本語 Spring が大人気のサード・パーティ・ フレームワークとして頭角を・・・ Framework war is Over !? (8/10)
  13. 13. Google先生に聞いてみた 13Framework war is Over !? (9/10)
  14. 14. 諸説あるようです 14Framework war is Over !? (10/10)
  15. 15. Java EE リリースは遅い ~Java SEリリースの2年遅れ~ 15 出典:初めてのJava EE 6──第1回 Java EEとは、 どのようなフレームワークか?(ZDNet) Java SE7 2011年3月 Java SE6 2006年12月 J2SE 5.0 2004年9月 J2SE 1.4 2002年2月 J2SE 1.3 2002年2月 J2SE 1.2 1998年12月 J2SE 1.1 1997年2月 Spring Framework は楽しい・筋が良い技術(1/11)
  16. 16. Java EE リリースは遅い ~Java SEリリースの2年遅れ~ 16 出典:初めてのJava EE 6──第1回 Java EEとは、 どのようなフレームワークか?(ZDNet) Java SE7 2011年3月 Java SE6 2006年12月 J2SE 5.0 2004年9月 J2SE 1.4 2002年2月 J2SE 1.3 2002年2月 J2SE 1.2 1998年12月 J2SE 1.1 1997年2月 Java SE8 2014年3月 Java EE8 2016 4Q? 使ってみたい技術 はあるけど、リリー スされない・・・ 2,3年前に規格さ れた技術は忘れ る・・・ 何年も前にSpring で実装済み・・・ MVC1.0 & HTTP/2 Spring Framework は楽しい・筋が良い技術(2/11)
  17. 17. Spring は Java9 Ready Java SEと同じリリースタイミング 17 Spring JIRA Java9 Spring Framework は楽しい・筋が良い技術(3/11)
  18. 18. 18 Java9 Q4 2016 Q4 2016 Spring JIRA Spring Framework は楽しい・筋が良い技術(4/11) Spring は Java9 Ready Java SEと同じリリースタイミング
  19. 19. 19 Java9 Q4 2016 Q4 2016 開発遅延で・・・ Q1 2017 Spring JIRA Spring Framework は楽しい・筋が良い技術(5/11) Spring は Java9 Ready Java SEより早くリリース!???? フライング リリース!?? ( OpenJDK利用? )
  20. 20. SpringをJava EEが標準仕様として認める ~ 筋の良い技術は生き残る ~ Java EE Spring FrameworkとJava EEの関係 バージョン 機能 リリース Java EE 8 MVC1.0 4Q 2016 Spring MVCを標準化した仕様 Spring MVC 3.1 は 1Q 2012 リリース Java EE 7 jBatch 2Q 2013 Spring Batchを標準化した仕様 Spring Batch 2.1 は 2010 リリース Java EE 6 DI/AOP 2Q 2009 Spring DI/AOP, Google Guiceを標準化し た仕様 DI/AOPは、2005年ごろ 20Spring Framework は楽しい・筋が良い技術(6/11)
  21. 21. エンタープライズITを構築するための 豊富なプロジェクト 21 プロジェクト名 特徴 Spring Framework Spring MVC, DI/AOP, RESTful, トランザクション マネジメント、メッセージング 他のOSSとの連携に優れている Spring Boot よりカジュアルにWebアプリケーションを作成できるようにするためのフレームワーク 設定ファイルをXMLではなく、コードで書けるようにしている Spring Security 認証・認可を行うための巨大なサーブレット・フィルター セキュリティを担保するための機能も充実(CSRF対策・XSS対策) Spring Cloud AWS Amazonのサービス(SQS・ElastiCache・S3)をSpring Wayで記述できるように したライブラリ群 Spring Cloud Netflix マイクロサービスを実現するためには、複数のデザインパターンを用いる必要があるが、 デザインパターンの適応が即座にできるようにしたライブラリ群 Spring Data Gemfire インメモリデータグリッド(Pivotal GemFire)を扱うためのライブラリ群 Spring Integration Enterprise Integration Patternsを適応したフレームワーク プロトコル変換、フィルター、変換、Publish/Subscribe Spring AMQP RabbitMQを扱うためのライブラリ Spring XD リアルタイム解析、バッチ処理、データ収集をシンプルにするためのアプリケーション Spring Framework は楽しい・筋が良い技術(7/11)
  22. 22. どんな技術もSpring Wayで カジュアルに扱える  非同期もアノテーションで簡単実装 22 @Asyncって書くだけ Spring Framework は楽しい・筋が良い技術(8/11)
  23. 23. どんな技術もSpring Wayで カジュアルに扱える  RabbitMQ(再実行担保の非同期)も簡単に 23Spring Framework は楽しい・筋が良い技術(9/11)
  24. 24. どんな技術もSpring Wayで カジュアルに扱える  RabbitMQ(再実行担保の非同期)も簡単に 24Spring Framework は楽しい・筋が良い技術(10/11)
  25. 25. リアルタイム集計は、 Spring XD で Spark をカジュアルに  ウインドウ集計(例:5分間隔の売上)はSparkで 25Spring Framework は楽しい・筋が良い技術(11/11)
  26. 26. Spring Projectは 書籍・ドキュメントが豊富です 26クロージング(1/3) NTTデータ 開発ガイドライン Spring 公式 ドキュメント
  27. 27. Future コンポーネントの アーキテクチャ理解にも最適 27 NTTデータ 開発ガイドライン Spring 公式 ドキュメント クロージング(2/3) トランザクションスコープを考慮 して記載しており、オススメ
  28. 28. より良いエンタープライズITを Springを駆使して作ってみませんか? 28クロージング(3/3)

Hinweis der Redaktion

  • フューチャーアーキテクト 木佐貫です。

    石橋さんの後でとても緊張しておりますが、
    私からは Spring Frameworkについてお話したいと思います。
  • 7分という短い時間ですので、

    ・ Framework war is Over

    ・ Spring Framework は凄く楽しい

    の2つのテーマをお伝えします。
  • Java Frameworkのおさらいから。
    Java フレームワークは複数の種類が存在致しますが、
    現在、Spring / Java EE / Play Framework  が有力です。

    エンタープライズITとして選択されるのは、
    Spring Framework 、Java EEがあげられます。

    Spring Frameworkは、VMWare傘化のPivotalという会社がメインで5-6名で作成しています。
    Pivotalは、VMWareがAWS・GoogleAppエンジンのようなPaaSの世界を目指して作った組織で、
    PaaSサービスを提供しています。
  • Spring Projectについても先に説明致します。
    Spring は複数のプロジエクトが存在します。

    Spring Frameworkは、Springの一プロジェクトです。
    Spring Frameworkは、Java EEの代替を目指して開発されていたフレームワークです。

    なお、Spring Projectは50以上ありますが、
    個人的に面白いと感じているプロジェクトをこちらのスライドに記載しています。

    Spring Boot という言葉をお聞きすることも多いと思いますが、、
    Spring Frameworkをベースに、よりカジュアルにWebアプリケーションを作成できるようにしたプロジェクトです。

    他にも、
    巨大サーブレットフィルターのSpringSecurity、
    AWSのサービスをSpring Wayで記載できるようになる Spring Cloud AWS
    マイクロサービスを実現するためのライブラリ、Spring Cloud Netflix
    証券系で使われる技術である、インメモリデータグリッドを簡単に扱えるSpring Data Gemfire

    と諸々ございます。

    Spring Integrationは、Futureコンポーネントでいうと、CORE-Sに該当します。
    エンタープライズのシステム連携に必要なコンポーネントを集約したプロジェクトです。

    Springには、このように、さまざまなアーキテクチャに対応するためのプロジェクトがあり、
    柔軟に組み合わせ、Spring Wayと呼ばれる表現で統一した書き方が出来るのが最大の魅力です。

  • 話は変わりますが、なぜSpringと季節の名前が入っているかご存知ですか?
  • 理由は、Javaフレームワークに冬の時代があったからです。
    J2EEの仕様がまだまだ未成熟で、J2EEのアンチテーゼとして様々なフレームワークが作られていきました。
    フレームワーク戦争が始まった原点です。
  • J2EEから始まったフレームワーク戦争ですが、
    戦況に大きい変化が見られました。
  • 4月だからSpring Boot特集??
  • 英語ページを開いてみると、、、、

    Spring has won the framework wars

    と記載されています
  • 日本語ページ

    もしかかして、私の英語力弱い!????
  • ちょっと納得できないので、
    Google 先生に訊いてみました
  • 諸説あるようです
  • Java EEと Spring の比較をしましょう。
    Java EEは年々開発が遅れており、Java SEのリリースから二年半程度かかっております。
  • Java EEの仕様策定から、リリースまで二年半もあきがあるため、
    出たころには陳腐化しているのが現実です。。。。。
  • Spring Framework では、新しい技術がすぐに使えるように、
    JavaSEのリリースタイミングと合わせています。
  • Java 9 のリリーススケジュールが変更となったため、
    Java 9 出ていないけど、Java9対応のSpring Frameworkが出るという不思議な現象がみられるかもしれません。
  • 標準以外のフレームワークを使って大丈夫か? と感じられると思いますが、大丈夫です。
    Spring Frameworkで作り上げた仕様を、Java EEが追認しているのが実態です。
    また、Java EEで策定された仕様はSpring に反映されているため、標準技術は基本的に使用できます。

    Framework War is Over はこの辺りからも言われています。
  • 何より、SpringはエンタープライズITを構築するための豊富なプロジェクトがあります。
  • そして、どんな技術もSpring Wayでカジュアルに扱えます。

    アノテーションひとつで非同期は実現出来ます。
    Procinfを書く必要はありません。
  • Rabbit MQもカジュアルに扱えます。
  • パラメータークラスを作る必要もありません。
    Procinfを書く必要はありません。
    ヌルポも発生しません。
  • リアルタイム集計は、Sparkを使いましょう。
    5分当たりの売上をリアルタイムに知りたいなどは、Sparkの得意分野です
  • 何より、Spring Projectは書籍・ドキュメントが豊富です。
  • Springは、アーキテクチャを理解して、Spring Wayで書くのが流儀です。
    Springのドキュメントはアーキテクチャを必ず説明します。
    Future コンポーネントのアーキテクチャ理解にも最適です。
  • わくわくしませんでしたか?

    より良いエンタープライズITを Springを駆使して作ってみませんか?

    ご清聴ありがとうございました。

×