SlideShare a Scribd company logo
1 of 48
Download to read offline
Spring	Boot
Who	Am	I?
• You	will	find	me	here
https://github.com/tan9
http://stackoverflow.com/users/3440376/tan9
• My	Java	experience
• Java	and	Java	EE	development	– 8+	years
• Spring	Framework	– 6+	years
• Spring	Boot	– 1.5	years
2
Before	We Get Started…
• Join	the	channel:	http://bit.do/spring-boot
• Direct	link:	https://gitter.im/tan9/spring-boot-training
• Sign	in	using	your	GitHub account
• Or	sign	up	right	now!
3
Spring	Framework
4
Spring	Framework
• Inversion	of	Control	(IoC)	container
• Dependency	Injection	(DI)
• Bean	lifecycle	management
• Aspect-Oriented	Programming	(AOP)
• “Plumbing”	of	enterprise	features
• MVC	w/	RESTful,	TX,	JDBC,	JPA,	JMS…
• Neutral
• Does	not	impose	any	specific	programming	model.
• Supports	various	third-party	libraries.
5
Spring	2.5	JavaConfig
• Favor	Java	Annotation (introduced	in	Java	SE	5)
• @Controller,	 @Service and	@Repository
• @Autowired
• Thin	XML	configuration	file
6
<context:annotation-config/>
<context:component-scan
base-package="com.cht"/>
JavaConfig Keep	Evolving
• @Bean &	@Configuration since	3.0
• Get	rid	of	XML	configuration	files.
• @ComponentScan,	@Enable* and
@Profile since	3.1
• With	WebApplicationInitializer powered	by	
Servlet	3,	say	goodbye	to	web.xml too.
• @Conditional since	4.0
• We’re	able	to	filter	beans	programmatically.
7
Maven	Bill-Of-Materials	(BOM)
• Keep	library	versions	in	ONE	place.
• Import	from	POM’s	<dependencyManagement>
section.
• Declare	dependencies without	<version>:
8
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
Things Getting	Complicated
• Spring	seldom	deprecates	anything
• And	offers	little	opinion	or	guidance.
• Older	approaches	remain	at	the	top	in	search	results.
• Bootstrapping	can	be	painful
• Due	to	the	sheer	size	and	growth	rate	of	the	portfolio.
• Spring	is	an	incredibly	powerful	tool…
• Once	you	get	it	setup.
Should	you	use	spring	boot	in	your	next	project?	- Steve	Perkins
https://steveperkins.com/use-spring-boot-next-project/ 9
Spring	Boot
10
ThoughtWorks Technology	Radar
11
ThoughtWorks Techonlogy Rader	April	‘16
https://www.thoughtworks.com/radar
Spring	Boot
• Opinionated
• Convention over	configuration.
• Production-ready	non-functional	features
• Embedded	servers,	security,	metrics,	health	checks…
• Speed	up
• Designed	to	get	you	up	and	running	as	quickly	as	
possible.
• Plain	Java
• No	code	generation	and	no	XML	configuration.	
12
System	Requirements
• Spring	Boot	1.3	requires	Java	7+ by	default
• Java	8	is	recommended	if	at	all	possible.
• Can	use	with	Java	6	with	some	additional	configuration.
• Servlet	3.0+ container
• Embedded Tomcat	7+,	Jetty	8+,	Undertow	1.1+.
• Oracle	WebLogic	Server	12c	or	later.
• IBM	WebSphere	Application	Server	8.5	or	later.
• JBoss EAP	6	or	later.
13
Boot	With	Apache	Maven
14
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.cht</groupId>
<artifactId>inception</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
</parent>
<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- Package as an executable jar -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Starter	POMs
• Make	easy	to	add	jars	to	your	classpath.
• spring-boot-starter-parent
• Provides	useful	Maven	defaults.
• Defines	version tags	for	“blessed”	dependencies.
• spring-boot-starter-*
• Provides	dependencies	you	are	likely	to	need	for	*.
15
First	Class
package com.cht.inception;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class Application {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
16
mvn spring-boot:run
17
. ____ _ __ _ _
/ / ___'_ __ _ _(_)_ __ __ _    
( ( )___ | '_ | '_| | '_ / _` |    
/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |___, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.3.5.RELEASE)
2016-07-03 23:38:04.683 INFO 93490 --- [ main] com.cht.inception.Application : Starting Application on
2016-07-03 23:38:04.685 INFO 93490 --- [ main] com.cht.inception.Application : No active profile set,
2016-07-03 23:38:04.718 INFO 93490 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springfra
2016-07-03 23:38:05.482 INFO 93490 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with
2016-07-03 23:38:05.491 INFO 93490 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
2016-07-03 23:38:05.491 INFO 93490 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine
2016-07-03 23:38:05.548 INFO 93490 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring emb
2016-07-03 23:38:05.548 INFO 93490 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationConte
2016-07-03 23:38:05.702 INFO 93490 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispa
2016-07-03 23:38:05.705 INFO 93490 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'charac
2016-07-03 23:38:05.705 INFO 93490 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hidden
2016-07-03 23:38:05.705 INFO 93490 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'httpPu
2016-07-03 23:38:05.705 INFO 93490 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'reques
2016-07-03 23:38:05.833 INFO 93490 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerA
2016-07-03 23:38:05.876 INFO 93490 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto jav
2016-07-03 23:38:05.879 INFO 93490 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" ont
2016-07-03 23:38:05.879 INFO 93490 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produc
2016-07-03 23:38:05.898 INFO 93490 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webja
2016-07-03 23:38:05.898 INFO 93490 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] o
2016-07-03 23:38:05.921 INFO 93490 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/fa
2016-07-03 23:38:05.986 INFO 93490 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for J
2016-07-03 23:38:06.032 INFO 93490 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(
2016-07-03 23:38:06.036 INFO 93490 --- [ main] com.cht.inception.Application : Started ⏎
Application in 1.529 seconds (JVM running for 4.983)
18
Application	Properties
• Place	application.yaml in	classpath
• For	example:
• Configuring	embedded	server		can	be	as	easy	as:
19
server:
address: 127.0.0.1
port: 5566
YAML	(YAML	Ain’t Markup	Language)
• Superset	of	JSON.
• UTF-8!
• Really	good	for	hierarchical	configuration	data.
• But…	can't	be	loaded	via	the	@PropertySource.
20
my:
servers:
- dev.bar.com
- foo.bar.com
my.servers[0]=dev.bar.com
my.servers[1]=foo.bar.com
YAML
Java	Properties
Executable	JAR
• $ mvn package
• Build	and	package	the	project.
• Spring	Boot	will	repackage	it	into	an	executable	one.
• $ java -jar target/
inception-0.0.1-SNAPSHOT.jar
• It’s	just	running.
• The	jar	is	completely	self-contained,	you	can	deploy	and	
run	it	anywhere	(with	Java).
21
Spring	Boot:	Dev
22
Quick	Start
• Spring	Initializr Web	Service
• http://start.spring.io
• SpringSourceTools	Suite	(eclipse-based)
• https://spring.io/tools/sts/all
• IntelliJ	IDEA	Ultimate	(Costs	$$$)
• https://www.jetbrains.com/idea/
• Or	import	Spring	Initializr generated	project	from	IntelliJ	
IDEA	Community	Edition.
23
Developer	Tools
• Set	dev	properties,	like	disabling	cache.
• Automatic	restart when	resources	changed.
• LiveReload the	browser.
• Remote	update	and	debug.
24
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
Externalized	Configuration
1. Command	line	arguments.
2. Properties	from SPRING_APPLICATION_JSON.
3. JNDI	attributes	from java:comp/env.
4. Java	System	properties	(System.getProperties()).
5. OS	environment	variables.
6. RandomValuePropertySource for	random.*.
7. Application	property	files.
8. @PropertySource on	@Configuration.
9. SpringApplication.setDefaultProperties().
25
Application	Property	Files	Lookup
• Profile	and	File	Type	Priority
1. application-{profile|default}.properties	/	.yml /		.yaml
2. application.properties/	.yml /	.yaml
• Location	Priority
1. A	/config subdirectory	of	the	current	directory.
2. The	current	directory.
3. A	classpath /config package.
4. The	classpath root.
26
Property	Name	Relaxed	Binding
Property Note
person.firstName Standard	camel	case	syntax.
person.first-name Dashed	notation,	recommended	
for	use	in	.properties	and	.yml files.
person.first_name Underscore	notation,	alternative	
format	for	use	in	.properties	and	
.yml files.
PERSON_FIRST_NAME Upper	case	format.	Recommended	
when	using	a	system	environment	
variables.
27
@ConfigurationProperties
• It	is	Type-safe.
• More	clear	and	expressive	than	
@Value("{connection.username}")
28
@lombok.Data
@Component
@ConfigurationProperties(prefix = "connection")
public class ConnectionProperties {
private String username = "anonymous";
@NotNull
private InetAddress remoteAddress;
}
Incorporate	Our	@Configurations
29
@Configuration
@EnableAutoConfiguration
@ComponentScan
public @interface SpringBootApplication {
...
}
@Order(Ordered.LOWEST_PRECEDENCE - 1)
public class
EnableAutoConfigurationImportSelector
implements DeferredImportSelector...
Configuration	Override	
Convention
• Always	look	up	the	properties	list	first
• http://docs.spring.io/spring-
boot/docs/current/reference/html/common-
application-properties.html
• Write	@Configurations	and	@Beans	if	needed
• Then	@ComponentScan them	in.
• That’s	what	you	are	really	good	at.
• AutoConfigurations just	serves	as	a	fallback.
30
Spring	Boot:	Run
31
Spring	Boot	Actuator
“An	actuator	is	a	manufacturing	term,	referring	to	a	
mechanical	device	for	moving	or	controlling	
something.
Actuators	can	generate	a	large	amount	of	motion	
from	a	small	change.”
32
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Production-Ready	Endpoints
• Spring	Configuration
• autoconfig,	beans,	configprops,	env and	mappings
• Logging	&	stats
• logfile,	metrics,	trace
• Informational
• dump,	info,	flyway,	liquibase
• Operational
• shutdown
33
Health	Information
• Beans	implements	HealthIndicator
• You	can	@Autowired what	you	need	for	health	
checking.
• Result	will	be	cached	for	1	seconds	by	default.
• Out-of-the-box	indicators
• Application,	DiskSpace,	DataSource,	Mail,	Redis,	
Elasticsearch,	Jms,	Cassandra,	Mongo,	Rabbit,	Solr…
34
Metrics
• Gauge
• records	a	single	value.
• Counter
• records	a	delta	(an	increment	or	decrement).
• PublicMetrics
• Expose	metrics	that	cannot	be	record	via	one	of	those	
two	mechanisms.	
35
Spring	Boot:	Ext
Custom	AutoConfigurationsand	ConfigurtaionProperties
36
Auto	Configuration
• META-INF/spring.factories
• Nothing	special	but	@Configuration.
• Spring	Boot	will	then	evaluate	all	AutoConfiguration
available	when	bootstrapping.
37
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=
com.cht.inception.autoconfigure.DemoAutoConfiguration
@ConditionalOn*
• Eliminating	all	@Configuration	will	not	work.
• Knowing	and	using	built-ins	where	possible
• @ConditionalOnBean
• @ConditionalOnClass
• @ConditionalOnMissingBean
• @ConditionalOnMissingClass
• @ConditionalOnProperty
• …	and	more
38
@Order matters
• Hints	for	Spring	Boot
• @AutoConfigureAfter
• @AutoConfigureBefore
• You	still	have	to	know	what	underlying
• Not	every	operation	is	idempotent	or	cumulative.
• WebSecurityConfigurerAdapter for	example.
39
@ConfigurationProperties
• Naming things	seriously
• There are only two hard things in Computer Science:
cache invalidation and naming things. -- Phil Karlton
• It	will	be	an	important	part	of	your	own	framework!
• Generates	properties	metadata	at	compile	time
• Located	at	META-INF/spring-configuration-
metedata.json.
• A	Spring	Boot-aware	IDE	will	be	great	help	for	you.
40
Deploying
41
Package	as	WAR
• POM.xml
• <packaging>war</packaging>
42
@SpringBootApplication
public class Application
extends SpringBootServletInitializer
implements WebApplicationInitializer {
...
}
JBoss EAP
• JBoss EAP	v6.0	– 6.2
• Have	to	remove	embedded	server.
• JBoss EAP	v6.x
• spring.jmx.enabled=false
• server.servlet-path=/*
• http://stackoverflow.com/a/1939642
• Multipart	request	charset	encoding	value	is	wrong.
• Have	to	downgrade	JPA	and	Hibernate.
• JBoss EAP	v7
• Haven’t	tried	yet.
43
Oracle	WebLogic	Server
• WebLogic	11g	and	below
• Not	supported.
• WebLogic	12c
• Filter	registration	logic	is	WRONG!
• https://github.com/spring-projects/spring-
boot/issues/2862#issuecomment-99461807
• Have	to	remove	embedded	server.
• Have	to	downgrade	JPA	and	Hibernate.
• Have	to	specify	<wls:prefer-application-
packages/> in	weblogic.xml.
44
IBM	WebSphere	AS
• WebSphere	AS	v8.5.5
• Have	to	remove	embedded	server.
• Have	to	downgrade	JPA	and	Hibernate.
45
What’s	Next?
46
Try	JHipster
https://jhipster.github.io/
and	to	learn	something	from	him.
47
References
• Introduction	to	Spring	Boot	- Dave	Syer,	Phil	Webb
• http://presos.dsyer.com/decks/spring-boot-intro.html
• Spring	Boot	Reference	Guide
• http://docs.spring.io/spring-boot/docs/current/
48

More Related Content

What's hot

Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
Jakub Kubrynski
 

What's hot (20)

Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring boot
Spring bootSpring boot
Spring boot
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 
Spring boot
Spring bootSpring boot
Spring boot
 
PUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBootPUC SE Day 2019 - SpringBoot
PUC SE Day 2019 - SpringBoot
 
Xke spring boot
Xke spring bootXke spring boot
Xke spring boot
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVC
 
Spring framework Introduction
Spring framework IntroductionSpring framework Introduction
Spring framework Introduction
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Spring boot jpa
Spring boot jpaSpring boot jpa
Spring boot jpa
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 

Viewers also liked

Viewers also liked (18)

Microservices with Spring Boot
Microservices with Spring BootMicroservices with Spring Boot
Microservices with Spring Boot
 
Spring Booted, But... @JCConf 16', Taiwan
Spring Booted, But... @JCConf 16', TaiwanSpring Booted, But... @JCConf 16', Taiwan
Spring Booted, But... @JCConf 16', Taiwan
 
REST with Spring Boot #jqfk
REST with Spring Boot #jqfkREST with Spring Boot #jqfk
REST with Spring Boot #jqfk
 
jDays - Spring Boot under the Hood
jDays - Spring Boot under the HoodjDays - Spring Boot under the Hood
jDays - Spring Boot under the Hood
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Backday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratiqueBackday Xebia : Découvrez Spring Boot sur un cas pratique
Backday Xebia : Découvrez Spring Boot sur un cas pratique
 
ParisJUG Spring Boot
ParisJUG Spring BootParisJUG Spring Boot
ParisJUG Spring Boot
 
Spring Framework Essentials
Spring Framework EssentialsSpring Framework Essentials
Spring Framework Essentials
 
Spring Framework Training Course
Spring Framework Training Course Spring Framework Training Course
Spring Framework Training Course
 
Spock
SpockSpock
Spock
 
мифы о спарке
мифы о спарке мифы о спарке
мифы о спарке
 
Spring data jee conf
Spring data jee confSpring data jee conf
Spring data jee conf
 
Event sourcing with reactor and spring statemachine
Event sourcing with reactor and spring statemachineEvent sourcing with reactor and spring statemachine
Event sourcing with reactor and spring statemachine
 
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
 
Java garbage collection & GC friendly coding
Java garbage collection  & GC friendly codingJava garbage collection  & GC friendly coding
Java garbage collection & GC friendly coding
 
Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9Let's Learn to Talk to GC Logs in Java 9
Let's Learn to Talk to GC Logs in Java 9
 
Spring
SpringSpring
Spring
 
淺談RESTful API認證 Token機制使用經驗分享
淺談RESTful API認證 Token機制使用經驗分享淺談RESTful API認證 Token機制使用經驗分享
淺談RESTful API認證 Token機制使用經驗分享
 

Similar to Spring Boot

Spring Boot & WebSocket
Spring Boot & WebSocketSpring Boot & WebSocket
Spring Boot & WebSocket
Ming-Ying Wu
 
week 4_watermark.pdfffffffffffffffffffff
week 4_watermark.pdfffffffffffffffffffffweek 4_watermark.pdfffffffffffffffffffff
week 4_watermark.pdfffffffffffffffffffff
anushka2002ece
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
Toshiaki Maki
 

Similar to Spring Boot (20)

Spring boot wednesday
Spring boot wednesdaySpring boot wednesday
Spring boot wednesday
 
Spring Boot & WebSocket
Spring Boot & WebSocketSpring Boot & WebSocket
Spring Boot & WebSocket
 
How to use database component using stored procedure call
How to use database component using stored procedure callHow to use database component using stored procedure call
How to use database component using stored procedure call
 
Spring boot for buidling microservices
Spring boot for buidling microservicesSpring boot for buidling microservices
Spring boot for buidling microservices
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
For Each Component
For Each ComponentFor Each Component
For Each Component
 
Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0Introduction to Apache Spark 2.0
Introduction to Apache Spark 2.0
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
 
For each component in mule demo
For each component in mule demoFor each component in mule demo
For each component in mule demo
 
July 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know WebinarJuly 2023 CIAOPS Need to Know Webinar
July 2023 CIAOPS Need to Know Webinar
 
Jlook web ui framework
Jlook web ui frameworkJlook web ui framework
Jlook web ui framework
 
week 4_watermark.pdfffffffffffffffffffff
week 4_watermark.pdfffffffffffffffffffffweek 4_watermark.pdfffffffffffffffffffff
week 4_watermark.pdfffffffffffffffffffff
 
Week 4 lecture material cc (1)
Week 4 lecture material cc (1)Week 4 lecture material cc (1)
Week 4 lecture material cc (1)
 
CloudStack S3
CloudStack S3CloudStack S3
CloudStack S3
 
Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)Mastering Microservices with Kong (CodeMotion 2019)
Mastering Microservices with Kong (CodeMotion 2019)
 
Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019
Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019
Maarten Mulders - Mastering Microservices with Kong - Codemotion Amsterdam 2019
 
Inithub.org presentation
Inithub.org presentationInithub.org presentation
Inithub.org presentation
 
H2O 3 REST API Overview
H2O 3 REST API OverviewH2O 3 REST API Overview
H2O 3 REST API Overview
 
H2O 3 REST API Overview
H2O 3 REST API OverviewH2O 3 REST API Overview
H2O 3 REST API Overview
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Spring Boot