SlideShare a Scribd company logo
1 of 55
Download to read offline
Construye tu propio Backend
y API REST con Java
Vanessa Galcerà @VanessaGaRe
WTM Lead of GDG Tarragona
● Ingeniera Informática
● 4 años como formadora de Sun Microsystems y Red Hat
● Desarrollo de aplicaciones empresariales con Oracle ADF
En mi tiempo libre:
● Co-fundadora de TarracoDroid y GDG Tarragona
● Women Techmaker Lead
● Apoyo al desarrollo de apps Android
Sobre mi
@VanessaGaRe
Qué queremos hacer?
Arquitectura con API
@VanessaGaRe
Modelo contrario: Arquitectura sin API
@VanessaGaRe
Cómo va a ser nuestro backend
@VanessaGaRe
Qué es JPA
● Java Persistence API
● Facilita el mapeo de objetos
java a datos relacionales
● Simplifica la persistencia de
datos
Clase Entidad
● Objeto de persistencia ligero, Plain Old Java Object (POJO)
● Representa una tabla de la BD (y su instancia, una fila de la tabla)
● Puede extender otras entidades y clases que no son entidades
@VanessaGaRe
Requisitos de una clase Entidad
● Deberían ser anotadas con @Entity
● Deben tener un constructor sin argumentos public o protected
● No puede ser una clase interna, ni un enumerado ni una interfaz
● Las clases, métodos y campos persistentes no pueden ser final
● Deben implementar la interfaz serializable
@VanessaGaRe
Ejemplo:
Vintage Video Games
Qué entidades podemos necesitar
Game:
● name: String
● description: String
● date: Date
● score: float
● platform: String
● id: int
@VanessaGaRe
Qué entidades podemos necesitar
Game:
● name: String
● description: String
● date: Date
● score: float
● platforms: List<Platform>
● id: int
Platform:
● name: String
● description: String
● id: int
@VanessaGaRe
Entidad Game
@VanessaGaRe
Entidad Game
Ejemplo @OneToMany
annotation
@VanessaGaRe
Entidad Game
@VanessaGaRe
Entidad Platform
@VanessaGaRe
Parte práctica:
Vintage Video Games
Qué necesitamos
● Java JDK
● Eclipse para Java EE
○ Tiene que ser la versión soportada por JBoss Tools
● Un servidor Java EE
○ Wildfly
● JBoss Tools for Eclipse
○ Incluyen Forge
@VanessaGaRe
JBoss Tools Installation (1) http://tools.jboss.org
@VanessaGaRe
JBoss Tools Installation (2) http://tools.jboss.org
@VanessaGaRe
JBoss Tools Installation (3) http://tools.jboss.org
Descargar el Eclipse
Instalar JBoss Tools
@VanessaGaRe
Eclipse
@VanessaGaRe
1. Descargar
2. Descomprimir
3. Arrancar
Instalar extensión JBoss Tools en Eclipse (1)
@VanessaGaRe
http://download.jboss.org/jbosstools/neon/stable/updates/
@VanessaGaRe
Instalar extensión JBoss Tools en Eclipse (3)
@VanessaGaRe
Instalar extensión JBoss Tools en Eclipse (4)
@VanessaGaRe
Instalar extensión JBoss Tools en Eclipse (5)
@VanessaGaRe
Servidor WildFly
@VanessaGaRe
1. Descargar
2. Descomprimir
Creamos un
proyecto
Tipo:
● Java EE Web Project
@VanessaGaRe
Comprobaciones
● Plugins necesarios
● Servidor disponible
● …
No tenemos servidor!!
@VanessaGaRe
Añadimos el
servidor
Directorio donde
descomprimimos el zip
del WildFly
@VanessaGaRe
Añadimos el
servidor
Listo!
@VanessaGaRe
Comprobaciones
Ya podemos seleccionar:
● Target Runtime:
WildFly 10
● Create blank project
@VanessaGaRe
Nombre del
proyecto
● Nombre
● Package
@VanessaGaRe
Creamos la
Entidad ‘Game’ (1)
New → JPA Entity
@VanessaGaRe
Creamos la
Entidad ‘Game’ (2)
● Package: model
● Class Name: Game
@VanessaGaRe
Creamos la
Entidad ‘Game’ (3)
Código disponible en:
https://github.com/vgalc
era/Vintage-VideoGames
@VanessaGaRe
Creamos la
Entidad ‘Platform’
Código disponible en:
https://github.com/vgalc
era/Vintage-VideoGames
@VanessaGaRe
Nuestra API REST
● Operaciones CRUD sobre las entidades
● Buscar por:
○ Valoración
○ Nombre
○ Plataforma
● Votar juego → Implica cambiar el modelo
○ + nº votos, puntuación global
○ + scoreUsers @VanessaGaRe
Generar la API REST y la admin UI
JBoss Forge
● Potente herramienta de
desarrollo rápido de apps
● Puede crear la base para
una app a partir de
recursos existentes.
Construir una GUI de Administración
para el Backend
Generar la API REST y la Admin UI (1) → Pulsar Ctrl + 4
@VanessaGaRe
Generar la API REST y la Admin UI (2)
Generar la API REST y la Admin UI (3)
@VanessaGaRe
Generar la API REST y la Admin UI (4)
@VanessaGaRe
Generar la API REST y la Admin UI (5)
@VanessaGaRe
Vamos a ver que ha generado
Desplegar nuestro backend
Desplegar la
aplicación en el
servidor
Run As → Run on Server
@VanessaGaRe
Desplegar la
aplicación en el
servidor
@VanessaGaRe
Controlar el servidor
@VanessaGaRe
Entramos en nuestro backend?
Nuestra
Admin GUI
@VanessaGaRe
@VanessaGaRe
Nuestra
API REST
Gracias!
Vanessa Galcerà
@VanessaGaRe
vgalcera@gmail.com www.techandladies.com
@TechandLadies
info@techandladies.com
www.gdgtarragona.net
@GDGTarragona

More Related Content

What's hot (20)

Phonegap
PhonegapPhonegap
Phonegap
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Proyecto de informatica ii visual basic 2008
Proyecto de informatica ii visual basic 2008Proyecto de informatica ii visual basic 2008
Proyecto de informatica ii visual basic 2008
 
Rest
RestRest
Rest
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Tecnologia ASP.net
Tecnologia ASP.netTecnologia ASP.net
Tecnologia ASP.net
 
Laravel Tutorial PPT
Laravel Tutorial PPTLaravel Tutorial PPT
Laravel Tutorial PPT
 
Distribución de aplicaciones
Distribución de aplicacionesDistribución de aplicaciones
Distribución de aplicaciones
 
Accesibilidad Web
Accesibilidad WebAccesibilidad Web
Accesibilidad Web
 
Couchdb
CouchdbCouchdb
Couchdb
 
Angular 4 and TypeScript
Angular 4 and TypeScriptAngular 4 and TypeScript
Angular 4 and TypeScript
 
Características Java
Características JavaCaracterísticas Java
Características Java
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
1.introduccion java
1.introduccion java1.introduccion java
1.introduccion java
 
Java script
Java scriptJava script
Java script
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Laravel Introduction
Laravel IntroductionLaravel Introduction
Laravel Introduction
 
Ruby presentacion
Ruby presentacionRuby presentacion
Ruby presentacion
 
How to build SDKs in Go
How to build SDKs in GoHow to build SDKs in Go
How to build SDKs in Go
 

Similar to Construye tu propio Backend y API REST con Java

09. Java desde Cero autor UNAM_1.111.pdf
09. Java desde Cero autor UNAM_1.111.pdf09. Java desde Cero autor UNAM_1.111.pdf
09. Java desde Cero autor UNAM_1.111.pdfIrene619127
 
Taller introducción Java EE 7 @UAPA
Taller introducción Java EE 7  @UAPATaller introducción Java EE 7  @UAPA
Taller introducción Java EE 7 @UAPAEudris Cabrera
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event managerIvan Ortega
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de JavaLuzRom
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipseejavierot99
 
SpringFramework Overview
SpringFramework OverviewSpringFramework Overview
SpringFramework Overviewzerovirus23
 
Programación web framework djando - noviembre de 2014
Programación web   framework djando - noviembre de 2014Programación web   framework djando - noviembre de 2014
Programación web framework djando - noviembre de 2014SandraMartinezG
 
[ES] Introducción a Java EE 7 & HTML 5
[ES] Introducción a Java EE 7 & HTML 5[ES] Introducción a Java EE 7 & HTML 5
[ES] Introducción a Java EE 7 & HTML 5Eudris Cabrera
 
Programación web framework django - noviembre de 2014
Programación web   framework django - noviembre de 2014Programación web   framework django - noviembre de 2014
Programación web framework django - noviembre de 2014Eduardo Ernesto Lechuga
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaDomingo Suarez Torres
 
Salesforce DX: A closer look
Salesforce DX: A closer lookSalesforce DX: A closer look
Salesforce DX: A closer lookFederico Giust
 

Similar to Construye tu propio Backend y API REST con Java (20)

202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy202204-Modernizando aplicaciones legacy
202204-Modernizando aplicaciones legacy
 
Clase 1 jJAVA 2012
Clase 1 jJAVA 2012Clase 1 jJAVA 2012
Clase 1 jJAVA 2012
 
09. Java desde Cero autor UNAM_1.111.pdf
09. Java desde Cero autor UNAM_1.111.pdf09. Java desde Cero autor UNAM_1.111.pdf
09. Java desde Cero autor UNAM_1.111.pdf
 
Taller introducción Java EE 7 @UAPA
Taller introducción Java EE 7  @UAPATaller introducción Java EE 7  @UAPA
Taller introducción Java EE 7 @UAPA
 
Java desde cero
Java desde ceroJava desde cero
Java desde cero
 
Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de Java
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipsee
 
Java desde Cero.pdf
Java desde Cero.pdfJava desde Cero.pdf
Java desde Cero.pdf
 
Atix20
Atix20Atix20
Atix20
 
SpringFramework Overview
SpringFramework OverviewSpringFramework Overview
SpringFramework Overview
 
Programación web framework djando - noviembre de 2014
Programación web   framework djando - noviembre de 2014Programación web   framework djando - noviembre de 2014
Programación web framework djando - noviembre de 2014
 
[ES] Introducción a Java EE 7 & HTML 5
[ES] Introducción a Java EE 7 & HTML 5[ES] Introducción a Java EE 7 & HTML 5
[ES] Introducción a Java EE 7 & HTML 5
 
Tutorial eclipse
Tutorial eclipseTutorial eclipse
Tutorial eclipse
 
Programación web framework django - noviembre de 2014
Programación web   framework django - noviembre de 2014Programación web   framework django - noviembre de 2014
Programación web framework django - noviembre de 2014
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador Java
 
JAVA3.0
JAVA3.0JAVA3.0
JAVA3.0
 
principios básicos
principios básicosprincipios básicos
principios básicos
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
 
Salesforce DX: A closer look
Salesforce DX: A closer lookSalesforce DX: A closer look
Salesforce DX: A closer look
 

Construye tu propio Backend y API REST con Java