SlideShare a Scribd company logo
1 of 60
Download to read offline
Copyright © 2016 NTT DATA Corporation
株式会社NTTデータ 技術革新統括本部
ソフトウェア工学推進センタ
倉元 貴一
Javaエンジニアに知ってほしい、Springの教科書
「TERASOLUNA」
Copyright © 2015 NTT DATA Corporation 2
INDEX
1. TERASOLUNA Frameworkとは
2. TERASOLUNA Frameworkが解決する諸問題
3. おわりに
Copyright © 2016 NTT DATA Corporation 3
1. TERASOLUNA Frameworkとは
4Copyright © 2016 NTT DATA Corporation
TERASOLUNAとは
Process
Environment
Support
数多くのシステム開発で
培ったノウハウを盛り込んだ
標準開発手順・管理手順
ソフトウェアを開発する際の
雛形になるフレームワーク
と開発を支援するツール
蓄積されたノウハウ
を展開するための
研修や教育サービス
標準手順
サポート
開発環境
数多くのシステム開発実績をもとにした「標準手順」「開発環境」「サポート」を
トータルで提供しており、TERASOLUNAを活用することで、高品質な
システム開発が実現できます。
TERASOLUNAとは、NTTデータのシステム開発を支える
オープン系システム開発のための総合ソリューション
Copyright © 2015 NTT DATA Corporation 5
Javaフレームワーク年表
J2EE/Java EE
1999 2002 2005 2008 2011 2014
プレゼン層
ビジネスロジック層
O/R
マッピング
MVC
▲J2EE1.2
▲J2EE1.3
▲J2EE1.4 ▲JavaEE5 ▲JavaEE6 ▲JavaEE7
▲Spring0.9 ▲Spring2.5
▲Hib3rnate1.0
▲Hibernate2.1
▲JPA1.0 ▲JPA2.1
▲Struts1.0 ▲Struts1.2 ▲Struts1.3
▲Struts2.0
▲Seaser2.0
▲JPA2.0
▲Seam1.0
▲Spring1.0 ▲Spring2.0 ▲Spring3.0
▲Spring4.0
▲MyBatis3.0
▲Hibernate3.0
▲JSF1.0 ▲JSF1.2 ▲JSF2.0 ▲JSF2.2
▲Facelets1.0 ▲Facelets2.0
DI x AOP
▲Seam2.0
▲SAStruts1.0
▲Seaser2.4
▲Hibernate4.0
▲iBatis2.3▲iBatis1.0
▲TopLink ▲EclipseLink
Copyright © 2015 NTT DATA Corporation 6
Javaフレームワークの動向と展望
• FWの必要性が認知され、
様々なJava FWが乱立
• FWの利用に不慣れな開発者が
多く品質にばらつき発生
• JavaFWは「Spring」と「Java EE」
の2強に
• FWのコモディティ化が進み
FWの活用が当たり前の時代に
VS
JVM
APサーバ
OS
FW
アプリケーション
JVM
APサーバ
OS
アプリケーション
■ソフトウェアスタック
FW
2000年頃(FW乱立期) 2015年頃(FW成熟期) 2030年頃
Java FWが多数乱立 SpringとJava EEの2強に
■ソフトウェアスタック
APサーバが
FWを内包
2強時代の継続
Java EE時代の到来
Java時代の終焉
APサーバがFWの役割を吸収
?
Java EE
Java EEJ2EE
Java
Java EE
Copyright © 2015 NTT DATA Corporation 7
?
Javaフレームワークの動向と展望
• FWの必要性が認知され、
様々なJava FWが乱立
• FWの利用に不慣れな開発者が
多く品質にばらつき発生
• JavaFWは「Spring」と「Java EE」
の2強に
• FWのコモディティ化が進み
FWの活用が当たり前の時代に
VS
JVM
APサーバ
OS
FW
アプリケーション
JVM
APサーバ
OS
アプリケーション
■ソフトウェアスタック
FW
2000年頃(FW乱立期) 2015年頃(FW成熟期) 2030年頃
Java FWが多数乱立 SpringとJava EEの2強に
■ソフトウェアスタック
APサーバが
FWを内包
2強時代の継続
Java EE時代の到来
Java時代の終焉
APサーバがFWの役割を吸収フレームワークの基本機能は
標準化(コモデティ化)へ
Java EE
Java EE
Java
Copyright © 2015 NTT DATA Corporation 8
Java
TERASOLUNA Frameworkの基本コンセプト
• FWの必要性が認知され、
様々なJavaFWが乱立
• FWの利用に不慣れな開発者が
多く品質にばらつき発生
• JavaFWは「Spring」と「Java EE」
の2強に
• FWのコモディティ化が進みFWの
活用が当たり前の時代に
Spring
VS
Spring
JVM
APサーバ
OS
FW
アプリケーション
JVM
APサーバ
OS
アプリケーション
■ソフトウェアスタック
FW
2000年頃(FW乱立期) 2015年頃(FW成熟期) 2030年頃
JavaFWが多数乱立 SpringとJava EEの2強に
■ソフトウェアスタック
APサーバが
FWを内包
2強時代の継続
Java EE時代の到来
Java時代の終焉
Spring
APサーバがFWの役割を吸収
世の中のOSSを活用して
エンタープライズ向け
フレームワークを整備
Copyright © 2015 NTT DATA Corporation 9
これまでのTERASOLUNA Framework(FW2系)
独自のフレームワーク層
Enterprise Application
Application Server
以前は、OSSに独自の層を被せることで、
OSSでは不足している機能や、
品質を保つための制約を追加していた。
Copyright © 2015 NTT DATA Corporation 10
2000年頃 2015年頃
FW自体に
付加価値
FWが
コモディティ化
Java FWが
多数乱立
Java FWは
SpringかJava EEの2強
業
界
動
向
当
社
の
取
組
独自FWとして整備
OSS(Spring)を
最大限活用
これまでのTERASOLUNA
(TERASOLUNA Server FW for Java 2)
新たなTERASOLUNA
(TERASOLUNA Server FW for Java 5)
エンタープライズ適用に
必要なサポートを提供
サポート提供と合わせて
エンタープライズ適用に
必要なガイドラインの充実
新たなTERASOLUNA Frameworkのコンセプト
Copyright © 2015 NTT DATA Corporation 11
新たなTERASOLUNA Framework(FW5系)
業界の動向を考慮し構成要素を見直した
新しいフレームワークの提供を開始
Enterprise Application
Application Server
Spring MVC
を
最大限活用
Spring Data JPA
Spring
Security
12Copyright © 2016 NTT DATA Corporation
新たなTERASOLUNA Frameworkの構成要素
•Spring, MyBatisなどのOSSフレームワークソフトウェアフレームワーク
•エンタープライズ向けに必要な汎用的な部品共通ライブラリ
•OSSを利用したエンタープライズ向けアプリ開発に
おけるベストプラクティスドキュメントガイドライン
•基本的な開発方法を学ぶ学習教材チュートリアル
•基本的な機能を実装したサンプルアプリサンプルAP
•プロジェクト構成のひな形ブランクプロジェクト
13Copyright © 2016 NTT DATA Corporation
公開資材の一例
http://terasolunaorg.github.io/
開発ガイドライン
ポータルサイト
資材提供
14Copyright © 2016 NTT DATA Corporation
ニュースリリース
2016/02/24 本格運用開始のニュースリリース
http://www.nttdata.com/jp/ja/news/release/2016/022400.html
Copyright © 2015 NTT DATA Corporation 15
なぜSpringなのか?
Springは機能追加し続けており、
今後も迅速な新規テクノロジーへの追従が期待できる
Java標準技術への追従も活発であり、SpringとJava EE
を組み合わせたベストな選択をしやすい
当社ではSpringを10年以上活用しており、社内に
適用実績、開発リソース、開発ノウハウが多く
存在している
適用案件や開発者が多く、
セキュリティ面の改善活動が活発に実施されている
Spring Security等のセキュリティ対策OSSの採用により、
セキュリティ面への対応を強化できる
グローバル市場でのシェアNo.1であり、技術者や情報が
豊富に存在するため、要員確保や書籍などによる
情報収集が容易である
開発
リソースの
確保
しやすさ
世の中の
変化への
対応
セキュリ
ティ面の
強化
社内に
蓄積した
ノウハウ量
Copyright © 2015 NTT DATA Corporation 16
TERASOLUNA Frameworkの狙い
コモディティ化しつつある領域では
仲間を増やし、業界貢献することが重要
お客様 競合他社 開発者 OSSコミュニティ
Copyright © 2015 NTT DATA Corporation 17
ガイドラインのねらい
目的 記載内容
品質向上
• 検証済みで品質確保された開発方法のベストプラクティス
• これまでの開発経験から得られた実践的な開発ノウハウ
工数削減
• 流用可能なコードサンプル
• これまでPJ個別に実施しており、PJ間で重複していた事項
• 実現可能性検証の結果
• 学習コンテンツ、など
ガイドラインの目的と記載内容
ガイドラインは、エンタープライズアプリケーション開発に
必要となる知識やノウハウを網羅し、適用プロジェクトをサポート
Copyright © 2015 NTT DATA Corporation 18
ガイドラインのねらい
• 各機能の詳細解説
• チュートリアル(学習コンテンツ)
理解しやすいように、
図を多数記載
• コードサンプル
• 検証済みで品質確保された開発方法のベストプラクティス
流用して開発できるように
コードサンプルを多数記載
コードサンプルの解説
も記載
• コードサンプル
• エンタープライズ向けの実践的な開発ノウハウ
・・・
各機能の拡張方法も記載 Note、Tip、Warning、Hintなど、
実践的な開発ノウハウを多数記載
実装方法とその根底
にある考え方も記載
①基本知識の習得、AP基盤の検討
③FWの拡張方針検討 ④AP基盤の設計・製造
②実現性検証
 アーキテクトの作業におけるガイドライン活用例
19Copyright © 2016 NTT DATA Corporation
TERASOLUNA FrameworkのOSSスタック
20Copyright © 2016 NTT DATA Corporation
新たなTERASOLUNA Frameworkの提供機能
21Copyright © 2016 NTT DATA Corporation
Server FW for Java 5.1.0の提供機能
画面連携
入力チェック
メッセージ管理/国際化
ページネーション
アップロード/ダウンロード
二重送信防止
コードリスト
システム間連携
SOAPサーバ/クライアント
RESTサーバ/クライアント
Email送信
DBアクセス(MyBatis/JPA)
トランザクション/排他制御
データ連携
セキュリティ
認証・認可
CSRF/XSS対策
暗号化
ユーティリティ
ロギング
例外ハンドリング
セッション管理
日付・文字列操作
22Copyright © 2016 NTT DATA Corporation
(参考)TERASOLUNAの導入実績
5 26 52 79 130
230
371
540
646
765
877
999
0
200
400
600
800
1000
1200
2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013
新規導入プロジェクト数
累計
TERASOLUNAは、オープン系の標準として
業種業態問わず、小規模から大規模まで幅広く導入
※NTTデータおよびNTTデータグループ内の導入実績(2014年3月末時点)
23Copyright © 2016 NTT DATA Corporation
(参考)ガイドラインへのアクセス数
公開から24万ユーザ以上にアクセスされ
毎日4000ページビュー以上閲覧されている
2/24 ニュースリリース
Copyright © 2016 NTT DATA Corporation 24
2. TERASOLUNA Frameworkが解決する諸問題
25Copyright © 2016 NTT DATA Corporation
エンタープライズシステム開発での課題
26Copyright © 2016 NTT DATA Corporation
1. 膨大なJarや設定ファイルの組み合わせ
2. プロジェクト構成・
アプリケーションのレイヤ化
1. 膨大なJarや設定ファイルの
組み合わせ
4. セキュリティ対策
3.ソースの品質向上・
品質維持
27Copyright © 2016 NTT DATA Corporation
1. 膨大なJarや設定ファイルの組み合わせ
Jarのバージョン…
食い違ってない?
設定ファイル
多すぎて辛い…
環境依存して
ないかこれ…
そんなときは…
28Copyright © 2016 NTT DATA Corporation
1. 膨大なJarや設定ファイルの組み合わせ
http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/ImplementationAtEachLayer/CreateWebApplicationProject.html
29Copyright © 2016 NTT DATA Corporation
1. 膨大なJarや設定ファイルの組み合わせ
• エンタープライズ開発に必要な
各種設定・ライブラリ依存関係が設定済
• Spring IO Platformをベースに、
TERASOLUNAで検証済みのライブラリを
独自に追加
エンタープライズ開発に必要なノウハウを
詰め込んだプロジェクト構成の雛形
「ブランクプロジェクト」を提供
30Copyright © 2016 NTT DATA Corporation
ブランクプロジェクトの構成
エンタープライズ開発時に必要になる設定が定義済みの
ブランクプロジェクトのarchetypeを提供
環境依存する資材を集約
するプロジェクト
アプリケーションレイヤの
プロジェクト
ドメイン・インフラレイヤの
プロジェクト
「4.1.1. 開発プロジェクトの作成」からご覧ください。
31Copyright © 2016 NTT DATA Corporation
依存関係
TERASOLUNA FWが
依存・推奨する
ライブラリが定義済
32Copyright © 2016 NTT DATA Corporation
(参考)Spring IO Platformとは?
https://spring.io/platform
33Copyright © 2016 NTT DATA Corporation
(参考)Spring IO Platformとは?
http://docs.spring.io/platform/docs/current/reference/htmlsingle/#appendix-dependency-versions
34Copyright © 2016 NTT DATA Corporation
2. プロジェクト構成・アプリケーションのレイヤ化
2. プロジェクト構成・
アプリケーションのレイヤ化
1. 膨大なJarや設定ファイルの
組み合わせ
4. セキュリティ対策
3.ソースの品質向上・
品質維持
35Copyright © 2016 NTT DATA Corporation
2. プロジェクト構成・アプリケーションのレイヤ化
アプリケーションの
レイヤリングって、
どうすればいいん
だろう
あー…
なんでこのクラス
ここにいるんだ
よくみたら
循環参照してる
けど今更…
そんなときは…
36Copyright © 2016 NTT DATA Corporation
2. プロジェクト構成・アプリケーションのレイヤ化
http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/Overview/ApplicationLayering.html
37Copyright © 2016 NTT DATA Corporation
2. プロジェクト構成・アプリケーションのレイヤ化
クラスの種類を3層に分類し、依存関係を規定
38Copyright © 2016 NTT DATA Corporation
2. プロジェクト構成・アプリケーションのレイヤ化
39Copyright © 2016 NTT DATA Corporation
レイヤの依存関係
Domain Layer
Application Layer
誤ったレイヤ間の依存関係を
早期に検出できる
40Copyright © 2016 NTT DATA Corporation
ブランクプロジェクトの内部構成
Domain Layer
Infrastructure Layer
41Copyright © 2016 NTT DATA Corporation
ブランクプロジェクトの内部構成
Application Layer
42Copyright © 2016 NTT DATA Corporation
ブランクプロジェクトの内部構成
ログ出力設定やデータソース定義など、
ステージング環境によって異なる設定を
本プロジェクトに集約することで、
設定値の置換を容易にしている
43Copyright © 2016 NTT DATA Corporation
3. ソースの品質向上・品質維持
2. プロジェクト構成・
アプリケーションのレイヤ化
1. 膨大なJarや設定ファイルの
組み合わせ
4. セキュリティ対策
3.ソースの品質向上・
品質維持
44Copyright © 2016 NTT DATA Corporation
3. ソースの品質向上・品質維持
このコード、
Webにのってる
やつコピったな…
危険すぎる…
DBアクセスも
入力チェックも、
いつも考えるけど
ノウハウまとまって
ないなぁ…
似たようなことを
前にやったけど、
時間経ちすぎてる
しなぁ… そんなときは…
45Copyright © 2016 NTT DATA Corporation
3. ソースの品質向上・品質維持
http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/ArchitectureInDetail/index.html
46Copyright © 2016 NTT DATA Corporation
提供機能
エンタープライズ開発で必要となる
機能を網羅的に解説
47Copyright © 2016 NTT DATA Corporation
解説例
使い方/拡張方法をコードを交えて解説
Copyright © 2015 NTT DATA Corporation 48
ガイドラインの品質確保
エンタープライズ開発で活用してもらうには
ガイドラインの品質を確保し続けることが重要
例:ガイドラインのサンプルコードの品質確保
頻繁に更新されるガイドラインや
プラットフォームに合わせて
コード品質の確認が必要となる
様々なOS/Java/ミドルの構成に
対して700シナリオ以上の
機能テストを日次で実行する
後方互換の問題を検知し改善
フレームワーク更新の影響として
速やかに周知する
ガイドライン更新 テスト自動実行 テスト結果確認
JMeter
Gitbucket Selenium
Jenkins
Vagrant
開発ガイドライン
テスト一覧
Test1
Test2
Test3
Test4
OK
OK
OK
NG
DB
AP
Server
JDK
Copyright © 2015 NTT DATA Corporation 49
OSSの品質貢献(Springの場合)
Spring Framework (49) Spring Security (13) Spring Data (4)
SPR-13520
SPR-13518
SPR-13503
SPR-13443 (Resolved)
SPR-13426
SPR-13418
SPR-13406
SPR-13402
SPR-13379 (Resolved)
SPR-13359 (Resolved)
SPR-13350 (Resolved)
SPR-13136 (Resolved)
SPR-13124 (Resolved)
SPR-13103 (Resolved)
SPR-13102 (Resolved)
SPR-13086
SPR-13041 (Resolved)
SPR-13038 (Resolved)
SPR-13025 (Resolved)
SPR-13000 (Resolved)
SPR-12994 (Resolved)
SPR-12993 (Resolved)
SPR-12992 (Resolved)
SPR-12991 (Resolved)
SPR-12990 (Resolved)
SPR-12988 (Resolved)
SPR-12987 (Resolved)
SPR-12985 (Resolved)
SPR-12981 (Resolved)
SPR-12980 (Resolved)
SPR-12979 (Resolved)
SPR-12954
SPR-12853
SPR-12819 (Resolved)
SPR-12792 (Resolved)
SPR-12743 (Resolved)
SPR-12510 (Resolved)
SPR-12509 (Resolved)
SPR-12442 (Resolved)
SPR-12354 (Resolved)
SPR-12265 (Resolved)
SPR-12229 (Resolved)
SPR-11970 (Resolved)
SPR-11826
SPR-11821 (Resolved)
SPR-11810 (Resolved)
SPR-11670 (Resolved)
SPR-11669
SPR-11074 (Resolved)
SEC-3105
SEC-3003 (Resolved)
SEC-2910
SEC-2905
SEC-2903
SEC-2880 (Resolved)
SEC-2840 (Resolved)
SEC-2836
SEC-2835 (Resolved)
SEC-2834 (Resolved)
SEC-2826 (Resolved)
SEC-2422 (Resolved)
SEC-2403
DATAJPA-473 (Resolved)
DATACMSN-379 (Resolved)
DATACMNS-408 (Resolved)
DATACMNS-377 (Resolved)
バグレポート(2015年9月30日時点)
OSSのバグをコミュニティや開発元に報告し
OSSの品質改善に貢献
50Copyright © 2016 NTT DATA Corporation
4. セキュリティ対策
2. プロジェクト構成・
アプリケーションのレイヤ化
1. 膨大なJarや設定ファイルの
組み合わせ
4. セキュリティ対策
3.ソースの品質向上・
品質維持
51Copyright © 2016 NTT DATA Corporation
4. セキュリティ対策
ここ最近、脆弱性の
ニュースよく聞くし
適当にはできないよ
なぁ…
セキュリティ機能って
どうつくればいいか
わからないよ…
非機能も含めて
セキュリティ対策
できてるのかな…
そんなときは…
52Copyright © 2016 NTT DATA Corporation
セキュリティ対策
機能/非機能を意識した
セキュリティ対策方法の提供
http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/Security/index.html
53Copyright © 2016 NTT DATA Corporation
セキュリティ機能の使い方
セキュリティ機能の使い方を解説
http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/
Security/Authentication.html
54Copyright © 2016 NTT DATA Corporation
機能面からのセキュリティ対策
機能面から見た
代表的な要件の実現方法について解説
http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja
/Security/SecureLoginDemo.html
55Copyright © 2016 NTT DATA Corporation
非機能面から見た
代表的な要件の実現方法について解説
非機能面からのセキュリティ対策
http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/Introduction/
CriteriaBasedMapping.html
Copyright © 2016 NTT DATA Corporation 56
おわりに
Copyright © 2015 NTT DATA Corporation 57
TERASOLUNA Server Framework for Java (5.x) Development Guideline
http://terasolunaorg.github.io/guideline/
Copyright © 2015 NTT DATA Corporation 58
2000page over !!
多種多様なノウハウ集であり、
Springの教科書でもあり、辞典でもある
59Copyright © 2016 NTT DATA Corporation
最後に
TERASOLUNA Frameworkに興味がある方は下記までご連絡ください
TERASOLUNA窓口
E-mail: terasoluna@am.nttdata.co.jp
NTTデータは今後もJavaアプリケーション開発の
ベストプラクティスをOSSで提供し続けます
エンタープライズJavaシステム開発で積極的に活用し、
情報交換やコミュニティ活動を活発化して
さらなるJavaの発展、繁栄に向けて共に歩んでいきましょう。
Copyright © 2011 NTT DATA Corporation
Copyright © 2016 NTT DATA Corporation
「TERASOLUNA」及びそのロゴは、日本及びその他の国おける株式会社NTTデータの商標または登録商標です。
その他、記載されている会社名、商品名、サービス名等は、各社の商標または登録商標です。

More Related Content

What's hot

[AWSマイスターシリーズ] AWS CloudFormation
[AWSマイスターシリーズ] AWS CloudFormation[AWSマイスターシリーズ] AWS CloudFormation
[AWSマイスターシリーズ] AWS CloudFormationAmazon Web Services Japan
 
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーションこれから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション土岐 孝平
 
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービューMasatoshi Tada
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Takeshi Fukuhara
 
とにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるMasatoshi Tada
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)Takeshi Mikami
 
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...NTT DATA Technology & Innovation
 
基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャスト基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャストNoritaka Sekiyama
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
SpringBootにおけるテンプレートエンジンの活用
SpringBootにおけるテンプレートエンジンの活用SpringBootにおけるテンプレートエンジンの活用
SpringBootにおけるテンプレートエンジンの活用iPride Co., Ltd.
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
Amazon Redshiftによるリアルタイム分析サービスの構築
Amazon Redshiftによるリアルタイム分析サービスの構築Amazon Redshiftによるリアルタイム分析サービスの構築
Amazon Redshiftによるリアルタイム分析サービスの構築Minero Aoki
 
20180703 AWS Black Belt Online Seminar Amazon Neptune
20180703 AWS Black Belt Online Seminar Amazon Neptune20180703 AWS Black Belt Online Seminar Amazon Neptune
20180703 AWS Black Belt Online Seminar Amazon NeptuneAmazon Web Services Japan
 
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現するゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現するKeioOyama
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門Yoichi Kawasaki
 

What's hot (20)

[AWSマイスターシリーズ] AWS CloudFormation
[AWSマイスターシリーズ] AWS CloudFormation[AWSマイスターシリーズ] AWS CloudFormation
[AWSマイスターシリーズ] AWS CloudFormation
 
Hadoop入門
Hadoop入門Hadoop入門
Hadoop入門
 
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーションこれから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション
 
CData API Server ハンズオン
CData API Server ハンズオンCData API Server ハンズオン
CData API Server ハンズオン
 
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
初めてでも30分で分かるSpring 5 & Spring Boot 2オーバービュー
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
とにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みる
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
 
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
 
基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャスト基礎から学ぶ? EC2マルチキャスト
基礎から学ぶ? EC2マルチキャスト
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
SpringBootにおけるテンプレートエンジンの活用
SpringBootにおけるテンプレートエンジンの活用SpringBootにおけるテンプレートエンジンの活用
SpringBootにおけるテンプレートエンジンの活用
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Amazon Redshiftによるリアルタイム分析サービスの構築
Amazon Redshiftによるリアルタイム分析サービスの構築Amazon Redshiftによるリアルタイム分析サービスの構築
Amazon Redshiftによるリアルタイム分析サービスの構築
 
20180703 AWS Black Belt Online Seminar Amazon Neptune
20180703 AWS Black Belt Online Seminar Amazon Neptune20180703 AWS Black Belt Online Seminar Amazon Neptune
20180703 AWS Black Belt Online Seminar Amazon Neptune
 
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現するゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
 

Viewers also liked

Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015N Masahiro
 
Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理Naoki Yanai
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Koichi Sakata
 
Fluentd v0.12 master guide
Fluentd v0.12 master guideFluentd v0.12 master guide
Fluentd v0.12 master guideN Masahiro
 
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)NTT DATA OSS Professional Services
 
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集matsu_chara
 
将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 Yoshio Kajikuri
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!masakazu matsubara
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Takuya Okada
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Kohei Saito
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 

Viewers also liked (11)

Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015
 
Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理Kafkaによるリアルタイム処理
Kafkaによるリアルタイム処理
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
 
Fluentd v0.12 master guide
Fluentd v0.12 master guideFluentd v0.12 master guide
Fluentd v0.12 master guide
 
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
 
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
 
将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤 将来 自分で サービスを持ちたいエンジニアの葛藤
将来 自分で サービスを持ちたいエンジニアの葛藤
 
高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!高速なソートアルゴリズムを書こう!!
高速なソートアルゴリズムを書こう!!
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 

Similar to Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3

Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 apkiban
 
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~オラクルエンジニア通信
 
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...Funada Yasunobu
 
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...Funada Yasunobu
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataNTT DATA Technology & Innovation
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~apkiban
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Yuichi Hasegawa
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツールDevelopers Summit
 
本当にできるの?ミッションクリティカルシステムのクラウド移行 第1回:検討すべき10のポイント (Oracle Cloudウェビナーシリーズ: 2021年...
本当にできるの?ミッションクリティカルシステムのクラウド移行 第1回:検討すべき10のポイント (Oracle Cloudウェビナーシリーズ: 2021年...本当にできるの?ミッションクリティカルシステムのクラウド移行 第1回:検討すべき10のポイント (Oracle Cloudウェビナーシリーズ: 2021年...
本当にできるの?ミッションクリティカルシステムのクラウド移行 第1回:検討すべき10のポイント (Oracle Cloudウェビナーシリーズ: 2021年...オラクルエンジニア通信
 
フォースポイント ウェブセキュリティクラウド (SaaS型ウェブゲートウェイサービス) のご紹介 (2017年11月版)【本資料は古い情報です】
フォースポイント ウェブセキュリティクラウド (SaaS型ウェブゲートウェイサービス) のご紹介 (2017年11月版)【本資料は古い情報です】フォースポイント ウェブセキュリティクラウド (SaaS型ウェブゲートウェイサービス) のご紹介 (2017年11月版)【本資料は古い情報です】
フォースポイント ウェブセキュリティクラウド (SaaS型ウェブゲートウェイサービス) のご紹介 (2017年11月版)【本資料は古い情報です】Tomoyoshi Amano
 
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天Hiro Yoshioka
 
闘うITエンジニアのためのLinuxセキュリティ講座
闘うITエンジニアのためのLinuxセキュリティ講座闘うITエンジニアのためのLinuxセキュリティ講座
闘うITエンジニアのためのLinuxセキュリティ講座Toshiharu Harada, Ph.D
 
AppExchangeコンソーシアム講演_20111013
AppExchangeコンソーシアム講演_20111013AppExchangeコンソーシアム講演_20111013
AppExchangeコンソーシアム講演_20111013TerraSky
 
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤Daisuke Nishino
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)CLOUDIAN KK
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)CLOUDIAN KK
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadogtyamane
 
第一回Soft layer勉強会 グローバル分散アーキテクチャ
第一回Soft layer勉強会 グローバル分散アーキテクチャ第一回Soft layer勉強会 グローバル分散アーキテクチャ
第一回Soft layer勉強会 グローバル分散アーキテクチャMaho Takara
 

Similar to Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3 (20)

Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
 
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
 
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
 
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラス...
 
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdataMLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
MLOps NYC 2019 and Strata Data Conference NY 2019 report nttdata
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
 
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界ベンダーロックインフリーのビジネスクラウドの世界
ベンダーロックインフリーのビジネスクラウドの世界
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
 
本当にできるの?ミッションクリティカルシステムのクラウド移行 第1回:検討すべき10のポイント (Oracle Cloudウェビナーシリーズ: 2021年...
本当にできるの?ミッションクリティカルシステムのクラウド移行 第1回:検討すべき10のポイント (Oracle Cloudウェビナーシリーズ: 2021年...本当にできるの?ミッションクリティカルシステムのクラウド移行 第1回:検討すべき10のポイント (Oracle Cloudウェビナーシリーズ: 2021年...
本当にできるの?ミッションクリティカルシステムのクラウド移行 第1回:検討すべき10のポイント (Oracle Cloudウェビナーシリーズ: 2021年...
 
フォースポイント ウェブセキュリティクラウド (SaaS型ウェブゲートウェイサービス) のご紹介 (2017年11月版)【本資料は古い情報です】
フォースポイント ウェブセキュリティクラウド (SaaS型ウェブゲートウェイサービス) のご紹介 (2017年11月版)【本資料は古い情報です】フォースポイント ウェブセキュリティクラウド (SaaS型ウェブゲートウェイサービス) のご紹介 (2017年11月版)【本資料は古い情報です】
フォースポイント ウェブセキュリティクラウド (SaaS型ウェブゲートウェイサービス) のご紹介 (2017年11月版)【本資料は古い情報です】
 
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
 
闘うITエンジニアのためのLinuxセキュリティ講座
闘うITエンジニアのためのLinuxセキュリティ講座闘うITエンジニアのためのLinuxセキュリティ講座
闘うITエンジニアのためのLinuxセキュリティ講座
 
AppExchangeコンソーシアム講演_20111013
AppExchangeコンソーシアム講演_20111013AppExchangeコンソーシアム講演_20111013
AppExchangeコンソーシアム講演_20111013
 
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)
 
Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)Cloudianを利用したソリューション (Cloudian Summit 2012)
Cloudianを利用したソリューション (Cloudian Summit 2012)
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
 
第一回Soft layer勉強会 グローバル分散アーキテクチャ
第一回Soft layer勉強会 グローバル分散アーキテクチャ第一回Soft layer勉強会 グローバル分散アーキテクチャ
第一回Soft layer勉強会 グローバル分散アーキテクチャ
 

More from 日本Javaユーザーグループ

パフォーマンス ボトルネック 国内あるある事例
パフォーマンス ボトルネック 国内あるある事例パフォーマンス ボトルネック 国内あるある事例
パフォーマンス ボトルネック 国内あるある事例日本Javaユーザーグループ
 
パフォーマンス管理最前線 米国大規模システムにおける最新トレンド
パフォーマンス管理最前線 米国大規模システムにおける最新トレンドパフォーマンス管理最前線 米国大規模システムにおける最新トレンド
パフォーマンス管理最前線 米国大規模システムにおける最新トレンド日本Javaユーザーグループ
 
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組みJJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み日本Javaユーザーグループ
 
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3日本Javaユーザーグループ
 

More from 日本Javaユーザーグループ (12)

日本Javaユーザーグループ 2018年度 定期総会
日本Javaユーザーグループ 2018年度 定期総会日本Javaユーザーグループ 2018年度 定期総会
日本Javaユーザーグループ 2018年度 定期総会
 
日本Javaグループ2017年定期総会 #jjug
日本Javaグループ2017年定期総会 #jjug 日本Javaグループ2017年定期総会 #jjug
日本Javaグループ2017年定期総会 #jjug
 
日本Javaグループ2016年定期総会 #jjug #ccc_soukai
日本Javaグループ2016年定期総会 #jjug #ccc_soukai日本Javaグループ2016年定期総会 #jjug #ccc_soukai
日本Javaグループ2016年定期総会 #jjug #ccc_soukai
 
JCache Using JCache
JCache Using JCacheJCache Using JCache
JCache Using JCache
 
JJUG CCC 2015 Spring 総会資料
JJUG CCC 2015 Spring 総会資料JJUG CCC 2015 Spring 総会資料
JJUG CCC 2015 Spring 総会資料
 
Jjug ccc spring_#ccc_r55
Jjug ccc spring_#ccc_r55Jjug ccc spring_#ccc_r55
Jjug ccc spring_#ccc_r55
 
JJUG CCC 2014 Spring 定期総会
JJUG CCC 2014 Spring 定期総会JJUG CCC 2014 Spring 定期総会
JJUG CCC 2014 Spring 定期総会
 
パフォーマンス ボトルネック 国内あるある事例
パフォーマンス ボトルネック 国内あるある事例パフォーマンス ボトルネック 国内あるある事例
パフォーマンス ボトルネック 国内あるある事例
 
パフォーマンス管理最前線 米国大規模システムにおける最新トレンド
パフォーマンス管理最前線 米国大規模システムにおける最新トレンドパフォーマンス管理最前線 米国大規模システムにおける最新トレンド
パフォーマンス管理最前線 米国大規模システムにおける最新トレンド
 
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組みJJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
 
JJUG CCC 2013 Spring 定期総会資料
JJUG CCC 2013 Spring 定期総会資料JJUG CCC 2013 Spring 定期総会資料
JJUG CCC 2013 Spring 定期総会資料
 
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (8)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」 #jjug_ccc #ccc_f3

  • 1. Copyright © 2016 NTT DATA Corporation 株式会社NTTデータ 技術革新統括本部 ソフトウェア工学推進センタ 倉元 貴一 Javaエンジニアに知ってほしい、Springの教科書 「TERASOLUNA」
  • 2. Copyright © 2015 NTT DATA Corporation 2 INDEX 1. TERASOLUNA Frameworkとは 2. TERASOLUNA Frameworkが解決する諸問題 3. おわりに
  • 3. Copyright © 2016 NTT DATA Corporation 3 1. TERASOLUNA Frameworkとは
  • 4. 4Copyright © 2016 NTT DATA Corporation TERASOLUNAとは Process Environment Support 数多くのシステム開発で 培ったノウハウを盛り込んだ 標準開発手順・管理手順 ソフトウェアを開発する際の 雛形になるフレームワーク と開発を支援するツール 蓄積されたノウハウ を展開するための 研修や教育サービス 標準手順 サポート 開発環境 数多くのシステム開発実績をもとにした「標準手順」「開発環境」「サポート」を トータルで提供しており、TERASOLUNAを活用することで、高品質な システム開発が実現できます。 TERASOLUNAとは、NTTデータのシステム開発を支える オープン系システム開発のための総合ソリューション
  • 5. Copyright © 2015 NTT DATA Corporation 5 Javaフレームワーク年表 J2EE/Java EE 1999 2002 2005 2008 2011 2014 プレゼン層 ビジネスロジック層 O/R マッピング MVC ▲J2EE1.2 ▲J2EE1.3 ▲J2EE1.4 ▲JavaEE5 ▲JavaEE6 ▲JavaEE7 ▲Spring0.9 ▲Spring2.5 ▲Hib3rnate1.0 ▲Hibernate2.1 ▲JPA1.0 ▲JPA2.1 ▲Struts1.0 ▲Struts1.2 ▲Struts1.3 ▲Struts2.0 ▲Seaser2.0 ▲JPA2.0 ▲Seam1.0 ▲Spring1.0 ▲Spring2.0 ▲Spring3.0 ▲Spring4.0 ▲MyBatis3.0 ▲Hibernate3.0 ▲JSF1.0 ▲JSF1.2 ▲JSF2.0 ▲JSF2.2 ▲Facelets1.0 ▲Facelets2.0 DI x AOP ▲Seam2.0 ▲SAStruts1.0 ▲Seaser2.4 ▲Hibernate4.0 ▲iBatis2.3▲iBatis1.0 ▲TopLink ▲EclipseLink
  • 6. Copyright © 2015 NTT DATA Corporation 6 Javaフレームワークの動向と展望 • FWの必要性が認知され、 様々なJava FWが乱立 • FWの利用に不慣れな開発者が 多く品質にばらつき発生 • JavaFWは「Spring」と「Java EE」 の2強に • FWのコモディティ化が進み FWの活用が当たり前の時代に VS JVM APサーバ OS FW アプリケーション JVM APサーバ OS アプリケーション ■ソフトウェアスタック FW 2000年頃(FW乱立期) 2015年頃(FW成熟期) 2030年頃 Java FWが多数乱立 SpringとJava EEの2強に ■ソフトウェアスタック APサーバが FWを内包 2強時代の継続 Java EE時代の到来 Java時代の終焉 APサーバがFWの役割を吸収 ? Java EE Java EEJ2EE Java Java EE
  • 7. Copyright © 2015 NTT DATA Corporation 7 ? Javaフレームワークの動向と展望 • FWの必要性が認知され、 様々なJava FWが乱立 • FWの利用に不慣れな開発者が 多く品質にばらつき発生 • JavaFWは「Spring」と「Java EE」 の2強に • FWのコモディティ化が進み FWの活用が当たり前の時代に VS JVM APサーバ OS FW アプリケーション JVM APサーバ OS アプリケーション ■ソフトウェアスタック FW 2000年頃(FW乱立期) 2015年頃(FW成熟期) 2030年頃 Java FWが多数乱立 SpringとJava EEの2強に ■ソフトウェアスタック APサーバが FWを内包 2強時代の継続 Java EE時代の到来 Java時代の終焉 APサーバがFWの役割を吸収フレームワークの基本機能は 標準化(コモデティ化)へ Java EE Java EE Java
  • 8. Copyright © 2015 NTT DATA Corporation 8 Java TERASOLUNA Frameworkの基本コンセプト • FWの必要性が認知され、 様々なJavaFWが乱立 • FWの利用に不慣れな開発者が 多く品質にばらつき発生 • JavaFWは「Spring」と「Java EE」 の2強に • FWのコモディティ化が進みFWの 活用が当たり前の時代に Spring VS Spring JVM APサーバ OS FW アプリケーション JVM APサーバ OS アプリケーション ■ソフトウェアスタック FW 2000年頃(FW乱立期) 2015年頃(FW成熟期) 2030年頃 JavaFWが多数乱立 SpringとJava EEの2強に ■ソフトウェアスタック APサーバが FWを内包 2強時代の継続 Java EE時代の到来 Java時代の終焉 Spring APサーバがFWの役割を吸収 世の中のOSSを活用して エンタープライズ向け フレームワークを整備
  • 9. Copyright © 2015 NTT DATA Corporation 9 これまでのTERASOLUNA Framework(FW2系) 独自のフレームワーク層 Enterprise Application Application Server 以前は、OSSに独自の層を被せることで、 OSSでは不足している機能や、 品質を保つための制約を追加していた。
  • 10. Copyright © 2015 NTT DATA Corporation 10 2000年頃 2015年頃 FW自体に 付加価値 FWが コモディティ化 Java FWが 多数乱立 Java FWは SpringかJava EEの2強 業 界 動 向 当 社 の 取 組 独自FWとして整備 OSS(Spring)を 最大限活用 これまでのTERASOLUNA (TERASOLUNA Server FW for Java 2) 新たなTERASOLUNA (TERASOLUNA Server FW for Java 5) エンタープライズ適用に 必要なサポートを提供 サポート提供と合わせて エンタープライズ適用に 必要なガイドラインの充実 新たなTERASOLUNA Frameworkのコンセプト
  • 11. Copyright © 2015 NTT DATA Corporation 11 新たなTERASOLUNA Framework(FW5系) 業界の動向を考慮し構成要素を見直した 新しいフレームワークの提供を開始 Enterprise Application Application Server Spring MVC を 最大限活用 Spring Data JPA Spring Security
  • 12. 12Copyright © 2016 NTT DATA Corporation 新たなTERASOLUNA Frameworkの構成要素 •Spring, MyBatisなどのOSSフレームワークソフトウェアフレームワーク •エンタープライズ向けに必要な汎用的な部品共通ライブラリ •OSSを利用したエンタープライズ向けアプリ開発に おけるベストプラクティスドキュメントガイドライン •基本的な開発方法を学ぶ学習教材チュートリアル •基本的な機能を実装したサンプルアプリサンプルAP •プロジェクト構成のひな形ブランクプロジェクト
  • 13. 13Copyright © 2016 NTT DATA Corporation 公開資材の一例 http://terasolunaorg.github.io/ 開発ガイドライン ポータルサイト 資材提供
  • 14. 14Copyright © 2016 NTT DATA Corporation ニュースリリース 2016/02/24 本格運用開始のニュースリリース http://www.nttdata.com/jp/ja/news/release/2016/022400.html
  • 15. Copyright © 2015 NTT DATA Corporation 15 なぜSpringなのか? Springは機能追加し続けており、 今後も迅速な新規テクノロジーへの追従が期待できる Java標準技術への追従も活発であり、SpringとJava EE を組み合わせたベストな選択をしやすい 当社ではSpringを10年以上活用しており、社内に 適用実績、開発リソース、開発ノウハウが多く 存在している 適用案件や開発者が多く、 セキュリティ面の改善活動が活発に実施されている Spring Security等のセキュリティ対策OSSの採用により、 セキュリティ面への対応を強化できる グローバル市場でのシェアNo.1であり、技術者や情報が 豊富に存在するため、要員確保や書籍などによる 情報収集が容易である 開発 リソースの 確保 しやすさ 世の中の 変化への 対応 セキュリ ティ面の 強化 社内に 蓄積した ノウハウ量
  • 16. Copyright © 2015 NTT DATA Corporation 16 TERASOLUNA Frameworkの狙い コモディティ化しつつある領域では 仲間を増やし、業界貢献することが重要 お客様 競合他社 開発者 OSSコミュニティ
  • 17. Copyright © 2015 NTT DATA Corporation 17 ガイドラインのねらい 目的 記載内容 品質向上 • 検証済みで品質確保された開発方法のベストプラクティス • これまでの開発経験から得られた実践的な開発ノウハウ 工数削減 • 流用可能なコードサンプル • これまでPJ個別に実施しており、PJ間で重複していた事項 • 実現可能性検証の結果 • 学習コンテンツ、など ガイドラインの目的と記載内容 ガイドラインは、エンタープライズアプリケーション開発に 必要となる知識やノウハウを網羅し、適用プロジェクトをサポート
  • 18. Copyright © 2015 NTT DATA Corporation 18 ガイドラインのねらい • 各機能の詳細解説 • チュートリアル(学習コンテンツ) 理解しやすいように、 図を多数記載 • コードサンプル • 検証済みで品質確保された開発方法のベストプラクティス 流用して開発できるように コードサンプルを多数記載 コードサンプルの解説 も記載 • コードサンプル • エンタープライズ向けの実践的な開発ノウハウ ・・・ 各機能の拡張方法も記載 Note、Tip、Warning、Hintなど、 実践的な開発ノウハウを多数記載 実装方法とその根底 にある考え方も記載 ①基本知識の習得、AP基盤の検討 ③FWの拡張方針検討 ④AP基盤の設計・製造 ②実現性検証  アーキテクトの作業におけるガイドライン活用例
  • 19. 19Copyright © 2016 NTT DATA Corporation TERASOLUNA FrameworkのOSSスタック
  • 20. 20Copyright © 2016 NTT DATA Corporation 新たなTERASOLUNA Frameworkの提供機能
  • 21. 21Copyright © 2016 NTT DATA Corporation Server FW for Java 5.1.0の提供機能 画面連携 入力チェック メッセージ管理/国際化 ページネーション アップロード/ダウンロード 二重送信防止 コードリスト システム間連携 SOAPサーバ/クライアント RESTサーバ/クライアント Email送信 DBアクセス(MyBatis/JPA) トランザクション/排他制御 データ連携 セキュリティ 認証・認可 CSRF/XSS対策 暗号化 ユーティリティ ロギング 例外ハンドリング セッション管理 日付・文字列操作
  • 22. 22Copyright © 2016 NTT DATA Corporation (参考)TERASOLUNAの導入実績 5 26 52 79 130 230 371 540 646 765 877 999 0 200 400 600 800 1000 1200 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 新規導入プロジェクト数 累計 TERASOLUNAは、オープン系の標準として 業種業態問わず、小規模から大規模まで幅広く導入 ※NTTデータおよびNTTデータグループ内の導入実績(2014年3月末時点)
  • 23. 23Copyright © 2016 NTT DATA Corporation (参考)ガイドラインへのアクセス数 公開から24万ユーザ以上にアクセスされ 毎日4000ページビュー以上閲覧されている 2/24 ニュースリリース
  • 24. Copyright © 2016 NTT DATA Corporation 24 2. TERASOLUNA Frameworkが解決する諸問題
  • 25. 25Copyright © 2016 NTT DATA Corporation エンタープライズシステム開発での課題
  • 26. 26Copyright © 2016 NTT DATA Corporation 1. 膨大なJarや設定ファイルの組み合わせ 2. プロジェクト構成・ アプリケーションのレイヤ化 1. 膨大なJarや設定ファイルの 組み合わせ 4. セキュリティ対策 3.ソースの品質向上・ 品質維持
  • 27. 27Copyright © 2016 NTT DATA Corporation 1. 膨大なJarや設定ファイルの組み合わせ Jarのバージョン… 食い違ってない? 設定ファイル 多すぎて辛い… 環境依存して ないかこれ… そんなときは…
  • 28. 28Copyright © 2016 NTT DATA Corporation 1. 膨大なJarや設定ファイルの組み合わせ http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/ImplementationAtEachLayer/CreateWebApplicationProject.html
  • 29. 29Copyright © 2016 NTT DATA Corporation 1. 膨大なJarや設定ファイルの組み合わせ • エンタープライズ開発に必要な 各種設定・ライブラリ依存関係が設定済 • Spring IO Platformをベースに、 TERASOLUNAで検証済みのライブラリを 独自に追加 エンタープライズ開発に必要なノウハウを 詰め込んだプロジェクト構成の雛形 「ブランクプロジェクト」を提供
  • 30. 30Copyright © 2016 NTT DATA Corporation ブランクプロジェクトの構成 エンタープライズ開発時に必要になる設定が定義済みの ブランクプロジェクトのarchetypeを提供 環境依存する資材を集約 するプロジェクト アプリケーションレイヤの プロジェクト ドメイン・インフラレイヤの プロジェクト 「4.1.1. 開発プロジェクトの作成」からご覧ください。
  • 31. 31Copyright © 2016 NTT DATA Corporation 依存関係 TERASOLUNA FWが 依存・推奨する ライブラリが定義済
  • 32. 32Copyright © 2016 NTT DATA Corporation (参考)Spring IO Platformとは? https://spring.io/platform
  • 33. 33Copyright © 2016 NTT DATA Corporation (参考)Spring IO Platformとは? http://docs.spring.io/platform/docs/current/reference/htmlsingle/#appendix-dependency-versions
  • 34. 34Copyright © 2016 NTT DATA Corporation 2. プロジェクト構成・アプリケーションのレイヤ化 2. プロジェクト構成・ アプリケーションのレイヤ化 1. 膨大なJarや設定ファイルの 組み合わせ 4. セキュリティ対策 3.ソースの品質向上・ 品質維持
  • 35. 35Copyright © 2016 NTT DATA Corporation 2. プロジェクト構成・アプリケーションのレイヤ化 アプリケーションの レイヤリングって、 どうすればいいん だろう あー… なんでこのクラス ここにいるんだ よくみたら 循環参照してる けど今更… そんなときは…
  • 36. 36Copyright © 2016 NTT DATA Corporation 2. プロジェクト構成・アプリケーションのレイヤ化 http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/Overview/ApplicationLayering.html
  • 37. 37Copyright © 2016 NTT DATA Corporation 2. プロジェクト構成・アプリケーションのレイヤ化 クラスの種類を3層に分類し、依存関係を規定
  • 38. 38Copyright © 2016 NTT DATA Corporation 2. プロジェクト構成・アプリケーションのレイヤ化
  • 39. 39Copyright © 2016 NTT DATA Corporation レイヤの依存関係 Domain Layer Application Layer 誤ったレイヤ間の依存関係を 早期に検出できる
  • 40. 40Copyright © 2016 NTT DATA Corporation ブランクプロジェクトの内部構成 Domain Layer Infrastructure Layer
  • 41. 41Copyright © 2016 NTT DATA Corporation ブランクプロジェクトの内部構成 Application Layer
  • 42. 42Copyright © 2016 NTT DATA Corporation ブランクプロジェクトの内部構成 ログ出力設定やデータソース定義など、 ステージング環境によって異なる設定を 本プロジェクトに集約することで、 設定値の置換を容易にしている
  • 43. 43Copyright © 2016 NTT DATA Corporation 3. ソースの品質向上・品質維持 2. プロジェクト構成・ アプリケーションのレイヤ化 1. 膨大なJarや設定ファイルの 組み合わせ 4. セキュリティ対策 3.ソースの品質向上・ 品質維持
  • 44. 44Copyright © 2016 NTT DATA Corporation 3. ソースの品質向上・品質維持 このコード、 Webにのってる やつコピったな… 危険すぎる… DBアクセスも 入力チェックも、 いつも考えるけど ノウハウまとまって ないなぁ… 似たようなことを 前にやったけど、 時間経ちすぎてる しなぁ… そんなときは…
  • 45. 45Copyright © 2016 NTT DATA Corporation 3. ソースの品質向上・品質維持 http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/ArchitectureInDetail/index.html
  • 46. 46Copyright © 2016 NTT DATA Corporation 提供機能 エンタープライズ開発で必要となる 機能を網羅的に解説
  • 47. 47Copyright © 2016 NTT DATA Corporation 解説例 使い方/拡張方法をコードを交えて解説
  • 48. Copyright © 2015 NTT DATA Corporation 48 ガイドラインの品質確保 エンタープライズ開発で活用してもらうには ガイドラインの品質を確保し続けることが重要 例:ガイドラインのサンプルコードの品質確保 頻繁に更新されるガイドラインや プラットフォームに合わせて コード品質の確認が必要となる 様々なOS/Java/ミドルの構成に 対して700シナリオ以上の 機能テストを日次で実行する 後方互換の問題を検知し改善 フレームワーク更新の影響として 速やかに周知する ガイドライン更新 テスト自動実行 テスト結果確認 JMeter Gitbucket Selenium Jenkins Vagrant 開発ガイドライン テスト一覧 Test1 Test2 Test3 Test4 OK OK OK NG DB AP Server JDK
  • 49. Copyright © 2015 NTT DATA Corporation 49 OSSの品質貢献(Springの場合) Spring Framework (49) Spring Security (13) Spring Data (4) SPR-13520 SPR-13518 SPR-13503 SPR-13443 (Resolved) SPR-13426 SPR-13418 SPR-13406 SPR-13402 SPR-13379 (Resolved) SPR-13359 (Resolved) SPR-13350 (Resolved) SPR-13136 (Resolved) SPR-13124 (Resolved) SPR-13103 (Resolved) SPR-13102 (Resolved) SPR-13086 SPR-13041 (Resolved) SPR-13038 (Resolved) SPR-13025 (Resolved) SPR-13000 (Resolved) SPR-12994 (Resolved) SPR-12993 (Resolved) SPR-12992 (Resolved) SPR-12991 (Resolved) SPR-12990 (Resolved) SPR-12988 (Resolved) SPR-12987 (Resolved) SPR-12985 (Resolved) SPR-12981 (Resolved) SPR-12980 (Resolved) SPR-12979 (Resolved) SPR-12954 SPR-12853 SPR-12819 (Resolved) SPR-12792 (Resolved) SPR-12743 (Resolved) SPR-12510 (Resolved) SPR-12509 (Resolved) SPR-12442 (Resolved) SPR-12354 (Resolved) SPR-12265 (Resolved) SPR-12229 (Resolved) SPR-11970 (Resolved) SPR-11826 SPR-11821 (Resolved) SPR-11810 (Resolved) SPR-11670 (Resolved) SPR-11669 SPR-11074 (Resolved) SEC-3105 SEC-3003 (Resolved) SEC-2910 SEC-2905 SEC-2903 SEC-2880 (Resolved) SEC-2840 (Resolved) SEC-2836 SEC-2835 (Resolved) SEC-2834 (Resolved) SEC-2826 (Resolved) SEC-2422 (Resolved) SEC-2403 DATAJPA-473 (Resolved) DATACMSN-379 (Resolved) DATACMNS-408 (Resolved) DATACMNS-377 (Resolved) バグレポート(2015年9月30日時点) OSSのバグをコミュニティや開発元に報告し OSSの品質改善に貢献
  • 50. 50Copyright © 2016 NTT DATA Corporation 4. セキュリティ対策 2. プロジェクト構成・ アプリケーションのレイヤ化 1. 膨大なJarや設定ファイルの 組み合わせ 4. セキュリティ対策 3.ソースの品質向上・ 品質維持
  • 51. 51Copyright © 2016 NTT DATA Corporation 4. セキュリティ対策 ここ最近、脆弱性の ニュースよく聞くし 適当にはできないよ なぁ… セキュリティ機能って どうつくればいいか わからないよ… 非機能も含めて セキュリティ対策 できてるのかな… そんなときは…
  • 52. 52Copyright © 2016 NTT DATA Corporation セキュリティ対策 機能/非機能を意識した セキュリティ対策方法の提供 http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/Security/index.html
  • 53. 53Copyright © 2016 NTT DATA Corporation セキュリティ機能の使い方 セキュリティ機能の使い方を解説 http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/ Security/Authentication.html
  • 54. 54Copyright © 2016 NTT DATA Corporation 機能面からのセキュリティ対策 機能面から見た 代表的な要件の実現方法について解説 http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja /Security/SecureLoginDemo.html
  • 55. 55Copyright © 2016 NTT DATA Corporation 非機能面から見た 代表的な要件の実現方法について解説 非機能面からのセキュリティ対策 http://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/Introduction/ CriteriaBasedMapping.html
  • 56. Copyright © 2016 NTT DATA Corporation 56 おわりに
  • 57. Copyright © 2015 NTT DATA Corporation 57 TERASOLUNA Server Framework for Java (5.x) Development Guideline http://terasolunaorg.github.io/guideline/
  • 58. Copyright © 2015 NTT DATA Corporation 58 2000page over !! 多種多様なノウハウ集であり、 Springの教科書でもあり、辞典でもある
  • 59. 59Copyright © 2016 NTT DATA Corporation 最後に TERASOLUNA Frameworkに興味がある方は下記までご連絡ください TERASOLUNA窓口 E-mail: terasoluna@am.nttdata.co.jp NTTデータは今後もJavaアプリケーション開発の ベストプラクティスをOSSで提供し続けます エンタープライズJavaシステム開発で積極的に活用し、 情報交換やコミュニティ活動を活発化して さらなるJavaの発展、繁栄に向けて共に歩んでいきましょう。
  • 60. Copyright © 2011 NTT DATA Corporation Copyright © 2016 NTT DATA Corporation 「TERASOLUNA」及びそのロゴは、日本及びその他の国おける株式会社NTTデータの商標または登録商標です。 その他、記載されている会社名、商品名、サービス名等は、各社の商標または登録商標です。