3. 3
El diseño guiado por el dominio, en
inglés: domain-driven design (DDD), es
un enfoque para el desarrollo de
software con necesidades complejas
mediante una profunda conexión entre
la implementación y los conceptos del
modelo y núcleo del negocio.
El DDD no es una tecnología ni una
metodología, este provee una
estructura de prácticas y terminologías
para tomar decisiones de diseño que
enfoquen y aceleren el manejo de
dominios complejos en los proyectos de
software.
Domain Driven Design
12. 12
• Las arquitecturas modernas se basan de acuerdo a una aplicación
autocontenida
• Cada aplicación internamente contiene su servidor de aplicaciones
con su configuración totalmente independiente una de la otra en
lugar de todas las aplicaciones centralizadas en un solo servidor
APLICACIONES AUTOCONTENIDAS
Desplieguedeaplicación
autocontenida
Servidor deaplicaciones
Configuración de servidor de
aplicaciones
Aplicación 1
Aplicación 2
...
App 2 App ...
App 1
Despliegueusandoun
servidordeaplicaciones
13.
14. 14
Spring es el framework más usado de Java.
Nos ofrece herramientas que nos permite
crear proyectos más avanzados, con
mejores prácticas y en menor tiempo.
• Spring Framework: Permite crear
aplicaciones empresariales. Es
transversal, ya que todos lo usan.
• Spring Boot: Con el que podemos crear
aplicaciones autocontenidas y
autoconfigurables.
• Spring Data: Gestionar e integrar bases
de datos.
• Spring Security: Gestionar la seguridad
de la aplicación.
SPRING
SpringFramework
SpringBoot
SpringDataJPA
SpringSecurity
https://spring.io/
15. 15
Spring es un framework de código
abierto para la creación de aplicaciones
empresariales Java, con soporte para
Groovy y Kotlin. Tiene una estructura
modular y una gran flexibilidad para
implementar diferentes tipos de
arquitectura según las necesidades de la
aplicación.
Spring tiene toda una familia de
proyectos que abarcan muchos ámbitos:
el ámbito de desarrollo de aplicaciones
web, aplicaciones web reactivas,
seguridad, servicios web, microservicios,
Android, etcétera.
QUE ES SPRINT
16. 16
Spring Boot es una infraestructura ligera
que elimina la mayor parte del trabajo
de configurar las aplicaciones basadas
en Spring.
• Es el proyecto de Spring para
aplicaciones autocontenidas.
• Olvidarnos de la infraestructura y
centrarnos en el desarrollo.
• Puede funcionar con Tomcat (por
defecto), Jetty o Undertow.
• Incluye gestión de dependencias
iniciales, configuración automática y
más.
SPRINT BOOT
17. 17
Spring Initializr es una API que permite
la generación de proyectos con sus
dependencias permitiendo simplificar
esta etapa inicial de arranque de nuevos
proyectos. Se compone :
API: Interfaz que permite se integración
con los entornos de desarrollo
integrados, por ejemplo: Eclipse STS,
Intellij y otros.
Web: Interfaz web que permite
directamente desde el navegador
generar un proyecto, visualizar y
descargarlo para luego cargarlo en
nuestro entorno de desarrolllo.
SPRINT INITIALIZR
https://start.spring.io/
28. 28
Thymeleaf es un moderno motor de
plantillas Java del lado del servidor para
entornos web e independientes.
El objetivo principal de Thymeleaf es
incorporar elegantes plantillas naturales
a su flujo de trabajo de desarrollo: HTML
que se puede mostrar correctamente en
los navegadores y que también
funcionan como prototipos estáticos, lo
que permite una colaboración más
sólida en los equipos de desarrollo.
Con módulos para Spring Framework,
una gran cantidad de integraciones con
sus herramientas favoritas.
THYMELEAF
https://www.thymeleaf.org/