SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
David	Delabassee	
@delabassee	
Oracle	
REST	in	an	Async	World	
Israel	–	July	2017
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 2
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 3
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Safe	Harbor	Statement	
The	following	is	intended	to	outline	our	general	product	direcPon.	It	is	intended	for	
informaPon	purposes	only,	and	may	not	be	incorporated	into	any	contract.	It	is	not	a	
commitment	to	deliver	any	material,	code,	or	funcPonality,	and	should	not	be	relied	upon	
in	making	purchasing	decisions.	The	development,	release,	and	Pming	of	any	features	or	
funcPonality	described	for	Oracle’s	products	remains	at	the	sole	discrePon	of	Oracle.	
4
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Agenda	
•  REST	&	JAX-RS	
•  Synchronous	vs.	Asynchronous	
•  Client-side	vs.	Server-side	
5
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Client-side	REST	
ConfidenPal	–	Oracle	Internal/Restricted/Highly	Restricted	 6
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	
•  Java	API	for	RESTful	Web	Services	
– JAX-RS	2.0	–	JSR	339	(*)	
– JAX-RS	2.1	–	JSR	370	
•  Standard	based	RESTful	framework		
– Server-side	and	client-side	
– Jersey,	JBoss	RESTEasy,	Restlet,	Apache	CXF,	Apache	Wink,	IBM	JAX-RS,	…	
•  Java	SE	and	Java	EE	
7
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 8	
Client	client	=	ClientBuilder.newClient();	
	
WebTarget	target	=	client.target("http://weath.er/api")	
																									.queryParam("city",	"Paris”);	
	
	
Forecast	forecast	=	target.request()	
																										.get(Forecast.class);	
	
…	
client.close();	
	
	
JAX-RS	Client	API
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
•  Client	
– Client	side	container	
– Customizable	&	tunable	
• E.g.	executorService()	(new	in	JAX-RS	2.1!)	
•  WebTarget	
– Target	remote	URI	
– Build	from	a	client	
– path()	+	resolveTemplates(),	queryParam(),	matrixParam()	
javax.ws.rs.client.Client	interface	
	
9
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
•  Request	invocaPon	builder	
– Build	from	a	WebTarget	
– acceptXXX(),	cookie(),	header(),	cacheControl()…	
– HTTP	methods	
	
javax.ws.rs.client.Client	interface	
	
10
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
•  Fluent	API	
– Client	Builder	è	Client	è	Web	Target	è	Request	building	è	Response	
javax.ws.rs.client.Client	interface	
	
11	
List<Forecast>	forecast	=	ClientBuilder.newClient()	
																																							.target("http://weath.er/cities")	
																																							.request()	
																																							.accept("application/json")	
																																							.header("Foo","bar")	
																																							.get(new	GenericType<List<Forecast>>()	{});
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
•  Synchronous	invoker	
	
	
•  Asynchronous	invoker	
	
12	
String	city	=	client.target("http://locati.on/api")	
																				.queryParam("city",	"Paris")	
																				.request()	
																				.get(String.class);	
Future<String>	fCity	=	client.target("http://locati.on/api")	
																													.queryParam("city",	"Paris")	
																													.request()																																
																													.async()	
																													.get(String.class);
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
Asynchronous	invoca.on	
13	
Future<String>	fCity	=	client.target("http://locati.on/api")	
																										…	
	 	 				.request()																																
																									.async()	
																									.get(String.class);	
		
String	city	=	future.get();
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
Asynchronous	invoca.on	
14	
Future<String>	fCity	=	client.target("http://locati.on/api")	
																										…	
	 	 				.request()																																
																									.async()	
																									.get(String.class);	
		
try	{	
	
					String	city	=	future.get(4,	TimeUnit.SECONDS);	
	
}	catch(TimeoutException	timeout)	{	
					…		
}
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
Asynchronous	invoca.on	
15	
Future<String>	future	=	client.target("http://locati.on/api")	
																										…	
	 	 				.request()																																
																									.async()	
																									.get(String.class);	
	
while	(!future.isDone())	{		
				//	response	hasn't	been	received	yet	
				…	
}	
	
String	city	=	f.get();	
…	
	
	
//	Set	ClientProperties.CONNECT_TIMEOUT	&	READ_TIMEOUT
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
•  InvocaPonCallback	Interface	
– javax.ws.rs.client.InvocaPonCallback<RESPONSE>	
•  Container	will	receive	asynchronous	processing	events	from	an	
invocaPon	
– completed(RESPONSE	response)	
– failed(Throwable	throwable)	
16	
Asynchronous	invoca.on
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
17	
Invoca.onCallback	
…	
WebTarget	myResource	=	client.target("http://examp.le/api/read");	
Future<Customer>	future	=	myResource.request(MediaType.TEXT_PLAIN)	
								.async()	
								.get(new	InvocationCallback<Customer>()	{		
													@Override	
													public	void	completed	(Customer	customer)	{	
																	//	do	something	with	the	given	customer	
													}		
													@Override	
													public	void	failed	(Throwable	throwable)	{	
																//	Oops!	
													}		
								});
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 18	
The	Travel	Service
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
The	Travel	Service	-	Synchronous	
•  Customer	details:	150	ms	
•  Recommended	desPnaPons:	250	ms	
•  Price	calculaPon	for	a	customer	and	desPnaPon:	170	ms	(each)	
•  Weather	forecast	for	a	desPnaPon:	330	ms	(each)	
	
19	
5	400	ms
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
The	Travel	Service	-	Asynchronous	
20	
730	ms
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 21	
The	Travel	Service
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 22	
The	Travel	Service	
destination.path("recommended").request()	
					.header("Rx-User",	"Async")	
					.async()	
					.get(new	InvocationCallback<List<Destination>>()	{	
									@Override	
									public	void	completed(final	List<Destination>	recommended)	{	
												final	CountDownLatch	innerLatch	=	new	CountDownLatch(recommended.size());	
												final	Map<String,	Forecast>	forecasts	=		
																																								Collections.synchronizedMap(new	HashMap<>());	
												for	(final	Destination	dest	:	recommended)	{	
																forecast.resolveTemplate("dest",	dest.getDestination()).request()	
																								.async()	
																								.get(new	InvocationCallback<Forecast>()	{	
																													@Override	
																													public	void	completed(final	Forecast	forecast)	{	
																																	forecasts.put(dest.getDestination(),	forecast);	
																																	innerLatch.countDown();	
																													}
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 23	
JAX-RS	2.0	
																											@Override	
																											public	void	failed(final	Throwable	throwable)	{	
																																		innerLatch.countDown();	
																															}	
																											});	
																}	
																try	{	
																				if	(!innerLatch.await(10,	TimeUnit.SECONDS))	{	//	timeout	}	
																}	catch	(final	InterruptedException	e)	{	//	Ooops,	interrupted!	}	
	
																//	Continue	with	processing…	
												}	
												@Override	
												public	void	failed(final	Throwable	throwable)	{	//	Recommendation	error	}	
									});
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 24	
JAX-RS	2.1	
//	JAX-RS	2.1	
CompletionStage<Response>	csResponse	=	ClientBuilder.newClient()	
								.target("http://example.com/api")	
								.request()	
								.rx()	
								.get();	
Future<Response>	fResponse	=	ClientBuilder.newClient()	
								.target("http://example.com/api")	
								.request()	
								.async()	
								.get();	
Response	response	=	ClientBuilder.newClient()	
								.target("http://example.com/api")	
								.request()	
								.get();
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
ComplePonStage	interface	
•  “A	stage	of	a	possibly	asynchronous	computaPon,	that	performs	an	
ac.on	or	computes	a	value”	
•  “On	termina.on	a	stage	may	in	turn	trigger	other	dependent	stages.”	
•  Stage	execuPon	triggered	by	complePon	of	
– “then”	-	a	single	stage	
– “combine”	-	both	of	two	stages	
– “either”	-	either	of	two	stages	
25
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
ComplePonStage	interface	
•  ComputaPon	takes	an	argument	and	returns	a	result?	
– “apply”	–	Func.on	take	result	of	the	previous	stage	as	argument,	return	a	result	
– “accept”	–	Consumer	only	take	an	argument	
– “run”	–	Runnable	no	argument	and	doesn’t	return	a	result	
•  How	the	execuPon	of	the	computaPon	is	arranged?	
– Doesn't	end	with	“async”	–	execute	using	the	stage’s	default	execuPon	facility	
– End	with	“async”	-	use	the	stage’s	default	asynchronous	execuPon	facility	
•  …	
26	
hsps://docs.oracle.com/javase/8/docs/api/java/uPl/concurrent/ComplePonStage.html
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 27	
JAX-RS	2.1	
CompletionStage<Number>	csPrice	=	client.target("price/{destination}")	
											.resolveTemplate("destination",	"Paris")	
											.request()	
											.rx()	
											.get(Number.class);	
	
CompletionStage<String>	csForecast	=	client.target("forecast/{destination}")	
											.resolveTemplate("destination",	"Paris")	
											.request()	
											.rx()	
											.get(String.class);	
	
csPrice.thenCombine(	csForecast,	(price,	forecast)	->	book(price,	forecast)	);
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 28	
Demo	
The	Travel	Service	
hsps://github.com/jersey/jersey/tree/master/examples/rx-client-webapp
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	Client	API	
•  REST	Client	Side	container	
•  Synchronous	invoker	
– Default	invoker	-	javax.ws.rs.client.SyncInvoker	
•  Asynchronous	invokers	
– async()	invoker	-	javax.ws.rs.client.AsyncInvoker	
•  Might	block	->	InvocaPonCallback	
– ReacPve	rx()	invoker	-	javax.ws.rs.client.RxInvoker	
•  New	in	JAX-RS	2.1!	
•  ComplePonStage	API	+	other	ReacPve	library	(opt.)	
29	
Summary
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Server-side	REST	
ConfidenPal	–	Oracle	Internal/Restricted/Highly	Restricted	 30
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 31	
Server-side	
@Path("/Item")	
public	class	ItemResource	{	
	
			@Path("{id}")	
			@Produces(MediaType.APPLICATION_XML)	
			public	ItemResource	getItemResource(@PathParam("id")	String	id)	{	
							return	ItemResource.getInstance(id);	
			}	
				
			@POST	
			@Consumes(MediaType.APPLICATION_XML)	
			@Produces(MediaType.APPLICATION_XML)	
			public	Response	createItem(@QueryParam("name")	String	name)	{	
							//...	
							return	Response.status(Status.OK).entity(…).build();	
			}	
}
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 32	
Server-side	Async	
	
	
@Path("/Async")	
public	class	ItemResource	{	
					
				@GET	
				public	void	heavyResource(@Suspended	AsyncResponse	ar)	{	
																	
								mes.execute(new	Runnable()	{	
																@Override	
																public	void	run()	{	
																				try	{	
																								//	long	running	computation...	
																								ar.resume(Response.ok(...).build());																									
																				}	catch	(InterruptedException	ex)	{	
																								//	Ooops!	
																				}	
																}	
												});	
				...
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Server-side	Async	
•  Provides	means	for	asynchronous	server	side	response	processing	
– Injectable	via	@Suspended	
OR	
– Resource	method	can	return	a	ComplePonStage<T>	instance	(new	in	JAX-RS	2.1!)	
•  Bound	to	the	request	
– Suspend	
– Resume	
– Configure	
– Cancel	
33	
AsyncResponse	interface
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Server-side	Async	
34	
Client	 Server	
@Suspended		
AsyncResponse.resume(…)	
Long	running	operaPon…	
Request	
Response
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Long	running	REST	operaPons	
è POST	
...		long	running	operaPon	...	
ç ‘201	Created’	+	LocaPon	
35	
è POST		
ç ‘202	Accepted’	+	Temp	LocaPon	
			
è GET	Temp	LocaPon	
ç ‘200	OK’	(+	ETA)	
…	
è GET	Temp	LocaPon		
ç ‘303	See	Other’	+	Final	LocaPon
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Server-sent	Events	
•  Persistent,	one-way	communicaPon	channel	
•  Text	protocol,	special	media	type	"text/event-stream"	
•  Server	can	send	mulPple	messages	(events)	to	a	client	
•  Can	contain	id,	name,	comment	retry	interval	
•  Supported	in	all	modern	browsers	
36
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	2.1	
37	
SSE	
•  SseEvent	
– ID,	Name,	Comment,	…	
•  OutboundSseEvent	
– Server-side	representaPon	of	a	Server-sent	event	
– OutboundSseEvent.Builder()	
•  InboundSseEvent	
– Client-side	representaPon	of	a	Server-sent	event
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	2.1	
38	
SSE	–	Server	side	
•  SseEventSink	
– Outbound	Server-Sent	Events	stream	
– SseBroadcaster	
		 @GET	
@Path	("sse")	
@Produces(MediaType.SERVER_SENT_EVENTS)	
public	void	eventStream(@Context	SseEventSink	eventSink,		@Context	SSE	sse)	{	
				...	
										eventSink.send(	sse.newEvent("an	event")	);	
										eventSink.send(	sse.newEvent("another	event")	);	
				...	
				eventSink.close();	
}
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	2.1	
39	
SSE	–	Client	side	
•  SseEventSource	
– Client	for	processing	incoming	Server-Sent	Events	
	
SseEventSource	es	=	SseEventSource.target(SSE_target)	
																																		.reconnectingEvery(5,	SECONDS)	
																																		.build();	
es.register(System.out::println);	//	InboundSseEvent	consumer	
es.register(...);	//	Throwable	consumer	
es.open();	
...	
es.close();
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Wrap-up	
ConfidenPal	–	Oracle	Internal/Restricted/Highly	Restricted	 40
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	
•  Java	API	for	RESTful	Web	Services	
– JAX-RS	2.0	–	JSR	339	(*)	
– JAX-RS	2.1	–	JSR	370	
•  Standard	based	RESTful	framework		
– Server-side	and	client-side	
– Java	SE	and	Java	EE	
– Jersey,	JBoss	RESTEasy,	Restlet,	Apache	CXF,	Apache	Wink,	IBM	JAX-RS,	…	
41
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	–	Client-side	
•  REST	Client	Side	container	
•  Invokers	
– Synchronous	
•  javax.ws.rs.client.SyncInvoker	
•  Default	
– Asynchronous	
•  javax.ws.rs.client.AsyncInvoker	
– ReacPve	
•  New	in	JAX-RS	2.1!	
•  javax.ws.rs.client.AsyncInvoker	
42
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	–	Client-side	
43	
Sync	 Async	 RX	
Performance	and	scalability	 ✗✗	 ✔	 ✔	
Easy	to	develop	and	maintain	 ✔	 ✗	 ✔	
…	complex	workflow	 ✗	 ✗	 ✔	
…	error	handling	 ✗	 ✗	 ✔	
Leverage	new	Java	SE	feature	 ✗	 ✗	 ✔
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	–ReacPve	Client	API	
•  Java	SE	8	ComplePon	Stage	
– As	mandated	by	the	spec.	
•  Jersey	
– RxJava	-	rx.Observable	
– RxJava	2	-	io.reacPvex.Flowable	
– Guava	-	ListenableFuture	
44
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
JAX-RS	–	Server-side	
•  AsyncResponse	
– Resume	execuPon	on	a	different	thread	
– @Suspended	
– Resource	method	returning	a	ComplePonStage<T>	instance	
•  Long	running	operaPon	pasern	
•  Server-sent	Events	
45
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	EE	8	
46	
Bean	Valida.on	
CDI	2.0	
JSON-B	1.0	
Security	1.0	
Bean	Valida.on	
2.0	
JSF	2.3	
Servlet	4.0	
JSON-P	1.1	
JAX-RS	2.1	 ReacPve	client	API,	Server-sent	events,	…	
HTTP/2,	server	push,	…	
Java	<->	JSON	binding	
Updates	to	JSON	standards,	JSON	Collectors,	…	
Async	event,	event	priority,	SE	support,	…	
Embrace	Java	SE	8,	new	constraints	
Improved	CDI,	WebSocket,	SE	8	integraPon,	…	
Standardized	IdenPty	Store,	AuthenPcaPon,	Security	Context
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	EE	8	
•  Work	in	progress	
– Final	Release	-	Summer	2017	(plan)	
•  Open	Source	Reference	ImplementaPons	
– hsps://github.com/jersey	
– hsps://github.com/javaee	
•  Stay	tuned…	
– hsps://blogs.oracle.com/theaquarium/	
	
47
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
	 .‫רבה‬ ‫תודה‬
ConfidenPal	–	Oracle	Internal/Restricted/Highly	Restricted	 48
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Resources	
•  JAX-RS	specificaPon	
– hsps://github.com/jax-rs/api	
•  Jersey	–		Asynchronous	Services	and	Clients	
– hsps://jersey.java.net/documentaPon/latest/async.html#d0e8611	
– hsps://github.com/jersey/jersey/tree/master/examples/rx-client-webapp	
•  ComplePonStage	
– hsps://docs.oracle.com/javase/8/docs/api/java/uPl/concurrent/ComplePonStage.html	
•  Java	EE	Tutorial	
– hsps://docs.oracle.com/javaee/7/tutorial/	
49
REST in an Async World

Más contenido relacionado

La actualidad más candente

TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8Mark Swarbrick
 
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...tdc-globalcode
 
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle CloudJava @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle CloudPaulo Alberto Simoes ∴
 
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL  (2019.05.18) oracle-nosql pu...11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL  (2019.05.18) oracle-nosql pu...
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...Taewan Kim
 
JSON support in Java EE 8
JSON support in Java EE 8JSON support in Java EE 8
JSON support in Java EE 8Lukas Jungmann
 
Performance in Spark 2.0, PDX Spark Meetup 8/18/16
Performance in Spark 2.0, PDX Spark Meetup 8/18/16Performance in Spark 2.0, PDX Spark Meetup 8/18/16
Performance in Spark 2.0, PDX Spark Meetup 8/18/16pdx_spark
 
2018 Oracle Impact 발표자료: Oracle Enterprise AI
2018  Oracle Impact 발표자료: Oracle Enterprise AI2018  Oracle Impact 발표자료: Oracle Enterprise AI
2018 Oracle Impact 발표자료: Oracle Enterprise AITaewan Kim
 
Jfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and ContainersJfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and ContainersMika Rinne
 
Oracle databáze – Konsolidovaná Data Management Platforma
Oracle databáze – Konsolidovaná Data Management PlatformaOracle databáze – Konsolidovaná Data Management Platforma
Oracle databáze – Konsolidovaná Data Management PlatformaMarketingArrowECS_CZ
 
토드(Toad) 신제품 및 크로스 플랫폼 전략(1)
토드(Toad) 신제품 및 크로스 플랫폼 전략(1)토드(Toad) 신제품 및 크로스 플랫폼 전략(1)
토드(Toad) 신제품 및 크로스 플랫폼 전략(1)mosaicnet
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and YouHeather VanCura
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 
MySQL Innovation: from 5.7 to 8.0
MySQL Innovation:  from 5.7 to 8.0MySQL Innovation:  from 5.7 to 8.0
MySQL Innovation: from 5.7 to 8.0Frederic Descamps
 
MySQL Community Meetup in China : Innovation driven by the Community
MySQL Community Meetup in China : Innovation driven by the CommunityMySQL Community Meetup in China : Innovation driven by the Community
MySQL Community Meetup in China : Innovation driven by the CommunityFrederic Descamps
 
What's coming in Java EE 8
What's coming in Java EE 8What's coming in Java EE 8
What's coming in Java EE 8David Delabassee
 
Cisco Connect Vancouver 2017 - Embedding IR into the DNA of the business
Cisco Connect Vancouver 2017 - Embedding IR into the DNA of the businessCisco Connect Vancouver 2017 - Embedding IR into the DNA of the business
Cisco Connect Vancouver 2017 - Embedding IR into the DNA of the businessCisco Canada
 
DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !Frederic Descamps
 

La actualidad más candente (20)

TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8TLV - Whats new in MySQL 8
TLV - Whats new in MySQL 8
 
Rootconf admin101
Rootconf admin101Rootconf admin101
Rootconf admin101
 
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
TDC2018SP | Trilha Java Enterprise - O Java EE morreu? EE4J e so um plugin? E...
 
Java @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle CloudJava @ Rio Meetup #1 - Java @ Oracle Cloud
Java @ Rio Meetup #1 - Java @ Oracle Cloud
 
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL  (2019.05.18) oracle-nosql pu...11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL  (2019.05.18) oracle-nosql pu...
11회 Oracle Developer Meetup 발표 자료: Oracle NoSQL (2019.05.18) oracle-nosql pu...
 
JSON support in Java EE 8
JSON support in Java EE 8JSON support in Java EE 8
JSON support in Java EE 8
 
Performance in Spark 2.0, PDX Spark Meetup 8/18/16
Performance in Spark 2.0, PDX Spark Meetup 8/18/16Performance in Spark 2.0, PDX Spark Meetup 8/18/16
Performance in Spark 2.0, PDX Spark Meetup 8/18/16
 
2018 Oracle Impact 발표자료: Oracle Enterprise AI
2018  Oracle Impact 발표자료: Oracle Enterprise AI2018  Oracle Impact 발표자료: Oracle Enterprise AI
2018 Oracle Impact 발표자료: Oracle Enterprise AI
 
Aneez Hasan_Resume
Aneez Hasan_ResumeAneez Hasan_Resume
Aneez Hasan_Resume
 
Jfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and ContainersJfokus 2017 Oracle Dev Cloud and Containers
Jfokus 2017 Oracle Dev Cloud and Containers
 
MySQL Devops Webinar
MySQL Devops WebinarMySQL Devops Webinar
MySQL Devops Webinar
 
Oracle databáze – Konsolidovaná Data Management Platforma
Oracle databáze – Konsolidovaná Data Management PlatformaOracle databáze – Konsolidovaná Data Management Platforma
Oracle databáze – Konsolidovaná Data Management Platforma
 
토드(Toad) 신제품 및 크로스 플랫폼 전략(1)
토드(Toad) 신제품 및 크로스 플랫폼 전략(1)토드(Toad) 신제품 및 크로스 플랫폼 전략(1)
토드(Toad) 신제품 및 크로스 플랫폼 전략(1)
 
The Future of Java and You
The Future of Java and YouThe Future of Java and You
The Future of Java and You
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
MySQL Innovation: from 5.7 to 8.0
MySQL Innovation:  from 5.7 to 8.0MySQL Innovation:  from 5.7 to 8.0
MySQL Innovation: from 5.7 to 8.0
 
MySQL Community Meetup in China : Innovation driven by the Community
MySQL Community Meetup in China : Innovation driven by the CommunityMySQL Community Meetup in China : Innovation driven by the Community
MySQL Community Meetup in China : Innovation driven by the Community
 
What's coming in Java EE 8
What's coming in Java EE 8What's coming in Java EE 8
What's coming in Java EE 8
 
Cisco Connect Vancouver 2017 - Embedding IR into the DNA of the business
Cisco Connect Vancouver 2017 - Embedding IR into the DNA of the businessCisco Connect Vancouver 2017 - Embedding IR into the DNA of the business
Cisco Connect Vancouver 2017 - Embedding IR into the DNA of the business
 
DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !
 

Similar a REST in an Async World

TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...tdc-globalcode
 
Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability MattersMark Swarbrick
 
MySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMiguel Araújo
 
TDC2018 | Trilha Java - The quest to the Language Graal: One VM to rule them...
TDC2018 | Trilha Java -  The quest to the Language Graal: One VM to rule them...TDC2018 | Trilha Java -  The quest to the Language Graal: One VM to rule them...
TDC2018 | Trilha Java - The quest to the Language Graal: One VM to rule them...tdc-globalcode
 
CDI 2.0 (JSR 365) - Java Day Tokyo 2017 (English)
CDI 2.0 (JSR 365) - Java Day Tokyo 2017 (English)CDI 2.0 (JSR 365) - Java Day Tokyo 2017 (English)
CDI 2.0 (JSR 365) - Java Day Tokyo 2017 (English)Logico
 
Migrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, OracleMigrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, OracleOpenStack
 
Building a Serverless State Service for the Cloud
Building a Serverless State Service for the CloudBuilding a Serverless State Service for the Cloud
Building a Serverless State Service for the CloudEdward Burns
 
MOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database DevelopmentMOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database DevelopmentMonica Li
 
Data Mobility for the Oracle Database by JWilliams and RGonzalez
Data Mobility for the Oracle Database by JWilliams and RGonzalezData Mobility for the Oracle Database by JWilliams and RGonzalez
Data Mobility for the Oracle Database by JWilliams and RGonzalezMarkus Michalewicz
 
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...Trivadis
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitCodeOps Technologies LLP
 
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RACNZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RACSandesh Rao
 
Building Modern Applications Using APIs, Microservices and Chatbots
Building Modern Applications Using APIs, Microservices and ChatbotsBuilding Modern Applications Using APIs, Microservices and Chatbots
Building Modern Applications Using APIs, Microservices and ChatbotsOracle Developers
 
Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)Logico
 
Time-series Analytics using Matrix Profile and SAX
Time-series Analytics using Matrix Profile and SAXTime-series Analytics using Matrix Profile and SAX
Time-series Analytics using Matrix Profile and SAXSUPREET OBEROI
 
Modern Application Development for the Enterprise
Modern Application Development for the EnterpriseModern Application Development for the Enterprise
Modern Application Development for the EnterpriseJuarez Junior
 
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...Sandesh Rao
 
Polyglot on the JVM with Graal (Japanese)
Polyglot on the JVM with Graal (Japanese)Polyglot on the JVM with Graal (Japanese)
Polyglot on the JVM with Graal (Japanese)Logico
 
Harnessing the Power of Optimizer Hints
Harnessing the Power of Optimizer HintsHarnessing the Power of Optimizer Hints
Harnessing the Power of Optimizer HintsMaria Colgan
 

Similar a REST in an Async World (20)

TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
 
Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability Matters
 
MySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQL
 
TDC2018 | Trilha Java - The quest to the Language Graal: One VM to rule them...
TDC2018 | Trilha Java -  The quest to the Language Graal: One VM to rule them...TDC2018 | Trilha Java -  The quest to the Language Graal: One VM to rule them...
TDC2018 | Trilha Java - The quest to the Language Graal: One VM to rule them...
 
CDI 2.0 (JSR 365) - Java Day Tokyo 2017 (English)
CDI 2.0 (JSR 365) - Java Day Tokyo 2017 (English)CDI 2.0 (JSR 365) - Java Day Tokyo 2017 (English)
CDI 2.0 (JSR 365) - Java Day Tokyo 2017 (English)
 
Migrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, OracleMigrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, Oracle
 
Building a Serverless State Service for the Cloud
Building a Serverless State Service for the CloudBuilding a Serverless State Service for the Cloud
Building a Serverless State Service for the Cloud
 
MOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database DevelopmentMOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database Development
 
Data Mobility for the Oracle Database by JWilliams and RGonzalez
Data Mobility for the Oracle Database by JWilliams and RGonzalezData Mobility for the Oracle Database by JWilliams and RGonzalez
Data Mobility for the Oracle Database by JWilliams and RGonzalez
 
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
 
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RACNZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
 
Building Modern Applications Using APIs, Microservices and Chatbots
Building Modern Applications Using APIs, Microservices and ChatbotsBuilding Modern Applications Using APIs, Microservices and Chatbots
Building Modern Applications Using APIs, Microservices and Chatbots
 
Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)Polyglot on the JVM with Graal (English)
Polyglot on the JVM with Graal (English)
 
Time-series Analytics using Matrix Profile and SAX
Time-series Analytics using Matrix Profile and SAXTime-series Analytics using Matrix Profile and SAX
Time-series Analytics using Matrix Profile and SAX
 
Modern Application Development for the Enterprise
Modern Application Development for the EnterpriseModern Application Development for the Enterprise
Modern Application Development for the Enterprise
 
JCP 20 Year Anniversary
JCP 20 Year AnniversaryJCP 20 Year Anniversary
JCP 20 Year Anniversary
 
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
 
Polyglot on the JVM with Graal (Japanese)
Polyglot on the JVM with Graal (Japanese)Polyglot on the JVM with Graal (Japanese)
Polyglot on the JVM with Graal (Japanese)
 
Harnessing the Power of Optimizer Hints
Harnessing the Power of Optimizer HintsHarnessing the Power of Optimizer Hints
Harnessing the Power of Optimizer Hints
 

Más de David Delabassee

JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best PracticesDavid Delabassee
 
Serverless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsServerless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsDavid Delabassee
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsDavid Delabassee
 
Randstad Docker meetup - Serverless
Randstad Docker meetup - ServerlessRandstad Docker meetup - Serverless
Randstad Docker meetup - ServerlessDavid Delabassee
 
Java Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed BanffJava Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed BanffDavid Delabassee
 
Java EE 8 - Work in progress
Java EE 8 - Work in progressJava EE 8 - Work in progress
Java EE 8 - Work in progressDavid Delabassee
 
HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)David Delabassee
 
EJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyDavid Delabassee
 
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontJava EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontDavid Delabassee
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0David Delabassee
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot David Delabassee
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshotJava EE 8 - An instant snapshot
Java EE 8 - An instant snapshotDavid Delabassee
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouDavid Delabassee
 

Más de David Delabassee (20)

JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best Practices
 
JVMs in Containers
JVMs in ContainersJVMs in Containers
JVMs in Containers
 
Serverless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsServerless Java Challenges & Triumphs
Serverless Java Challenges & Triumphs
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
Randstad Docker meetup - Serverless
Randstad Docker meetup - ServerlessRandstad Docker meetup - Serverless
Randstad Docker meetup - Serverless
 
Java Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed BanffJava Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed Banff
 
Serverless Kotlin
Serverless KotlinServerless Kotlin
Serverless Kotlin
 
HTTP/2 comes to Java
HTTP/2 comes to JavaHTTP/2 comes to Java
HTTP/2 comes to Java
 
Java EE 8 - Work in progress
Java EE 8 - Work in progressJava EE 8 - Work in progress
Java EE 8 - Work in progress
 
HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)
 
EJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and Strategy
 
HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
 
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontJava EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web front
 
HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
 
MVC 1.0 / JSR 371
MVC 1.0 / JSR 371MVC 1.0 / JSR 371
MVC 1.0 / JSR 371
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
 
Avatar 2.0
Avatar 2.0Avatar 2.0
Avatar 2.0
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshotJava EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
 

Último

eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 

Último (20)

eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 

REST in an Async World