Suche senden
Hochladen
TERASOLUNA Framework on the Spring IO Platform
•
2 gefällt mir
•
460 views
A
apkiban
Folgen
spring IO2015の講演資料です。
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 113
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Hands on MapR -- Viadea
Hands on MapR -- Viadea
viadea
Apache Sparkについて
Apache Sparkについて
BrainPad Inc.
20分でわかるgVisor入門
20分でわかるgVisor入門
Shuji Yamada
Presto on YARNの導入・運用
Presto on YARNの導入・運用
cyberagent
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
JDK versions and OpenJDK
JDK versions and OpenJDK
Wolfgang Weigend
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
オラクルエンジニア通信
Fogとは何か 20171205
Fogとは何か 20171205
Shunsuke Kikuchi
Empfohlen
Hands on MapR -- Viadea
Hands on MapR -- Viadea
viadea
Apache Sparkについて
Apache Sparkについて
BrainPad Inc.
20分でわかるgVisor入門
20分でわかるgVisor入門
Shuji Yamada
Presto on YARNの導入・運用
Presto on YARNの導入・運用
cyberagent
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
JDK versions and OpenJDK
JDK versions and OpenJDK
Wolfgang Weigend
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
オラクルエンジニア通信
Fogとは何か 20171205
Fogとは何か 20171205
Shunsuke Kikuchi
Care and Feeding of Catalyst Optimizer
Care and Feeding of Catalyst Optimizer
Databricks
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要
Etsuji Nakai
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
NTT DATA Technology & Innovation
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
Angelo Corsaro
Sprytniejsze testowanie kodu java ze spock framework (zaawansowane techniki) ...
Sprytniejsze testowanie kodu java ze spock framework (zaawansowane techniki) ...
PROIDEA
Running Apache Spark & Apache Zeppelin in Production
Running Apache Spark & Apache Zeppelin in Production
DataWorks Summit/Hadoop Summit
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
オラクルエンジニア通信
Spring notes
Spring notes
Rajeev Uppala
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
NTT DATA Technology & Innovation
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
NTT DATA Technology & Innovation
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
株式会社 NTTテクノクロス
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Hibino Hisashi
コロナ禍で挑んだ超高速アジャイル開発 ~最速1.5ヶ月でローンチしたおでかけ混雑マップの舞台裏 (技術編) ~(NTTデータ テクノロジーカンファレンス ...
コロナ禍で挑んだ超高速アジャイル開発 ~最速1.5ヶ月でローンチしたおでかけ混雑マップの舞台裏 (技術編) ~(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
Zenoh Tutorial
Zenoh Tutorial
Angelo Corsaro
Apache Spark Data Validation
Apache Spark Data Validation
Databricks
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
ksk_ha
Wireguard 実践入門
Wireguard 実践入門
Kazuhiro Nishiyama
DevOps - Interview Question.pdf
DevOps - Interview Question.pdf
MinhTrnNht7
Productionizing Spark and the Spark Job Server
Productionizing Spark and the Spark Job Server
Evan Chan
Network architecture design for microservices on GCP
Network architecture design for microservices on GCP
Raphaël FRAYSSE
Korejanai Story
Korejanai Story
Kentaro Takeda
ODA Target Markets – Partnering to Win
ODA Target Markets – Partnering to Win
MarketingArrowECS_CZ
Weitere ähnliche Inhalte
Was ist angesagt?
Care and Feeding of Catalyst Optimizer
Care and Feeding of Catalyst Optimizer
Databricks
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要
Etsuji Nakai
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
NTT DATA Technology & Innovation
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
Angelo Corsaro
Sprytniejsze testowanie kodu java ze spock framework (zaawansowane techniki) ...
Sprytniejsze testowanie kodu java ze spock framework (zaawansowane techniki) ...
PROIDEA
Running Apache Spark & Apache Zeppelin in Production
Running Apache Spark & Apache Zeppelin in Production
DataWorks Summit/Hadoop Summit
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
オラクルエンジニア通信
Spring notes
Spring notes
Rajeev Uppala
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
NTT DATA Technology & Innovation
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
NTT DATA Technology & Innovation
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
株式会社 NTTテクノクロス
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Hibino Hisashi
コロナ禍で挑んだ超高速アジャイル開発 ~最速1.5ヶ月でローンチしたおでかけ混雑マップの舞台裏 (技術編) ~(NTTデータ テクノロジーカンファレンス ...
コロナ禍で挑んだ超高速アジャイル開発 ~最速1.5ヶ月でローンチしたおでかけ混雑マップの舞台裏 (技術編) ~(NTTデータ テクノロジーカンファレンス ...
NTT DATA Technology & Innovation
Zenoh Tutorial
Zenoh Tutorial
Angelo Corsaro
Apache Spark Data Validation
Apache Spark Data Validation
Databricks
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
ksk_ha
Wireguard 実践入門
Wireguard 実践入門
Kazuhiro Nishiyama
DevOps - Interview Question.pdf
DevOps - Interview Question.pdf
MinhTrnNht7
Productionizing Spark and the Spark Job Server
Productionizing Spark and the Spark Job Server
Evan Chan
Network architecture design for microservices on GCP
Network architecture design for microservices on GCP
Raphaël FRAYSSE
Was ist angesagt?
(20)
Care and Feeding of Catalyst Optimizer
Care and Feeding of Catalyst Optimizer
分散ストレージソフトウェアCeph・アーキテクチャー概要
分散ストレージソフトウェアCeph・アーキテクチャー概要
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
Sprytniejsze testowanie kodu java ze spock framework (zaawansowane techniki) ...
Sprytniejsze testowanie kodu java ze spock framework (zaawansowane techniki) ...
Running Apache Spark & Apache Zeppelin in Production
Running Apache Spark & Apache Zeppelin in Production
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
Spring notes
Spring notes
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
大量のデータ処理や分析に使えるOSS Apache Sparkのご紹介(Open Source Conference 2020 Online/Kyoto ...
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
コロナ禍で挑んだ超高速アジャイル開発 ~最速1.5ヶ月でローンチしたおでかけ混雑マップの舞台裏 (技術編) ~(NTTデータ テクノロジーカンファレンス ...
コロナ禍で挑んだ超高速アジャイル開発 ~最速1.5ヶ月でローンチしたおでかけ混雑マップの舞台裏 (技術編) ~(NTTデータ テクノロジーカンファレンス ...
Zenoh Tutorial
Zenoh Tutorial
Apache Spark Data Validation
Apache Spark Data Validation
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
Wireguard 実践入門
Wireguard 実践入門
DevOps - Interview Question.pdf
DevOps - Interview Question.pdf
Productionizing Spark and the Spark Job Server
Productionizing Spark and the Spark Job Server
Network architecture design for microservices on GCP
Network architecture design for microservices on GCP
Ähnlich wie TERASOLUNA Framework on the Spring IO Platform
Korejanai Story
Korejanai Story
Kentaro Takeda
ODA Target Markets – Partnering to Win
ODA Target Markets – Partnering to Win
MarketingArrowECS_CZ
The Cloud Foundry Story
The Cloud Foundry Story
VMware Tanzu
Why cloud?
Why cloud?
Lilly V.
Pivotal Cloud Platform Roadshow Keynote
Pivotal Cloud Platform Roadshow Keynote
cornelia davis
Let's Talk Mobile
Let's Talk Mobile
Chris Muir
Final business intelligence in the cloud
Final business intelligence in the cloud
Hossam Hassanien
Oracle Mobile Cloud Service
Oracle Mobile Cloud Service
Juan Carlos Ruiz Rico
Accelerating the Software Delivery Pipelinewith Mirantis OpenStack
Accelerating the Software Delivery Pipelinewith Mirantis OpenStack
Bob Sokol
The Programmable Telecom Network, Doug Tait, Oracle, Enzo Amorino, Telecom It...
The Programmable Telecom Network, Doug Tait, Oracle, Enzo Amorino, Telecom It...
Alan Quayle
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Software Guru
Pythian MySQL - database for the web based economy
Pythian MySQL - database for the web based economy
InSync Conference
Why citizen developers should be your new best friend - Oracle APEX
Why citizen developers should be your new best friend - Oracle APEX
DavidPeake15
Cloud Native Application Framework
Cloud Native Application Framework
VMware Tanzu
DITA PUBLISHING: The True Cost of Taking your DITA Content Online
DITA PUBLISHING: The True Cost of Taking your DITA Content Online
WebWorks
Modern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
Juan Carlos Ruiz Rico
Oracle Primavera Roadmap 2015
Oracle Primavera Roadmap 2015
p6academy
Effective IoT System on Openstack
Effective IoT System on Openstack
Takashi Kajinami
3.1 oracle salonika
3.1 oracle salonika
technology_forum
Oracle Modern AppDev Approach to Cloud & Container Native App
Oracle Modern AppDev Approach to Cloud & Container Native App
Paulo Alberto Simoes ∴
Ähnlich wie TERASOLUNA Framework on the Spring IO Platform
(20)
Korejanai Story
Korejanai Story
ODA Target Markets – Partnering to Win
ODA Target Markets – Partnering to Win
The Cloud Foundry Story
The Cloud Foundry Story
Why cloud?
Why cloud?
Pivotal Cloud Platform Roadshow Keynote
Pivotal Cloud Platform Roadshow Keynote
Let's Talk Mobile
Let's Talk Mobile
Final business intelligence in the cloud
Final business intelligence in the cloud
Oracle Mobile Cloud Service
Oracle Mobile Cloud Service
Accelerating the Software Delivery Pipelinewith Mirantis OpenStack
Accelerating the Software Delivery Pipelinewith Mirantis OpenStack
The Programmable Telecom Network, Doug Tait, Oracle, Enzo Amorino, Telecom It...
The Programmable Telecom Network, Doug Tait, Oracle, Enzo Amorino, Telecom It...
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Pythian MySQL - database for the web based economy
Pythian MySQL - database for the web based economy
Why citizen developers should be your new best friend - Oracle APEX
Why citizen developers should be your new best friend - Oracle APEX
Cloud Native Application Framework
Cloud Native Application Framework
DITA PUBLISHING: The True Cost of Taking your DITA Content Online
DITA PUBLISHING: The True Cost of Taking your DITA Content Online
Modern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
Oracle Primavera Roadmap 2015
Oracle Primavera Roadmap 2015
Effective IoT System on Openstack
Effective IoT System on Openstack
3.1 oracle salonika
3.1 oracle salonika
Oracle Modern AppDev Approach to Cloud & Container Native App
Oracle Modern AppDev Approach to Cloud & Container Native App
Mehr von apkiban
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
apkiban
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
apkiban
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
apkiban
What happens in Spring Cloud Netflix
What happens in Spring Cloud Netflix
apkiban
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
apkiban
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
apkiban
新しいTERASOLUNA Batch Frameworkとは
新しいTERASOLUNA Batch Frameworkとは
apkiban
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
apkiban
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
apkiban
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
apkiban
バッチは地味だが役に立つ
バッチは地味だが役に立つ
apkiban
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わる
apkiban
Mehr von apkiban
(12)
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
What happens in Spring Cloud Netflix
What happens in Spring Cloud Netflix
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
新しいTERASOLUNA Batch Frameworkとは
新しいTERASOLUNA Batch Frameworkとは
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
バッチは地味だが役に立つ
バッチは地味だが役に立つ
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わる
Kürzlich hochgeladen
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
ThousandEyes
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Alberto González Trastoy
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
SolGuruz
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
MyIntelliSource, Inc.
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Andolasoft Inc
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
shikhaohhpro
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
MyIntelliSource, Inc.
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Software Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
Arshad QA
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
OnePlan Solutions
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
ComplianceQuest1
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
Jhone kinadey
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
Delhi Call girls
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
kalichargn70th171
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Fatema Valibhai
Kürzlich hochgeladen
(20)
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
Software Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
TERASOLUNA Framework on the Spring IO Platform
1.
TERASOLUNA Framework on the
Spring IO Platform Toshiaki Maki
2.
About me • Toshiaki
Maki –Leader of TERASOLUNA Framework –Spring enthusiast for 6 years –Author of a book about Spring Boot
3.
Copyright © 2015
NTT DATA Corporation 2015-04-29 Toshiaki Maki @ Spring I/O 2015 TERASOLUNA Framework on the Spring IO Platform
4.
Copyright © 2015
NTT DATA Corporation 4 About me Toshiaki Maki • Leader of TERASOLUNA Framework • Spring enthusiast for 6 years • Author of a book about Spring Boot
5.
Copyright © 2015
NTT DATA Corporation 5 About NTTDATA • NTT DATA Corporation is the 6th largest global IT services company • Headquartered in Tokyo • Sales above ¥1.5 trillion • 75,000 professionals in 40 countries.
6.
Copyright © 2015
NTT DATA Corporation 6 Our Business Domains Public Sector Education Transportation and Logistics Healthcare and Life Sciences Energy and Utilities Wholesale and Distribution Banking and Financial Services Natural Resources Retail Insurance Manufacturing Service Providers Telecommunication Automotive Fundamental Technologies Media and Entertainment Electronics and High Tech Consumer Products http://www.nttdata.com/global/en/investor/library/annual-reports/pdf/2015/fy2014_ar.pdf
7.
Copyright © 2015
NTT DATA Corporation 7 Agenda • What is TERASOLUNA Framework • How we use Spring IO Platform • How TERASOLUNA solved traditional problems • How we solved maintenance problems • Where TERASOLUNA is actually used • Contributions to Spring • Q&A
8.
Copyright © 2015
NTT DATA Corporation 8 What is TERASOLUNA Framework
9.
9Copyright © 2015
NTT DATA Corporation What is TERASOLUNA? Process Environment Support NTT DATA standard process of development and project management Software Framework Automation Tools Standard Process Support Service Development Environment The integrated solution of best practices in NTT Data Japan for developing open systems Standard technologies, Methodologies, and Technical training /support. Tech Support Training Service
10.
10Copyright © 2015
NTT DATA Corporation What is TERASOLUNA? Process Environment Support NTT DATA standard process of development and project management Software Framework Automation Tools Standard Process Support Service Development Environment The integrated solution of best practices in NTT Data Japan for developing open systems Standard technologies, Methodologies, and Technical training /support. Tech Support Training Service Today’s Topic
11.
11Copyright © 2015
NTT DATA Corporation Customers System Integration Business in Japan Project Project Project … ProjectProjectProject +100 PRJ Every year
12.
12Copyright © 2015
NTT DATA Corporation Customers System Integration Business in Japan Project Project Project … ProjectProjectProject +100 PRJ Every year TERASOLUNA team has been providing dedicated supports & consistent stable solutions
13.
13Copyright © 2015
NTT DATA Corporation What “was” TERASOLUNA FW? Spring Unique Glue Code Enterprise Application Application Server http://www.terasoluna.jp/ Spring 1 (2004-) 2 (2007-) 3 (2012-) Struts1 Developers can just focus on business logic TERASOLUNA Framework started from 2004 and has been used in 1000+ projects.
14.
14Copyright © 2015
NTT DATA Corporation What “was” TERASOLUNA FW? Supported by Automation tools Generate source code/configurations related to screen Generate source code/configurations related to business logic
15.
15Copyright © 2015
NTT DATA Corporation Customers System Integration Business in Japan Project Project Project … ProjectProjectProject In general, large projects have 1-2 years developing phase and 6-8 years maintenance phase
16.
16Copyright © 2015
NTT DATA Corporation Customers System Integration Business in Japan Project Project Project … ProjectProjectProject In general, large projects have 1-2 years developing phase and 6-8 years maintenance phase We have to provide long term support.
17.
17Copyright © 2015
NTT DATA Corporation EOL & Security Vulnerability http://www.ipa.go.jp/security/ciadr/vul/20140417-struts.html 2014-04 ClassLoader Manipulation Vulnerability CVE-2014-0114 Struts1 had been already EOL since 2013 2015-03 Multi Page Validator Vulnerability CVE-2015-0899 http://sourceforge.jp/projects/terasoluna/wiki/StrutsPatch1-JP http://sourceforge.jp/projects/terasoluna/wiki/StrutsPatch2-JP We patched !! We reported.
18.
18Copyright © 2015
NTT DATA Corporation EOL & Security Vulnerability http://www.ipa.go.jp/security/ciadr/vul/20140417-struts.html 2014-04 ClassLoader Manipulation Vulnerability CVE-2014-0114 2015-03 Multi Page Validator Vulnerability CVE-2015-0899 http://sourceforge.jp/projects/terasoluna/wiki/StrutsPatch1-JP http://sourceforge.jp/projects/terasoluna/wiki/StrutsPatch2-JP We patched !! We reported. Struts1 had been already EOL since 2013 Some Japanese customers show concern of continuing Struts1.
19.
19Copyright © 2015
NTT DATA Corporation History of TERASOLUNA FW TERASOLUNA Server FW for Java(Web)1.X TERASOLUNA Server FW for Java 5.X 2013 Homegrown FW based on Struts Homegrown FW based on Struts+Spring Spring MVC 3.2 For Japan(Web) For Global For Japan (XML) Homegrown FW based on old Spring MVC 2004 20072006 For Japan 2015 Based on Global FW TERASOLUNA Server FW for Java(Rich)1.X TERASOLUNA Global FW 1.X TERASOLUNA Server FW for Java(Web)2.X TERASOLUNA Server FW for Java(Rich)2.X Spring MVC 4.1+ We have started to use Spring MVC for global projects
20.
20Copyright © 2015
NTT DATA Corporation What “is” TERASOLUNA FW? TERASOLUNA FW is like a “Packaged Spring” for Enterprise Application. No longer an isolated framework. Spring Enterprise Application Application Server Spring MVC No Glue! Just Spring! Spring Data JPA Spring Security http://terasoluna.org
21.
Copyright © 2015
NTT DATA Corporation 21 2000~ 2015 Creating a framework itself is valuable Frameworks are commoditized Too many Java Frameworks Spring or Java EE TrendsOurApproach Developed as a unique Framework OSS(Spring) as it is Previous TERASOLUNA (TERASOLUNA Server FW for Java 2) New TERASOLUNA (TERASOLUNA Server FW for Java 5) Enterprise Support Enterprise Support & Guideline Concept of TERASOLUNA Framework
22.
Copyright © 2015
NTT DATA Corporation 22 Spring continues new feature enhancement and expected the rapid new technology in future. Since Java EE takes lot of time from specification confirmation to implementation of the AP server vendor. Since we are using Spring technology from past 10 years, our company have good knowledge of development, implementation and development resources. Since there are considerable implementation differences in Java EE compliant AP server, it is difficult to provide a generic trouble shooting and support for multiple AP server Many application projects and developers, security aspects have been actively implemented. The adoption of security measures such as OOS Spring Security can enhance the security aspects. No.1 share in global market, exists good number of engineers and information, easy to gather information and resources Develop ment resource s Support to change Strong Security In-house Know- how Java EE Adoption barriers Spring Why Spring?
23.
23Copyright © 2015
NTT DATA Corporation Components in TERASOLUNA •OSS like Spring, JPA, MyBatis, Apache commons… Software Framework •A little utilities for enterprise application Common Library •Best Practice Document for enterprise application development Guideline •Materials to learn basic knowledge for Application development Tutorials •Sample application based on the guideline Sample Application •Quick start project based on the guideline Blank Project DevelopedbyNTTDATA
24.
24Copyright © 2015
NTT DATA Corporation Components in TERASOLUNA •OSS like Spring, JPA, MyBatis, Apache commons… Software Framework •A little utilities for enterprise application Common Library •Best Practice Document for enterprise application development Guideline •Materials to learn basic knowledge for Application development Tutorials •Sample application based on the guideline Sample Application •Quick start project based on the guideline Blank Project DevelopedbyNTTDATA Published on GithHub http://terasoluna.org
25.
25Copyright © 2015
NTT DATA Corporation Current Software Stack
26.
26Copyright © 2015
NTT DATA Corporation Current Software Stack
27.
27Copyright © 2015
NTT DATA Corporation Common Library Small library of useful and obtrusive common functionalities https://github.com/terasolunaorg/terasoluna-gfw http://terasolunaorg.github.io/guideline/5.0.x/en/Overview/FrameworkStack.html#building-blocks-of-common-library Exception Handling Provide general exception classes/logger/interceptor and exception handler of Spring MVC. System Date Factory Provide classes for retrieving the system date time for test. Double Submit Protection Provide mechanism (classes) for protecting Web Application from double submitting of request. Tag Libs Provide JSP tags for pagination link, showing message panels. … …
28.
28Copyright © 2015
NTT DATA Corporation General Problems in Java development Complex Spring Combinations & Configurations Poor Exception Handling/Logging Messy Project Structure Inaccuracy of how to implement
29.
29Copyright © 2015
NTT DATA Corporation General Problems in Java development Complex Spring Combinations & Configurations Poor Exception Handling/Logging Messy Project Structure Inaccuracy of how to implement Software Framework Common Library Guideline Tutorials Sample Application Blank Project
30.
30Copyright © 2015
NTT DATA Corporation General Problems in Java development Complex Spring Combinations & Configurations Poor Exception Handling/Logging Messy Project Structure Inaccuracy of how to implement Software Framework Common Library Guideline Tutorials Sample Application Blank Project Our outputs resolve general problems (explained later)
31.
31Copyright © 2015
NTT DATA Corporation History of TERASOLUNA TERASOLUNA Server FW for Java(Web)1.X TERASOLUNA Server FW for Java 5.X 2013 Homegrown FW based on Struts Homegrown FW based on Struts+Spring Spring MVC 3.2 For Japan(Web) For Global For Japan (XML) Homegrown FW based on old Spring MVC 2004 20072006 For Japan 2015 TERASOLUNA Server FW for Java(Rich)1.X TERASOLUNA Global FW 1.X TERASOLUNA Server FW for Java(Web)2.X TERASOLUNA Server FW for Java(Rich)2.X Spring MVC 4.1+
32.
32Copyright © 2015
NTT DATA Corporation History of TERASOLUNA TERASOLUNA Server FW for Java(Web)1.X TERASOLUNA Server FW for Java 5.X 2013 Homegrown FW based on Struts Homegrown FW based on Struts+Spring Spring MVC 3.2 For Japan(Web) For Global For Japan (XML) Homegrown FW based on old Spring MVC 2004 20072006 For Japan 2015 TERASOLUNA Server FW for Java(Rich)1.X TERASOLUNA Global FW 1.X TERASOLUNA Server FW for Java(Web)2.X TERASOLUNA Server FW for Java(Rich)2.X Spring MVC 4.1+
33.
33Copyright © 2015
NTT DATA Corporation History of TERASOLUNA TERASOLUNA Server FW for Java(Web)1.X TERASOLUNA Server FW for Java 5.X 2013 Homegrown FW based on Struts Homegrown FW based on Struts+Spring Spring MVC 3.2 For Japan(Web) For Global For Japan (XML) Homegrown FW based on old Spring MVC 2004 20072006 For Japan 2015 TERASOLUNA Server FW for Java(Rich)1.X TERASOLUNA Global FW 1.X TERASOLUNA Server FW for Java(Web)2.X TERASOLUNA Server FW for Java(Rich)2.X Spring MVC 4.1+ Already released since 2013
34.
34Copyright © 2015
NTT DATA Corporation History of TERASOLUNA TERASOLUNA Server FW for Java(Web)1.X TERASOLUNA Server FW for Java 5.X 2013 Homegrown FW based on Struts Homegrown FW based on Struts+Spring Spring MVC 3.2 For Japan(Web) For Global For Japan (XML) Homegrown FW based on old Spring MVC 2004 20072006 For Japan 2015 TERASOLUNA Server FW for Java(Rich)1.X TERASOLUNA Global FW 1.X TERASOLUNA Server FW for Java(Web)2.X TERASOLUNA Server FW for Java(Rich)2.X Spring MVC 4.1+ What’s the difference?? Already released since 2013
35.
35Copyright © 2015
NTT DATA Corporation Current Software Stack
36.
36Copyright © 2015
NTT DATA Corporation Current Software StackVersion management between Spring sub- projects is complicated
37.
37Copyright © 2015
NTT DATA Corporation Current Software StackVersion management between Spring sub- projects is complicated Version management between Spring and 3rd parties is also complicated
38.
38Copyright © 2015
NTT DATA Corporation Current Software StackVersion management between Spring sub- projects is complicated Version management between Spring and 3rd parties is complicated Updating cost increases!
39.
39Copyright © 2015
NTT DATA Corporation Current Software Stack
40.
40Copyright © 2015
NTT DATA Corporation Current Software Stack We meet Spring IO Platform
41.
Copyright © 2015
NTT DATA Corporation 41 How we use Spring IO Platform
42.
42Copyright © 2015
NTT DATA Corporation What is Spring IO Platform https://spring.io/platform
43.
43Copyright © 2015
NTT DATA Corporation Managed Dependencies http://docs.spring.io/platform/docs/current/reference/htmlsingle/#appendix-dependency-versions https://pivotal.io/agile/press-release/pivotal-releases-spring-io-platform
44.
44Copyright © 2015
NTT DATA Corporation Managed Dependencies http://docs.spring.io/platform/docs/current/reference/htmlsingle/#appendix-dependency-versions https://pivotal.io/agile/press-release/pivotal-releases-spring-io-platform “With a set of components all tested to work together, it saves weeks of tedious developer efforts to build and test a stack of compatible Spring and third-party technologies, thereby helping enterprises bring new applications to market more rapidly.”
45.
45Copyright © 2015
NTT DATA Corporation Merits of Spring IO Platform Spring IO Platform provides a set of dependency/version managed by Spring Team Enjoy • Reducing maintenance cost • Sharing use cases all over the world
46.
46Copyright © 2015
NTT DATA Corporation Spring IO Platform in the TERASOLUNA Our parent chooses some dependencies in Spring IO Platform io.spring.platform platform-bom org.terasoluna.gfw terasoluna-gfw-parent org.springframework.boot spring-boot-starter-parent org.springframework.boot spring-boot-dependencies Your project parent parent Import the dependency management parent
47.
47Copyright © 2015
NTT DATA Corporation How to use Spring IO Platform https://github.com/terasolunaorg/terasoluna-gfw/blob/master/terasoluna-gfw-parent/pom.xml <dependencyManagement> <dependencies> <dependency> <groupId>io.spring.platform</groupId> <artifactId>platform-bom</artifactId> <version>${io.spring.platform.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- … --> </dependencies> </dependencyManagement> terasoluna-gfw-parent/pom.xml Our parent pom
48.
48Copyright © 2015
NTT DATA Corporation In common libraryhttps://github.com/terasolunaorg/terasoluna-gfw/blob/master/terasoluna-gfw-common/pom.xml <parent> <artifactId>terasoluna-gfw-parent</artifactId> <groupId>org.terasoluna.gfw</groupId> <version>5.0.0.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </dependency> <!-- ... --> </dependencies> terasoluna-gfw-common/pom.xml Choose dependencies managed by Spring IO Platform Choose dependencies managed by Spring IO Platform Choose dependencies managed by Spring IO Platform
49.
49Copyright © 2015
NTT DATA Corporation Your Project <parent> <artifactId>terasoluna-gfw-parent</artifactId> <groupId>org.terasoluna.gfw</groupId> <version>5.0.0.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.terasoluna.gfw</groupId> <artifactId>terasoluna-gfw-web</artifactId> </dependency> <!-- ... --> </dependencies> Use common library
50.
Copyright © 2015
NTT DATA Corporation 50 How TERASOLUNA solved traditional problems
51.
51Copyright © 2015
NTT DATA Corporation Traditional Problems Complex Spring Combinations & Configurations Poor Exception Handling/Logging Messy Project Structure Inaccuracy of how to implement And so on …
52.
52Copyright © 2015
NTT DATA Corporation Complex Spring Combinations & Configuration Complex Spring Combinations & Configurations Have to consider which libraries to use Have to consider initial configurations/ best practiceHave to consider which version to use ✓ Resolved by Spring IO Platform
53.
53Copyright © 2015
NTT DATA Corporation Complex Spring Combinations & Configuration Complex Spring Combinations & Configurations Have to consider which libraries to use Have to consider initial configurations/ best practiceHave to consider which version to use ✓ web.xml? Log configuration? How logger? Which validation? How divide the configuration? Environment specific? Which Spring project?
54.
54Copyright © 2015
NTT DATA Corporation Complex Spring Combinations & Configuration Complex Spring Combinations & Configurations Have to consider which libraries to use Have to consider initial configurations/ best practiceHave to consider which version to use ✓ web.xml? Log configuration? How logger? Which validation? How divide the configuration? Environment specific? Which Spring project? It takes a lot of time to start up :-(
55.
55Copyright © 2015
NTT DATA Corporation Messy Project Structure Messy Project Structure • Inconsistent • Considered every time at each project • System testing is not considered • Illegal object access beyond the layer (ex. HttpSession in Service class!)
56.
56Copyright © 2015
NTT DATA Corporation Poor Exception Handling/Logging try { // … } catch (Exception e) {// ← Catch widely everywhere e.printStackTrace(); } try { // … } catch (Exception e) { throw new RuntimeException(" Nice catch ! ;)", e); } Poor Exception Handling/Logging
57.
57Copyright © 2015
NTT DATA Corporation TERASOLUNA Provides… • Recommended library & configuration • Proper project structure based on layered architecture • Default Exception Handling/Error・ Trace Logging All features are pre-configured in a maven archetype project
58.
58Copyright © 2015
NTT DATA Corporation Maven archetype Single Project Archetype Simple one For a trial use https://github.com/terasolunaorg/terasoluna-gfw-web-blank Multi Project Archetype Production ready Multi-layered Strongly recommended https://github.com/terasolunaorg/terasoluna-gfw-web-multi-blank Our archetype provides pre-configured production-ready blank project
59.
59Copyright © 2015
NTT DATA Corporation Generate a blank project mvn archetype:generate -B¥ -DarchetypeCatalog=http://repo.terasoluna.org/nexus/content/repositories/terasoluna-gfw-releases¥ -DarchetypeGroupId=org.terasoluna.gfw.blank¥ -DarchetypeArtifactId=terasoluna-gfw-multi-web-blank-mybatis3-archetype¥ -DarchetypeVersion=5.0.0.RELEASE¥ -DgroupId=com.example¥ -DartifactId=springio-demo 2 persistence of archetype(archetypeArtifactId) are prepared. 1terasoluna-gfw-multi-web-blank-mybatis3-archetype 2 terasoluna-gfw-multi-web-blank-jpa-archetype
60.
60Copyright © 2015
NTT DATA Corporation Generate a blank project Multi Module Project Project for domain layer Project with environment dependencies Project for application layer
61.
61Copyright © 2015
NTT DATA Corporation Generate a blank project Preconfigured libraries
62.
62Copyright © 2015
NTT DATA Corporation Layered Architecture Application Layer Controller Form View Domain Layer Service Domain Object Repository Infrastructure Layer O/R Mapper Repository Impl Integration System Connector depends depends Helper
63.
63Copyright © 2015
NTT DATA Corporation Layered Architecture Application Layer Controller Form View Domain Layer Service Domain Object Repository Infrastructure Layer O/R Mapper Repository Impl Integration System Connector depends depends Helper Typical Layered Architecture similar to DDD
64.
64Copyright © 2015
NTT DATA Corporation Generate a blank project Domain Layer Infrastructure Layer
65.
65Copyright © 2015
NTT DATA Corporation Generate a blank project Application Layer
66.
66Copyright © 2015
NTT DATA Corporation Generate a blank project Configurations depends on the environment like logging, datasource…
67.
67Copyright © 2015
NTT DATA Corporation Generate a blank project Domain Layer Application Layer
68.
68Copyright © 2015
NTT DATA Corporation Generate a blank project Domain Layer Application Layer Can’t access Servlet APIs and so on
69.
69Copyright © 2015
NTT DATA Corporation Generate a blank project Domain Layer Application Layer Avoid violations of the layering rule
70.
70Copyright © 2015
NTT DATA Corporation Run the Application
71.
71Copyright © 2015
NTT DATA Corporation Sample project Tour reservation application •MyBatis3 version • https://github.com/terasolunaorg/terasoluna-tourreservation-mybatis3 •JPA version • https://github.com/terasolunaorg/terasoluna-tourreservation These samples follow the structure
72.
72Copyright © 2015
NTT DATA Corporation Traditional Problems Complex Spring Combinations & Configurations Messy Project Structure Poor Exception Handling/Logging Inaccuracy of how to implement ✓ ✓
73.
73Copyright © 2015
NTT DATA Corporation Traditional Problems Complex Spring Combinations & Configurations Messy Project Structure Poor Exception Handling/Logging Inaccuracy of how to implement ✓ ✓
74.
74Copyright © 2015
NTT DATA Corporation Common Library (recap) Small library of useful and obtrusive common functionalities https://github.com/terasolunaorg/terasoluna-gfw http://terasolunaorg.github.io/guideline/5.0.x/en/Overview/FrameworkStack.html#building-blocks-of-common-library Exception Handling Provide general exception classes/logger/interceptor and exception handler of Spring MVC. System Date Factory Provide classes for retrieving the system date time for test. Double Submit Protection Provide mechanism (classes) for protecting Web Application from double submitting of request. Tag Libs Provide JSP tags for pagination link, showing message panels. … …
75.
75Copyright © 2015
NTT DATA Corporation Prepared Exception @Service @Transactional public class OrderServiceImpl implements OrderSerivce { public OrderResult order(Order o) { // … if (orderQuantity > stockQuantity) { ResultMessages msg = ResultMessages.error() .add("ORDER.STOCK.OVER", orderQuantity); throw new BusinessException(msg); } // … } } Message Key
76.
76Copyright © 2015
NTT DATA Corporation Fine Exception Handling • when the Controller class handles the exception at request level • when the Controller class handles the exception at use case level • when the framework handles the exception at servlet level • when the servlet container handles the exception at web application level 4 basic flows of exception handling are considered http://terasolunaorg.github.io/guideline/5.0.x/en/ArchitectureInDetail/ExceptionHandling.html
77.
77Copyright © 2015
NTT DATA Corporation 1. Controller class handles the exception at request level Xxx screen <Spring MVC> Dispatcher Servlet Controller Service 1 2 3 4 7 catch BusinessException 6’ 8 9 <Spring MVC> Model xxx.jsp <jsp tag library> Messages PanelTag Xxx screen Result Message. Result Message 6 Monitoring log <AOP> ResultMessages LoggingInterceptor 5 applicationContext.xml Application log defile bean & AOPException Loggerwarn 4’5’ 10 Business Exception Result Message
78.
78Copyright © 2015
NTT DATA Corporation Xxx screen <Spring MVC> Dispatcher Servlet Controller Service 1 2 3 4 7 catch BusinessException 6’ 8 9 <Spring MVC> Model xxx.jsp <jsp tag library> Messages PanelTag Xxx screen Result Message. Result Message 6 Monitoring log <AOP> ResultMessages LoggingInterceptor 5 applicationContext.xml Application log defile bean & AOPException Loggerwarn 4’5’ 10 Business Exception Result Message 1. Controller class handles the exception at request level date:2015-04-23 13:30:05 thread:tomcat-http--18 X- Track:b613ef3d281d4e018eadeb62bae308d5 level:WARN logger:o.t.gfw.common.exception.ExceptionLogger message:[e.xx.fw.8001] ResultMessages [type=error, list=[ResultMessage [code=ORDER.STOCK.OVER, args=[100], text=null]]] org.terasoluna.gfw.common.exception.BusinessException: ResultMessages [type=error, list=[ResultMessage [code=ORDER.STOCK.OVER, args=[100], text=null]]] at com.example.domain.service.demo.DemoService.doSomething(DemoService.java:13) ~[springio-demo-domain-1.0-SNAPSHOT.jar:1.0-SNAPSHOT] at com.example.domain.service.demo.DemoService$$FastClassBySpringCGLIB$$c614e7b9.inv oke(<generated>) ~[spring-core-4.1.4.RELEASE.jar:1.0-SNAPSHOT] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.1.4.RELEASE.jar:4.1.4.RELEASE] …
79.
79Copyright © 2015
NTT DATA Corporation 1. Controller class handles the exception at request level Xxx screen <Spring MVC> Dispatcher Servlet Controller Service 1 2 3 4 7 catch BusinessException 6’ 8 9 <Spring MVC> Model xxx.jsp <jsp tag library> Messages PanelTag Xxx screen Result Message. Result Message 6 Monitoring log <AOP> ResultMessages LoggingInterceptor 5 applicationContext.xml Application log defile bean & AOPException Loggerwarn 4’5’ 10 Business Exception Result Message ORDER.STOCK.OVER=The requested order is out of stock! (quantity={0})
80.
80Copyright © 2015
NTT DATA Corporation 2. Controller class handles the exception at use case level Xxx screen <Spring MVC> Dispatcher Servlet Controller Service 1 2 3 6 7 11 12 <Spring MVC> Model 4 yyy.jsp <jsp tag library> Messages PanelTag Result Message Yyy screen Result Message. 5 <Spring MVC> ExceptionHandler ExceptionResolver <AOP> HandlerExceptionResolver LoggingInterceptor Monitoring log Application log 9 8 10 spring- mvc.xmldefile bean & AOP 3’3’ 13 Define @ExceptionHandler( XyzException.class) Xyz Exception error warn Info Exception Logger
81.
81Copyright © 2015
NTT DATA Corporation 3. Framework handles the exception at servlet level Xxx screen <Spring MVC> Dispatcher Servlet Controller <Spring MVC Extention> SystemException ResolverSystem Error screen System Exception.jsp Service 1 2 3 10 5 <Servlet API> HttpServlet Request exception code (error code) exception code + Message. 4 6 6’ 9 11 message is get from message resources Monitoring log 8 spring- mvc.xml Application log define bean & exception handling rule <AOP> HandlerExceptionResolver LoggingInterceptor 7 spring- mvc.xml defile bean & AOP 4’4’ 12 error warn Info Exception Logger System Exception
82.
82Copyright © 2015
NTT DATA Corporation 4. Servlet container handles the exception at web application level Xxx screen <Spring MVC> Dispatcher Servlet Controller System Error screen error.html Service 1 2 3 7 Message. <Application Server> Servlet Container Server log 6 XyzError is wrapped in ServletException. 4 web.xml <error-page> Monitoring log Application log 5 5’ 4’ define exception handling rule. Exception Logger <Servlet Filter> Exception LoggingFilter web.xml applicationContext.xml defile bean & filter 3’3’ 8 Servlet Exception XyzError XyzError error warn Info
83.
83Copyright © 2015
NTT DATA Corporation All configurations are prepared <!-- Exception Code Resolver. --> <bean id="exceptionCodeResolver" class="org.terasoluna.gfw.common.exception.SimpleMappingExceptionCodeResolver"> <!-- omitted... --> </bean> <!-- Exception Logger. --> <bean id="exceptionLogger" class="org.terasoluna.gfw.common.exception.ExceptionLogger"> <property name="exceptionCodeResolver" ref="exceptionCodeResolver" /> </bean> <!-- Setting Exception Handling. --> <!-- Exception Resolver. --> <bean class="org.terasoluna.gfw.web.exception.SystemExceptionResolver"> <property name="exceptionCodeResolver" ref="exceptionCodeResolver" /> <!-- omitted... --> </bean> <!-- Setting AOP. --> <bean id="handlerExceptionResolverLoggingInterceptor" class="org.terasoluna.gfw.web.exception.HandlerExceptionResolverLoggingInterceptor"> <property name="exceptionLogger" ref="exceptionLogger" /> </bean> <aop:config> <aop:advisor advice-ref="handlerExceptionResolverLoggingInterceptor" pointcut="execution(* org.springframework.web.servlet.HandlerExceptionResolver.resolveException(..))" /> </aop:config> <!-- AOP. --> <bean id="resultMessagesLoggingInterceptor" class="org.terasoluna.gfw.common.exception.ResultMessagesLoggingInterceptor"> <property name="exceptionLogger" ref="exceptionLogger" /> </bean> <aop:config> <aop:advisor advice-ref="resultMessagesLoggingInterceptor" pointcut="@within(org.springframework.stereotype.Service)" /> </aop:config> applicationContext.xml spring-mvc.xml spring-demo-domain.xml
84.
84Copyright © 2015
NTT DATA Corporation Traditional Problems Complex Spring Combinations & Configurations Messy Project Structure Poor Exception Handling/Logging Inaccuracy of how to implement ✓ ✓ ✓
85.
85Copyright © 2015
NTT DATA Corporation Traditional Problems Complex Spring Combinations & Configurations Messy Project Structure Poor Exception Handling/Logging Inaccuracy of how to implement ✓ ✓ ✓ Not solved by Maven Archetype
86.
86Copyright © 2015
NTT DATA Corporation Inaccuracy of how to implement There are lot of sample codes available on internet. Not understood on which should I trust :S
87.
87Copyright © 2015
NTT DATA Corporation Inaccuracy of how to implement There are lot of sample codes available on internet. Not understood on which should I trust :S We need production ready samples!
88.
Copyright © 2015
NTT DATA Corporation 88 Guideline • Detailed instructions for each feature • Tutorials (learning content) Described number of diagrams for easy understanding • Sample code • Best practices of verified secured development Listed number of sample code allow you to develop your app Explanation of sample code also given • Sample code • Practical development know-how for the enterprise ・・・ How to extend the features are also described Note, Tip, Warning, Hint related number of practical development know- how also described Also described idea how to implement ①Basic knowledge, study of AP foundation ③Extension policy of the FW ④Design & Development of AP ②Feasibility study Guidelines leverage example in work of architect Japanese/English http://terasolunaorg.github.io/guideline
89.
89Copyright © 2015
NTT DATA Corporation Providing lot of samples A variety of contents are covered !! 1700+ pages!
90.
90Copyright © 2015
NTT DATA Corporation Traditional Problems Complex Spring Combinations & Configurations Messy Project Structure Poor Exception Handling/Logging Inclarity of how to implement ✓ ✓ ✓ ✓
91.
91Copyright © 2015
NTT DATA Corporation Another possible solution… You can guess, Spring Boot can also resolve similar problems. But we started from 2012...
92.
92Copyright © 2015
NTT DATA Corporation Comparison Dependency Management Prepared Configuration Best Practices Spring Boot Spring IO Platform + Starters Auto Configure Auto Configure? TERASOLUNA Spring IO Platform + common library Maven Archetype Guideline
93.
93Copyright © 2015
NTT DATA Corporation Comparison Dependency Management Prepared Configuration Best Practices Spring Boot Spring IO Platform + Starters Auto Configure Auto Configure? TERASOLUNA Spring IO Platform + common library Maven Archetype Guideline Spring users should use Spring Boot or TERASOLUNA
94.
Copyright © 2015
NTT DATA Corporation 94 How we solved maintenance problems
95.
95Copyright © 2015
NTT DATA Corporation How do we assure the guideline? A lot of samples are explained How about backward compatibility??
96.
96Copyright © 2015
NTT DATA Corporation All contents are tested !! Selenium test cases for each sample code!! 700+ test cases.
97.
97Copyright © 2015
NTT DATA Corporation Continuous Testing Everyday 700+ test cases are running. Test Application & Test Cases deploy test
98.
98Copyright © 2015
NTT DATA Corporation Continuous Testing Everyday 700+ test cases are running. Test Application & Test Cases deploy test Performance Test is also executed using Apache JMeter
99.
99Copyright © 2015
NTT DATA Corporation Customers System Integration Business in Japan (recap) Project Project Project … ProjectProjectProject
100.
100Copyright © 2015
NTT DATA Corporation Customers System Integration Business in Japan (recap) Project Project Project … ProjectProjectProject A number of environments demand support!!!
101.
101Copyright © 2015
NTT DATA Corporation Customers System Integration Business in Japan (recap) Project Project Project … ProjectProjectProject A number of environments are demanded to support!!! Oracle JDK Apache Tomcat Oracle WebLogic Server Oracle Database PostgreSQL
102.
102Copyright © 2015
NTT DATA Corporation Customers System Integration Business in Japan (recap) Project Project Project … ProjectProjectProject A number of environments are demanded to support!!! OpenJDK Oracle JDK Apache Tomcat IBM WebSphere Application Server Fujitsu Interstage Application Server Oracle WebLogic Server JBoss Enterprise Application Platform NEC WebOTX Application Server Cosminexus: Hitachi Application Server Caucho Resin Oracle Database IBM DB2 PostgreSQL MySQL IBM JDK
103.
103Copyright © 2015
NTT DATA Corporation Customers System Integration Business in Japan (recap) Project Project Project … ProjectProjectProject A number of environments are demanded to support!!! OpenJDK Oracle JDK Apache Tomcat IBM WebSphere Application Server Fujitsu Interstage Application Server Oracle WebLogic Server JBoss Enterprise Application Platform NEC WebOTX Application Server Cosminexus: Hitachi Application Server Caucho Resin Oracle Database IBM DB2 PostgreSQL MySQL IBM JDK Too hard to test and maintain multiple environments
104.
104Copyright © 2015
NTT DATA Corporation Test environment by Vagrant PostgreSQL Oracle DB2 Tomcat + Oracle JDK 7 Tomcat + Open JDK 7 WebLogic + Oracle JDK 7 JBoss EAP + Open JDK 7 Tomcat + Oracle JDK 8 WebLogic + Oracle JDK 8 Tomcat + Open JDK 8 WAS + IBM JDK 7 JBoss EAP + Open JDK 8 Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile … … Git All environments are reproducible!
105.
105Copyright © 2015
NTT DATA Corporation Test environment by Vagrant PostgreSQL Oracle DB2 Tomcat + Oracle JDK 7 Tomcat + Open JDK 7 WebLogic + Oracle JDK 7 JBoss EAP + Open JDK 7 Tomcat + Oracle JDK 8 WebLogic + Oracle JDK 8 Tomcat + Open JDK 8 WAS + IBM JDK 7 JBoss EAP + Open JDK 8 Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile Vagrantfile … … Git Tested at the combination of each environment before release All environments are reproducible!
106.
Copyright © 2015
NTT DATA Corporation 106 Where TERASOLUNA is actually used
107.
Copyright © 2015
NTT DATA Corporation 107 Use cases Domain Project Financial Mission critical system of a bank Financial Admission system for credit card member shops Public Sector Mission critical system of a public sector Entertainment User management system Package Package of attendance management system … Current Framework has been already used by 15+ projects Example
108.
Copyright © 2015
NTT DATA Corporation 108 Contributions to Spring
109.
109Copyright © 2015
NTT DATA Corporation Our contributions to Spring Spring Framework (16) Spring Security (10) Spring Data (4) SPR-11074 (Resolved) SPR-11669 SPR-11670 (Resolved) SPR-11810 (Resolved) SPR-11821 (Resolved) SPR-11826 SPR-11970 (Resolved) SPR-12229 (Resolved) SPR-12265 (Resolved) SPR-12354 (Resolved) SPR-12442 (Resolved) SPR-12509 (Resolved) SPR-12510 (Resolved) SPR-12743 (Resolved) SPR-12792 (Resolved) SPR-12819 (Resolved) SEC-2403 SEC-2826 (Resolved) SEC-2834 (Resolved) SEC-2835 (Resolved) SEC-2836 SEC-2840 (Resolved) SEC-2880 (Resolved) SEC-2903 SEC-2905 SEC-2910 DATACMNS-377 (Resolved) DATACMSN-379 (Resolved) DATACMNS-408 (Resolved) DATAJPA-473 (Resolved) Vulnerability Reports Bug Reports @ JIRA (~ 2015-04-22) CVE-2014-3625 Directory Traversal in Spring Framework
110.
110Copyright © 2015
NTT DATA Corporation Our contributions to Spring Spring Framework (16) Spring Security (10) Spring Data (4) SPR-11074 (Resolved) SPR-11669 SPR-11670 (Resolved) SPR-11810 (Resolved) SPR-11821 (Resolved) SPR-11826 SPR-11970 (Resolved) SPR-12229 (Resolved) SPR-12265 (Resolved) SPR-12354 (Resolved) SPR-12442 (Resolved) SPR-12509 (Resolved) SPR-12510 (Resolved) SPR-12743 (Resolved) SPR-12792 (Resolved) SPR-12819 (Resolved) SEC-2403 SEC-2826 (Resolved) SEC-2834 (Resolved) SEC-2835 (Resolved) SEC-2836 SEC-2840 (Resolved) SEC-2880 (Resolved) SEC-2903 SEC-2905 SEC-2910 DATACMNS-377 (Resolved) DATACMSN-379 (Resolved) DATACMNS-408 (Resolved) DATAJPA-473 (Resolved) Vulnerability Reports Bug Reports @ JIRA (~ 2015-04-22) CVE-2014-3625 Directory Traversal in Spring Framework We are contributing
111.
Copyright © 2015
NTT DATA Corporation 111 Wrap up
112.
112Copyright © 2015
NTT DATA Corporation Wrap up • We have been using Spring Framework. • TERASOLUNA Framework is like a “Packaged Spring”. Software Stack Blank Project(Maven Archetype) Guideline • Spring IO Platform supports TERASOLUNA. • TERASOLUNA solves general development problems. http://terasoluna.org
113.
Copyright © 2011
NTT DATA Corporation Copyright © 2015 NTT DATA Corporation TERASOLUNA and "TERASOLuNA" logo are trademarks or registered trademarks of NTT DATA Corporation in Japan and the People's Republic of China.
Jetzt herunterladen