spring frameworkが大好きなおはなし

28
Spring Framework ががががががががが Future Architect 木木木 木

Upload: satoshi-kisanuki

Post on 15-Apr-2017

2.168 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Spring frameworkが大好きなおはなし

Spring Framework が大好きなおはなしFuture Architect木佐貫 智

Page 2: Spring frameworkが大好きなおはなし

2

本日お伝えしたいこと

Framework war is Over !? Spring は Oracle 公認  !?

Spring Framework はすごく楽しい カジュアルに旬のテクノロジーを採用で

きる

イントロダクション (1/3)

Page 3: Spring frameworkが大好きなおはなし

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 マッピングを行う

イントロダクション (2/3)

Page 4: Spring frameworkが大好きなおはなし

4

Spring Project の紹介プロジェクト名 特徴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)

Page 5: Spring frameworkが大好きなおはなし

5

なぜ、季節の名前なの ?

Framework war is Over !? (1/10)

Page 6: Spring frameworkが大好きなおはなし

6

冬の J2EE 時代 (1999 ~ 2006)

~フレームワーク戦争の原点 ~

Framework war is Over !? (2/10)

Page 7: Spring frameworkが大好きなおはなし

7

フレームワーク戦争に春が訪れた ?

Framework war is Over !? (3/10)

Page 8: Spring frameworkが大好きなおはなし

8

フレームワーク戦争に春が訪れた ?

Oracle

Framework war is Over !? (4/10)

Page 9: Spring frameworkが大好きなおはなし

9

フレームワーク戦争に春が訪れた ?

OracleDuke

Framework war is Over !? (5/10)

Page 10: Spring frameworkが大好きなおはなし

10

フレームワーク戦争に春が訪れた ?

OracleDuke

Spring Boot !!

Framework war is Over !? (6/10)

Page 11: Spring frameworkが大好きなおはなし

11

フレームワーク戦争の勝利者は !?

The fact that Spring has essentially won the

framework warsJava Magazine 英語版

Framework war is Over !? (7/10)

Page 12: Spring frameworkが大好きなおはなし

12

フレームワーク戦争の勝利者は !?

Java Magazine 日本語

Spring が大人気のサード・パーティ・フレームワークとして頭角

を・・・Framework war is Over !? (8/10)

Page 13: Spring frameworkが大好きなおはなし

13

Google 先生に聞いてみた

Framework war is Over !? (9/10)

Page 14: Spring frameworkが大好きなおはなし

14

諸説あるようです

Framework war is Over !? (10/10)

Page 15: Spring frameworkが大好きなおはなし

15

Java EE  リリースは遅い~ Java SE リリースの2年遅

れ~

出典 : 初めての Java EE 6── 第 1 回 Java EEとは、どのようなフレームワークか? (ZDNet)

Java SE72011 年 3月

Java SE62006 年 12月

J2SE 5.02004 年 9月

J2SE 1.42002 年 2月

J2SE 1.32002 年 2月

J2SE 1.21998 年 12月

J2SE 1.11997 年 2月

Spring Framework は楽しい・筋が良い技術(1/11)

Page 16: Spring frameworkが大好きなおはなし

16

Java EE  リリースは遅い~ Java SE リリースの2年遅

れ~

出典 : 初めての Java EE 6── 第 1 回 Java EEとは、どのようなフレームワークか? (ZDNet)

Java SE72011 年 3月

Java SE62006 年 12月

J2SE 5.02004 年 9月

J2SE 1.42002 年 2月

J2SE 1.32002 年 2月

J2SE 1.21998 年 12月

J2SE 1.11997 年 2月

Java SE82014 年 3月

Java EE8

2016 4Q?

使ってみたい技術はあるけど、リリースされな

い・・・

2 ,3 年前に規格された技術は忘

れる・・・

何年も前にSpring で実装済

み・・・

MVC1.0& HTTP/2

Spring Framework は楽しい・筋が良い技術(2/11)

Page 17: Spring frameworkが大好きなおはなし

17

Spring は Java9 ReadyJava SE と同じリリースタイミング

Spring JIRA

Java9

Spring Framework は楽しい・筋が良い技術(3/11)

Page 18: Spring frameworkが大好きなおはなし

18

Java9

Q4 2016

Q4 2016

Spring JIRASpring Framework は楽しい・筋が良い技術(4/11)

Spring は Java9 ReadyJava SE と同じリリースタイミング

Page 19: Spring frameworkが大好きなおはなし

19

Java9

Q4 2016

Q4 2016

開発遅延で・・・Q1 2017

Spring JIRASpring Framework は楽しい・筋が良い技術(5/11)

Spring は Java9 ReadyJava SE より早くリリース !????

フライングリリース !??

( OpenJDK 利用 ? )

Page 20: Spring frameworkが大好きなおはなし

20

Spring を Java EE が標準仕様として認める

~ 筋の良い技術は生き残る ~Java EE

Spring Framework と Java EE の関係バージョ

ン 機能 リリース

Java EE 8 MVC1.0 4Q 2016Spring 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 2009Spring DI/AOP, Google Guice を標準化した仕様DI/AOP は、 2005 年ごろ

Spring Framework は楽しい・筋が良い技術(6/11)

Page 21: Spring frameworkが大好きなおはなし

21

エンタープライズ IT を構築するための

豊富なプロジェクトプロジェクト名 特徴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)

Page 22: Spring frameworkが大好きなおはなし

22

どんな技術も Spring Way でカジュアルに扱える

非同期もアノテーションで簡単実装

@Async って書くだけ

Spring Framework は楽しい・筋が良い技術(8/11)

Page 23: Spring frameworkが大好きなおはなし

23

どんな技術も Spring Way でカジュアルに扱える

RabbitMQ( 再実行担保の非同期 ) も簡単に

Spring Framework は楽しい・筋が良い技術(9/11)

Page 24: Spring frameworkが大好きなおはなし

24

どんな技術も Spring Way でカジュアルに扱える

RabbitMQ( 再実行担保の非同期 ) も簡単に

Spring Framework は楽しい・筋が良い技術(10/11)

Page 25: Spring frameworkが大好きなおはなし

25

リアルタイム集計は、Spring XD で Spark をカジュ

アルにウインドウ集計 ( 例 :5 分間隔の売上 ) は

Spark で

Spring Framework は楽しい・筋が良い技術(11/11)

Page 26: Spring frameworkが大好きなおはなし

26

Spring Project は書籍・ドキュメントが豊富で

クロージング(1/3)

NTT データ開発ガイドライン

Spring 公式ドキュメント

Page 27: Spring frameworkが大好きなおはなし

27

Future コンポーネントのアーキテクチャ理解にも最適

NTT データ開発ガイドライン

Spring 公式ドキュメント

クロージング(2/3)

トランザクションスコープを考慮して記載してお

り、オススメ

Page 28: Spring frameworkが大好きなおはなし

28

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

んか ?

クロージング(3/3)