Charla - Cls
-
Upload
byron-segovia -
Category
Documents
-
view
230 -
download
0
Transcript of Charla - Cls
-
8/17/2019 Charla - Cls
1/64
Agenda
-
8/17/2019 Charla - Cls
2/64
S.O.L.I.D
-
8/17/2019 Charla - Cls
3/64
SOLID
-
8/17/2019 Charla - Cls
4/64
SOLID
-
8/17/2019 Charla - Cls
5/64
-
8/17/2019 Charla - Cls
6/64
SOLID
Single Responsibility
Una clase jamás debería tener más de una razcual cambiar.
Responsabilidad == Razón para cambiar
Si una clase asume más de una responsabilidadtendrá más de una razón para cambiar.
Acoplamiento de responsabilidades.
-
8/17/2019 Charla - Cls
7/64
SOLID
-
8/17/2019 Charla - Cls
8/64
SOLID
-
8/17/2019 Charla - Cls
9/64
SOLID
Open Closed
Entidades de software (clases, módulos, funcioetc.) deberían estar abiertas para extensión pecerradas para modificación.
Si un cambio impacta a varios módulos, eaplicación no está bien diseñada.
Debemos diseñar módulos que sirvan como basemódulos.
-
8/17/2019 Charla - Cls
10/64
SOLID
-
8/17/2019 Charla - Cls
11/64
SOLID
-
8/17/2019 Charla - Cls
12/64
-
8/17/2019 Charla - Cls
13/64
SOLID
-
8/17/2019 Charla - Cls
14/64
SOLID
-
8/17/2019 Charla - Cls
15/64
SOLID
-
8/17/2019 Charla - Cls
16/64
SOLID
-
8/17/2019 Charla - Cls
17/64
Los clientes no deberían estar forzdepender de interfaces que no ut
Las interfaces “gordas” o “contaminadas
dividirse en varios grupos de funciones. Cada grupo será implementado por distinto
clientes.
SOLID
-
8/17/2019 Charla - Cls
18/64
SOLID
-
8/17/2019 Charla - Cls
19/64
SOLID
-
8/17/2019 Charla - Cls
20/64
UI
Negocio
Acceso a Datos Componentes
SOLID
WSDB
-
8/17/2019 Charla - Cls
21/64
Conceptos MVC
-
8/17/2019 Charla - Cls
22/64
Tipos Aplicaciones WE
Orientado a presentación AXIS
SEED- N aplicación
Orientado a servicios
RSS
Transmisión de comprobantes electrónicos
-
8/17/2019 Charla - Cls
23/64
Tipos MVC SERVER-SIDE
Modelo, vista y controlador el ciclo de vidcomponentes es administrado por el semayoría de framework lo implementan .NETDJANGO.
CLIENT-SIDE Modelo, vista y controlador es administra
cliente (Navegador), por lo general se impleJavascript.
-
8/17/2019 Charla - Cls
24/64
Servicios WEB SOAP
Simple Object Access Protocol, es un protocolo que dos objetos en diferentes procesos se comumedio de intercambio de datos XML.
XSD-Describe la estructura y las restriccioncontenidos de los documentos XML.
WSDL-Web Services Description Language,
interfaz pública a los servicios Web REST
Interfaz que permite a los sistema comunicarse usanprotocolo HTTP.
JSON-JavaScript Object Notation, es un formato ligeintercambio de datos
HTTP-protocolo usado en cada transacción.
-
8/17/2019 Charla - Cls
25/64
Componentes - Contened
Siguiendo el flujo de crecimiento y evoluciósistemas, tenemos dos conceptos:
Contenedores.
Componentes.
-
8/17/2019 Charla - Cls
26/64
Componentes - Contened
-
8/17/2019 Charla - Cls
27/64
Tecnologías JEE
-
8/17/2019 Charla - Cls
28/64
JEE
Es un coespecificaciontecnológica, permite la coaplicaciones
empresariales
Componente/Escalabilidad Portabilidad,
Seguridad
-
8/17/2019 Charla - Cls
29/64
Aplicaciones Empresaria
Capa
Visual(JSF)
App. Web Orientada Presentación
Capa
Servicios(EJB)
Capa
Datos
J
PA
Hibernate
EclipseLink
TopLink
UsuarioUsuario
JDBC
Usuario
DML
DML
-
8/17/2019 Charla - Cls
30/64
Tecnologías
JPA
Tecnología que implementa ORM, rrepresentación de la base de datos en clas
EJB
Tecnología que oculta los servicios subya
control transaccional, seguridad, concuintegración.
JSF
Tecnología que implementa el patrón MVC deservidor.
-
8/17/2019 Charla - Cls
31/64
Tecnologías
-
8/17/2019 Charla - Cls
32/64
View
• Dibuja la interfaz de usuario
• Solicita datos del modelo
• Envia eventos al modelo
• Permite que el controlador seleccione la siguiente vista
Model
• Almacena del estado de laaplicación
• Responde a solicitudes dedatos
• Encapsula la logica denegocio.
Display Submit
page
Reques
t data
• Maneja la ruta de peticionhacia las paginas
• Mapea paginas contramodelo
Data and
transactions
Controller
Tecnologías
S id JEE
-
8/17/2019 Charla - Cls
33/64
Servidores JEE
-
8/17/2019 Charla - Cls
34/64
Spring Framework
-
8/17/2019 Charla - Cls
35/64
Spring Framework
Spring es ualternativo atecnologías aplicacionesJavaEE.
Las ideas quSpring se han las tecnoherramientas EJB – JPA - CD
-
8/17/2019 Charla - Cls
36/64
Aportes
Las más novedosas de Spring se centran en los siguient Data/NoSQL HTML5/móviles Aplicaciones sociales Cloud
Diferencia principal JEE y Spring Las tecnologías requieren del uso de un servidor de
mientras que Spring necesita su conjunto de librerentre servidores.
Spring proporciona tres elementos básicos: Servicios Enterprise
Estereotipos configurables Inyección de dependencias
Spring Framework
-
8/17/2019 Charla - Cls
37/64
Sin IoC
Con IoC
Spring Framework
-
8/17/2019 Charla - Cls
38/64
Spring Framework
Principales proyectos
-
8/17/2019 Charla - Cls
39/64
Spring Framework
STS – Spring Tool Suite
Es un entorno de desarrollo basado eproporciona una lista de funcionalidaimplementar, depurar, ejecutar y aplicaciones en Spring, incluyendo integracherramientas como Git, Maven, Jenkins.
-
8/17/2019 Charla - Cls
40/64
Spring Boot
S
-
8/17/2019 Charla - Cls
41/64
Spring Boot
Bondades
Simplifica la construcción de los proyectos aplicando Convención sobre configuración.
Flexible y pre-configurado, ofrece servicios ejecutarse.
Permite usar la potencia de los módulos de el minimo conocimiento.
Reduce el uso de XML, aplica el desaanotaciones (Programación declarativa).
S i B
-
8/17/2019 Charla - Cls
42/64
Spring Boot
Objetivos Disponer de funcionalidad out-of-the-box e
de la naturaleza del proyecto (web, jpa, jbatch, etc).
Dotar a las aplicaciones de herramientas quesu monitorización y auditoría (Log4j).
Ofrecer una serie de características no fcomunes a los proyectos.
Reducir la curva de aprendizaje.
S i B t
-
8/17/2019 Charla - Cls
43/64
Spring Boot
Ejemplo – Clases de consulta a una tabla
S i B t
-
8/17/2019 Charla - Cls
44/64
Spring Boot
Ejemplo – Clases de consulta a una tabla
S i B t
-
8/17/2019 Charla - Cls
45/64
Spring Boot
Que más nos ofrece
Servidores embebidos, evita la dependservidores JEE, las aplicaciones se pueddirectamente sobre la JVM.
Seguridad, la aplicación web contendrá aubásica.
Spring Boot nos permite levantar un sbase de datos embebido, H2, HSLQ o DERBI
Spring Data, usa JPA como ORM y ofrece ude interfaces para las operaciones CRUD.
JDBCTemplate, nos permite trabajar uframework JDBC
S i B t
-
8/17/2019 Charla - Cls
46/64
Spring Boot
Otras características JMS, Integración entre procesos no bloquean NoSQL, enfoque hacia la bigdata.
MongoDB Redis Cassandra
Spring Batch, procesamiento masivo ysincronizado. Spring cloud, soporte para aplicaciones
como servicios en la nube. String State Machine, librerías para la imple
de componentes afectados por múltiples pro
-
8/17/2019 Charla - Cls
47/64
Monolítico y Microservicio
Microservicios
-
8/17/2019 Charla - Cls
48/64
Microservicios
Características arquitectura monolitica
Despliegues de aplicaciones como una única
Entidades rígidas, sin posibilidad de dividirla
Almacén de datos compartido por toda la ap
Una aplicación para todos los requisitos func
Completamente desarrollada en un único leprogramación.
Microservicios
-
8/17/2019 Charla - Cls
49/64
Microservicios
Estructura
Se comparte la vista
Desarrollo componentesde negocio de modoindependiente, pero sedespliegan como un
único ente. Acoplado y dependiente
de los objetos ORM
Microservicios
-
8/17/2019 Charla - Cls
50/64
Consecuencias
Desarrollos y despliegues únicos.
Aplicaciones con alta complejidad y tamaño.
Largos ciclos de desarrollo.
Compilaciones y despliegues eternos.
Difícil de escalar y únicamente escalado hori
Microservicios
Microservicios
-
8/17/2019 Charla - Cls
51/64
Cada programa hace una cosa, pero la hac
Divide y vencerás
Es una técnica de diseño de sistemascomo una colección de pequeñosservicios, cada uno ejecutándose ensu propio proceso, comunicándose conprotocolos ligeros como HTTP/Json.
Microservicios
Microservicios
-
8/17/2019 Charla - Cls
52/64
Características
Poliglotas: cada micro servicio puimplementado en un lenguaje de programac
Tolerancia a fallos: Un fallo de un micro safectará al resto.
Independientes: Ciclos de vida independient
Escalado: Escalado eficiente y elástico.
Autonomía: Cada servicio es desardesplegado de forma independiente.
Facilita la colaboración entre desarrolladores
Microservicios
Microservicios
-
8/17/2019 Charla - Cls
53/64
Estructura
Microservicios
Microservicios
-
8/17/2019 Charla - Cls
54/64
Estructura
Almacenes de datos independientes
Cada aplicación implementa la soluciónecesidad funcional
Interfaces de usuario independientes
Microservicios
Microservicios
-
8/17/2019 Charla - Cls
55/64
Microservicios
Un cambiorequiere que
toda la
aplicación sedespliegue
Un
so
de
seafe
Microservicios
-
8/17/2019 Charla - Cls
56/64
Microservicios
Microservicios
-
8/17/2019 Charla - Cls
57/64
Microservicios
AcoplamientoDifícil documentaciónDifícil sincronizaciónInterrupción completa
Microservicios
-
8/17/2019 Charla - Cls
58/64
Microservicios
Microservicios
-
8/17/2019 Charla - Cls
59/64
Microservicios
Menos Acoplamiento
Comunicación mediante APIsHTTPPequeños e independientes
Microservicios
-
8/17/2019 Charla - Cls
60/64
Comunicaciones
HTTP
Sin intermediario
Simple y natural
Peticiones y respuesta rápidas
Mensajes Requiere un MOM
Añade complejidad
Las transacciones no son bloqueantes
Microservicios
Microservicios
-
8/17/2019 Charla - Cls
61/64
Empresas que lo utilizan
Microservicios
Preguntas
-
8/17/2019 Charla - Cls
62/64
Preguntas
?
Conozca más
-
8/17/2019 Charla - Cls
63/64
Conozca más
Agenda
-
8/17/2019 Charla - Cls
64/64
Agenda