SlideShare una empresa de Scribd logo
Spark Java
APLICACIONES WEB LIGERAS Y RÁPIDAS CON JAVA
 Pesado
 Lento
 Antiguo
 Complejo
 …
Cómo percibimos Java
Multitud de Tecnologías Java:
 JSF, Struts 1/2, Grails, Vaadin,
Spring MVC.
 Spring.
 Hibernate, OpenJPA, Ibatis, etc.
 Axis, Axis 2, SpringWS, Apache CXF,
etc.
 Apache Tomcat, Jboss, Glassfish,
Jetty, etc.
 …
¿Pero realmente es así?
Tecnologías utilizadas:
 Maven 3.3.3
 JSF 2.3.0-m02
 Tomcat 8
 JDK 1.8
Hola mundo en JSF
Tecnologías utilizadas:
 Gradle 2.10
 Spring 4.1.6.RELEASE
 Tomcat 7 or Jetty 9
 JDK 1.8
 Logback 1.1.3
 Boostrap 3
Hola mundo en Spring MVC
Referencia: http://www.mkyong.com/spring-
mvc/gradle-spring-4-mvc-hello-world-
example-annotation/
Tecnologías utilizadas:
Hola mundo en Grails
• Grails version: 3.0.11
• Groovy version: 2.4.5
• JVM version: 1.8
• eventBus: 3.0.11
• restResponder: 3.0.11
• dataBinding: 3.0.11
• I18n: 3.0.11
• controllersAsync: 3.0.11
• Hibernate: 4.3.10.7
• Filters: 3.0.11
• groovyPages: 3.0.11
• Services: 3.0.11
• Scaffolding: 3.1.2
• …
Referencia: https://grails.org/single-page-documentation.html
Java no es más que una
herramienta para
construir aplicaciones.
Los frameworks
anteriores facilitan el
desarrollo de
aplicaciones Fullstack
porque proporcionan la
tecnología base estándar.
¿Y esto es necesariamente malo?
Los frameworks clásicos incluyen
funcionalidades, tecnologías y capas
que facilitan el desarrollo para
aplicaciones complejas.
Las aplicaciones pequeñas
pretenden ser ligeras y sencillas, por
lo que no necesitan tantas
funcionalidades y capas.
¿Y para aplicaciones pequeñas?
Spark es un Framework pequeño, basado en Sinatra, para la
creación de aplicaciones web con Java 8 de manera rápida y
sencilla.
Objetivos:
 Permitir a los desarrolladores de Java crear de manera
rápida y sencilla (sin engorrosos XMLs) aplicaciones web.
 Cambiar el paradigma de anotaciones por código simple
y sencillo.
 No competir con Sinatra (ni con sus respectivos clones).
¿Qué es Spark Java?
Tecnologías utilizadas:
 Maven 3.3.3
 Spark 2.3
 Jetty 9.3.2
 JDK 1.8
Hola mundo en Spark
Referencia: http://sparkjava.com/
Encuesta de uso de Spark:
 El 57% de usuarios lo usa para proyectos personales.
 El 51% de usuarios lo utiliza para APIs REST.
 El 25% hace páginas web.
Datos de Spark
Encuesta número de usuarios/día:
 Alrededor del 80% de encuestados no han desplegado su aplicación.
 Principalmente se utiliza para aplicaciones pequeñas, con pocos usuarios.
 Aun así se puede utilizar para aplicaciones grandes.
Datos de Spark
Referencia: http://sparkjava.com/news.html#sparksurvey
Microservicio JSON con operaciones CRUD para la gestión de
usuarios:
 Post: Crear un usuario.
 Get: Consultar usuario/s.
 Put: Actualizar datos de usuario.
 Delete: Borrar usuario.
API REST con Spark
Referencia:
https://franl2p.wordpress.com/2015/10/15/microservicio-restful-con-spark-java
https://github.com/flparedes/RestfulApi
API REST con Spark - Get
Get se utiliza para recuperar datos de uno o varios usuarios.
API REST con Spark - Post
Con post se crea un nuevo usuario a partir de los datos del formulario.
API REST con Spark - Put
Put permite modificar los datos del usuario con el identificador dado.
API REST con Spark - Delete
Con delete se puede borrar el usuario con el identificador dado.
¿Preguntas?
Contacto:
GitHub: https://github.com/flparedes
Blog: https://franl2p.wordpress.com
Email: franciscoluis.paredes@gmail.com
Preguntad ahora o callad
para siempre.

Más contenido relacionado

PDF
Spring boot + spock
PPTX
Desinstalación de un programa
PPTX
Desinstalación de un programa
PPTX
Spring boot et. al. para el impaciente
PDF
Seguridad en tu startup
PPTX
Building APIs with Kotlin and Spark
PDF
Experiencias en la Implementación de la PMO - Cecilia Boggi
PDF
ROI en Tecnologias de la Informacion
Spring boot + spock
Desinstalación de un programa
Desinstalación de un programa
Spring boot et. al. para el impaciente
Seguridad en tu startup
Building APIs with Kotlin and Spark
Experiencias en la Implementación de la PMO - Cecilia Boggi
ROI en Tecnologias de la Informacion

Similar a Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes. (20)

ODP
Web framework ligeros y micros en java barcamp 2014
PPTX
Linea del tiempo de los frameworks
PDF
Jc Web2.0 Java Ee5 Net Beans
PPTX
LenguajeJavaSpringBootDesarrolloweb.pptx
PDF
[ES] Introducción a Java EE 7
PDF
Semana 6 Navegación y parámetros Sprint Boot
PDF
Frameworks JAVA EE 5 de marzo de 2.012
PPTX
SGBD y tecnologías que usan las aplicaciones web 2.0
PDF
Sanchez pamela y su trabajo escolar final
PDF
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
PDF
[ES] Introducción a las Aplicaciones Web con Java
DOCX
Israel tecnologias para desarrollo-web
PDF
Introducción a java EE 7
PPTX
Arquitectura de Software Cliente - Servidor.ppt
DOCX
PPT
Aplicaciones web
PPTX
Microservicios con Quarkus
PPT
Arquitectura
PPT
Jc Web20 Open Source Why Floss2007
Web framework ligeros y micros en java barcamp 2014
Linea del tiempo de los frameworks
Jc Web2.0 Java Ee5 Net Beans
LenguajeJavaSpringBootDesarrolloweb.pptx
[ES] Introducción a Java EE 7
Semana 6 Navegación y parámetros Sprint Boot
Frameworks JAVA EE 5 de marzo de 2.012
SGBD y tecnologías que usan las aplicaciones web 2.0
Sanchez pamela y su trabajo escolar final
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
[ES] Introducción a las Aplicaciones Web con Java
Israel tecnologias para desarrollo-web
Introducción a java EE 7
Arquitectura de Software Cliente - Servidor.ppt
Aplicaciones web
Microservicios con Quarkus
Arquitectura
Jc Web20 Open Source Why Floss2007
Publicidad

Más de betabeers (20)

PPSX
IONIC, el framework para crear aplicaciones híbridas multiplataforma
PDF
Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)
PPTX
Blockchain: la revolución industrial de internet - Oscar Lage
PDF
Cloud Learning: la formación del siglo XXI - Mónica Mediavilla
PDF
Desarrollo web en Nodejs con Pillars por Chelo Quilón
PDF
La línea recta hacia el éxito - Jon Torrado - Betabeers Bilbao
PDF
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
PDF
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)
PPTX
Introducción a scrum - Rodrigo Corral (Plain Concepts)
PPTX
Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)
PPTX
Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)
PDF
Elemental, querido Watson - Caso de Uso
PDF
Buenas prácticas para la optimización web
PDF
La magia de Scrum
PDF
Programador++ por @wottam
PPTX
RaspberryPi: Tu dispositivo para IoT
PDF
Introducción al Big Data - Xabier Tranche - VIII Betabeers Bilbao 27/02/2015
PDF
PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015
PPTX
Presentación Kbi Digital - VIII Betabeers Bilbao 27/02/2015
PDF
Timerepublik
IONIC, el framework para crear aplicaciones híbridas multiplataforma
Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)
Blockchain: la revolución industrial de internet - Oscar Lage
Cloud Learning: la formación del siglo XXI - Mónica Mediavilla
Desarrollo web en Nodejs con Pillars por Chelo Quilón
La línea recta hacia el éxito - Jon Torrado - Betabeers Bilbao
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)
Introducción a scrum - Rodrigo Corral (Plain Concepts)
Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)
Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)
Elemental, querido Watson - Caso de Uso
Buenas prácticas para la optimización web
La magia de Scrum
Programador++ por @wottam
RaspberryPi: Tu dispositivo para IoT
Introducción al Big Data - Xabier Tranche - VIII Betabeers Bilbao 27/02/2015
PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015
Presentación Kbi Digital - VIII Betabeers Bilbao 27/02/2015
Timerepublik
Publicidad

Último (20)

PDF
Estrategias de apoyo de tecnología 2do periodo pdf
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PPTX
Seminario de telecomunicaciones para ingeniería
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PDF
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
PDF
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
PPTX
Contexto Normativo NSR10, presentacion 2025
PDF
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
PDF
1132-2018 espectrofotometro uv visible.pdf
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
PDF
S15 Protección de redes electricas 2025-1_removed.pdf
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PPT
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
PPTX
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
PDF
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
PPTX
GEOLOGIA, principios , fundamentos y conceptos
DOCX
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
Estrategias de apoyo de tecnología 2do periodo pdf
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
Seminario de telecomunicaciones para ingeniería
NILS actividad 4 PRESENTACION.pptx pppppp
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
Contexto Normativo NSR10, presentacion 2025
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
1132-2018 espectrofotometro uv visible.pdf
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
S15 Protección de redes electricas 2025-1_removed.pdf
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PRIMEROS AUXILIOS EN EL SECTOR EMPRESARIAL
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
clase MICROCONTROLADORES ago-dic 2019.pptx
GEOLOGIA, principios , fundamentos y conceptos
CONCEPTOS BASICOS DE LA PROGRAMACION STEP

Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes.

  • 1. Spark Java APLICACIONES WEB LIGERAS Y RÁPIDAS CON JAVA
  • 2.  Pesado  Lento  Antiguo  Complejo  … Cómo percibimos Java
  • 3. Multitud de Tecnologías Java:  JSF, Struts 1/2, Grails, Vaadin, Spring MVC.  Spring.  Hibernate, OpenJPA, Ibatis, etc.  Axis, Axis 2, SpringWS, Apache CXF, etc.  Apache Tomcat, Jboss, Glassfish, Jetty, etc.  … ¿Pero realmente es así?
  • 4. Tecnologías utilizadas:  Maven 3.3.3  JSF 2.3.0-m02  Tomcat 8  JDK 1.8 Hola mundo en JSF
  • 5. Tecnologías utilizadas:  Gradle 2.10  Spring 4.1.6.RELEASE  Tomcat 7 or Jetty 9  JDK 1.8  Logback 1.1.3  Boostrap 3 Hola mundo en Spring MVC Referencia: http://www.mkyong.com/spring- mvc/gradle-spring-4-mvc-hello-world- example-annotation/
  • 6. Tecnologías utilizadas: Hola mundo en Grails • Grails version: 3.0.11 • Groovy version: 2.4.5 • JVM version: 1.8 • eventBus: 3.0.11 • restResponder: 3.0.11 • dataBinding: 3.0.11 • I18n: 3.0.11 • controllersAsync: 3.0.11 • Hibernate: 4.3.10.7 • Filters: 3.0.11 • groovyPages: 3.0.11 • Services: 3.0.11 • Scaffolding: 3.1.2 • … Referencia: https://grails.org/single-page-documentation.html
  • 7. Java no es más que una herramienta para construir aplicaciones. Los frameworks anteriores facilitan el desarrollo de aplicaciones Fullstack porque proporcionan la tecnología base estándar. ¿Y esto es necesariamente malo?
  • 8. Los frameworks clásicos incluyen funcionalidades, tecnologías y capas que facilitan el desarrollo para aplicaciones complejas. Las aplicaciones pequeñas pretenden ser ligeras y sencillas, por lo que no necesitan tantas funcionalidades y capas. ¿Y para aplicaciones pequeñas?
  • 9. Spark es un Framework pequeño, basado en Sinatra, para la creación de aplicaciones web con Java 8 de manera rápida y sencilla. Objetivos:  Permitir a los desarrolladores de Java crear de manera rápida y sencilla (sin engorrosos XMLs) aplicaciones web.  Cambiar el paradigma de anotaciones por código simple y sencillo.  No competir con Sinatra (ni con sus respectivos clones). ¿Qué es Spark Java?
  • 10. Tecnologías utilizadas:  Maven 3.3.3  Spark 2.3  Jetty 9.3.2  JDK 1.8 Hola mundo en Spark Referencia: http://sparkjava.com/
  • 11. Encuesta de uso de Spark:  El 57% de usuarios lo usa para proyectos personales.  El 51% de usuarios lo utiliza para APIs REST.  El 25% hace páginas web. Datos de Spark
  • 12. Encuesta número de usuarios/día:  Alrededor del 80% de encuestados no han desplegado su aplicación.  Principalmente se utiliza para aplicaciones pequeñas, con pocos usuarios.  Aun así se puede utilizar para aplicaciones grandes. Datos de Spark Referencia: http://sparkjava.com/news.html#sparksurvey
  • 13. Microservicio JSON con operaciones CRUD para la gestión de usuarios:  Post: Crear un usuario.  Get: Consultar usuario/s.  Put: Actualizar datos de usuario.  Delete: Borrar usuario. API REST con Spark Referencia: https://franl2p.wordpress.com/2015/10/15/microservicio-restful-con-spark-java https://github.com/flparedes/RestfulApi
  • 14. API REST con Spark - Get Get se utiliza para recuperar datos de uno o varios usuarios.
  • 15. API REST con Spark - Post Con post se crea un nuevo usuario a partir de los datos del formulario.
  • 16. API REST con Spark - Put Put permite modificar los datos del usuario con el identificador dado.
  • 17. API REST con Spark - Delete Con delete se puede borrar el usuario con el identificador dado.