2. 本日お伝えしたいこと
Framework war is Over !?
SpringはOracle 公認 !?
Spring Frameworkはすごく楽しい
カジュアルに旬のテクノロジーを採用できる
2イントロダクション(1/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. 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)
19. 19
Java9
Q4 2016
Q4 2016
開発遅延で・・・
Q1 2017
Spring JIRA Spring Framework は楽しい・筋が良い技術(5/11)
Spring は Java9 Ready
Java SEより早くリリース!????
フライング
リリース!??
( OpenJDK利用? )
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. エンタープライズ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)
フューチャーアーキテクト 木佐貫です。
石橋さんの後でとても緊張しておりますが、
私からは 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 Frameworkで作り上げた仕様を、Java EEが追認しているのが実態です。
また、Java EEで策定された仕様はSpring に反映されているため、標準技術は基本的に使用できます。
Framework War is Over はこの辺りからも言われています。