SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
K
t
x
(
8
5
!
a
!
>
"
[K
S
9
#
Vert.X
APPS SOFTWARE
DEVELOPMENT
WITH
Hit View -> Show Presenter Notes

to view important information!
U
@MAKINGDEVS
@NEODEVELOP
GITHUB.COM/
MAKINGDEVS
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
BEGIN
END
What is
VertX?
$
I
Main
Components
(II
Architecture
ÑIII
CURRENTAGENDA
Main
concerns
bV
Demo
K
IV
WHAT IS
VERT.X?
Vert.x is a lightweight, high
performance application
platform for the JVM that's
designed for modern mobile,
web, and enterprise
applications.
I
polylglot
Java, JavaScript,
CoffeeScript, Ruby,
Python or Groovy, is your
choice.
Take advantage of the
JVM
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
simple
Write code normally,
no complex
configuration; the API
is so simple…
scalable
Uses messaging to
scale, we can use the
cores of the same
machine
concurrency
Simple actor-like
concurrency, you don't
have to deal with
threads
VERT.X FEATURES
MAIN
COMPONENTS
Core concepts…
C10K problem
_
a
II
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
VERTICLES, MODULES & INSTANCES
what is this?
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
VERTICLES, MODULES & INSTANCES
what is this?
j
å
^
K
reusable code
VERT.X MODULES
Registry: Vert.X apps
uses many modules
Community Check http://
modulereg.vertx.io
Many verticles:
Encapsulated and
together in a package.
Easy to use: modules are
found in Binary or Maven
repo
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
ARCHITECTURE
Main components &
communication
¼
!
III
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
HOW IT WORKS?
deep inside
main technologies
WHAT’S INSIDE?
•It’s build on top of Netty - https://github.com/netty/netty
•Hazelcast for network discovery of nodes
•Jackson for JSON expose
•Java 7+
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
MAIN
CONCERNS
What kind of issues we found treating
events?
K
"
IV
platforms and languages
ABOUT THE LANGUAGES
Main concern:
Javascript - https://www.destroyallsoftware.com/talks/wat
Vert.X resolution
Polyglot programming - http://vertx.io
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
vertical scaling
ABOUT SCALING
Main concern:
how do we scale?, when you deploy a JVM program is single thread
Vert.X resolution
•Runtime.availableProcessors() == 4
•vertx run Verticle -instances 4
•Verticles:
•Are assigned to one event/loop
•Always executed on assigned thread
•Has own class loaders and cannot shared global state
•Can write the code assuming single threading
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
what is the process for coordinate work?
ABOUT COMMUNICATION
Main concern:
how can we communicate between components? tcp, udp, sockets, signaling,
etc…
Vert.X resolution
•The event bus
•Addressing: Is a simple string, with dot-style namespacing(recommended)
•Handler registration
•Pub/Sub
•P2P
•Messages types: String, primitives, vertx…JsonObject, vertx…Buffer
•Distributed Vert.X(Event Bus), even the browser(SockJS Bridge)
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
what is the process for coordinate work?
ABOUT COMMUNICATION
Main concern:
How do we share state? It’s dangerous if it’s mutable!!!
Vert.X resolution
•Vert.X Shared State
•SharedData object
•java.util.concurrent.ConcurrentMap
•java.util.Set<E>
•Elements must be inmutable
•Only available within instances, not in a cluster
•Allowed values: String, primitives, byte[]
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
reactor pattern
ABOUT THE EVENT LOOP
Main concern:
Single thread is single event loop, and all is in it; is dangerous block the event
loop. What we can do with blocking work(e.g. JDBC)?
Vert.X resolution
•Worker Verticles
•Not assigned to event loop thread and executes in the background thread
pool
•Not concurrently executed
•Not able to use TCP servers
•We only need the event bus, but less of them should be use them.
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
VERT.X
MODULES
Use the actual code, there’s a lot of
modules ready for use in:
http://modulereg.vertx.io
Z
IV
#
DEMO
Everything could be happen
in this demo….
)
9V
QUESTIONS
and
ANSWERS
C’mon, we want to help and improve
this presentation…
R
% Go ahead. Ask away.
Give us your best shot.
FACEBOOK

facebook.com/makingdevs
TWITTER

twitter.com/makingdevs
YOUTUBE+

youtube.com/makingdevs
VIMEO

youtube.com/makingdevs
x
t
+
v
www.makingdevs.com
Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
FOLLOW US
social links
YOU
FOR ATTENDING
'
THANK
See you soon!

Mais conteúdo relacionado

Mais procurados

OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...OpenNebula Project
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceShapeBlue
 
Wido den Hollander - building highly available cloud with Ceph and CloudStack
Wido den Hollander - building highly available cloud with Ceph and CloudStackWido den Hollander - building highly available cloud with Ceph and CloudStack
Wido den Hollander - building highly available cloud with Ceph and CloudStackShapeBlue
 
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStackGPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStackBrian Schott
 
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...NETWAYS
 
Microcontainers, Microservices, Microservers? Less [Linux] is more!
Microcontainers, Microservices, Microservers? Less [Linux] is more!Microcontainers, Microservices, Microservers? Less [Linux] is more!
Microcontainers, Microservices, Microservers? Less [Linux] is more!Dermot Bradley
 
Discover the all new Mesosphere DC/OS 1.10
Discover the all new Mesosphere DC/OS 1.10Discover the all new Mesosphere DC/OS 1.10
Discover the all new Mesosphere DC/OS 1.10Mesosphere Inc.
 
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanOpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanNETWAYS
 
Adam Dagnall: Advanced S3 compatible storage integration in CloudStack
Adam Dagnall: Advanced S3 compatible storage integration in CloudStackAdam Dagnall: Advanced S3 compatible storage integration in CloudStack
Adam Dagnall: Advanced S3 compatible storage integration in CloudStackShapeBlue
 
Building a redundant CloudStack management cluster - Vladimir Melnik
Building a redundant CloudStack management cluster - Vladimir MelnikBuilding a redundant CloudStack management cluster - Vladimir Melnik
Building a redundant CloudStack management cluster - Vladimir MelnikShapeBlue
 
Red Hat Ceph Storage: Past, Present and Future
Red Hat Ceph Storage: Past, Present and FutureRed Hat Ceph Storage: Past, Present and Future
Red Hat Ceph Storage: Past, Present and FutureRed_Hat_Storage
 
XCP-ng - past, present and future
XCP-ng - past, present and futureXCP-ng - past, present and future
XCP-ng - past, present and futureShapeBlue
 
Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS Mesosphere Inc.
 
OpenNebula TechDay Boston 2015 - Future of Information Storage with ISS Super...
OpenNebula TechDay Boston 2015 - Future of Information Storage with ISS Super...OpenNebula TechDay Boston 2015 - Future of Information Storage with ISS Super...
OpenNebula TechDay Boston 2015 - Future of Information Storage with ISS Super...OpenNebula Project
 
Webinar MayaData OpenEBS 1.1 release
Webinar   MayaData OpenEBS 1.1 releaseWebinar   MayaData OpenEBS 1.1 release
Webinar MayaData OpenEBS 1.1 releaseMayaData Inc
 
Red hat on_power-ibm _lop_day_2015
Red hat on_power-ibm _lop_day_2015Red hat on_power-ibm _lop_day_2015
Red hat on_power-ibm _lop_day_2015cmilsted
 
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data ProtectionTrilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data ProtectionDevOps.com
 
Scalable On-Demand Hadoop Clusters with Docker and Mesos
Scalable On-Demand Hadoop Clusters with Docker and MesosScalable On-Demand Hadoop Clusters with Docker and Mesos
Scalable On-Demand Hadoop Clusters with Docker and Mesosnelsonadpresent
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesNEXTtour
 
Building an external CPI for CloudStack
Building an external CPI for CloudStackBuilding an external CPI for CloudStack
Building an external CPI for CloudStackGuillaume Berche
 

Mais procurados (20)

OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
OpenNebula TechDay Boston 2015 - Bringing Private Cloud Computing to HPC and ...
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experience
 
Wido den Hollander - building highly available cloud with Ceph and CloudStack
Wido den Hollander - building highly available cloud with Ceph and CloudStackWido den Hollander - building highly available cloud with Ceph and CloudStack
Wido den Hollander - building highly available cloud with Ceph and CloudStack
 
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStackGPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
 
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
OpenNebula Conf 2014 | OpenNebula and MooseFS for disaster recovery: real clo...
 
Microcontainers, Microservices, Microservers? Less [Linux] is more!
Microcontainers, Microservices, Microservers? Less [Linux] is more!Microcontainers, Microservices, Microservers? Less [Linux] is more!
Microcontainers, Microservices, Microservers? Less [Linux] is more!
 
Discover the all new Mesosphere DC/OS 1.10
Discover the all new Mesosphere DC/OS 1.10Discover the all new Mesosphere DC/OS 1.10
Discover the all new Mesosphere DC/OS 1.10
 
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanOpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
 
Adam Dagnall: Advanced S3 compatible storage integration in CloudStack
Adam Dagnall: Advanced S3 compatible storage integration in CloudStackAdam Dagnall: Advanced S3 compatible storage integration in CloudStack
Adam Dagnall: Advanced S3 compatible storage integration in CloudStack
 
Building a redundant CloudStack management cluster - Vladimir Melnik
Building a redundant CloudStack management cluster - Vladimir MelnikBuilding a redundant CloudStack management cluster - Vladimir Melnik
Building a redundant CloudStack management cluster - Vladimir Melnik
 
Red Hat Ceph Storage: Past, Present and Future
Red Hat Ceph Storage: Past, Present and FutureRed Hat Ceph Storage: Past, Present and Future
Red Hat Ceph Storage: Past, Present and Future
 
XCP-ng - past, present and future
XCP-ng - past, present and futureXCP-ng - past, present and future
XCP-ng - past, present and future
 
Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS Running Distributed TensorFlow with GPUs on Mesos with DC/OS
Running Distributed TensorFlow with GPUs on Mesos with DC/OS
 
OpenNebula TechDay Boston 2015 - Future of Information Storage with ISS Super...
OpenNebula TechDay Boston 2015 - Future of Information Storage with ISS Super...OpenNebula TechDay Boston 2015 - Future of Information Storage with ISS Super...
OpenNebula TechDay Boston 2015 - Future of Information Storage with ISS Super...
 
Webinar MayaData OpenEBS 1.1 release
Webinar   MayaData OpenEBS 1.1 releaseWebinar   MayaData OpenEBS 1.1 release
Webinar MayaData OpenEBS 1.1 release
 
Red hat on_power-ibm _lop_day_2015
Red hat on_power-ibm _lop_day_2015Red hat on_power-ibm _lop_day_2015
Red hat on_power-ibm _lop_day_2015
 
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data ProtectionTrilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
Trilio for Red Hat OpenStack: The Missing Link for Cloud-Native Data Protection
 
Scalable On-Demand Hadoop Clusters with Docker and Mesos
Scalable On-Demand Hadoop Clusters with Docker and MesosScalable On-Demand Hadoop Clusters with Docker and Mesos
Scalable On-Demand Hadoop Clusters with Docker and Mesos
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
 
Building an external CPI for CloudStack
Building an external CPI for CloudStackBuilding an external CPI for CloudStack
Building an external CPI for CloudStack
 

Semelhante a Apps software development with Vert.X

Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...NRB
 
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Samy Fodil
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Codit
 
RESUME_AdjunctFaculty
RESUME_AdjunctFacultyRESUME_AdjunctFaculty
RESUME_AdjunctFacultyJames Fink
 
Node.JS| Coffeescript Presentation
Node.JS| Coffeescript PresentationNode.JS| Coffeescript Presentation
Node.JS| Coffeescript PresentationSam Frons
 
MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross IntroductionStuart Lodge
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross SeminarXamarin
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentDavid Galeano
 
3-Way Scripts as a Base Unit for Flexible Scale-Out Code
3-Way Scripts as a Base Unit for Flexible Scale-Out Code3-Way Scripts as a Base Unit for Flexible Scale-Out Code
3-Way Scripts as a Base Unit for Flexible Scale-Out CodeTokyo University of Science
 
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Quentin Adam
 
RESUME_SoftwareEngineer.DOC
RESUME_SoftwareEngineer.DOCRESUME_SoftwareEngineer.DOC
RESUME_SoftwareEngineer.DOCJames Fink
 
Node.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel AvivNode.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel AvivRon Perlmuter
 
Geoscience and Microservices
Geoscience and Microservices Geoscience and Microservices
Geoscience and Microservices Matthew Gerring
 
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in CloudsTokyo University of Science
 
Building Multi-Technology Applications
Building Multi-Technology ApplicationsBuilding Multi-Technology Applications
Building Multi-Technology ApplicationsPrzemysław Ładyński
 

Semelhante a Apps software development with Vert.X (20)

Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
 
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
Connectivity is here (5 g, swarm,...). now, let's build interplanetary apps! (1)
 
E sampark with c#.net
E sampark with c#.netE sampark with c#.net
E sampark with c#.net
 
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
Azure Service Fabric: notes from the field (Sam Vanhoute @Integrate 2016)
 
RESUME_AdjunctFaculty
RESUME_AdjunctFacultyRESUME_AdjunctFaculty
RESUME_AdjunctFaculty
 
Node.JS| Coffeescript Presentation
Node.JS| Coffeescript PresentationNode.JS| Coffeescript Presentation
Node.JS| Coffeescript Presentation
 
MvvmCross Introduction
MvvmCross IntroductionMvvmCross Introduction
MvvmCross Introduction
 
MvvmCross Seminar
MvvmCross SeminarMvvmCross Seminar
MvvmCross Seminar
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game development
 
3-Way Scripts as a Base Unit for Flexible Scale-Out Code
3-Way Scripts as a Base Unit for Flexible Scale-Out Code3-Way Scripts as a Base Unit for Flexible Scale-Out Code
3-Way Scripts as a Base Unit for Flexible Scale-Out Code
 
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...Problems you’ll face in the Microservices World: Configuration, Authenticatio...
Problems you’ll face in the Microservices World: Configuration, Authenticatio...
 
RESUME_SoftwareEngineer.DOC
RESUME_SoftwareEngineer.DOCRESUME_SoftwareEngineer.DOC
RESUME_SoftwareEngineer.DOC
 
Node.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel AvivNode.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel Aviv
 
Franco arteseros resume
Franco arteseros resumeFranco arteseros resume
Franco arteseros resume
 
Geoscience and Microservices
Geoscience and Microservices Geoscience and Microservices
Geoscience and Microservices
 
Tnt 2020-jf-james
Tnt 2020-jf-jamesTnt 2020-jf-james
Tnt 2020-jf-james
 
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
 
Building Multi-Technology Applications
Building Multi-Technology ApplicationsBuilding Multi-Technology Applications
Building Multi-Technology Applications
 

Mais de Jose Juan R. Zuñiga

A lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersA lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersJose Juan R. Zuñiga
 
Herramientas para el desarrollo de software
Herramientas para el desarrollo de softwareHerramientas para el desarrollo de software
Herramientas para el desarrollo de softwareJose Juan R. Zuñiga
 
Mirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasMirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasJose Juan R. Zuñiga
 
Integrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloJose Juan R. Zuñiga
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyJose Juan R. Zuñiga
 
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceJose Juan R. Zuñiga
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mxJose Juan R. Zuñiga
 
Introduccion a grails en Campusparty
Introduccion a grails en CampuspartyIntroduccion a grails en Campusparty
Introduccion a grails en CampuspartyJose Juan R. Zuñiga
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Jose Juan R. Zuñiga
 

Mais de Jose Juan R. Zuñiga (20)

A lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersA lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developers
 
Herramientas para el desarrollo de software
Herramientas para el desarrollo de softwareHerramientas para el desarrollo de software
Herramientas para el desarrollo de software
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Webapps testing with Groovy
Webapps testing with GroovyWebapps testing with Groovy
Webapps testing with Groovy
 
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
 
El desarrollador de software
El desarrollador de softwareEl desarrollador de software
El desarrollador de software
 
Groovy in Java7mx
Groovy in Java7mxGroovy in Java7mx
Groovy in Java7mx
 
Mirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasMirando hacia atrás: Retrospectivas
Mirando hacia atrás: Retrospectivas
 
Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!
 
Integrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrollo
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
 
Introduccion a grails en Campusparty
Introduccion a grails en CampuspartyIntroduccion a grails en Campusparty
Introduccion a grails en Campusparty
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
 
Redefiniendo el MVC con Grails
Redefiniendo el MVC con GrailsRedefiniendo el MVC con Grails
Redefiniendo el MVC con Grails
 
Spring
SpringSpring
Spring
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Creación de Plataformas
Creación de PlataformasCreación de Plataformas
Creación de Plataformas
 

Último

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 

Último (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 

Apps software development with Vert.X

  • 1. K t x ( 8 5 ! a ! > " [K S 9 # Vert.X APPS SOFTWARE DEVELOPMENT WITH Hit View -> Show Presenter Notes to view important information! U @MAKINGDEVS @NEODEVELOP GITHUB.COM/ MAKINGDEVS
  • 2. www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com BEGIN END What is VertX? $ I Main Components (II Architecture ÑIII CURRENTAGENDA Main concerns bV Demo K IV
  • 3. WHAT IS VERT.X? Vert.x is a lightweight, high performance application platform for the JVM that's designed for modern mobile, web, and enterprise applications. I
  • 4. polylglot Java, JavaScript, CoffeeScript, Ruby, Python or Groovy, is your choice. Take advantage of the JVM www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com simple Write code normally, no complex configuration; the API is so simple… scalable Uses messaging to scale, we can use the cores of the same machine concurrency Simple actor-like concurrency, you don't have to deal with threads VERT.X FEATURES
  • 6. www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com VERTICLES, MODULES & INSTANCES what is this?
  • 7. www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com VERTICLES, MODULES & INSTANCES what is this?
  • 8. j å ^ K reusable code VERT.X MODULES Registry: Vert.X apps uses many modules Community Check http:// modulereg.vertx.io Many verticles: Encapsulated and together in a package. Easy to use: modules are found in Binary or Maven repo www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
  • 10. www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com HOW IT WORKS? deep inside
  • 11. main technologies WHAT’S INSIDE? •It’s build on top of Netty - https://github.com/netty/netty •Hazelcast for network discovery of nodes •Jackson for JSON expose •Java 7+ www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
  • 12. MAIN CONCERNS What kind of issues we found treating events? K " IV
  • 13. platforms and languages ABOUT THE LANGUAGES Main concern: Javascript - https://www.destroyallsoftware.com/talks/wat Vert.X resolution Polyglot programming - http://vertx.io www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
  • 14. vertical scaling ABOUT SCALING Main concern: how do we scale?, when you deploy a JVM program is single thread Vert.X resolution •Runtime.availableProcessors() == 4 •vertx run Verticle -instances 4 •Verticles: •Are assigned to one event/loop •Always executed on assigned thread •Has own class loaders and cannot shared global state •Can write the code assuming single threading www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
  • 15. what is the process for coordinate work? ABOUT COMMUNICATION Main concern: how can we communicate between components? tcp, udp, sockets, signaling, etc… Vert.X resolution •The event bus •Addressing: Is a simple string, with dot-style namespacing(recommended) •Handler registration •Pub/Sub •P2P •Messages types: String, primitives, vertx…JsonObject, vertx…Buffer •Distributed Vert.X(Event Bus), even the browser(SockJS Bridge) www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
  • 16. what is the process for coordinate work? ABOUT COMMUNICATION Main concern: How do we share state? It’s dangerous if it’s mutable!!! Vert.X resolution •Vert.X Shared State •SharedData object •java.util.concurrent.ConcurrentMap •java.util.Set<E> •Elements must be inmutable •Only available within instances, not in a cluster •Allowed values: String, primitives, byte[] www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
  • 17. reactor pattern ABOUT THE EVENT LOOP Main concern: Single thread is single event loop, and all is in it; is dangerous block the event loop. What we can do with blocking work(e.g. JDBC)? Vert.X resolution •Worker Verticles •Not assigned to event loop thread and executes in the background thread pool •Not concurrently executed •Not able to use TCP servers •We only need the event bus, but less of them should be use them. www.makingdevs.com Phone: +52(55) 185 30 73 | e-mail: juan@makingdevs.com
  • 18. VERT.X MODULES Use the actual code, there’s a lot of modules ready for use in: http://modulereg.vertx.io Z IV #
  • 19. DEMO Everything could be happen in this demo…. ) 9V
  • 20. QUESTIONS and ANSWERS C’mon, we want to help and improve this presentation… R % Go ahead. Ask away. Give us your best shot.