SlideShare une entreprise Scribd logo
1  sur  57
Spring Boot & WebSocket
Present by MingIn Wu
2015/7/15 1
Outline
• Spring Boot
– Introduction
– Spring Boot Quick Start
– Spring Boot External Tomcat plugin
– Spring Boot JSP plugin
– Spring Boot MySQL & JDBC plugin
– Spring Boot Builder Profile
– Spring Boot Log4j Plugin
– Spring Boot Security
• Spring Boot WebSocket
– Introduction
– WebSocket
• Server Side (Spring )
• Client Side (javascript & java)
– WebSocket + SockJS
• Server Side (Spring)
• Client Side (SockJS)
– STOMP + WebSocket + SockJS
• Server Side (Spring)
• Client Side (STOMP)
• Use Case Sequence Diagrams
2015/7/15 2
Spring Boot Introduction
• Primary Goal :
– Provide a faster and accessible getting started experience for all Spring development.
– Be opinionated out of the box, but get out of the way quickly as requirements start to
diverge from the defaults.
– Provide a range of non-functional features that are common to large classes of projects.
(e.g. embedded servers, security, scalability ).
– Absolutely no code generation and no requirement for XML configuration.
• System Requirements:
– Java 7+
– Tomcat 7+ or glassfish 4+
– Spring Framework 4.1.5+
2015/7/15 3
Different between Spring Boot and Spring 3
• No requirement for XML configuration:
• Spring Boot • Spring 3.x
2015/7/15 4
Spring Boot Quick Start
2015/7/15 5
• 1. Create Spring Starter Project guide :
Spring Boot Quick Start (1/3)
2015/7/15 6
• 2. pom.xml setting :
– 2-1. Packaging executable jar and war files :
– 2-2. Use Spring-boot-starter-parent to manage dependencies setting.
Spring Boot Quick Start (2/3)
2015/7/15 7
Spring Boot Quick Start (3/3)
• 3. Project Configuration :
– Spring Boot applications need very little Spring configuration.
– 1. @SpringBootApplication
– 2. @ComponentScan
– 3. extends SpringBootServletInitializer
2015/7/15 8
Spring Boot
External Tomcat plugin
2015/7/15 9
Spring Boot External Tomcat plugin
• pom.xml setting :
– To build a war file that is both executable and deployable into an external container you
need to mark the embedded container dependencies as “provided”.
2015/7/15 10
Spring Boot JSP plugin
2015/7/15 11
Spring Boot JSP plugin
• pom.xml setting :
• JSP files path :
• Set property in the ‘application.properties’
2015/7/15 12
Spring Boot
mySQL & JDBC plugin
2015/7/15 13
Spring Boot mySQL & JDBC plugin (1/4)
• 1. pom.xml setting :
• 2. Set property into the ‘application.properties’
2015/7/15 14
Spring Boot mySQL & JDBC plugin (2/4)
• 3. Create class ProjectDataSource to replace ‘dataSource-context.xml ‘:
– 3-1. Set two pair properties to the data source
2015/7/15 15
Spring Boot mySQL & JDBC plugin (3/4)
• 3. Create class ProjectDataSource to replace ‘dataSource-context.xml’ :
– 3-2. Create two bean classes ‘amway_dataSource’ & ‘sso_dataSource’.
– 3-3. Create "sqlLoader" class which is load SQL commands from ‘sql.properties’.
2015/7/15 16
Spring Boot mySQL & JDBC plugin (4/4)
• 4. Implement interface AppDao and extends by JdbcDaoSupport.
2015/7/15 17
Spring Boot Builder Profile
2015/7/15 18
Spring Boot Builder Profile
• pom.xml setting :
– It's the same configuration as other projects (like xBoard .... etc).
2015/7/15 19
Spring Boot Log4j Plugin
2015/7/15 20
Spring Boot Log4j Plugin (1/2)
• pom.xml setting :
2015/7/15 21
Spring Boot Log4j Plugin (2/2)
• comparing log4j.properties with log4j.xml
• log4j.properties • log4j.xml
2015/7/15 22
Spring Boot Security
2015/7/15 23
Spring Boot Security (1/5)
• pom.xml setting :
• System Login form :
2015/7/15 24
Spring Boot Security (2/5)
• Security Configuration :
– 1. SecurityConfiguration config
2015/7/15 25
Spring Boot Security (3/5)
• Security Configuration :
– 2. Comparing the HttpSecurity setting:
• SecurityConfiguration class • security-context.xml
2015/7/15 26
Spring Boot Security (4/5)
• Security Configuration :
– 3-1. Comparing the authentication-manager & jdbc-user-service setting:
• security-context.xml
– Step1. Setting up JdbcUserDetailsManager.
– Step2. Setting up Md5PasswordEncoder & ReflectionSaltSource.
– Step3. Md5PasswordEncoder & ReflectionSaltSource put in the DaoAuthenticationProvider.
– Step4. DaoAuthenticationProvider put in the AuthenticationManagerBuilder.
Step2
Step1
Step3&4
2015/7/15 27
Spring Boot Security (5/5)
• Security Configuration :
– 3-2. Comparing the authentication-manager & jdbc-user-service setting:
• SecurityConfiguration class
Step1
Step2
Step3
Step4
2015/7/15 28
Spring Boot WebSocket
2015/7/15 29
Spring Boot WebSocket Introduction (1/3)
• Polling vs WebSocket :
– 1. Comparison of the unnecessary network throughput overhead between the polling
and the WebSocket applications.
2015/7/15 30
Spring Boot WebSocket Introduction (2/3)
• Polling vs WebSocket :
– 2. Comparison between the polling and WebSocket applications.
2015/7/15 31
Spring Boot WebSocket Introduction (3/3)
• WebSocket Protocol :
– WebSocket is an extension to HTTP and enables streaming of data.
2015/7/15 32
Spring Boot WebSocket Example (1/5)
• Server Side (Spring) :
– 1. pom.xml setting :
– 2. Configuration (simple) :
2015/7/15 33
Spring Boot WebSocket Example (2/5)
• Server Side (Spring) :
– 4. GreetingHandler :
• extends TextWebSocketHandler class.
• Greeting Handler class can mix with @Controller and @RequestMapping.
2015/7/15 34
Spring Boot WebSocket Example (3/5)
• Client Side (javascript) :
– 1. connect()
2015/7/15 35
Spring Boot WebSocket Example (4/5)
• Client Side (javascript) :
– 2. sendMessage()
– 3. disconnect()
2015/7/15 36
Spring Boot WebSocket Example (5/5)
• Client Side (java) :
– 1. Create ChatClientEndpoint class
– 2. call
2015/7/15 37
Spring Boot WebSocket & SockJS
2015/7/15 38
Spring Boot WebSocket & SockJS Example (1/6)
• Spring Server Side :
– 1. pom.xml setting :
– 2. Configuration (simple) :
2015/7/15 39
Spring Boot WebSocket & SockJS Example (2/6)
• Spring Server Side :
– 3-1. Configuration (websocket session handshake) :
• We can capture the http session for a websocket request.
• The reason was to determine the number of websocket sessions utilizing the same underlying
http session.
2015/7/15 40
Spring Boot WebSocket & SockJS Example (3/6)
• Spring Server Side :
– 3-2. HttpSession Handshake Interceptor :
• beforeHandshake()
• afterHandshake()
2015/7/15 41
Spring Boot WebSocket & SockJS Example (4/6)
• Spring Server Side :
– 4. GreetingHandler :
• extends TextWebSocketHandler class.
• Greeting Handler class can mix with @Controller and @RequestMapping.
2015/7/15 42
Spring Boot WebSocket & SockJS Example (5/6)
• SockJS client side :
– 1. SockJS – connect()
2015/7/15 43
Spring Boot WebSocket & SockJS Example (6/6)
• SockJS client side :
– 2. SockJS – sendMessage()
– 3. SockJS – disconnect()
2015/7/15 44
Spring Boot
WebSocket & STOMP
2015/7/15 45
Spring Boot WebSocket & STOMP Example (1/6)
• STOMP :
– STOMP is a simple text-oriented messaging protocol that was originally created for
scripting languages to connect to enterprise message brokers.
– STOMP is a frame based protocol with frames modeled on HTTP.
– STOMP uses different commands like connect, send, subscribe, disconnect etc to
communicate.
• Command : SEND format (client) Command : SUBSCRIBE format (client)
• Command : MESSAGE format (server) - broadcast messages to all subscribers.
2015/7/15 46
Command
Header
Body
Command
Header
Body
Command
Header
Body
Spring Boot WebSocket & STOMP Example (2/6)
• Spring Server Side :
– 1. Configuration (stomp) :
• extends AbstractWebSocketMessageBrokerConfigurer
• Configure message broker options.
• Configure STOMP over WebSocket end-points.
2015/7/15 47
Spring Boot WebSocket & STOMP Example (3/6)
• Spring Server Side :
– 1. Configuration (stomp) :
• GreetingController class can mix with @Controller and @RequestMapping.
• @MessageMapping
• @SendTo
2015/7/15 48
Spring Boot WebSocket & STOMP Example (4/6)
• STOMP client side :
– 1. STOMP + SockJS – connect()
• 1-1 Create a socket object by SockJS.
• 1-2 Set StompClient to control the socket.
• 1-3 Implement stomp client subscribe function.
2015/7/15 49
Spring Boot WebSocket & STOMP Example (5/6)
• STOMP client side :
– 2. STOMP + SockJS – sendMessage()
– 3. STOMP + SockJS – disconnect()
2015/7/15 50
Spring Boot WebSocket & STOMP Example (6/6)
• Spring - STOMP Architecture :
– AbstractWebSocketMessageBrokerConfigurer setting :
2015/7/15 51
Send request
/app/hello
Send response
/topic/greeting
Client subscribe
/topic/greeting
Client send message
Send request
/topic/greeting
Use Case Sequence Diagrams
2015/7/15 52
Case1. WebSocket + socJS
2015/7/15 53
– Build B2B WebSocket connection between client & server.
Case2. WebSocket + STOMP - 1
– Server Use @SendTo() send message to all of subscriber client.
2015/7/15 54
Case3. WebSocket & STOMP - 2
– Server Use @SendToUser() send message to for the specified subscriber client.
2015/7/15 55
Case4. WebSocket & STOMP - 3
– Remove enableSimpleBroker() & setApplicationDestinationPrefixes() setting within
WebSocketConfig.
2015/7/15 56
End
2015/7/15 57

Contenu connexe

Tendances

Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introductionRasheed Waraich
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Hitesh-Java
 
Basics of reflection in java
Basics of reflection in javaBasics of reflection in java
Basics of reflection in javakim.mens
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API07.pallav
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introductionBhagath Gopinath
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Edureka!
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework tola99
 
Nodejs functions & modules
Nodejs functions & modulesNodejs functions & modules
Nodejs functions & modulesmonikadeshmane
 
Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
 Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018 Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018Amazon Web Services Korea
 

Tendances (20)

Spring boot
Spring bootSpring boot
Spring boot
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
 
WebSockets with Spring 4
WebSockets with Spring 4WebSockets with Spring 4
WebSockets with Spring 4
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
 
Spring JMS
Spring JMSSpring JMS
Spring JMS
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Basics of reflection in java
Basics of reflection in javaBasics of reflection in java
Basics of reflection in java
 
Expressjs
ExpressjsExpressjs
Expressjs
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
C# web api
C# web apiC# web api
C# web api
 
Asp.net mvc basic introduction
Asp.net mvc basic introductionAsp.net mvc basic introduction
Asp.net mvc basic introduction
 
Spring Security 5
Spring Security 5Spring Security 5
Spring Security 5
 
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Nodejs functions & modules
Nodejs functions & modulesNodejs functions & modules
Nodejs functions & modules
 
Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
 Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018 Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
 

En vedette

Spring + WebSocket integration
Spring + WebSocket integrationSpring + WebSocket integration
Spring + WebSocket integrationOleksandr Semenov
 
SockJS Intro
SockJS IntroSockJS Intro
SockJS IntroNgoc Dao
 
Realtime web application with java
Realtime web application with javaRealtime web application with java
Realtime web application with javaJeongHun Byeon
 
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
Dynamic Apps with WebSockets and MQTT - IBM Impact 2014
Dynamic Apps with WebSockets and MQTT - IBM Impact 2014Dynamic Apps with WebSockets and MQTT - IBM Impact 2014
Dynamic Apps with WebSockets and MQTT - IBM Impact 2014Bryan Boyd
 
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...Chris Richardson
 
Big Data - Linked In_DEEPU
Big Data - Linked In_DEEPUBig Data - Linked In_DEEPU
Big Data - Linked In_DEEPUDeepu M
 
Creating a Java EE 7 Websocket Chat Application
Creating a Java EE 7 Websocket Chat ApplicationCreating a Java EE 7 Websocket Chat Application
Creating a Java EE 7 Websocket Chat ApplicationMicha Kops
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)jeongseokoh
 
Note - (EDK2) Acpi Tables Compile and Install
Note - (EDK2) Acpi Tables Compile and InstallNote - (EDK2) Acpi Tables Compile and Install
Note - (EDK2) Acpi Tables Compile and Installboyw165
 

En vedette (20)

Spring + WebSocket integration
Spring + WebSocket integrationSpring + WebSocket integration
Spring + WebSocket integration
 
Websockets and SockJS, Real time chatting
Websockets and SockJS, Real time chattingWebsockets and SockJS, Real time chatting
Websockets and SockJS, Real time chatting
 
SockJS Intro
SockJS IntroSockJS Intro
SockJS Intro
 
Realtime web application with java
Realtime web application with javaRealtime web application with java
Realtime web application with java
 
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
게임 고객 사례를 통해 살펴보는 AWS 활용 전략 :: 이경안 :: AWS Summit Seoul 2016
 
WebSockets and Java
WebSockets and JavaWebSockets and Java
WebSockets and Java
 
Dynamic Apps with WebSockets and MQTT - IBM Impact 2014
Dynamic Apps with WebSockets and MQTT - IBM Impact 2014Dynamic Apps with WebSockets and MQTT - IBM Impact 2014
Dynamic Apps with WebSockets and MQTT - IBM Impact 2014
 
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
 
Big Data - Linked In_DEEPU
Big Data - Linked In_DEEPUBig Data - Linked In_DEEPU
Big Data - Linked In_DEEPU
 
Creating a Java EE 7 Websocket Chat Application
Creating a Java EE 7 Websocket Chat ApplicationCreating a Java EE 7 Websocket Chat Application
Creating a Java EE 7 Websocket Chat Application
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)
 
Note - (EDK2) Acpi Tables Compile and Install
Note - (EDK2) Acpi Tables Compile and InstallNote - (EDK2) Acpi Tables Compile and Install
Note - (EDK2) Acpi Tables Compile and Install
 
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
 
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
 
Javantura v4 - DMN – supplement your BPMN - Željko Šmaguc
Javantura v4 - DMN – supplement your BPMN - Željko ŠmagucJavantura v4 - DMN – supplement your BPMN - Željko Šmaguc
Javantura v4 - DMN – supplement your BPMN - Željko Šmaguc
 
Javantura v4 - JVM++ The GraalVM - Martin Toshev
Javantura v4 - JVM++ The GraalVM - Martin ToshevJavantura v4 - JVM++ The GraalVM - Martin Toshev
Javantura v4 - JVM++ The GraalVM - Martin Toshev
 
Javantura v4 - FreeMarker in Spring web - Marin Kalapać
Javantura v4 - FreeMarker in Spring web - Marin KalapaćJavantura v4 - FreeMarker in Spring web - Marin Kalapać
Javantura v4 - FreeMarker in Spring web - Marin Kalapać
 
Javantura v4 - Getting started with Apache Spark - Dinko Srkoč
Javantura v4 - Getting started with Apache Spark - Dinko SrkočJavantura v4 - Getting started with Apache Spark - Dinko Srkoč
Javantura v4 - Getting started with Apache Spark - Dinko Srkoč
 
Javantura v4 - Let me tell you a story why Scrum is not for you - Roko Roić
Javantura v4 - Let me tell you a story why Scrum is not for you - Roko RoićJavantura v4 - Let me tell you a story why Scrum is not for you - Roko Roić
Javantura v4 - Let me tell you a story why Scrum is not for you - Roko Roić
 
Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen ...
Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen ...Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen ...
Javantura v4 - KumuluzEE – Microservices with Java - Matjaž B. Jurič & Tilen ...
 

Similaire à Spring Boot & WebSocket Presentation

Spring_Boot_Microservices-5_Day_Session.pptx
Spring_Boot_Microservices-5_Day_Session.pptxSpring_Boot_Microservices-5_Day_Session.pptx
Spring_Boot_Microservices-5_Day_Session.pptxPrabhakaran Ravichandran
 
Bootify your spring application
Bootify your spring applicationBootify your spring application
Bootify your spring applicationJimmy Lu
 
Spring Boot. Boot up your development
Spring Boot. Boot up your developmentSpring Boot. Boot up your development
Spring Boot. Boot up your developmentStrannik_2013
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot IntroductionJeevesh Pandey
 
Testing Spring MVC and REST Web Applications
Testing Spring MVC and REST Web ApplicationsTesting Spring MVC and REST Web Applications
Testing Spring MVC and REST Web ApplicationsSam Brannen
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC vipin kumar
 
"Spring Boot. Boot up your development" Сергей Моренец
"Spring Boot. Boot up your development" Сергей Моренец"Spring Boot. Boot up your development" Сергей Моренец
"Spring Boot. Boot up your development" Сергей МоренецFwdays
 
Integrating Servlets and JSP (The MVC Architecture)
Integrating Servlets and JSP  (The MVC Architecture)Integrating Servlets and JSP  (The MVC Architecture)
Integrating Servlets and JSP (The MVC Architecture)Amit Ranjan
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsmichaelaaron25322
 
Tuning and development with SIP Servlets on Mobicents
Tuning and development with SIP Servlets on MobicentsTuning and development with SIP Servlets on Mobicents
Tuning and development with SIP Servlets on MobicentsJean Deruelle
 
Microservice test strategies for applications based on Spring, K8s and Istio
Microservice test strategies for applications based on Spring, K8s and IstioMicroservice test strategies for applications based on Spring, K8s and Istio
Microservice test strategies for applications based on Spring, K8s and IstioAhmed Misbah
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2divzi1913
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2Long Nguyen
 
Session 41 - Struts 2 Introduction
Session 41 - Struts 2 IntroductionSession 41 - Struts 2 Introduction
Session 41 - Struts 2 IntroductionPawanMM
 
Struts 2 - Introduction
Struts 2 - Introduction Struts 2 - Introduction
Struts 2 - Introduction Hitesh-Java
 

Similaire à Spring Boot & WebSocket Presentation (20)

Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring boot wednesday
Spring boot wednesdaySpring boot wednesday
Spring boot wednesday
 
Spring_Boot_Microservices-5_Day_Session.pptx
Spring_Boot_Microservices-5_Day_Session.pptxSpring_Boot_Microservices-5_Day_Session.pptx
Spring_Boot_Microservices-5_Day_Session.pptx
 
Bootify your spring application
Bootify your spring applicationBootify your spring application
Bootify your spring application
 
Spring Boot. Boot up your development
Spring Boot. Boot up your developmentSpring Boot. Boot up your development
Spring Boot. Boot up your development
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
 
Testing Spring MVC and REST Web Applications
Testing Spring MVC and REST Web ApplicationsTesting Spring MVC and REST Web Applications
Testing Spring MVC and REST Web Applications
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
"Spring Boot. Boot up your development" Сергей Моренец
"Spring Boot. Boot up your development" Сергей Моренец"Spring Boot. Boot up your development" Сергей Моренец
"Spring Boot. Boot up your development" Сергей Моренец
 
Integrating Servlets and JSP (The MVC Architecture)
Integrating Servlets and JSP  (The MVC Architecture)Integrating Servlets and JSP  (The MVC Architecture)
Integrating Servlets and JSP (The MVC Architecture)
 
Next stop: Spring 4
Next stop: Spring 4Next stop: Spring 4
Next stop: Spring 4
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applications
 
Tuning and development with SIP Servlets on Mobicents
Tuning and development with SIP Servlets on MobicentsTuning and development with SIP Servlets on Mobicents
Tuning and development with SIP Servlets on Mobicents
 
Microservice test strategies for applications based on Spring, K8s and Istio
Microservice test strategies for applications based on Spring, K8s and IstioMicroservice test strategies for applications based on Spring, K8s and Istio
Microservice test strategies for applications based on Spring, K8s and Istio
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
 
Session 41 - Struts 2 Introduction
Session 41 - Struts 2 IntroductionSession 41 - Struts 2 Introduction
Session 41 - Struts 2 Introduction
 
Struts 2 - Introduction
Struts 2 - Introduction Struts 2 - Introduction
Struts 2 - Introduction
 
19servlets
19servlets19servlets
19servlets
 
Servlets
ServletsServlets
Servlets
 

Dernier

APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 

Dernier (20)

APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 

Spring Boot & WebSocket Presentation

  • 1. Spring Boot & WebSocket Present by MingIn Wu 2015/7/15 1
  • 2. Outline • Spring Boot – Introduction – Spring Boot Quick Start – Spring Boot External Tomcat plugin – Spring Boot JSP plugin – Spring Boot MySQL & JDBC plugin – Spring Boot Builder Profile – Spring Boot Log4j Plugin – Spring Boot Security • Spring Boot WebSocket – Introduction – WebSocket • Server Side (Spring ) • Client Side (javascript & java) – WebSocket + SockJS • Server Side (Spring) • Client Side (SockJS) – STOMP + WebSocket + SockJS • Server Side (Spring) • Client Side (STOMP) • Use Case Sequence Diagrams 2015/7/15 2
  • 3. Spring Boot Introduction • Primary Goal : – Provide a faster and accessible getting started experience for all Spring development. – Be opinionated out of the box, but get out of the way quickly as requirements start to diverge from the defaults. – Provide a range of non-functional features that are common to large classes of projects. (e.g. embedded servers, security, scalability ). – Absolutely no code generation and no requirement for XML configuration. • System Requirements: – Java 7+ – Tomcat 7+ or glassfish 4+ – Spring Framework 4.1.5+ 2015/7/15 3
  • 4. Different between Spring Boot and Spring 3 • No requirement for XML configuration: • Spring Boot • Spring 3.x 2015/7/15 4
  • 5. Spring Boot Quick Start 2015/7/15 5
  • 6. • 1. Create Spring Starter Project guide : Spring Boot Quick Start (1/3) 2015/7/15 6
  • 7. • 2. pom.xml setting : – 2-1. Packaging executable jar and war files : – 2-2. Use Spring-boot-starter-parent to manage dependencies setting. Spring Boot Quick Start (2/3) 2015/7/15 7
  • 8. Spring Boot Quick Start (3/3) • 3. Project Configuration : – Spring Boot applications need very little Spring configuration. – 1. @SpringBootApplication – 2. @ComponentScan – 3. extends SpringBootServletInitializer 2015/7/15 8
  • 9. Spring Boot External Tomcat plugin 2015/7/15 9
  • 10. Spring Boot External Tomcat plugin • pom.xml setting : – To build a war file that is both executable and deployable into an external container you need to mark the embedded container dependencies as “provided”. 2015/7/15 10
  • 11. Spring Boot JSP plugin 2015/7/15 11
  • 12. Spring Boot JSP plugin • pom.xml setting : • JSP files path : • Set property in the ‘application.properties’ 2015/7/15 12
  • 13. Spring Boot mySQL & JDBC plugin 2015/7/15 13
  • 14. Spring Boot mySQL & JDBC plugin (1/4) • 1. pom.xml setting : • 2. Set property into the ‘application.properties’ 2015/7/15 14
  • 15. Spring Boot mySQL & JDBC plugin (2/4) • 3. Create class ProjectDataSource to replace ‘dataSource-context.xml ‘: – 3-1. Set two pair properties to the data source 2015/7/15 15
  • 16. Spring Boot mySQL & JDBC plugin (3/4) • 3. Create class ProjectDataSource to replace ‘dataSource-context.xml’ : – 3-2. Create two bean classes ‘amway_dataSource’ & ‘sso_dataSource’. – 3-3. Create "sqlLoader" class which is load SQL commands from ‘sql.properties’. 2015/7/15 16
  • 17. Spring Boot mySQL & JDBC plugin (4/4) • 4. Implement interface AppDao and extends by JdbcDaoSupport. 2015/7/15 17
  • 18. Spring Boot Builder Profile 2015/7/15 18
  • 19. Spring Boot Builder Profile • pom.xml setting : – It's the same configuration as other projects (like xBoard .... etc). 2015/7/15 19
  • 20. Spring Boot Log4j Plugin 2015/7/15 20
  • 21. Spring Boot Log4j Plugin (1/2) • pom.xml setting : 2015/7/15 21
  • 22. Spring Boot Log4j Plugin (2/2) • comparing log4j.properties with log4j.xml • log4j.properties • log4j.xml 2015/7/15 22
  • 24. Spring Boot Security (1/5) • pom.xml setting : • System Login form : 2015/7/15 24
  • 25. Spring Boot Security (2/5) • Security Configuration : – 1. SecurityConfiguration config 2015/7/15 25
  • 26. Spring Boot Security (3/5) • Security Configuration : – 2. Comparing the HttpSecurity setting: • SecurityConfiguration class • security-context.xml 2015/7/15 26
  • 27. Spring Boot Security (4/5) • Security Configuration : – 3-1. Comparing the authentication-manager & jdbc-user-service setting: • security-context.xml – Step1. Setting up JdbcUserDetailsManager. – Step2. Setting up Md5PasswordEncoder & ReflectionSaltSource. – Step3. Md5PasswordEncoder & ReflectionSaltSource put in the DaoAuthenticationProvider. – Step4. DaoAuthenticationProvider put in the AuthenticationManagerBuilder. Step2 Step1 Step3&4 2015/7/15 27
  • 28. Spring Boot Security (5/5) • Security Configuration : – 3-2. Comparing the authentication-manager & jdbc-user-service setting: • SecurityConfiguration class Step1 Step2 Step3 Step4 2015/7/15 28
  • 30. Spring Boot WebSocket Introduction (1/3) • Polling vs WebSocket : – 1. Comparison of the unnecessary network throughput overhead between the polling and the WebSocket applications. 2015/7/15 30
  • 31. Spring Boot WebSocket Introduction (2/3) • Polling vs WebSocket : – 2. Comparison between the polling and WebSocket applications. 2015/7/15 31
  • 32. Spring Boot WebSocket Introduction (3/3) • WebSocket Protocol : – WebSocket is an extension to HTTP and enables streaming of data. 2015/7/15 32
  • 33. Spring Boot WebSocket Example (1/5) • Server Side (Spring) : – 1. pom.xml setting : – 2. Configuration (simple) : 2015/7/15 33
  • 34. Spring Boot WebSocket Example (2/5) • Server Side (Spring) : – 4. GreetingHandler : • extends TextWebSocketHandler class. • Greeting Handler class can mix with @Controller and @RequestMapping. 2015/7/15 34
  • 35. Spring Boot WebSocket Example (3/5) • Client Side (javascript) : – 1. connect() 2015/7/15 35
  • 36. Spring Boot WebSocket Example (4/5) • Client Side (javascript) : – 2. sendMessage() – 3. disconnect() 2015/7/15 36
  • 37. Spring Boot WebSocket Example (5/5) • Client Side (java) : – 1. Create ChatClientEndpoint class – 2. call 2015/7/15 37
  • 38. Spring Boot WebSocket & SockJS 2015/7/15 38
  • 39. Spring Boot WebSocket & SockJS Example (1/6) • Spring Server Side : – 1. pom.xml setting : – 2. Configuration (simple) : 2015/7/15 39
  • 40. Spring Boot WebSocket & SockJS Example (2/6) • Spring Server Side : – 3-1. Configuration (websocket session handshake) : • We can capture the http session for a websocket request. • The reason was to determine the number of websocket sessions utilizing the same underlying http session. 2015/7/15 40
  • 41. Spring Boot WebSocket & SockJS Example (3/6) • Spring Server Side : – 3-2. HttpSession Handshake Interceptor : • beforeHandshake() • afterHandshake() 2015/7/15 41
  • 42. Spring Boot WebSocket & SockJS Example (4/6) • Spring Server Side : – 4. GreetingHandler : • extends TextWebSocketHandler class. • Greeting Handler class can mix with @Controller and @RequestMapping. 2015/7/15 42
  • 43. Spring Boot WebSocket & SockJS Example (5/6) • SockJS client side : – 1. SockJS – connect() 2015/7/15 43
  • 44. Spring Boot WebSocket & SockJS Example (6/6) • SockJS client side : – 2. SockJS – sendMessage() – 3. SockJS – disconnect() 2015/7/15 44
  • 45. Spring Boot WebSocket & STOMP 2015/7/15 45
  • 46. Spring Boot WebSocket & STOMP Example (1/6) • STOMP : – STOMP is a simple text-oriented messaging protocol that was originally created for scripting languages to connect to enterprise message brokers. – STOMP is a frame based protocol with frames modeled on HTTP. – STOMP uses different commands like connect, send, subscribe, disconnect etc to communicate. • Command : SEND format (client) Command : SUBSCRIBE format (client) • Command : MESSAGE format (server) - broadcast messages to all subscribers. 2015/7/15 46 Command Header Body Command Header Body Command Header Body
  • 47. Spring Boot WebSocket & STOMP Example (2/6) • Spring Server Side : – 1. Configuration (stomp) : • extends AbstractWebSocketMessageBrokerConfigurer • Configure message broker options. • Configure STOMP over WebSocket end-points. 2015/7/15 47
  • 48. Spring Boot WebSocket & STOMP Example (3/6) • Spring Server Side : – 1. Configuration (stomp) : • GreetingController class can mix with @Controller and @RequestMapping. • @MessageMapping • @SendTo 2015/7/15 48
  • 49. Spring Boot WebSocket & STOMP Example (4/6) • STOMP client side : – 1. STOMP + SockJS – connect() • 1-1 Create a socket object by SockJS. • 1-2 Set StompClient to control the socket. • 1-3 Implement stomp client subscribe function. 2015/7/15 49
  • 50. Spring Boot WebSocket & STOMP Example (5/6) • STOMP client side : – 2. STOMP + SockJS – sendMessage() – 3. STOMP + SockJS – disconnect() 2015/7/15 50
  • 51. Spring Boot WebSocket & STOMP Example (6/6) • Spring - STOMP Architecture : – AbstractWebSocketMessageBrokerConfigurer setting : 2015/7/15 51 Send request /app/hello Send response /topic/greeting Client subscribe /topic/greeting Client send message Send request /topic/greeting
  • 52. Use Case Sequence Diagrams 2015/7/15 52
  • 53. Case1. WebSocket + socJS 2015/7/15 53 – Build B2B WebSocket connection between client & server.
  • 54. Case2. WebSocket + STOMP - 1 – Server Use @SendTo() send message to all of subscriber client. 2015/7/15 54
  • 55. Case3. WebSocket & STOMP - 2 – Server Use @SendToUser() send message to for the specified subscriber client. 2015/7/15 55
  • 56. Case4. WebSocket & STOMP - 3 – Remove enableSimpleBroker() & setApplicationDestinationPrefixes() setting within WebSocketConfig. 2015/7/15 56

Notes de l'éditeur

  1. 1. 提供更快和方便入門體驗所有的Spring開發。 2. 希望能跳開種種限制,卻走不出的方式達到迅速開始的要求。 3. 提供一系列的非功能特性的常用大類的項目。(例如嵌入式服務器,安全性,可擴展性)。 4. 沒有代碼產生和XML配置要求。
  2. 1. STOMP是最初創建的腳本語言來連接到企業信息經紀人簡單的文本為導向的消息傳遞協議。 2. STOMP是仿照HTTP幀一幀的基礎協議。 3. STOMP使用不同的命令狀連接,發送,訂閱,斷開等進行溝通。