SlideShare a Scribd company logo
Simplicity meets Scalability
(JavaScript on Java Servers)
Ing. Rolando Santamaría Masó
Software Architect at Innotrade GmbH
Herzogenrath, Germany
Code.Talks Conference 2015
September 29, 2015
Dammtordamm 1, 20354 Hamburg
Who am I?
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 2
• Software developer and architect
• Started in the PHP world ;)
• jWebSocket framework core team from 2010
• Java, JavaScript
• HTTP - WebSockets
• High performance I/O
• APIs
• Informatic Sciences Engineer (UCI, Cuba)
• Software Architect at Innotrade GmbH from 2014
Today's session
• Agenda:
• Java and JavaScript in 2015.
• High Performance Clusters with jWebSocket.
• Creating JavaScript applications with jWebSocket (Scripting
plug-in):
- General concepts.
- Getting started.
- The notebook app demo.
• Questions and suggestions.
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 3
Java and JavaScript in 2015
Java on TIOBE Index
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (September 2015)
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 4
Java and JavaScript in 2015
Java on TIOBE Index
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (September 2015)
Ebay, Amazon, Google, Netflix, Linkedin
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 5
Java and JavaScript in 2015 (Nashorn)
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 6
Java and JavaScript in 2015 (Nashorn)
Must used JavaScript engines for the JVM
(JSR-223):
Rhino Nashorn
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 7
Java and JavaScript in 2015 (Nashorn)
Nashorn: The New Rhino on the Block
http://ariya.ofilabs.com/2014/03/nashorn-the-new-rhino-on-the-block.html
Performance comparison between Rhino, Nashorn and Google V8 engines:
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 8
Java and JavaScript in 2015 (Nashorn)
Inside Vert.x. Comparison with Node.js
http://www.cubrid.org/blog/dev-platform/inside-vertx-comparison-with-nodejs/
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 9
Java and JavaScript in 2015 (Nashorn)
Inside Vert.x. Comparison with Node.js
http://www.cubrid.org/blog/dev-platform/inside-vertx-comparison-with-nodejs/
Here the bigger is better ;)
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 10
Java and JavaScript in 2015 (Nashorn)
Nashorn: The New Rhino on the Block
http://ariya.ofilabs.com/2014/03/nashorn-the-new-rhino-on-the-block.html
Performance comparison between Rhino, Nashorn and Google V8 engines:
Nashorn provides the fastest
JavaScript RTE for the JVM.
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 11
Java and JavaScript in 2015 (Nashorn)
JSR-223 (Nashorn: ECMA-262 and ECMAScript 5.1)
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
File f = new File("test.txt");
engine.put("file", f);
engine.eval("print(file.getAbsolutePath())");
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 12
High Performance Clusters with jWebSocket
The highly scalable real-time web applications
development framework.
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 13
High Performance Clusters with jWebSocket
• Why app clusters are required?
• Scalability
• High Availability
• High Performance
• System load is distributed, parallelized when possible.
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 14
High Performance Clusters with jWebSocket
• Why app clusters are required?
• Scalability
• High Availability
• High Performance
• System load is distributed, parallelized when possible.
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 15
Critical enterprise apps require
clusters.
High Performance Clusters with jWebSocket
• The jWebSocket approach for WebSocket clients
wss://
Nginx
instances
as
load balancer
ActiveMQ
cluster
as
message broker
ws://
https://
http://
Nginx
instances
as
web server
MongoDB
cluster
as
shared data
tcp://
jWebSocket
instances
as
application nodes
tcp://tcp://
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 16
High Performance Clusters with jWebSocket
• The jWebSocket approach for WebSocket clients
wss://
Nginx
instances
as
load balancer
ActiveMQ
cluster
as
message broker
ws://
https://
http://
Nginx
instances
as
web server
MongoDB
cluster
as
shared data
tcp://
jWebSocket
instances
as
application nodes
tcp://tcp://
jWebSocket apps can scale up
to millions of clients.
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 17
High Performance Clusters with jWebSocket
plus
JavaScript
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 18
Creating JavaScript applications with jWebSocket Scripting plug-in
General concepts:
• Script apps stands on the jWebSocket communication
backbone.
• Per app security sandbox (intended for multi-tenant purposes).
• Automatic client-side App object generation (optional).
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 19
Creating JavaScript applications with jWebSocket Scripting plug-in
General concepts:
• JavaScript apps (09/2015).
• Hot deploys and code reloads.
• NPM optional support (modules require to be Nashorn compliant).
• High level API.
• EventBus integration.
• Built-in annotations: type, not_null, max_length, min_length, min_value,
max_value, default_value, regex, authenticated, authority, async.
• Custom annotation processors.
• Custom arguments validation.
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 20
Creating JavaScript applications with jWebSocket Scripting plug-in
Live Demo:
•Create new app from the console.
•Add basic collection CRUD.
•Show HOT reload in action.
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 21
Creating JavaScript applications with jWebSocket Scripting plug-in
Live Demo:
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 22
Questions and Suggestions
Questions and Suggestions?
• My contact: rsantamaria@jwebsocket.org
@kyberneees on twitter
• Website: http://jwebsocket.org
• More: http://jwebsocket.org/documentation/Plug-Ins/
Scripting-Plug-In/Developer-Guide
Open-Source
support@jwebsocket.org
Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 23

More Related Content

What's hot

SnapyX - ParisJS
SnapyX - ParisJSSnapyX - ParisJS
SnapyX - ParisJS
florianharmel
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project Nashorn
Michel Graciano
 
Groovy in the Cloud
Groovy in the CloudGroovy in the Cloud
Groovy in the Cloud
Daniel Woods
 
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
Kaunas Java User Group
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
Edy Segura
 
The Future of WordPress and JavaScript
The Future of WordPress and JavaScriptThe Future of WordPress and JavaScript
The Future of WordPress and JavaScript
Andrew Duthie
 
Vertx in production
Vertx in productionVertx in production
Vertx in production
Mariam Hakobyan
 
Rails-like Asp.Net Development Shared
Rails-like Asp.Net Development SharedRails-like Asp.Net Development Shared
Rails-like Asp.Net Development Shared
curtismitchell
 
Js revolution donald_derek
Js revolution donald_derekJs revolution donald_derek
Js revolution donald_derek
Donald Derek Haddad
 
Revisit Dependency Injection in scala
Revisit Dependency Injection in scalaRevisit Dependency Injection in scala
Revisit Dependency Injection in scala
takezoe
 
Continuous delivery@LesFurets - DC Continuous delivery meetup
Continuous delivery@LesFurets - DC Continuous delivery meetupContinuous delivery@LesFurets - DC Continuous delivery meetup
Continuous delivery@LesFurets - DC Continuous delivery meetup
Raphaël Brugier
 
Production ready Vert.x
Production ready Vert.xProduction ready Vert.x
Production ready Vert.x
Sascha Möllering
 
Introduction to javascript technologies
Introduction to javascript technologiesIntroduction to javascript technologies
Introduction to javascript technologies
Abdalla Elsayed
 
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.comOpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebula Project
 
GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0
Tobias Meixner
 
Enterprise git - the hard bits
Enterprise git -  the hard bitsEnterprise git -  the hard bits
Enterprise git - the hard bits
Matthew Barr
 
Node.js and express
Node.js and expressNode.js and express
Node.js and express
Sunny Sharma
 
Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015
Daniel Woods
 
GWT and PWA
GWT and PWAGWT and PWA
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi Dewanto
GWTcon
 

What's hot (20)

SnapyX - ParisJS
SnapyX - ParisJSSnapyX - ParisJS
SnapyX - ParisJS
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project Nashorn
 
Groovy in the Cloud
Groovy in the CloudGroovy in the Cloud
Groovy in the Cloud
 
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
Kaunas JUG#2: Devoxx 2013 (Saulius Tvarijonas)
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
The Future of WordPress and JavaScript
The Future of WordPress and JavaScriptThe Future of WordPress and JavaScript
The Future of WordPress and JavaScript
 
Vertx in production
Vertx in productionVertx in production
Vertx in production
 
Rails-like Asp.Net Development Shared
Rails-like Asp.Net Development SharedRails-like Asp.Net Development Shared
Rails-like Asp.Net Development Shared
 
Js revolution donald_derek
Js revolution donald_derekJs revolution donald_derek
Js revolution donald_derek
 
Revisit Dependency Injection in scala
Revisit Dependency Injection in scalaRevisit Dependency Injection in scala
Revisit Dependency Injection in scala
 
Continuous delivery@LesFurets - DC Continuous delivery meetup
Continuous delivery@LesFurets - DC Continuous delivery meetupContinuous delivery@LesFurets - DC Continuous delivery meetup
Continuous delivery@LesFurets - DC Continuous delivery meetup
 
Production ready Vert.x
Production ready Vert.xProduction ready Vert.x
Production ready Vert.x
 
Introduction to javascript technologies
Introduction to javascript technologiesIntroduction to javascript technologies
Introduction to javascript technologies
 
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.comOpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
OpenNebulaConf2018 - Our Journey to OpenNebula - Germán Gutierrez - Booking.com
 
GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0GraphQL Bangkok Meetup 6.0
GraphQL Bangkok Meetup 6.0
 
Enterprise git - the hard bits
Enterprise git -  the hard bitsEnterprise git -  the hard bits
Enterprise git - the hard bits
 
Node.js and express
Node.js and expressNode.js and express
Node.js and express
 
Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015
 
GWT and PWA
GWT and PWAGWT and PWA
GWT and PWA
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi Dewanto
 

Viewers also liked

Sustainable engineering - Measures for Sustainability
Sustainable engineering - Measures for SustainabilitySustainable engineering - Measures for Sustainability
Sustainable engineering - Measures for Sustainability
Gauri Nair
 
Portfolio_grafisch_Caboor_Kevin*
Portfolio_grafisch_Caboor_Kevin*Portfolio_grafisch_Caboor_Kevin*
Portfolio_grafisch_Caboor_Kevin*Kevin Caboor
 
Presentation
PresentationPresentation
Presentation
Himani Himmi
 
Flipping your classroom
Flipping your classroomFlipping your classroom
Flipping your classroom
Carolina Biological Supply Company
 
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
AboutYouGmbH
 
CArcMOOC 04.01 - Von Neumann and CPU micro-architecture
CArcMOOC 04.01 - Von Neumann and CPU micro-architectureCArcMOOC 04.01 - Von Neumann and CPU micro-architecture
CArcMOOC 04.01 - Von Neumann and CPU micro-architecture
Alessandro Bogliolo
 
CArcMOOC 05.03 - Pipeline hazards
CArcMOOC 05.03 - Pipeline hazardsCArcMOOC 05.03 - Pipeline hazards
CArcMOOC 05.03 - Pipeline hazards
Alessandro Bogliolo
 

Viewers also liked (7)

Sustainable engineering - Measures for Sustainability
Sustainable engineering - Measures for SustainabilitySustainable engineering - Measures for Sustainability
Sustainable engineering - Measures for Sustainability
 
Portfolio_grafisch_Caboor_Kevin*
Portfolio_grafisch_Caboor_Kevin*Portfolio_grafisch_Caboor_Kevin*
Portfolio_grafisch_Caboor_Kevin*
 
Presentation
PresentationPresentation
Presentation
 
Flipping your classroom
Flipping your classroomFlipping your classroom
Flipping your classroom
 
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
Uwe Friedrichsen - CRDT und mehr - über extreme Verfügbarkeit und selbstheile...
 
CArcMOOC 04.01 - Von Neumann and CPU micro-architecture
CArcMOOC 04.01 - Von Neumann and CPU micro-architectureCArcMOOC 04.01 - Von Neumann and CPU micro-architecture
CArcMOOC 04.01 - Von Neumann and CPU micro-architecture
 
CArcMOOC 05.03 - Pipeline hazards
CArcMOOC 05.03 - Pipeline hazardsCArcMOOC 05.03 - Pipeline hazards
CArcMOOC 05.03 - Pipeline hazards
 

Similar to Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015

Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with Nashorn
Maxime Najim
 
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkCloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Red Hat Developers
 
WebDev Simplified React.js.pptx
WebDev Simplified React.js.pptxWebDev Simplified React.js.pptx
WebDev Simplified React.js.pptx
SarikaPurohit1
 
IBM InterConnect: Java vs JavaScript for Enterprise WebApps
IBM InterConnect: Java vs JavaScript for Enterprise WebAppsIBM InterConnect: Java vs JavaScript for Enterprise WebApps
IBM InterConnect: Java vs JavaScript for Enterprise WebApps
Chris Bailey
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
David Wesst
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
Rubens Dos Santos Filho
 
Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020
Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020
Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020
Matt Raible
 
Java @ Cloud - Setor Público SP
Java @ Cloud - Setor Público SPJava @ Cloud - Setor Público SP
Java @ Cloud - Setor Público SP
Ilan Salviano
 
D. Andreadis, Red Hat: Concepts and technical overview of Quarkus
D. Andreadis, Red Hat: Concepts and technical overview of QuarkusD. Andreadis, Red Hat: Concepts and technical overview of Quarkus
D. Andreadis, Red Hat: Concepts and technical overview of Quarkus
Uni Systems S.M.S.A.
 
Javascript - Ebook (A Quick Guide)
Javascript - Ebook (A Quick Guide)Javascript - Ebook (A Quick Guide)
Javascript - Ebook (A Quick Guide)
sourav newatia
 
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web ApplicationReact Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
adityakumar2080
 
The Java alternative to Javascript
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
Manuel Carrasco Moñino
 
Full stack java script development
Full stack java script developmentFull stack java script development
Full stack java script development
poojashinde103
 
WEB MODULE 3.pdf
WEB MODULE 3.pdfWEB MODULE 3.pdf
WEB MODULE 3.pdf
Deepika A B
 
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript AppsIn Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript AppsSpike Brehm
 
Java Development Company | Xicom
Java Development Company | XicomJava Development Company | Xicom
Java Development Company | Xicom
RyanForeman5
 
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Fabio Tiriticco
 
Efficient DevOps Tooling with Java and GraalVM
Efficient DevOps Tooling with Java and GraalVMEfficient DevOps Tooling with Java and GraalVM
Efficient DevOps Tooling with Java and GraalVM
QAware GmbH
 
JavaScript & Enterprise BED-Con 2014 Berlin German
JavaScript & Enterprise BED-Con 2014 Berlin GermanJavaScript & Enterprise BED-Con 2014 Berlin German
JavaScript & Enterprise BED-Con 2014 Berlin GermanAdam Boczek
 
Effective DevSecOps
Effective DevSecOpsEffective DevSecOps
Effective DevSecOps
Pawel Krawczyk
 

Similar to Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015 (20)

Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with Nashorn
 
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkCloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
 
WebDev Simplified React.js.pptx
WebDev Simplified React.js.pptxWebDev Simplified React.js.pptx
WebDev Simplified React.js.pptx
 
IBM InterConnect: Java vs JavaScript for Enterprise WebApps
IBM InterConnect: Java vs JavaScript for Enterprise WebAppsIBM InterConnect: Java vs JavaScript for Enterprise WebApps
IBM InterConnect: Java vs JavaScript for Enterprise WebApps
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 
Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020
Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020
Choose Your Own Adventure with JHipster & Kubernetes - Denver JUG 2020
 
Java @ Cloud - Setor Público SP
Java @ Cloud - Setor Público SPJava @ Cloud - Setor Público SP
Java @ Cloud - Setor Público SP
 
D. Andreadis, Red Hat: Concepts and technical overview of Quarkus
D. Andreadis, Red Hat: Concepts and technical overview of QuarkusD. Andreadis, Red Hat: Concepts and technical overview of Quarkus
D. Andreadis, Red Hat: Concepts and technical overview of Quarkus
 
Javascript - Ebook (A Quick Guide)
Javascript - Ebook (A Quick Guide)Javascript - Ebook (A Quick Guide)
Javascript - Ebook (A Quick Guide)
 
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web ApplicationReact Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
 
The Java alternative to Javascript
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
 
Full stack java script development
Full stack java script developmentFull stack java script development
Full stack java script development
 
WEB MODULE 3.pdf
WEB MODULE 3.pdfWEB MODULE 3.pdf
WEB MODULE 3.pdf
 
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript AppsIn Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
 
Java Development Company | Xicom
Java Development Company | XicomJava Development Company | Xicom
Java Development Company | Xicom
 
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
 
Efficient DevOps Tooling with Java and GraalVM
Efficient DevOps Tooling with Java and GraalVMEfficient DevOps Tooling with Java and GraalVM
Efficient DevOps Tooling with Java and GraalVM
 
JavaScript & Enterprise BED-Con 2014 Berlin German
JavaScript & Enterprise BED-Con 2014 Berlin GermanJavaScript & Enterprise BED-Con 2014 Berlin German
JavaScript & Enterprise BED-Con 2014 Berlin German
 
Effective DevSecOps
Effective DevSecOpsEffective DevSecOps
Effective DevSecOps
 

More from AboutYouGmbH

Tech talk 01.06.2017
Tech talk 01.06.2017Tech talk 01.06.2017
Tech talk 01.06.2017
AboutYouGmbH
 
Retention Strategies in Mobile E-Commerce
Retention Strategies in Mobile E-CommerceRetention Strategies in Mobile E-Commerce
Retention Strategies in Mobile E-Commerce
AboutYouGmbH
 
Rethinking Fashion E-Commerce
Rethinking Fashion E-CommerceRethinking Fashion E-Commerce
Rethinking Fashion E-Commerce
AboutYouGmbH
 
ABOUT YOU get on board
ABOUT YOU get on boardABOUT YOU get on board
ABOUT YOU get on board
AboutYouGmbH
 
Niels Leenheer - Weird browsers - code.talks 2015
Niels Leenheer - Weird browsers - code.talks 2015Niels Leenheer - Weird browsers - code.talks 2015
Niels Leenheer - Weird browsers - code.talks 2015
AboutYouGmbH
 
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
AboutYouGmbH
 
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
AboutYouGmbH
 
Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015
AboutYouGmbH
 
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
AboutYouGmbH
 
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
AboutYouGmbH
 
Kai Voigt - Big Data zum Anfassen - code.talks 2015
Kai Voigt - Big Data zum Anfassen - code.talks 2015Kai Voigt - Big Data zum Anfassen - code.talks 2015
Kai Voigt - Big Data zum Anfassen - code.talks 2015
AboutYouGmbH
 
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
AboutYouGmbH
 
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
AboutYouGmbH
 
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
AboutYouGmbH
 
Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
 Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c... Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
AboutYouGmbH
 
Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
 Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015 Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
AboutYouGmbH
 
Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
 Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ... Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
AboutYouGmbH
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
AboutYouGmbH
 
Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
 Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal... Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
AboutYouGmbH
 
Carina Bittihn & Linda Dettmann - Same Same but Different - code.talks 2015
 Carina Bittihn & Linda Dettmann - Same Same but Different - code.talks 2015 Carina Bittihn & Linda Dettmann - Same Same but Different - code.talks 2015
Carina Bittihn & Linda Dettmann - Same Same but Different - code.talks 2015
AboutYouGmbH
 

More from AboutYouGmbH (20)

Tech talk 01.06.2017
Tech talk 01.06.2017Tech talk 01.06.2017
Tech talk 01.06.2017
 
Retention Strategies in Mobile E-Commerce
Retention Strategies in Mobile E-CommerceRetention Strategies in Mobile E-Commerce
Retention Strategies in Mobile E-Commerce
 
Rethinking Fashion E-Commerce
Rethinking Fashion E-CommerceRethinking Fashion E-Commerce
Rethinking Fashion E-Commerce
 
ABOUT YOU get on board
ABOUT YOU get on boardABOUT YOU get on board
ABOUT YOU get on board
 
Niels Leenheer - Weird browsers - code.talks 2015
Niels Leenheer - Weird browsers - code.talks 2015Niels Leenheer - Weird browsers - code.talks 2015
Niels Leenheer - Weird browsers - code.talks 2015
 
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
Dennis Benkert & Matthias Lübken - Patterns in a containerized world? - code....
 
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
Stefan Richter - Writing simple, readable and robust code: Examples in Java, ...
 
Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015Lars Jankowfsky - Learn or Die - code.talks 2015
Lars Jankowfsky - Learn or Die - code.talks 2015
 
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
Dr. Jeremias Rößler - Wenn Affen Testen - Das Ende der Bananensoftware - code...
 
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
Zeljko Kvesic - Scrum in verteilten Teams / Agil über die Landesgrenzen - cod...
 
Kai Voigt - Big Data zum Anfassen - code.talks 2015
Kai Voigt - Big Data zum Anfassen - code.talks 2015Kai Voigt - Big Data zum Anfassen - code.talks 2015
Kai Voigt - Big Data zum Anfassen - code.talks 2015
 
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
 
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
Marcel Hild - Spryker (e)commerce framework als Alternative zu traditioneller...
 
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
Wolfram Kriesing - EcmaScript6 for real - code.talks 2015
 
Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
 Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c... Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
Stefanie Grewenig & Johannes Thönes - Internet ausdrucken mit JavaScript - c...
 
Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
 Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015 Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
Alex Korotkikh - From 0 to N: Lessons Learned - code.talks 2015
 
Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
 Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ... Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
Christian Haider & Helge Nowak - Mehr Demokratie durch Haushaltstransparenz ...
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
 
Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
 Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal... Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
Moritz Siuts & Robert von Massow - Data Pipeline mit Apache Kafka - code.tal...
 
Carina Bittihn & Linda Dettmann - Same Same but Different - code.talks 2015
 Carina Bittihn & Linda Dettmann - Same Same but Different - code.talks 2015 Carina Bittihn & Linda Dettmann - Same Same but Different - code.talks 2015
Carina Bittihn & Linda Dettmann - Same Same but Different - code.talks 2015
 

Recently uploaded

guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
Himani415946
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
TristanJasperRamos
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
ShahulHameed54211
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 

Recently uploaded (16)

guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 

Rolando Santamaría Masó - Simplicity meets scalability - code.talks 2015

  • 1. Simplicity meets Scalability (JavaScript on Java Servers) Ing. Rolando Santamaría Masó Software Architect at Innotrade GmbH Herzogenrath, Germany Code.Talks Conference 2015 September 29, 2015 Dammtordamm 1, 20354 Hamburg
  • 2. Who am I? Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 2 • Software developer and architect • Started in the PHP world ;) • jWebSocket framework core team from 2010 • Java, JavaScript • HTTP - WebSockets • High performance I/O • APIs • Informatic Sciences Engineer (UCI, Cuba) • Software Architect at Innotrade GmbH from 2014
  • 3. Today's session • Agenda: • Java and JavaScript in 2015. • High Performance Clusters with jWebSocket. • Creating JavaScript applications with jWebSocket (Scripting plug-in): - General concepts. - Getting started. - The notebook app demo. • Questions and suggestions. Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 3
  • 4. Java and JavaScript in 2015 Java on TIOBE Index http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (September 2015) Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 4
  • 5. Java and JavaScript in 2015 Java on TIOBE Index http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (September 2015) Ebay, Amazon, Google, Netflix, Linkedin Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 5
  • 6. Java and JavaScript in 2015 (Nashorn) Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 6
  • 7. Java and JavaScript in 2015 (Nashorn) Must used JavaScript engines for the JVM (JSR-223): Rhino Nashorn Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 7
  • 8. Java and JavaScript in 2015 (Nashorn) Nashorn: The New Rhino on the Block http://ariya.ofilabs.com/2014/03/nashorn-the-new-rhino-on-the-block.html Performance comparison between Rhino, Nashorn and Google V8 engines: Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 8
  • 9. Java and JavaScript in 2015 (Nashorn) Inside Vert.x. Comparison with Node.js http://www.cubrid.org/blog/dev-platform/inside-vertx-comparison-with-nodejs/ Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 9
  • 10. Java and JavaScript in 2015 (Nashorn) Inside Vert.x. Comparison with Node.js http://www.cubrid.org/blog/dev-platform/inside-vertx-comparison-with-nodejs/ Here the bigger is better ;) Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 10
  • 11. Java and JavaScript in 2015 (Nashorn) Nashorn: The New Rhino on the Block http://ariya.ofilabs.com/2014/03/nashorn-the-new-rhino-on-the-block.html Performance comparison between Rhino, Nashorn and Google V8 engines: Nashorn provides the fastest JavaScript RTE for the JVM. Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 11
  • 12. Java and JavaScript in 2015 (Nashorn) JSR-223 (Nashorn: ECMA-262 and ECMAScript 5.1) ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("JavaScript"); File f = new File("test.txt"); engine.put("file", f); engine.eval("print(file.getAbsolutePath())"); Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 12
  • 13. High Performance Clusters with jWebSocket The highly scalable real-time web applications development framework. Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 13
  • 14. High Performance Clusters with jWebSocket • Why app clusters are required? • Scalability • High Availability • High Performance • System load is distributed, parallelized when possible. Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 14
  • 15. High Performance Clusters with jWebSocket • Why app clusters are required? • Scalability • High Availability • High Performance • System load is distributed, parallelized when possible. Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 15 Critical enterprise apps require clusters.
  • 16. High Performance Clusters with jWebSocket • The jWebSocket approach for WebSocket clients wss:// Nginx instances as load balancer ActiveMQ cluster as message broker ws:// https:// http:// Nginx instances as web server MongoDB cluster as shared data tcp:// jWebSocket instances as application nodes tcp://tcp:// Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 16
  • 17. High Performance Clusters with jWebSocket • The jWebSocket approach for WebSocket clients wss:// Nginx instances as load balancer ActiveMQ cluster as message broker ws:// https:// http:// Nginx instances as web server MongoDB cluster as shared data tcp:// jWebSocket instances as application nodes tcp://tcp:// jWebSocket apps can scale up to millions of clients. Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 17
  • 18. High Performance Clusters with jWebSocket plus JavaScript Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 18
  • 19. Creating JavaScript applications with jWebSocket Scripting plug-in General concepts: • Script apps stands on the jWebSocket communication backbone. • Per app security sandbox (intended for multi-tenant purposes). • Automatic client-side App object generation (optional). Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 19
  • 20. Creating JavaScript applications with jWebSocket Scripting plug-in General concepts: • JavaScript apps (09/2015). • Hot deploys and code reloads. • NPM optional support (modules require to be Nashorn compliant). • High level API. • EventBus integration. • Built-in annotations: type, not_null, max_length, min_length, min_value, max_value, default_value, regex, authenticated, authority, async. • Custom annotation processors. • Custom arguments validation. Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 20
  • 21. Creating JavaScript applications with jWebSocket Scripting plug-in Live Demo: •Create new app from the console. •Add basic collection CRUD. •Show HOT reload in action. Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 21
  • 22. Creating JavaScript applications with jWebSocket Scripting plug-in Live Demo: Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 22
  • 23. Questions and Suggestions Questions and Suggestions? • My contact: rsantamaria@jwebsocket.org @kyberneees on twitter • Website: http://jwebsocket.org • More: http://jwebsocket.org/documentation/Plug-Ins/ Scripting-Plug-In/Developer-Guide Open-Source support@jwebsocket.org Rolando Santamaría Masó - Simplicity meets Scalability (JavaScript on Java Servers) - 23