SlideShare a Scribd company logo
Desarrollo Web
backend
SpringBoot,
MongoDB y
Azure
Patxi Gortázar
francisco.gortazar@urjc.es
@fgortazar
2
Desarrollo web backend
•Spring (Boot)
• Mongo (DB)
• Microsoft (Azure)
TECHFEST 2016
http://zeroturnaround.com/
4
Desarrollo web backend
TECHFEST 2016
5
Spring
• Framework con solera
 1.0 2005→
• Reinventado en 2014
 Spring Boot 1.0.0
TECHFEST 2016
6
Spring
TECHFEST 2016
7
Spring
TECHFEST 2016
8
Spring
TECHFEST 2016
Spring
<!-- Spring Core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.core.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.core.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.core.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.core.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.core.version}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Spring
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xmlns:task="http://www.springframework.org/schema/task"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.2.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd">
<import resource="classpath*:clock.xml" />
<context:component-scan base-package="service" annotation-config="true" />
<context:component-scan base-package="algorithm" annotation-config="true" />
<context:component-scan base-package="loader" annotation-config="true" />
<context:component-scan base-package="model.ui" annotation-config="true" />
<!-- Mongo configuration -->
<bean class="service.CascadingMongoEventListener" />
<bean class="util.MongoTemplateFactoryPostProcessor" />
<import resource="classpath*:mongo-config.xml" />
11
Spring
TECHFEST 2016
12
Spring
TECHFEST 2016
Spring Boot
13
Spring
TECHFEST 2016
14
Spring
TECHFEST 2016
15
Spring web
TECHFEST 2016
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mustache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
16
Spring web
TECHFEST 2016
package es.urjc.code.dad;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class GreetingApplication {
public static void main(String[] args) {
SpringApplication.run(GreetingApplication.class, args);
}
}
17
Spring web
TECHFEST 2016
package es.urjc.code.dad;
import java.util.Date;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class GreetingController {
@RequestMapping("/greeting")
public String welcome(Map<String, Object> model) {
model.put("name", "my friend");
return "greeting_template";
}
}
18
Spring web
TECHFEST 2016
@SpringBootApplication =>
@Configuration
@EnableAutoConfiguration
@ComponentScan
Spring
20
Spring Data
http://zeroturnaround.com/
21
Spring Cloud
22
Spring Cloud
http://spring.io/
23
MongoDB
TECHFEST 2016
24
Bases de datos no relacionales
TECHFEST 2016
http://blog.clustrix.com/
25
MongoDB
TECHFEST 2016
https://docs.mongodb.org/
26
MongoDB
TECHFEST 2016
https://docs.mongodb.org/
27
MongoDB
TECHFEST 2016
https://docs.mongodb.org/
28
MongoDB
TECHFEST 2016
https://docs.mongodb.org/
MongoDB
https://docs.mongodb.org/
30
MongoDB
TECHFEST 2016
https://docs.mongodb.org/
31
MongoDB deployment
TECHFEST 2016
https://docs.mongodb.org/
32
MongoDB deployment
TECHFEST 2016
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
Proveedores cloud
34
Proveedores cloud
TECHFEST 2016
http://www.rightscale.com/
35
Plataforma Azure
http://www.exevi.com/
36
Plataforma Azure
http://www.hpcwire.com/
37
Plataforma Azure
https://azure.microsoft.com/
38
Balanceo de carga
https://azure.microsoft.com/
39
Elasticidad
40
Microservicios
Elasticidad
http://rightquestion.org/
Desarrollo Web
backend
SpringBoot,
MongoDB y
Azure
Patxi Gortázar
francisco.gortazar@urjc.es
@fgortazar

More Related Content

PDF
Docker & PHP - Practical use case
PDF
PHP QA Tools
PDF
Docker and Running multiple versions of PHP @ CareerZoo Dublin
PDF
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
PDF
Golang workshop
PDF
find & improve some bottleneck in Debian project (DebConf14 LT)
ODP
about Debian "squeeze" @201002 OSC Tokyospring
PDF
Capistrano deploy Magento project in an efficient way
Docker & PHP - Practical use case
PHP QA Tools
Docker and Running multiple versions of PHP @ CareerZoo Dublin
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
Golang workshop
find & improve some bottleneck in Debian project (DebConf14 LT)
about Debian "squeeze" @201002 OSC Tokyospring
Capistrano deploy Magento project in an efficient way

What's hot (20)

PPTX
Gorush: A push notification server written in Go
PPTX
DevTools Package Development
PDF
Http2 on go1.6rc2
PDF
Git and Github workshop
PDF
Log monitoring with Logstash and Icinga
PPTX
Introduction to Git and Github
PPTX
Start tracking your ruby infrastructure
PDF
Local Community for Debian (2013 Taiwan miniDebConf)
PDF
Extensible web
PDF
Its easy! contributing to open source - Devnexus 2020
PDF
Intro to Git for Drupal 7
PDF
Does Cowgirl Dream of Red Swirl?
PDF
Go at Openprovider
PDF
Porting your favourite cmdline tool to Android
PDF
Ninja Build: Simple Guide for Beginners
ODP
Ripping web accessible .git files
ODP
Wonderful world of (distributed) SCM or VCS
PDF
markedj: The best of markdown processor on JVM
PDF
Git advanced
PDF
8-9-10=Jessie,Stretch,Buster
Gorush: A push notification server written in Go
DevTools Package Development
Http2 on go1.6rc2
Git and Github workshop
Log monitoring with Logstash and Icinga
Introduction to Git and Github
Start tracking your ruby infrastructure
Local Community for Debian (2013 Taiwan miniDebConf)
Extensible web
Its easy! contributing to open source - Devnexus 2020
Intro to Git for Drupal 7
Does Cowgirl Dream of Red Swirl?
Go at Openprovider
Porting your favourite cmdline tool to Android
Ninja Build: Simple Guide for Beginners
Ripping web accessible .git files
Wonderful world of (distributed) SCM or VCS
markedj: The best of markdown processor on JVM
Git advanced
8-9-10=Jessie,Stretch,Buster
Ad

Viewers also liked (15)

PDF
CRE-015-商業創新與創業組知識地圖Ppt
PPTX
ODP
Tipos de hardware.odp
PPTX
Lupin Foundation bhopal centre work clippings
DOCX
PPTX
SERVICIOS PUBLICOS
PPT
Contar importa
DOCX
Restricciones de uso por calidad
PDF
Polsteam
PPT
Family Cottage and Recreational Property Strategies by Mike Bondy
PPTX
Crea y gestiona tablas dinámicas en excel
PDF
Tutorial kizoa
PDF
GriffDnie (Griffon Demo)
PDF
Listen up and tune in!
PDF
Gorm for cassandra
CRE-015-商業創新與創業組知識地圖Ppt
Tipos de hardware.odp
Lupin Foundation bhopal centre work clippings
SERVICIOS PUBLICOS
Contar importa
Restricciones de uso por calidad
Polsteam
Family Cottage and Recreational Property Strategies by Mike Bondy
Crea y gestiona tablas dinámicas en excel
Tutorial kizoa
GriffDnie (Griffon Demo)
Listen up and tune in!
Gorm for cassandra
Ad

Similar to Desarrollo web backend: Spring Boot, MongoDB y Azure (20)

PPT
Html5 drupal7 with mandakini kumari(1)
PDF
Front End Development for Back End Developers - vJUG24 2017
KEY
NDC 2011 - Let me introduce my Moncai
KEY
Django deployment with PaaS
PDF
Front End Development for Back End Developers - Devoxx UK 2017
PPTX
Hacking the browser with puppeteer sharp .NET conf AR 2018
PDF
Introduction to node js - From "hello world" to deploying on azure
PDF
CTU June 2011 - Things that Every ASP.NET Developer Should Know
PPTX
20150317 firefox os_studymtg_engver
PDF
Put a little Backbone in your WordPress vs. 3
PDF
Front End Development for Back End Developers - UberConf 2017
PDF
Attractive HTML5~開発者の視点から~
PDF
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
PPTX
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
PPTX
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
PDF
Front End Development for Back End Java Developers - Jfokus 2020
PDF
Comparing Native Java REST API Frameworks - Devoxx France 2022
PDF
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
PDF
Google Cloud Endpointsによる API構築
PDF
Comparing Native Java REST API Frameworks - Seattle JUG 2022
Html5 drupal7 with mandakini kumari(1)
Front End Development for Back End Developers - vJUG24 2017
NDC 2011 - Let me introduce my Moncai
Django deployment with PaaS
Front End Development for Back End Developers - Devoxx UK 2017
Hacking the browser with puppeteer sharp .NET conf AR 2018
Introduction to node js - From "hello world" to deploying on azure
CTU June 2011 - Things that Every ASP.NET Developer Should Know
20150317 firefox os_studymtg_engver
Put a little Backbone in your WordPress vs. 3
Front End Development for Back End Developers - UberConf 2017
Attractive HTML5~開発者の視点から~
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
Front End Development for Back End Java Developers - Jfokus 2020
Comparing Native Java REST API Frameworks - Devoxx France 2022
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Google Cloud Endpointsによる API構築
Comparing Native Java REST API Frameworks - Seattle JUG 2022

More from Patxi Gortázar (7)

PDF
Jenkins pipeline
PDF
Docker & ci
PDF
Migrando CI a Docker
PDF
La computación en la nube en el aula
PDF
Path relinking for high dimensional continuous optimization
PPT
Grammarware engineering: un enfoque dirigido por modelos
PPTX
Git: un enfoque práctico
Jenkins pipeline
Docker & ci
Migrando CI a Docker
La computación en la nube en el aula
Path relinking for high dimensional continuous optimization
Grammarware engineering: un enfoque dirigido por modelos
Git: un enfoque práctico

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Spectroscopy.pptx food analysis technology
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Cloud computing and distributed systems.
PDF
Empathic Computing: Creating Shared Understanding
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
MYSQL Presentation for SQL database connectivity
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Understanding_Digital_Forensics_Presentation.pptx
Spectroscopy.pptx food analysis technology
sap open course for s4hana steps from ECC to s4
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Per capita expenditure prediction using model stacking based on satellite ima...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Advanced methodologies resolving dimensionality complications for autism neur...
MIND Revenue Release Quarter 2 2025 Press Release
Building Integrated photovoltaic BIPV_UPV.pdf
Cloud computing and distributed systems.
Empathic Computing: Creating Shared Understanding

Desarrollo web backend: Spring Boot, MongoDB y Azure