SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
2018/2/6
김민석
Senior Platform Architect
Pivotal Cloud Foundry
mkim@pivotal.io

 1
Core Spring & Reactive
SpringOnePlatform 2017 recap
for Samsung SDS
2
And more…
Everything
you need to
transform
 Process &
Culture
Build for
change
Tools
 Continuously
Improve
Platform
 Any App, Every Cloud,
One Platform
PCF 2.0
Tracker / Spring / Concourse
Pivotal Labs
Data / AI
Apps
Culture, tools, and platform
4
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
About me
5
•  김민석	(mkim@pivotal.io)	
•  Platform	Architect	@	Pivotal	
•  Big-Data	Monitoring	System	Developer	
•  Software	Architect	
•  Software	Quality	Engineer	
•  Developer	
https://www.facebook.com/groups/CloudfoundryKorea	
	
https://www.meetup.com/Seoul-Cloud-Foundry-Meetup
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
6
여기서 다루는 세션들
스프링 프로젝트를 이용한 프로그래밍
Reactive	Spring	(Tue/05)	
Reactive	Applications	on	Apache	Tomcat	and	Servlet	3.1	
Containers(Tue	/05)	
Spring	Integration	5.0:	What's	New?(Tue/	05)	
Not	Only	Reactive	-	Data	Access	with	Spring	Data(Tue	/05)	
Reactive	Data	Access	with	Spring	Data	(Tue	/05)	
Under	the	Hood	of	Reactive	Data	Access	(Tue/06)	
Simplifying	Apache	Geode	with	Spring	Sata(Wed/06)	
JDBC,	What	is	it	Good	For?	(Thu/07)	
Spring	Security	5:	The	Reactive	Parts(Tue	/05)	
Bootiful	Development	with	Spring	Boot	and	React	(Wed/	06)	
Next	Generation	OAuth	Support	with	Spring	Security	5.0	(Wed/06)	
Lessons	Learned	from	Upgrading	Thymeleaf	(Wed	/06)	
Why	Spring	<3	Kotlin(	Tue/07)	
What's	New	in	Spring	AMQP	2.0(	Wed/06)	
JUnit	5	—	New	Opportunities	for	Testing	on	the	JVM(Thu	/07)	
Spring Core
New	in	Spring	Framework	5.0:	Functional	Web	Framework(Tue/05)	
Spring	Framework	5.0	on	JDK	8	&	9	(Wed	/06)	
Reactor	in	Action	(Web	/06)	
Spring	Framework	5:	Hidden	Gems(Wed/06)	
It's	a	Kind	of	Magic:	Under	the	Covers	of	Spring	Boot	(Web	/06)	
55	New	Features	in	JDK	9	(Thu/	07)	
Servlet	or	Reactive	Stacks:	The	Choice	is	Yours.	Oh	No...	The	Choice	is	
Mine!(Tue/	05)	
Design & Architecting
Designing,	Implementing,	and	Using	Reactive	APIs(Web/06)	
Cloud-Native	Batch	Processing	with	Spring	Batch	4	(Tue	/05)	
Bringing	New	Technology	to	Legacy	Land	(Tue	/05)	
State	or	Events?	Which	Shall	I	Keep?	(Tue	/05)	
Kafka	Streams	-	From	the	Ground	Up	to	the	Cloud	(Tue	/05)	
Cloud	Event	Driven	Architectures	with	Spring	Cloud	Stream	2.0(Wed/06)	
Spring	Driven	Industrial	IoT	Utilizing	Edge,	Fog,	and	Cloud	
Computing(	Wed/	06)
7
1. Spring Framework Core 살펴보기
2. Reactive Programming 개념이해하기
3. Demo
4. 어떻게 적용할 것인가?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Reactive
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
10
Spring Framework 5.0 Overview
•  Back-Pressure(Reactive 데이터 흐름
제어)
•  Reactive Spring Data
•  Function Reactive Programming
•  Project Reactor
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
•  6개월 단위 Major release
•  Agile development
•  JDK9: 2017/09
•  JDK10: 2018/03
•  JDK11: 2018/09
•  LTS support release
•  JDK8 (LTS)
•  JDK11(LTS)
•  3 years
•  No Overlap of support
JDK Release and Support model
Java 8 Adoption(Oct. 2017, Baeldung)
Java	8	
Java	7	
Java	6	 Java	9
12
1. Spring Framework Core 살펴보기
2. Reactive Programming 개념이해하기
3. Demo
4. 어떻게 적용할 것인가?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Servlet and Reactive
Servlet	3.1	(2013)	
Reactor	(2013)	
Servlet1.0	(1997)	 Servlet	3.0	(2009)
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
14
Servlet and Reactive
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
15
Servlet and Reactive
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
•  대안적 프로그래밍 방식
•  쉽고, 간결하고 에러가 줄어드는 비동기 이벤트 기반 프로그래밍
•  고성능, concurrency 코딩
•  Reactive Stream 명세 (http://www.reactive-streams.org/ )
•  WebFlux는 다양한 non-blocking API를 지원
Spring WebFlux를 이용한 Reactive Programming
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
17
멀티쓰레드 프로그래밍
•  Keeping an unused ExecutorService alive
•  Wrong thread-pool capacity while using fixed length thread-pool
•  Unexpectedly-long blocking with Future‘s get() method
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring WebFlux – 기존 RestController 방식
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring WebFlux – RouterFunction 방식 (1/2)
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring WebFlux – RouterFunction 방식 (2/2)
https://spring.io/blog/2016/09/22/new-in-spring-5-functional-web-framework	
https://github.com/myminseok/webflux-functional-mkim
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring WebFlux를 이용한 Reactive Programming
https://spring.io/blog/2016/04/19/understanding-reactive-types
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Reactive Spring Data – being Reactive
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
<T> List<T> findAll(Class<T>
entityClass, String collectionName);
<T> T findOne(Query query,
Class<T> entityClass);
…
<T> Flux<T> findAll(Class<T>
entityClass, String collectionName);
<T> Mono<T> findOne(Query query,
Class<T> entityClass);
…
Reactive Spring Data - ReactiveMongoOperations
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Reactive Spring Data - MongoDB
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Reactive Spring Integration
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Reactive Spring Integration
https://github.com/artembilan/spring-integration-s1p2017
27
1. Spring Framework Core 살펴보기
2. Reactive Programming 개념이해하기
3. Demo
4. 어떻게 적용할 것인가?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
•  샘플: https://github.com/rstoyanchev/demo-reactive-spring
•  Spring Webflux
•  WebClient
•  Reactive Spring Data (@Tailable)
•  Streaming Data from Reactive repository to Reactive Client
28
Spring Webflux & Spring Data Demo
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
샘플: https://github.com/myminseok/s1p-reactor-in-action
Reactor 테스트
•  StepVerifier
Debugging
•  Async pipeline을 Debug, tracing하려고 할 때 .checkpoint()를 활용.
Spring WebFlux를 이용한 Reactive Programming
30
1. Spring Framework Core 살펴보기
2. Reactive Programming 개념이해하기
3. Demo
4. 어떻게 적용할 것인가?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
•  Networking
•  Latency
•  Failures
•  Back-pressure(Data Flow Control)
•  Highly Concurrent Operations
•  Scalability
효과적인 Reactive Usecase
https://github.com/cloudfoundry/cf-java-client
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
32
Servlet or Reactive?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
If it isn't broken, don’t fix it.
Imperative is simple until it is not
33
Servlet or Reactive?
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
•  Spring Framework 5.x
•  JDK 8 codebase (LTS), JDK9+ compatible
•  Support Java EE Level 7( Servlet 3.1, JPA 2.1)
•  Prepare to Java EE Level 8 (Servlet 4.x, JPA 2.x)
•  Dropped support (Portlet, Velocity, JDO…)
•  Spring Framework 5.x +
•  Upgrade train(JDK 9->10 ->11(LTS))
•  Spring framework 5.x building target to JDK11
•  Spring Framework 4.3
•  JDK6 codebase, JDK7,8,9 compatible
•  Backport from Spring framework 5 (@UsesJava8 …)
34
Spring Framework & JDK 업그레이드 계획하기
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
1.  JDK Baseline Update
2.  Web Servers
3.  Libraries
•  Jackson 2.9+ Hibernate 5.0+ EhCache 2.10+
4.  Removed Packages, Classes and Methods
•  Hibernate 5 (orm.hibernate3/hibernate4 dropped)
5.  Dropped Support
•  Portlet, Velocity, JasperReports, XMLBeans, JDO, Guava (replaced by the
Caffeine support
•  Spring Framework 4.3.x (supported until 2020)
6.  Common Logging
•  spring-jcl
35
Spring Framework 5.0 적용하기
https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-5.x
36
Q&A

Mais conteúdo relacionado

Mais procurados

Java Development Company | Xicom
Java Development Company | XicomJava Development Company | Xicom
Java Development Company | XicomRyanForeman5
 
Documenting RESTful APIs with Spring REST Docs
Documenting RESTful APIs with Spring REST Docs Documenting RESTful APIs with Spring REST Docs
Documenting RESTful APIs with Spring REST Docs VMware Tanzu
 
Lattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsLattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsMatt Stine
 
All you need to know to deploy applications on Kubernetes
All you need to know to deploy applications on KubernetesAll you need to know to deploy applications on Kubernetes
All you need to know to deploy applications on KubernetesOleksandr Slynko
 
Spring Cloud in a Nutshell
Spring Cloud in a NutshellSpring Cloud in a Nutshell
Spring Cloud in a NutshellTsuyoshi Miyake
 
To Microservices and Beyond
To Microservices and BeyondTo Microservices and Beyond
To Microservices and BeyondMatt Stine
 
All You Need to Know to Deploy Applications on Kubernetes
All You Need to Know to Deploy Applications on KubernetesAll You Need to Know to Deploy Applications on Kubernetes
All You Need to Know to Deploy Applications on KubernetesVMware Tanzu
 
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN StackMEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN StackMariya James
 
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle CloudUKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle Cloudluisw19
 
Data Migration at Scale with RabbitMQ and Spring Integration
Data Migration at Scale with RabbitMQ and Spring IntegrationData Migration at Scale with RabbitMQ and Spring Integration
Data Migration at Scale with RabbitMQ and Spring IntegrationAlvaro Videla
 
softwareengineer_abulaila_2017_01
softwareengineer_abulaila_2017_01softwareengineer_abulaila_2017_01
softwareengineer_abulaila_2017_01Tariq Abulaila
 
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiEclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiRafik HARABI
 
Spring Integration 5.0: What's new?
Spring Integration 5.0: What's new?Spring Integration 5.0: What's new?
Spring Integration 5.0: What's new?VMware Tanzu
 
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadOpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadTed Epstein
 
Continuous integration and delivery with Xamarin and VSTS
Continuous integration and delivery with Xamarin and VSTSContinuous integration and delivery with Xamarin and VSTS
Continuous integration and delivery with Xamarin and VSTSGill Cleeren
 
Real world apps with Xamarin and MVVM
Real world apps with Xamarin and MVVMReal world apps with Xamarin and MVVM
Real world apps with Xamarin and MVVMGill Cleeren
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshopShubhra Kar
 
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkharePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkJenkins NS
 
Not Just Initializing
Not Just InitializingNot Just Initializing
Not Just InitializingVMware Tanzu
 

Mais procurados (20)

Java Development Company | Xicom
Java Development Company | XicomJava Development Company | Xicom
Java Development Company | Xicom
 
Documenting RESTful APIs with Spring REST Docs
Documenting RESTful APIs with Spring REST Docs Documenting RESTful APIs with Spring REST Docs
Documenting RESTful APIs with Spring REST Docs
 
Lattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring ApplicationsLattice: A Cloud-Native Platform for Your Spring Applications
Lattice: A Cloud-Native Platform for Your Spring Applications
 
All you need to know to deploy applications on Kubernetes
All you need to know to deploy applications on KubernetesAll you need to know to deploy applications on Kubernetes
All you need to know to deploy applications on Kubernetes
 
Spring Cloud in a Nutshell
Spring Cloud in a NutshellSpring Cloud in a Nutshell
Spring Cloud in a Nutshell
 
To Microservices and Beyond
To Microservices and BeyondTo Microservices and Beyond
To Microservices and Beyond
 
All You Need to Know to Deploy Applications on Kubernetes
All You Need to Know to Deploy Applications on KubernetesAll You Need to Know to Deploy Applications on Kubernetes
All You Need to Know to Deploy Applications on Kubernetes
 
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN StackMEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
MEAN Vs MERN Stack | Detailed Comparison Between MEAN & MERN Stack
 
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle CloudUKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
 
Data Migration at Scale with RabbitMQ and Spring Integration
Data Migration at Scale with RabbitMQ and Spring IntegrationData Migration at Scale with RabbitMQ and Spring Integration
Data Migration at Scale with RabbitMQ and Spring Integration
 
softwareengineer_abulaila_2017_01
softwareengineer_abulaila_2017_01softwareengineer_abulaila_2017_01
softwareengineer_abulaila_2017_01
 
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiEclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
 
Spring Integration 5.0: What's new?
Spring Integration 5.0: What's new?Spring Integration 5.0: What's new?
Spring Integration 5.0: What's new?
 
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadOpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
 
Continuous integration and delivery with Xamarin and VSTS
Continuous integration and delivery with Xamarin and VSTSContinuous integration and delivery with Xamarin and VSTS
Continuous integration and delivery with Xamarin and VSTS
 
Real world apps with Xamarin and MVVM
Real world apps with Xamarin and MVVMReal world apps with Xamarin and MVVM
Real world apps with Xamarin and MVVM
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshop
 
GraphQL for Native Apps
GraphQL for Native AppsGraphQL for Native Apps
GraphQL for Native Apps
 
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkharePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
 
Not Just Initializing
Not Just InitializingNot Just Initializing
Not Just Initializing
 

Semelhante a SpringOnePlatform2017 recap

Core Spring + Reactive 김민석
Core Spring + Reactive  김민석Core Spring + Reactive  김민석
Core Spring + Reactive 김민석VMware Tanzu Korea
 
Cloud-Native Streaming and Event-Driven Microservices
Cloud-Native Streaming and Event-Driven MicroservicesCloud-Native Streaming and Event-Driven Microservices
Cloud-Native Streaming and Event-Driven MicroservicesVMware Tanzu
 
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...VMware Tanzu
 
Migrating to Angular 5 for Spring Developers
Migrating to Angular 5 for Spring DevelopersMigrating to Angular 5 for Spring Developers
Migrating to Angular 5 for Spring DevelopersGunnar Hillert
 
Migrating to Angular 4 for Spring Developers
Migrating to Angular 4 for Spring Developers Migrating to Angular 4 for Spring Developers
Migrating to Angular 4 for Spring Developers VMware Tanzu
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteChristian Tzolov
 
Developing Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaDeveloping Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaJoe Stein
 
Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesVMware Tanzu
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteVMware Tanzu
 
Under the Hood of Reactive Data Access (2/2)
Under the Hood of Reactive Data Access (2/2)Under the Hood of Reactive Data Access (2/2)
Under the Hood of Reactive Data Access (2/2)VMware Tanzu
 
Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)Reshmi Krishna
 
Introduction to Reactive Streams and Reactor 2.5
Introduction to Reactive Streams and Reactor 2.5Introduction to Reactive Streams and Reactor 2.5
Introduction to Reactive Streams and Reactor 2.5Stéphane Maldini
 
Tools to Slay the Fire Breathing Monoliths in Your Enterprise
Tools to Slay the Fire Breathing Monoliths in Your EnterpriseTools to Slay the Fire Breathing Monoliths in Your Enterprise
Tools to Slay the Fire Breathing Monoliths in Your EnterpriseVMware Tanzu
 
Who Does What? Mapping Cloud Foundry Activities and Entitlements to IT Roles
Who Does What? Mapping Cloud Foundry Activities and Entitlements to IT RolesWho Does What? Mapping Cloud Foundry Activities and Entitlements to IT Roles
Who Does What? Mapping Cloud Foundry Activities and Entitlements to IT RolesVMware Tanzu
 
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...cornelia davis
 
Intro To Reactive Programming
Intro To Reactive ProgrammingIntro To Reactive Programming
Intro To Reactive ProgrammingRossen Stoyanchev
 
Reactive Data Access with Spring Data
Reactive Data Access with Spring DataReactive Data Access with Spring Data
Reactive Data Access with Spring DataVMware Tanzu
 
Intro to Reactive Programming
Intro to Reactive ProgrammingIntro to Reactive Programming
Intro to Reactive ProgrammingStéphane Maldini
 
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsManaging the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsVMware Tanzu
 

Semelhante a SpringOnePlatform2017 recap (20)

Core Spring + Reactive 김민석
Core Spring + Reactive  김민석Core Spring + Reactive  김민석
Core Spring + Reactive 김민석
 
Cloud-Native Streaming and Event-Driven Microservices
Cloud-Native Streaming and Event-Driven MicroservicesCloud-Native Streaming and Event-Driven Microservices
Cloud-Native Streaming and Event-Driven Microservices
 
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...
 
Migrating to Angular 5 for Spring Developers
Migrating to Angular 5 for Spring DevelopersMigrating to Angular 5 for Spring Developers
Migrating to Angular 5 for Spring Developers
 
Migrating to Angular 4 for Spring Developers
Migrating to Angular 4 for Spring Developers Migrating to Angular 4 for Spring Developers
Migrating to Angular 4 for Spring Developers
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
 
Developing Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaDeveloping Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache Kafka
 
Cloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud ServicesCloud Native Java with Spring Cloud Services
Cloud Native Java with Spring Cloud Services
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
 
Under the Hood of Reactive Data Access (2/2)
Under the Hood of Reactive Data Access (2/2)Under the Hood of Reactive Data Access (2/2)
Under the Hood of Reactive Data Access (2/2)
 
Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)
 
Introduction to Reactive Streams and Reactor 2.5
Introduction to Reactive Streams and Reactor 2.5Introduction to Reactive Streams and Reactor 2.5
Introduction to Reactive Streams and Reactor 2.5
 
Tools to Slay the Fire Breathing Monoliths in Your Enterprise
Tools to Slay the Fire Breathing Monoliths in Your EnterpriseTools to Slay the Fire Breathing Monoliths in Your Enterprise
Tools to Slay the Fire Breathing Monoliths in Your Enterprise
 
Who Does What? Mapping Cloud Foundry Activities and Entitlements to IT Roles
Who Does What? Mapping Cloud Foundry Activities and Entitlements to IT RolesWho Does What? Mapping Cloud Foundry Activities and Entitlements to IT Roles
Who Does What? Mapping Cloud Foundry Activities and Entitlements to IT Roles
 
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
 
Intro To Reactive Programming
Intro To Reactive ProgrammingIntro To Reactive Programming
Intro To Reactive Programming
 
Zuul @ Netflix SpringOne Platform
Zuul @ Netflix SpringOne PlatformZuul @ Netflix SpringOne Platform
Zuul @ Netflix SpringOne Platform
 
Reactive Data Access with Spring Data
Reactive Data Access with Spring DataReactive Data Access with Spring Data
Reactive Data Access with Spring Data
 
Intro to Reactive Programming
Intro to Reactive ProgrammingIntro to Reactive Programming
Intro to Reactive Programming
 
Managing the Complexity of Microservices Deployments
Managing the Complexity of Microservices DeploymentsManaging the Complexity of Microservices Deployments
Managing the Complexity of Microservices Deployments
 

Mais de minseok kim

PCF2.2 update mkim_201807
PCF2.2 update mkim_201807PCF2.2 update mkim_201807
PCF2.2 update mkim_201807minseok kim
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
 
consumer_driven_contract with spring cloud contract at spring camp 2018
consumer_driven_contract with spring cloud contract at spring camp 2018consumer_driven_contract with spring cloud contract at spring camp 2018
consumer_driven_contract with spring cloud contract at spring camp 2018minseok kim
 
Pivotal seminarq4 20161129_share
Pivotal seminarq4 20161129_sharePivotal seminarq4 20161129_share
Pivotal seminarq4 20161129_shareminseok kim
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0minseok kim
 
Pcf 1page 201501
Pcf 1page 201501Pcf 1page 201501
Pcf 1page 201501minseok kim
 
Development on cloud_paa_s_sddc_mkim_20141216_final
Development on cloud_paa_s_sddc_mkim_20141216_finalDevelopment on cloud_paa_s_sddc_mkim_20141216_final
Development on cloud_paa_s_sddc_mkim_20141216_finalminseok kim
 
Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209minseok kim
 

Mais de minseok kim (8)

PCF2.2 update mkim_201807
PCF2.2 update mkim_201807PCF2.2 update mkim_201807
PCF2.2 update mkim_201807
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 
consumer_driven_contract with spring cloud contract at spring camp 2018
consumer_driven_contract with spring cloud contract at spring camp 2018consumer_driven_contract with spring cloud contract at spring camp 2018
consumer_driven_contract with spring cloud contract at spring camp 2018
 
Pivotal seminarq4 20161129_share
Pivotal seminarq4 20161129_sharePivotal seminarq4 20161129_share
Pivotal seminarq4 20161129_share
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
 
Pcf 1page 201501
Pcf 1page 201501Pcf 1page 201501
Pcf 1page 201501
 
Development on cloud_paa_s_sddc_mkim_20141216_final
Development on cloud_paa_s_sddc_mkim_20141216_finalDevelopment on cloud_paa_s_sddc_mkim_20141216_final
Development on cloud_paa_s_sddc_mkim_20141216_final
 
Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209
 

Último

Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...Escorts Call Girls
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 

Último (20)

Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 

SpringOnePlatform2017 recap

  • 1. 2018/2/6 김민석 Senior Platform Architect Pivotal Cloud Foundry mkim@pivotal.io 1 Core Spring & Reactive SpringOnePlatform 2017 recap for Samsung SDS
  • 3. Everything you need to transform Process & Culture Build for change Tools Continuously Improve Platform Any App, Every Cloud, One Platform PCF 2.0 Tracker / Spring / Concourse Pivotal Labs Data / AI Apps Culture, tools, and platform
  • 4. 4
  • 5. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ About me 5 •  김민석 (mkim@pivotal.io) •  Platform Architect @ Pivotal •  Big-Data Monitoring System Developer •  Software Architect •  Software Quality Engineer •  Developer https://www.facebook.com/groups/CloudfoundryKorea https://www.meetup.com/Seoul-Cloud-Foundry-Meetup
  • 6. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 6 여기서 다루는 세션들 스프링 프로젝트를 이용한 프로그래밍 Reactive Spring (Tue/05) Reactive Applications on Apache Tomcat and Servlet 3.1 Containers(Tue /05) Spring Integration 5.0: What's New?(Tue/ 05) Not Only Reactive - Data Access with Spring Data(Tue /05) Reactive Data Access with Spring Data (Tue /05) Under the Hood of Reactive Data Access (Tue/06) Simplifying Apache Geode with Spring Sata(Wed/06) JDBC, What is it Good For? (Thu/07) Spring Security 5: The Reactive Parts(Tue /05) Bootiful Development with Spring Boot and React (Wed/ 06) Next Generation OAuth Support with Spring Security 5.0 (Wed/06) Lessons Learned from Upgrading Thymeleaf (Wed /06) Why Spring <3 Kotlin( Tue/07) What's New in Spring AMQP 2.0( Wed/06) JUnit 5 — New Opportunities for Testing on the JVM(Thu /07) Spring Core New in Spring Framework 5.0: Functional Web Framework(Tue/05) Spring Framework 5.0 on JDK 8 & 9 (Wed /06) Reactor in Action (Web /06) Spring Framework 5: Hidden Gems(Wed/06) It's a Kind of Magic: Under the Covers of Spring Boot (Web /06) 55 New Features in JDK 9 (Thu/ 07) Servlet or Reactive Stacks: The Choice is Yours. Oh No... The Choice is Mine!(Tue/ 05) Design & Architecting Designing, Implementing, and Using Reactive APIs(Web/06) Cloud-Native Batch Processing with Spring Batch 4 (Tue /05) Bringing New Technology to Legacy Land (Tue /05) State or Events? Which Shall I Keep? (Tue /05) Kafka Streams - From the Ground Up to the Cloud (Tue /05) Cloud Event Driven Architectures with Spring Cloud Stream 2.0(Wed/06) Spring Driven Industrial IoT Utilizing Edge, Fog, and Cloud Computing( Wed/ 06)
  • 7. 7 1. Spring Framework Core 살펴보기 2. Reactive Programming 개념이해하기 3. Demo 4. 어떻게 적용할 것인가?
  • 8. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
  • 9. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Reactive
  • 10. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 10 Spring Framework 5.0 Overview •  Back-Pressure(Reactive 데이터 흐름 제어) •  Reactive Spring Data •  Function Reactive Programming •  Project Reactor
  • 11. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ •  6개월 단위 Major release •  Agile development •  JDK9: 2017/09 •  JDK10: 2018/03 •  JDK11: 2018/09 •  LTS support release •  JDK8 (LTS) •  JDK11(LTS) •  3 years •  No Overlap of support JDK Release and Support model Java 8 Adoption(Oct. 2017, Baeldung) Java 8 Java 7 Java 6 Java 9
  • 12. 12 1. Spring Framework Core 살펴보기 2. Reactive Programming 개념이해하기 3. Demo 4. 어떻게 적용할 것인가?
  • 13. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Servlet and Reactive Servlet 3.1 (2013) Reactor (2013) Servlet1.0 (1997) Servlet 3.0 (2009)
  • 14. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 14 Servlet and Reactive
  • 15. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 15 Servlet and Reactive
  • 16. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ •  대안적 프로그래밍 방식 •  쉽고, 간결하고 에러가 줄어드는 비동기 이벤트 기반 프로그래밍 •  고성능, concurrency 코딩 •  Reactive Stream 명세 (http://www.reactive-streams.org/ ) •  WebFlux는 다양한 non-blocking API를 지원 Spring WebFlux를 이용한 Reactive Programming
  • 17. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 17 멀티쓰레드 프로그래밍 •  Keeping an unused ExecutorService alive •  Wrong thread-pool capacity while using fixed length thread-pool •  Unexpectedly-long blocking with Future‘s get() method
  • 18. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring WebFlux – 기존 RestController 방식
  • 19. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring WebFlux – RouterFunction 방식 (1/2)
  • 20. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring WebFlux – RouterFunction 방식 (2/2) https://spring.io/blog/2016/09/22/new-in-spring-5-functional-web-framework https://github.com/myminseok/webflux-functional-mkim
  • 21. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring WebFlux를 이용한 Reactive Programming https://spring.io/blog/2016/04/19/understanding-reactive-types
  • 22. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Reactive Spring Data – being Reactive
  • 23. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ <T> List<T> findAll(Class<T> entityClass, String collectionName); <T> T findOne(Query query, Class<T> entityClass); … <T> Flux<T> findAll(Class<T> entityClass, String collectionName); <T> Mono<T> findOne(Query query, Class<T> entityClass); … Reactive Spring Data - ReactiveMongoOperations
  • 24. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Reactive Spring Data - MongoDB
  • 25. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Reactive Spring Integration
  • 26. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Reactive Spring Integration https://github.com/artembilan/spring-integration-s1p2017
  • 27. 27 1. Spring Framework Core 살펴보기 2. Reactive Programming 개념이해하기 3. Demo 4. 어떻게 적용할 것인가?
  • 28. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ •  샘플: https://github.com/rstoyanchev/demo-reactive-spring •  Spring Webflux •  WebClient •  Reactive Spring Data (@Tailable) •  Streaming Data from Reactive repository to Reactive Client 28 Spring Webflux & Spring Data Demo
  • 29. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 샘플: https://github.com/myminseok/s1p-reactor-in-action Reactor 테스트 •  StepVerifier Debugging •  Async pipeline을 Debug, tracing하려고 할 때 .checkpoint()를 활용. Spring WebFlux를 이용한 Reactive Programming
  • 30. 30 1. Spring Framework Core 살펴보기 2. Reactive Programming 개념이해하기 3. Demo 4. 어떻게 적용할 것인가?
  • 31. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ •  Networking •  Latency •  Failures •  Back-pressure(Data Flow Control) •  Highly Concurrent Operations •  Scalability 효과적인 Reactive Usecase https://github.com/cloudfoundry/cf-java-client
  • 32. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 32 Servlet or Reactive?
  • 33. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ If it isn't broken, don’t fix it. Imperative is simple until it is not 33 Servlet or Reactive?
  • 34. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ •  Spring Framework 5.x •  JDK 8 codebase (LTS), JDK9+ compatible •  Support Java EE Level 7( Servlet 3.1, JPA 2.1) •  Prepare to Java EE Level 8 (Servlet 4.x, JPA 2.x) •  Dropped support (Portlet, Velocity, JDO…) •  Spring Framework 5.x + •  Upgrade train(JDK 9->10 ->11(LTS)) •  Spring framework 5.x building target to JDK11 •  Spring Framework 4.3 •  JDK6 codebase, JDK7,8,9 compatible •  Backport from Spring framework 5 (@UsesJava8 …) 34 Spring Framework & JDK 업그레이드 계획하기
  • 35. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 1.  JDK Baseline Update 2.  Web Servers 3.  Libraries •  Jackson 2.9+ Hibernate 5.0+ EhCache 2.10+ 4.  Removed Packages, Classes and Methods •  Hibernate 5 (orm.hibernate3/hibernate4 dropped) 5.  Dropped Support •  Portlet, Velocity, JasperReports, XMLBeans, JDO, Guava (replaced by the Caffeine support •  Spring Framework 4.3.x (supported until 2020) 6.  Common Logging •  spring-jcl 35 Spring Framework 5.0 적용하기 https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-5.x