Desarrollo web backend: Spring Boot, MongoDB y Azure

42
Desarrollo Web backend SpringBoot, MongoDB y Azure Patxi Gortázar [email protected] @fgortazar

Transcript of Desarrollo web backend: Spring Boot, MongoDB y Azure

Page 1: Desarrollo web backend: Spring Boot, MongoDB y Azure

Desarrollo Web backendSpringBoot, MongoDB y Azure

Patxi Gortá[email protected]

@fgortazar

Page 2: Desarrollo web backend: Spring Boot, MongoDB y Azure

22

Desarrollo web backend

•Spring (Boot)•Mongo (DB)

•Microsoft (Azure)

TECHFEST 2016

Page 3: Desarrollo web backend: Spring Boot, MongoDB y Azure

http://zeroturnaround.com/

Page 4: Desarrollo web backend: Spring Boot, MongoDB y Azure

44

Desarrollo web backendTECHFEST 2016

Page 5: Desarrollo web backend: Spring Boot, MongoDB y Azure

55

Spring

• Framework con solera 1.0 2005→

• Reinventado en 2014 Spring Boot 1.0.0

TECHFEST 2016

Page 6: Desarrollo web backend: Spring Boot, MongoDB y Azure

66

SpringTECHFEST 2016

Page 7: Desarrollo web backend: Spring Boot, MongoDB y Azure

77

SpringTECHFEST 2016

Page 8: Desarrollo web backend: Spring Boot, MongoDB y Azure

88

SpringTECHFEST 2016

Page 9: Desarrollo web backend: Spring Boot, MongoDB y Azure

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>

Page 10: Desarrollo web backend: Spring Boot, MongoDB y Azure

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" />

Page 11: Desarrollo web backend: Spring Boot, MongoDB y Azure

1111

SpringTECHFEST 2016

Page 12: Desarrollo web backend: Spring Boot, MongoDB y Azure

1212

SpringTECHFEST 2016

Spring Boot

Page 13: Desarrollo web backend: Spring Boot, MongoDB y Azure

1313

SpringTECHFEST 2016

Page 14: Desarrollo web backend: Spring Boot, MongoDB y Azure

1414

SpringTECHFEST 2016

Page 15: Desarrollo web backend: Spring Boot, MongoDB y Azure

1515

Spring webTECHFEST 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>

Page 16: Desarrollo web backend: Spring Boot, MongoDB y Azure

1616

Spring webTECHFEST 2016

package es.urjc.code.dad;

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplicationpublic class GreetingApplication {

public static void main(String[] args) {SpringApplication.run(GreetingApplication.class, args);

}}

Page 17: Desarrollo web backend: Spring Boot, MongoDB y Azure

1717

Spring webTECHFEST 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;

@Controllerpublic class GreetingController {

@RequestMapping("/greeting")public String welcome(Map<String, Object> model) {

model.put("name", "my friend");return "greeting_template";

}}

Page 18: Desarrollo web backend: Spring Boot, MongoDB y Azure

1818

Spring webTECHFEST 2016

@SpringBootApplication =>

@Configuration

@EnableAutoConfiguration

@ComponentScan

Page 19: Desarrollo web backend: Spring Boot, MongoDB y Azure

Spring

Page 20: Desarrollo web backend: Spring Boot, MongoDB y Azure

2020

Spring Data

http://zeroturnaround.com/

Page 21: Desarrollo web backend: Spring Boot, MongoDB y Azure

2121

Spring Cloud

Page 22: Desarrollo web backend: Spring Boot, MongoDB y Azure

2222

Spring Cloud

http://spring.io/

Page 23: Desarrollo web backend: Spring Boot, MongoDB y Azure

2323

MongoDBTECHFEST 2016

Page 24: Desarrollo web backend: Spring Boot, MongoDB y Azure

2424

Bases de datos no relacionalesTECHFEST 2016

http://blog.clustrix.com/

Page 25: Desarrollo web backend: Spring Boot, MongoDB y Azure

2525

MongoDBTECHFEST 2016

https://docs.mongodb.org/

Page 26: Desarrollo web backend: Spring Boot, MongoDB y Azure

2626

MongoDBTECHFEST 2016

https://docs.mongodb.org/

Page 27: Desarrollo web backend: Spring Boot, MongoDB y Azure

2727

MongoDBTECHFEST 2016

https://docs.mongodb.org/

Page 28: Desarrollo web backend: Spring Boot, MongoDB y Azure

2828

MongoDBTECHFEST 2016

https://docs.mongodb.org/

Page 29: Desarrollo web backend: Spring Boot, MongoDB y Azure

MongoDB

https://docs.mongodb.org/

Page 30: Desarrollo web backend: Spring Boot, MongoDB y Azure

3030

MongoDBTECHFEST 2016

https://docs.mongodb.org/

Page 31: Desarrollo web backend: Spring Boot, MongoDB y Azure

3131

MongoDB deploymentTECHFEST 2016

https://docs.mongodb.org/

Page 32: Desarrollo web backend: Spring Boot, MongoDB y Azure

3232

MongoDB deploymentTECHFEST 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>

Page 33: Desarrollo web backend: Spring Boot, MongoDB y Azure

Proveedores cloud

Page 34: Desarrollo web backend: Spring Boot, MongoDB y Azure

3434

Proveedores cloudTECHFEST 2016

http://www.rightscale.com/

Page 35: Desarrollo web backend: Spring Boot, MongoDB y Azure

3535

Plataforma Azure

http://www.exevi.com/

Page 36: Desarrollo web backend: Spring Boot, MongoDB y Azure

3636

Plataforma Azure

http://www.hpcwire.com/

Page 37: Desarrollo web backend: Spring Boot, MongoDB y Azure

3737

Plataforma Azure

https://azure.microsoft.com/

Page 38: Desarrollo web backend: Spring Boot, MongoDB y Azure

3838

Balanceo de carga

https://azure.microsoft.com/

Page 39: Desarrollo web backend: Spring Boot, MongoDB y Azure

3939

Elasticidad

Page 40: Desarrollo web backend: Spring Boot, MongoDB y Azure

4040

Microservicios

Page 41: Desarrollo web backend: Spring Boot, MongoDB y Azure

Elasticidad

http://rightquestion.org/

Page 42: Desarrollo web backend: Spring Boot, MongoDB y Azure

Desarrollo Web backendSpringBoot, MongoDB y Azure

Patxi Gortá[email protected]

@fgortazar