Este documento describe las tres capas principales de arquitectura de software: la capa de presentación (frontend), la capa de lógica de negocio y datos (backend), y la capa intermedia (middleware). Explica que el frontend incluye las interfaces de usuario y el código del lado del cliente, el backend incluye las bases de datos y el código del servidor, y el middleware conecta estas capas y permite la comunicación entre sistemas.
2. Introducción
Diseñar en 3 capas...trata sobre no poner todo tu código en
las interfaces de usuario de tu sistema. Para subsanar esto,
la idea es tener 3 niveles de funcionalidad bien definidos.
◍ Capa de presentación
◍ Capa de negocio (lógica del dominio). Aquí ira todo el
código que define las reglas de negocio (cálculos,
validaciones). Surge de los procesos que hemos encontrado
en el análisis.
2
3. Introducción
◍ Capa de acceso a datos. el código que permite acceder a
las fuentes de datos. Esencialmente trata sobre 4
operaciones básicas, llamadas CRUD (por Create-Retrieve-
Update y Delete), que se realizan sobre cualquier fuente
de datos (normalmente alguna base de datos relacional).
Este diseño corresponde a las 3 capas lógicas (3 layers).
◍ FrontEnd / MiddleWare / BackEnd,
3
5. ¿Qué son?
Es la capa visual que permite a
los usuarios/clientes la
interacción con el sistema, por
lo tanto es la capa que define
las experiencias de los usuarios
en el sistema y la única a la
que tienen acceso.
FrontEnd
¿Cuáles son sus funciones?
Son todas esas tecnologías que
viven en el navegador y con las
cuales se crea el diseño del
sistema. Cuando hablamos del
diseño de un sistema se trata de
la creación de las interfaces,
las propiedades que pretendemos
que tenga y la interacción de
las mismas.
5
7. ¿Qué son?
Son las tecnologías que hacen
vida en la capa de acceso de
datos, están del lado
del servidor por lo tanto los
usuarios no tienen acceso a
ella.
BackEnd
7
8. BackEnd
¿Cuáles son sus funciones?
Esto se relaciona con el nivel de datos del software.
Normalmente, esta es la (s) base (s) de datos en la que se
basa el software que no se presenta directamente al usuario.
Es donde los datos se almacenan, los encuentra el software,
se recuperan y luego se muestran al usuario.
8
9. BackEnd
Las tecnologías back-end con las que se desarrollan sistemas son:
◍ Lenguajes de programación web interpretados de lado del
servidor.
◍ Frameworks (marcos de trabajo) elaborados en base a un lenguaje
de programación.
◍ Bases de datos.
◍ Servidores HTTP.
9
Por lo general, el código utilizado aquí incluirá
PHP, C, C ++, C #, Python y .Net junto con
una herramienta que se comunica con la
base de datos como MySQL. Esto permite a
los desarrolladores crear aplicaciones que
puedan buscar, localizar y presentar datos
de manera eficiente y rápida.
11. Middleware
Middleware es un software. Su finalidad es
la de facilitar la interacción entre
cliente y servidor.
11
12. ¿Qué son?
Herramienta que se encarga
de conectar software con
software para que funcionen y
tengan sentido. Permite que los
datos fluyan entre aplicaciones
para crear unidades de sentido
que puedan visualizarse.
Middleware
¿Cuáles son sus funciones?
Su finalidad es la de facilitar
la interacción entre cliente y
servidor. El cliente suele ser
una aplicación que reside en el
frontend, con la que el usuario
interactúa. La tecnología
Middleware se encarga de conectar
el frontend con el backend, que
podría estar formado de bases y
servidores de datos
12
13. Middleware
Básicamente, cualquier software que se encuentre
entre el Kernel (software fundamental del
Sistema Operativo) y las aplicaciones podría
considerarse como Middleware. Si este servicio
se integra con la nube, se genera el llamado
MWaaS o Middleware as a Service.
13
14. Tipos de Middleware
API
(Interfaz de Programación de
Aplicaciones). Permiten
construir software de
aplicaciones mediante
herramientas y protocolos
específicos para este fin.
Aplication Server
Son plataformas para
desarrollar aplicaciones.
Permite crear servidores en
los que ejecutar las propias
apps.
Aplication Integration
Combinan datos de distintas
apps a través de un framework
o marco de trabajo
integrador.
Data Integration
Basado en la combinación de
datos de fuentes distintas en
un solo conjunto que los
usuarios pueden manipular y
visualizar.
TP
Controla las apps de
transacción, centrándose en
modelos de negocio y sus
normas.
RPC
Remote Procedure Call o
Llamada a Procedimiento
Remoto. Es la interacción
entre cliente y servidor que
permite a una app ser
distribuida a través de
distintas plataformas.
14
15. Tipos de Middleware
MOM
Message-Oriented Middleware
o Middleware Orientado al
Mensaje. Es la mejora
directa de RPC. Este recurso
permite que la interacción
entre cliente y servidor
suceda de forma asíncrona en
situaciones donde el nodo
objetivo es lento o está
ocupado.
ORB
Object Request Broker o
Agente de Solicitud de
Objetos. Este tipo de
Middleware facilita la el
acceso a servicios remotos
como si fueran locales. El
servidor registra los
registros con el ORB y los
clientes contactan con el
ORB para localizar los
servicios.
15
17. Front-End
◍ Esta es la capa de presentación o
la capa con la que el usuario
final interactuará la mayor parte
del tiempo, si no todo el
tiempo. Esta capa es básicamente
la capa de interfaz de usuario, ya
que presenta qué elementos del
software o sistema serán visibles
y cómo interactuará el usuario
final con el sistema.
17
18. ◍ Como el producto final debe ser visible para el
usuario final, el desarrollador de la interfaz
tendría que ser un experto en diseño web y
software de edición de gráficos como
photoshop. Normalmente, el código utilizado en la
etapa de inicio incluye HTML, CSS y
Javascript. Este código ayuda al desarrollador a
construir las partes que serán visibles para el
usuario final.
18
19. ◍ Es posible que el
diseñador web no sepa por
qué algunos comandos dan
la respuesta requerida,
pero el diseñador web
será competente en el
diseño del aspecto del
sitio web. El diseñador
web trabajará con las
herramientas que ya
existen.
19
20. Back-End
◍ Esta es la parte de la capa
que no se presenta al usuario
final. La mayoría de las
veces, esta capa consiste en
la (s) base (s) de datos que
controla el software y no se
muestra al usuario final. Los
cambios en esta capa afectarán
el aspecto general y la
función del software o
sistema.
20
21. ◍ Esta es la capa que
admite acciones como que
el usuario final haga
clic en un botón,
solicite datos o
información o emita un
comando para su
ejecución.
◍ Esta es la capa que
responde a la acción o
comando del usuario
final y envía la
información requerida.
21
22. ◍ Los códigos utilizados en el
back-end incluyen PHP,
Python, C ++ y .Net. También
se necesitará una herramienta
que pueda comunicarse con la
base de datos. El objetivo de
esto es ayudar a los
desarrolladores a crear
aplicaciones que sean rápidas
en la búsqueda y presentación
de datos.
22
23. ◍ Lo que tenemos para
los sitios web la
mayoría de las veces
son los webmasters que
actúan como diseñador
web y desarrollador
web.
◍
23
24. Middleware
◍ Esta es la capa intermedia de la aplicación, el
software o el sistema. Esta parte de la capa funciona
básicamente como un puente que une o une el extremo
frontal y el extremo posterior. También se puede decir
que es el pegamento que mantiene la interfaz de usuario
y los datos juntos.
24
25. ◍ Normalmente, esta capa es
donde reside la capa
lógica. Los códigos
utilizados en este
middleware incluyen Java y
C # y las herramientas de
comunicación utilizadas en
toda la aplicación son
SOAP y JSON.
25
26. ◍ Como la capa de middleware
es básicamente un software
dentro de un software, los
trabajos de middleware
serían en su mayoría
analistas de middleware
que podrían administrar
sistemas y realizar copias
de seguridad
automatizadas.
26
28. 1. Integración Front-End
28
• En esta implementación el
middleware intercepta las
interacciones entre
aplicaciones, actúa como un
servidor de aplicaciones de
nivel medio:
• Compaginación
• Administración
• Dirección
• De solicitudes y respuestas
de interaplicación.
29. 29
Ventajas Desventajas
• Puede desarrollar una
cantidad de capas de
frontend para diferentes
usuarios y clientes.
• La interacción entre el
middleware y el backend es
síncrona.
• Todas las funcionalidades
deben ofrecerse a través de
una API basada en servicios.
• Toda la lógica empresarial y
de datos debe estar separada
en la capa de presentación.
1. Integración Front-End
30. 30
• En esta implementación,
los usuarios interactúan
con una sola aplicación a
la vez de una manera
determinada por sus roles
de usuario.
2. Integración de Back-End
31. 2. Integración de Back-End
31
Ventajas Desventajas
• La interfaz del frontend a
las aplicaciones no necesita
emplear la misma
arquitectura que las
aplicaciones.
• Es fácil administrar los
entornos de desarrollo y
prueba.
• Se proporcionan herramientas
gráficas para facilitar el
desarrollo
• Cada aplicación tiene una
apariencia y un inicio de
sesión diferente.
• La interfaz de usuario tiene
restricciones limitadas, lo
que restringe a los usuarios
que actúan en mpultiples y
diversos roles.