SlideShare a Scribd company logo
Web protocols for java developers
Web protocols for java developers
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Web	protocols	for	Java	
Developers	
Pavel	Bucek	
	
Oracle	
September,	2016	
CON4156
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Safe	Harbor	Statement	
The	preceding	is	intended	to	outline	our	general	product	direcLon.	It	is	intended	for	
informaLon	purposes	only,	and	may	not	be	incorporated	into	any	contract.	It	is	not	a	
commitment	to	deliver	any	material,	code,	or	funcLonality,	and	should	not	be	relied	upon	
in	making	purchasing	decisions.	The	development,	release,	and	Lming	of	any	features	or	
funcLonality	described	for	Oracle’s	products	remains	at	the	sole	discreLon	of	Oracle.	
4
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Program	Agenda	
	
EvoluLon	–	HTTP	and	rest	REST	
Polling,	Long	Polling	
SSE,	WebSocket	
HTTP/2	
Demo,	Q&A	
1	
2	
3	
4	
5	
5
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	HTTP	
	
•  HTTP	V0.9	(1991)	
– First	version	proposed	by	Tim	Berners-Lee	from	CERN	
– Only	GET	method,	server	returned	HTML	
– W3C	standard	
– Fun	to	read,	whole	standard	is	a	single	page	
hbps://www.w3.org/Protocols/HTTP/AsImplemented.html	
•  Dave	Raggeb	–	leader	of	the	HTTP	Working	Group	–	expanding	protocol	
with	more	operaLons,	meta-informaLon,	security,	..		
•  HTTP	V1.0	introduced	in	1995	–	RFC	1945	
Hypertext	Transfer	Protocol	
6
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	HTTP	
	
•  HTTP	Working	Group	published	HTTP/1.1	as	“pre-standard”	
•  Rapid	adopLon	by	servers	and	browsers	
– (Arena,	Netscape,	Mosaic,	Lynx,	Internet	Explorer)	
•  HTTP/1.1	finalized	in	1997	(RFC	2068),	improved	in	1999	(RFC	2616)	
•  2007	-	HTTPbis	Working	group	formed	to	revise	and	clarify	the	spec	
– RFC	7230	–	Message	Syntax	and	RouLng,	7231	–	SemanLcs	and	Content,	7232	–	
CondiLonal	Requests,	7233	–	Range	Requests,	7234	-	Caching,	7235	–	AuthenLcaLon	
•  HTTP/2	–	May	2015	–	RFC	7540	
Hypertext	Transfer	Protocol	
7
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Hypertext	Transfer	Protocol	
	
8	
REQUEST	
	
GET	/en/	HTTP/1.1	
Host:	www.java.com	
User-Agent:	curl/7.43.0	
Accept:	*/*	
	
<CR><LF><CR><LF>		
RESPONSE	
	
HTTP/1.1	200	OK	
Server:	Oracle-ApplicaLon-Server-11g	
Last-Modified:	Thu,	31	Mar	2016	22:48:16	GMT	
device_type:	Any	
host_service:	FutureTenseContentServer:11.1.1.8.0	
X-Powered-By:	Servlet/2.5	JSP/2.1	
Content-Type:	text/html;	charset=UTF-8	
Content-Language:	en	
X-Frame-OpLons:	SAMEORIGIN	
Content-Length:	7516	
Date:	Mon,	05	Sep	2016	20:22:35	GMT	
ConnecLon:	keep-alive	
Vary:	User-Agent	
	
...	Content	<CR><LF><CR><LF>
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	REST	
	
•  Basic	sovware	architecture	/	scheme	
•  Exposes	Resources	(URIs),	which	handle	METHODs	
– GET/PUT/POST/DELETE/HEAD/OPTIONS/TRACE/PATCH/…	
•  MediaType	(Accept/Content-Type)	
– text/plain,	text/html,	applicaLon/json,	…	
•  Caching	(GET,	HEAD),	Hyperlinking,	…	
Representa@onal	State	Transfer	
9
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	REST	
	
Representa@onal	State	Transfer	
10	
Client	 Server	
GET	/hello	HTTP/1.1	
Header:	value	
…	
HTTP/1.1	200	OK	
Header:	value	
…	
<enLty>
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	API	for	RESTful	Web	Services	(JAX-RS)	
	
•  JSR	311	–	JAX-RS	1.1	–	Java	EE	6	
– Server	side	REST	Resources	
– @Path,	@GET,	@POST,	@Produces,	@Consumes,	@QueryParam,	@Context,	…	
•  JSR	399	–	JAX-RS	2.0	–	Java	EE	7	
– Client	API,	Filters	and	Interceptors,	Async	processing,	integraLon	with	other	EE	specs	
•  JAX-RS	2.1	–	Java	EE	8	
– Non-blocking	IO,	ReacLve	Client	API,	Server	Sent	Events,	…
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	REST	
	
Java	API	–	JAX-RS	
12
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	Polling	
	
13	
Client	 Server	
GET	/hello	HTTP/1.1	
Header:	value	
…	
HTTP/1.1	200	OK	
Header:	value	
…	
<enLty>
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	Long-Polling	
	
14	
Client	 Server	
GET	/hello	HTTP/1.1	
Header:	value	
…	
HTTP/1.1	200	OK	
Header:	value	
…	
<enLty	-	CHUNK>	
<enLty	-	CHUNK>
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	SSE	
	
•  Channel	for	sending	events	from	the	server	to	the	client	
•  Very	similar	to	long	polling	
•  Accept:	text/event-stream	
•  Semi-permanent	connecLon	
•  Limited	browser	support	(no	IE,	no	Android)	
•  Java	EE	8+	J	
– Included	in	JAX-RS	2.1	
Server	Sent	Events	
15
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
HTTP/1.1	200	OK	
Content-Type:	text/event-stream	
Date:	Tue,	06	Sep	2016	15:39:30	GMT	
Transfer-Encoding:	chunked	
		
event:	custom-message	
data:	JAX-RS	2.1	
	
event:	custom-message	
data:	test	
	
event:	custom-message	
data:	JavaOne2016	
	
Server	Sent	Events	
	
16	
Client	 Server	
GET	/sse	
Accept:	text/event-stream
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
HTTP/1.1	200	OK	
Content-Type:	text/event-stream	
Date:	Tue,	06	Sep	2016	15:39:30	GMT	
Transfer-Encoding:	chunked	
		
event:	custom-message	
data:	JAX-RS	2.1	
	
event:	custom-message	
data:	test	
	
event:	custom-message	
data:	JavaOne2016	
	
Server	Sent	Events	
	
17	
Client	 Server	
GET	/sse	
Accept:	text/event-stream
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Server	Sent	Events	
	
18	
Use	ExecutorService	instead	
P
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Server	Sent	Events	
	
19	 P
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Server	Sent	Events	
	
20	 P
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	WebSocket	
	
•  RFC	6455	(December	2011)	
•  Bi-direcLonal	communicaLon	
•  Uses	HTTP/1.1	for	iniLal	handshake	
– Completely	different	protocol	averwards	
•  “Server”	and	“client”	endpoints	are	equal	aver	handshake	
•  Text	or	binary	payload	
•  Supported	in	all	modern	browsers	
21
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	WebSocket	
	
WebSocket	Frame	
22
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	usecases	
	
•  RFC	7118	–	SIP	over	WebSocket	
•  RFC	7355	–	SIP	&	CLF	(Common	Log	Format)	over	WebSocket	
•  RFC	7395	–	XMPP	over	WebSocket	
•  Dravs	
– MSRP	(Message	Session	Relay	Protocol)	over	WebSocket	
– SDP	(Session	DescripLon	Protocol)	over	WebSocket	
– Remote	Framebuffer	Protocol	over	WebSocket	
– <anything>	over	WebSocket	
Subprotocols	
23
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	API	for	WebSocket	
	
•  JSR	356	–	Part	of	Java	EE	7	
– 1.0	(May	2013)	
– 1.1	(August	2014)	
•  Annotated	and	programmaLc	way	how	to	deploy	and	access	WebSocket	
endpoints	
•  Event-driven	model	-	@OnOpen,	@OnMessage,	@OnError,	@OnClose	
•  Encoders/Decoders,	Path/Query	parameter	handling,	Handshake	headers	
interceptors,	CDI	integraLon,	…
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	API	for	WebSocket	–	Annotated	Endpoint
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	API	for	WebSocket	–	ProgrammaLc	Endpoint
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	vs	REST	
	
•  Might	seem	to	be	similar	and	some	people	even	think	about	WebSocket	as	
about	another	“RevoluLon”	–	like	SOAP	-->	REST	
•  In	reality,	these	are	two	different	concepts	which	COMPLEMENT	each	
other.	
•  REST	makes	more	sense	for	standard	web	pages,	forms,	…	
•  WebSocket	provides	bi-direcLonal	channel,	suitable	for	exchanging	“short”	
messages	with	the	browser.	
– (the	scope	is	not	limited,	you	can	re-implement	all	your	communicaLon	with	server,	
but	there	is	no	point	in	doing	that..)	
27
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	HTTP/2	
	
•  Same	semanLcs	as	HTTP/1.1	
•  Binary	protocol	
•  MulLplexed	communicaLon	
– Single	TCP	connecLon	to	single	origin,	shared	for	consequent/parallel	requests	
•  Compressed	headers	
– HTTP/2	introduces	HPACK	(compression	algorithm)	
•  Server	Push	
– Server	can	push	(cacheable)	content	to	the	client	before	client	asks	
HTTP/2	Key	Features	
28
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
EvoluLon	–	HTTP/2	
	
29	
Client	 Server	
HTTP/2	connecLon	
(single	TCP	connecLon)	
HTTP/2	streams	
:method	GET	
:path	/resource1	
:method	GET	
:path	/resourceX
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	vs	HTTP/2	
	
•  Pushed	resources	are	cached	on	client	side	
•  When	client	decides	it	needs	something	(image,	..),	it	looks	into	the	cache	
– Doesn’t	need	to	be	image,	but	all	cool	demos	are	using	that	(remember	SPDY)	
•  Server	push	has	its	own	issues	
– What	if	client	does	not	need	pushed	resource?	(there	might	be	other	caches,	…)	
– Client	need	to	explicitly	state	that	it	accepts	Server	push	
•  Push	is	not	an	interac@ve	message	exchange	
WebSocket	vs	Server	push	
30
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
SSE	and	HTTP/2	
	
31	
Client	 Server	
HTTP/2	connecLon	
(single	TCP	connecLon)	
HTTP/2	streams	
:method	GET	
:path	/sse	
:method	POST	
:path	/events	
:status	200	OK	
Content-type:	text/event-stream
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	HTTP/2	
	
	
Standards..	
32	
•  Currently,	WebSocket	is	not	defined	in	HTTP/2	world	
•  WebSocket	uses	UPGRADE	header,	which	gives	complete	control	over	TCP	
connecLon	
•  HTTP/2	Streams	could	
			support	WS	mulLplex
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	 33	
Usecases	
	 HTTP	 SSE	
WebSockets	
Chat	
Sta@c	pages	
Forms	
Games	
Remote	control	
Monitoring	
Messaging	/	No@fica@on	
X	over	WS	
Tracking	progress	
Images,	…	
REST
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Demo	
34
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Java	9	
	
•  Replace	“good”	old	HbpURLConnecLon	
•  JDK	9	–	JEP	110:	HTTP/2	Client:	hbp://openjdk.java.net/jeps/110	
– Define	a	new	HTTP	client	API	that	implements	HTTP/2	and	WebSocket,	…	
HTTP/REST	&	WebSocket	client	
35
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Next	Steps	
•  Take	the	survey	
– hbp://glassfish.org/survey	
•  Send	technical	comments	to	
– users@javaee-spec.java.net	
•  Join	the	JCP	–	come	to	Hackergarden	in	Java	Hub	
– hbps://jcp.org/en/parLcipaLon/membership_drive		
•  Join	or	track	the	JSRs	as	they	progress	
– hbps://java.net/projects/javaee-spec/pages/SpecificaLons	
•  Adopt-a-JSR	
– hbps://community.oracle.com/community/java/jcp/adopt-a-jsr	
	
Give	us	your	feedback	
36
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Where	to	Learn	More	at	JavaOne	
37	
Session	Number	 Session	Title	 Day	/	Time		
CON1558		 What's	New	in	the	Java	API	for	JSON	Binding	 Monday	5:30	p.m	
BOF7984		 Java	EE	for	the	Cloud	 Monday	7:00	p.m	
CON4022	 CDI	2.0	Is	Coming	 Tuesday	11:00	a.m	
CON7983		 JAX-RS	2.1	for	Java	EE	8		 Tuesday	12:30	p.m	
CON7980		 Servlet	4.0:	Status	Update	and	HTTP/2		 Tuesday	4:00	p.m	
CON7978		 Security	for	Java	EE	8	and	the	Cloud	 Tuesday	5:30	p.m	
CON7979		 ConfiguraLon	for	Java	EE	8	and	the	Cloud		 Wednesday	11:30	a.m	
CON7977	 Java	EE	Next	–	HTTP/2	and	REST	 Wednesday	1:00	p.m	
CON6077	 The	Illusion	of	Statelessness	 Wednesday	4:30	p.m	
CON	7981	 JSF	2.3	 Thursday	11:30	a.m
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Contacts/QA	
	
•  Pavel	Bucek	(pavel.bucek@oracle.com)	
•  Jersey	/	JAX-RS	RI	:	hbp://jersey.java.net	
– users@jersey.java.net	
•  Tyrus	/	WebSocket	RI	:	hbp://tyrus.java.net	
– users@tyrus.java.net	
	
Feel	free	to	ask	any	quesLons	now	or	contact	me	later.	
38
Web protocols for java developers
Web protocols for java developers
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	Clustering	
	
•  Different	to	“classic”	cluster	
– We’d	like	to	talk	to	other	sessions	(clients)	directly	
•  Clustered	environment	present	different	challenges	
– “Finding	a	WebSocket	Session”	might	not	be	as	trivial	as	it	seem	
•  Broadcast	(mass-noLficaLon)	is	common	usecase	
•  Clustering	can	help	
– BroadcasLng	to	“all	sessions”	can	be	faster	in	clustered	environment	
41
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	Clustering	
	
42	
JMS,	
JCache,	
Coherence,	
…	
Load	Balancer
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	Clustering	
	
43	
JMS,	
JCache,	
Coherence,	
…	
Load	Balancer
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	Clustering	
	
44	
JMS,	
JCache,	
Coherence,	
…	
Load	Balancer
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	Clustering	
	
45	
JMS,	
JCache,	
Coherence,	
…	
Load	Balancer
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	Clustering	
	
•  Different	requirements	
•  Load	balancers	might	need	to	manage	more	open	connecLons	
•  Cannot	re-balance	when	session	is	already	created	
– Node	is	added	–	ok,	but	I	cannot	easily	decrease	load	on	other	nodes,	I	can	use	the	
new	node	only	for	new	connecLons	
•  Node	going	down	is	not	transparent	to	client	
– Robust	clients	can	hide	this,	but	for	now,	this	requires	custom	soluLon	
– WLS	12.2.1	offers	a	soluLon	for	this..	
46
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	Clustering	
	
47	
JMS,	
JCache,	
Coherence,	
…	
Load	Balancer
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	Clustering	
	
48	
JMS,	
JCache,	
Coherence,	
…	
Load	Balancer
Copyright	©	2016,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
WebSocket	and	Clustering	
	
•  Might	require	more	applicaLon	code	
– Proper	handling	on	client	side	
– Even	more	code	when	you	want	to	have	something	like	auto	reconnect	+	“session	
recovery”	
•  Infrastructure	requirements	
– Similar	to	SSL	(persistent	connecLon,	…)	
•  Much	more	effecLve	when	compared	to	the	same	app	implemented	using	
long-polling	
49

More Related Content

What's hot (20)

PDF
HTTP/2 Comes to Java
David Delabassee
 
PPTX
HTTP/2 in the Java Platform -- Java Champions call February 2016
Ed Burns
 
PPTX
JDKIO: Java EE 8 what Servlet 4 and HTTP2 mean to you
Alex Theedom
 
PDF
HTTP/2 Comes to Java
David Delabassee
 
PDF
How to Thrive on REST/WebSocket-Based Microservices
Pavel Bucek
 
PPTX
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
Edward Burns
 
PPTX
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
jeckels
 
PDF
WebSocket in Enterprise Applications 2015
Pavel Bucek
 
PDF
MVC 1.0 / JSR 371
David Delabassee
 
PDF
Java EE 7 for WebLogic 12c Developers
Bruno Borges
 
PDF
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Heather VanCura
 
PDF
WebSockets - Realtime em Mundo Conectado
Bruno Borges
 
PDF
Oracle APEX 기초 워크샵 - 실습 가이드 문서: Part 2 (2/2)
Taewan Kim
 
PPTX
Servlet 4.0 JavaOne 2017
Ed Burns
 
PDF
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PDF
SmartDB Office Hours: Connection Pool Sizing Concepts
Koppelaars
 
PPTX
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Cisco DevNet
 
PDF
Oracle Cloud: Anything as a Service
Bruno Borges
 
PPTX
UCS Management APIs A Technical Deep Dive
Cisco DevNet
 
PDF
As Novidades do Java EE 8
Paulo Alberto Simoes ∴
 
HTTP/2 Comes to Java
David Delabassee
 
HTTP/2 in the Java Platform -- Java Champions call February 2016
Ed Burns
 
JDKIO: Java EE 8 what Servlet 4 and HTTP2 mean to you
Alex Theedom
 
HTTP/2 Comes to Java
David Delabassee
 
How to Thrive on REST/WebSocket-Based Microservices
Pavel Bucek
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
Edward Burns
 
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
jeckels
 
WebSocket in Enterprise Applications 2015
Pavel Bucek
 
MVC 1.0 / JSR 371
David Delabassee
 
Java EE 7 for WebLogic 12c Developers
Bruno Borges
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Heather VanCura
 
WebSockets - Realtime em Mundo Conectado
Bruno Borges
 
Oracle APEX 기초 워크샵 - 실습 가이드 문서: Part 2 (2/2)
Taewan Kim
 
Servlet 4.0 JavaOne 2017
Ed Burns
 
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
SmartDB Office Hours: Connection Pool Sizing Concepts
Koppelaars
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Cisco DevNet
 
Oracle Cloud: Anything as a Service
Bruno Borges
 
UCS Management APIs A Technical Deep Dive
Cisco DevNet
 
As Novidades do Java EE 8
Paulo Alberto Simoes ∴
 

Viewers also liked (15)

PDF
eCommerce for SOLAR Company (fashion)
Divante
 
PDF
An introduction to software architectures
Patrizio Pelliccione
 
PDF
Understanding the Web through HTTP
Olivia Brundage
 
PPTX
A first Draft to Java Configuration
Anatole Tresch
 
PPTX
Configuration for Java EE: Config JSR and Tamaya
Dmitry Kornilov
 
PPTX
Java EE 8 Update
Ryan Cuprak
 
PPTX
Java EE8 - by Kito Mann
Kile Niklawski
 
PPTX
Java EE for the Cloud
Dmitry Kornilov
 
PPTX
Adopt-a-JSR session (JSON-B/P)
Dmitry Kornilov
 
PPT
Intro to web services
Neil Ghosh
 
PDF
Making Java REST with JAX-RS 2.0
Dmytro Chyzhykov
 
PPT
Reactive Java EE - Let Me Count the Ways!
Reza Rahman
 
PDF
Spring Framework - MVC
Dzmitry Naskou
 
POTX
Adopt-a-jsr Mar 1 2017 JAX-RS update
Pavel Bucek
 
PDF
Internet of Things - The Tip of an Iceberg
Dr. Mazlan Abbas
 
eCommerce for SOLAR Company (fashion)
Divante
 
An introduction to software architectures
Patrizio Pelliccione
 
Understanding the Web through HTTP
Olivia Brundage
 
A first Draft to Java Configuration
Anatole Tresch
 
Configuration for Java EE: Config JSR and Tamaya
Dmitry Kornilov
 
Java EE 8 Update
Ryan Cuprak
 
Java EE8 - by Kito Mann
Kile Niklawski
 
Java EE for the Cloud
Dmitry Kornilov
 
Adopt-a-JSR session (JSON-B/P)
Dmitry Kornilov
 
Intro to web services
Neil Ghosh
 
Making Java REST with JAX-RS 2.0
Dmytro Chyzhykov
 
Reactive Java EE - Let Me Count the Ways!
Reza Rahman
 
Spring Framework - MVC
Dzmitry Naskou
 
Adopt-a-jsr Mar 1 2017 JAX-RS update
Pavel Bucek
 
Internet of Things - The Tip of an Iceberg
Dr. Mazlan Abbas
 
Ad

Similar to Web protocols for java developers (20)

PDF
Making the Web Conversational
Vipul Mathur
 
PPTX
Evolution of HTTP - Miran Al Mehrab
Cefalo
 
PPTX
HTTP
vaibhavrai1993
 
PDF
21 HTTP Protocol #burningkeyboards
Denis Ristic
 
PPTX
Compute rNetwork.pptx
ShehryarFreelancer
 
PPT
Juglouvain http revisited
marctritschler
 
KEY
What's up with HTTP?
Mark Nottingham
 
PPT
Juglouvain http revisited
Marc Tritschler
 
PDF
HTTP In-depth
Vinayak Hegde
 
PPTX
Httpbasics 1207412539273264-9-converted
computerorganization
 
PPT
KMUTNB - Internet Programming 2/7
phuphax
 
PPTX
Lecture 6- http
Saman M. Almufti
 
PPTX
Hypertext Transfer Protocol
Rajan Pandey
 
PPTX
Http_Protocol.pptx
Abshar Fatima
 
PPT
HTTP.ppt
NapoMosola
 
PPT
Hypertext Transfer Protocol Hypertext Transfer Protocol
sambreaker1
 
PPT
HTTP_2.ppt
Ankit Mune
 
PPT
HTTP.ppt
Jagdeep Singh
 
PPT
HTTP (syper text transfer protocol)(6).ppt
IshaanKumar43
 
PDF
HTTP demystified for web developers
Peter Hilton
 
Making the Web Conversational
Vipul Mathur
 
Evolution of HTTP - Miran Al Mehrab
Cefalo
 
21 HTTP Protocol #burningkeyboards
Denis Ristic
 
Compute rNetwork.pptx
ShehryarFreelancer
 
Juglouvain http revisited
marctritschler
 
What's up with HTTP?
Mark Nottingham
 
Juglouvain http revisited
Marc Tritschler
 
HTTP In-depth
Vinayak Hegde
 
Httpbasics 1207412539273264-9-converted
computerorganization
 
KMUTNB - Internet Programming 2/7
phuphax
 
Lecture 6- http
Saman M. Almufti
 
Hypertext Transfer Protocol
Rajan Pandey
 
Http_Protocol.pptx
Abshar Fatima
 
HTTP.ppt
NapoMosola
 
Hypertext Transfer Protocol Hypertext Transfer Protocol
sambreaker1
 
HTTP_2.ppt
Ankit Mune
 
HTTP.ppt
Jagdeep Singh
 
HTTP (syper text transfer protocol)(6).ppt
IshaanKumar43
 
HTTP demystified for web developers
Peter Hilton
 
Ad

Recently uploaded (20)

PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Digital Circuits, important subject in CS
contactparinay1
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 

Web protocols for java developers