0% encontró este documento útil (0 votos)
76 vistas10 páginas

Arquitectura Cloud: Backend y Middleware

Este documento discute el backend, middleware y frontend de los servicios de internet. El backend se enfoca en procesar y enviar datos a los usuarios desde el servidor y la base de datos. El middleware actúa como una capa de comunicación entre aplicaciones para permitir el paso de datos. El frontend incluye las tecnologías que interactúan directamente con los usuarios como HTML, CSS y JavaScript.

Cargado por

David Rodríguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
76 vistas10 páginas

Arquitectura Cloud: Backend y Middleware

Este documento discute el backend, middleware y frontend de los servicios de internet. El backend se enfoca en procesar y enviar datos a los usuarios desde el servidor y la base de datos. El middleware actúa como una capa de comunicación entre aplicaciones para permitir el paso de datos. El frontend incluye las tecnologías que interactúan directamente con los usuarios como HTML, CSS y JavaScript.

Cargado por

David Rodríguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Instituto Politécnico Nacional

Unidad Profesional Interdisciplinaria De


Ingeniería Y Ciencias Sociales
Y Administrativas

Tema:
Backend, Middleware & Backend

Alumnos:
Acosta Torres Carlos Alberto.
Rodríguez Ortiz Oscar David.

Profesor:
Rico Aragón Daniel Oswaldo

Fecha de entrega:
26 – Marzo - 2020
Introducción
Hoy en día la mayoría de los servidores residen en grandes computadoras
en las que solo se utiliza una pequeña parte de la CPU. Este desaprovechamiento
ha motivado que se instalen máquinas virtuales en los servidores para usar más el
hardware y reducir el número de servidores. Esto tiene consecuencias directas en
ahorro de dinero, energía y administración de manera que la virtualización está en
auge hoy en día.
Actualmente la internet está presente en la vida de la mayoría de las
personas, es usado para gran variedad de actividades, desde las más básicas y
sencillas de uso personal como para el uso más complejo y para cuestiones de
trabajo, sin duda la internet ayuda y facilita mucho las acciones que realizamos,
cada vez es más sencillo comunicarse con amigos o personas lejanas por este
medio, compartir información, archivos o fotos, pero también es más cómodo
realizar pagos, hacer transacciones, facturaciones, inclusive trámites escolares o
laborales, en fin, bastantes cosas. Esto es posible gracias al desarrollo de la
tecnología, es por esto que en este documento hablaremos sobre este tipo de
servicio de internet.
Arquitectura del Cloud Computing
La computación en nube y el almacenamiento en nube se han convertido en
el método preferido para brindar información y funcionalidad en línea. Mientras
algunos servicios en nube se enfocan en proporcionar a sus clientes una amplia
gama de servicios y funcionalidades, otros servicios en nube se enfocan en los
negocios pequeños, empresas grandes, gobiernos y otras instituciones.
Algunos servicios en nube ofrecen almacenamiento en nube gratuitamente a
los consumidores, mientras otros cobran algún tipo de tarifa según el tipo de
subscripción. También existen nubes privadas que son propiedad de alguna
organización y son controladas por ésta, y que ofrecen una red segura para
compartir software y datos importantes.
Las nubes privadas se crean utilizando hardware, software y otras
herramientas de diferentes proveedores, en cuyo caso los servidores reales son
manejados bien sea dentro o fuera del sitio. Las nubes híbridas, como su nombre lo
sugiere, combinan varios recursos de nube pública y privada en un solo servicio o
solución.
En el núcleo de todos los servicios, productos y soluciones en nube se
encuentran las herramientas de software con tres pilares subyacentes de las
herramientas de funcionalidad para procesar datos y ejecutar aplicaciones
(servidores de computación), mover datos (redes) y conservar o almacenar datos
(almacenamiento).
Backend
¿Qué es?
Backend es la capa de acceso a datos de un software o cualquier dispositivo,
que no es directamente accesible por los usuarios, además contiene la lógica de la
aplicación que maneja dichos datos. El Backend también accede al servidor, que es
una aplicación especializada que entiende la forma como el navegador solicita
cosas.
El backend del sitio web consiste en un servidor, una aplicación y una base
de datos. Se toman los datos, se procesa la información y se envía al usuario. Los
desarrolladores de Frontend y Backend suelen trabajar juntos para que todo
funcione correctamente.
Algunos de los lenguajes de programación de Backend son Python, PHP,
Ruby, C# y Java, y así como en Frontend, cada uno de los anteriores tiene diferentes
frameworks que te permiten trabajar mejor según el proyecto que estás
desarrollando.

¿Cúal es su función?
Se enfoca en hacer que todo lo que está detrás de un sitio web funcione
correctamente. Toma los datos, los procesa y los envía al usuario, además de
encargarse de las consultas o peticiones a la Base de Datos, la conexión con el
servidor, entre otras tareas que debe realizar en su día a día. Cuenta con una serie
de lenguajes y herramientas que le ayudan a cumplir con su trabajo, estos son
usados para crear sitios dinámicos. Como en muchos sitios la información se
encuentra en constante cambio o actualización, una buena capacidad de respuesta
y una velocidad óptima del sitio son responsabilidades que un backend debe de
afrontar.

Middleware
¿Qué es?
El término middleware se refiere a un sistema de software que ofrece
servicios y funciones comunes para las aplicaciones. En general, el middleware se
encarga de las tareas de gestión de datos, servicios de aplicaciones, mensajería,
autenticación y gestión de API.
Ayuda a los desarrolladores a diseñar aplicaciones con mayor eficiencia.
Además, actúa como hilo conductor entre las aplicaciones, los datos y los usuarios.
En el caso de las empresas con entornos de contenedores y multicloud, el
middleware puede rentabilizar el desarrollo y la ejecución de aplicaciones a escala.

¿Cúal es su función?
Básicamente, funciona como una capa de traducción oculta para permitir la
comunicación y la administración de datos en aplicaciones distribuidas. A veces, se
le denomina “plumbing” (tuberías), porque conecta dos aplicaciones para que se
puedan pasar fácilmente datos y bases de datos por una “canalización”. El uso de
middleware permite a los usuarios hacer solicitudes como el envío de formularios
en un explorador web o permitir que un servidor web devuelva páginas web
dinámicas en función del perfil de un usuario.
Algunos ejemplos comunes de middleware son el middleware de base de
datos, el middleware de servidor de aplicaciones, el middleware orientado a
mensajes, el middleware web y los monitores de procesamiento de transacciones.
Cada programa suele proporcionar servicios de mensajería para que aplicaciones
diferentes puedan comunicarse usando marcos de mensajería como el Protocolo
simple de acceso a objetos (SOAP), servicios web, transferencia de estado
representacional (REST) y notación de objetos JavaScript (JSON). Si bien todo el
middleware desempeña funciones de comunicación, el tipo que elige una compañía
depende del servicio que se va a usar y del tipo de información que debe
comunicarse. Puede tratarse de autenticación de seguridad, administración de
transacciones, colas de mensajes, servidores de aplicaciones, servidores web y
directorios. El middleware se puede usar también para procesamiento distribuido
con acciones que ocurren en tiempo real en lugar de enviar los datos para allá y
para acá.

Frontend
¿Qué es?
Frontend es la parte de un programa o dispositivo a la que un usuario puede
acceder directamente. Son todas las tecnologías de diseño y desarrollo web que
corren en el navegador y que se encargan de la interactividad con los usuarios.
HTML, CSS y JavaScript son los lenguajes principales del Frontend, de los
que se desprenden una cantidad de frameworks y librerías que expanden sus
capacidades para crear cualquier tipo de interfaces de usuarios. React, Redux,
Angular, Bootstrap, Foundation, LESS, Sass, Stylus y PostCSS son algunos de
ellos.
Frontend es la parte de una aplicación que interactúa con los usuarios, es
conocida como el lado del cliente. Básicamente es todo lo que vemos en la pantalla
cuando accedemos a un sitio web o aplicación: tipos de letra, colores, adaptación
para distintas pantallas, los efectos del ratón, teclado, movimientos,
desplazamientos, efectos visuales y otros elementos que permiten navegar dentro
de una página web. Este conjunto crea la experiencia del usuario.

¿Cúal es su función?
El especialista en esta área, conocido como diseñador web, se encargará de
crear una experiencia al usuario agradable, mediante la utilización de su propia
creatividad, pues es como el diseñador y constructor de un local virtual de una
empresa o página en sí, y ambientar un espacio virtual requiere de habilidades
visuales y creativas adaptables en los diferentes dispositivos con buena resolución.

Limitación del Frontend, Middleware y Backend


La infraestructura frontend incluye todo con lo que interactúa el usuario
final. Es la asimilación más amplia de varios subcomponentes que en conjunto
ofrecen la interfaz de usuario. Y forma una parte esencial de cómo el usuario final
se conecta a la infraestructura de computación en la
nube. El frontend infraestructura nube incluye componentes como redes locales,
navegadores web y aplicaciones web.
Los principales componentes de la nube frontend se describen a continuación:
• Interfaz de usuario: la interfaz de usuario se refiere a todas las cosas a las
que el usuario final accede para enviar solicitudes o realizar cualquier tarea
en la nube. Algunas de las interfaces de usuario populares basadas en la
nube son Google Doc, Gmail, etc.
• Software: la arquitectura de software en el frontend es el software que se
ejecuta en el extremo del usuario. La arquitectura de software frontend
comprende principalmente aplicaciones o navegadores del lado del cliente.
• Dispositivo o red del cliente: Al ser una parte crucial de la arquitectura
frontend, el dispositivo o la red del cliente se refiere al hardware en el lado
del usuario final. Puede ser cualquier dispositivo de entrada o PC. En la
computación en la nube, el dispositivo del lado del cliente no requiere una
capacidad extraordinaria para procesar la carga pesada. La nube puede
soportar toda la carga pesada y procesa lo mismo.

¿Qué es la arquitectura Backend?


La arquitectura de backend en la nube potencia la arquitectura frontend. Se
compone de hardware y almacenamiento y se encuentran en un servidor remoto. El
proveedor de servicios en la nube controla y maneja esta arquitectura de nube de
fondo.
La arquitectura de nube de backend ideal siempre debe ser robusta, ya que
mantiene toda la infraestructura en la nube. Los componentes principales de la
arquitectura de nube de backend son:
• Aplicación: la aplicación es una parte sustancial de la arquitectura de
backend. Se refiere a la interfaz de usuario que el backend ofrece al usuario
final para enviar consultas. Esta capa del backend se encarga de las
solicitudes y requisitos del cliente.
• Servicio: esta es un área mágica de la arquitectura de la nube de
backend. Agrega utilidad a toda la arquitectura de backend. El servicio
maneja todas las tareas que se ejecutan en el sistema de computación en la
nube. Algunos de los servicios en la nube son el entorno de desarrollo de
aplicaciones, el almacenamiento y los servicios web. Además, el servicio
puede ejecutar una amplia gama de tareas en el tiempo de ejecución de la
nube.
• Cloud Runtime: el término 'Cloud Runtime' es el concepto donde se ejecutan
los servicios. Es como un sistema operativo en la nube donde se utiliza
tecnología como la virtualización. La virtualización como tecnología clave en
la nube que permite múltiples tiempos de ejecución en el mismo servidor. Por
ejemplo, la virtualización es una forma a través de la cual podemos crear una
base de software. En palabras simples, es la representación virtual de
aplicaciones, servidores, almacenamiento y redes. Cuando creamos tiempos
de ejecución con el soporte del software de virtualización, se denominan
hipervisores. Algunos de los hipervisores líderes son Oracle Virtual Box,
Oracle VM para x86, VMWare Fusion, etc.
• Almacenamiento: el almacenamiento en la nube es donde residen los datos
de una aplicación en la nube. El almacenamiento de datos varía según los
diferentes servicios que ofrece la nube. Sin embargo, todos ellos tienen un
segmento dedicado común para el almacenamiento en la nube. Algunos de
los ejemplos de almacenamiento son unidades de estado sólido, discos
duros, almacenamiento persistente Intel Optane DC, etc. Los discos duros
en las bahías del servidor forman almacenamiento en la arquitectura de back-
end de la nube. Y especialmente en un sistema de computación en la nube,
el software divide las unidades según las necesidades del sistema operativo
en la nube para ejecutar innumerables servicios.
• Infraestructura: el motor que dirige todos los servicios de software en la nube
se llama infraestructura. Incluye CPU, placa base, unidad de procesamiento
de gráficos (GPU), tarjetas de red, tarjetas aceleradoras, etc. Los modelos
de infraestructura siempre dependen de las cargas de trabajo de los clientes.
• Gestión: el software de gestión asigna recursos específicos a tareas
específicas y es responsable del funcionamiento perfecto de cualquier
entorno de nube. En términos técnicos, la administración es el 'middleware'
y coordina entre la arquitectura frontend y backend en un sistema de
computación en la nube.
• Seguridad: la seguridad es una parte integral y crítica de cualquier
infraestructura de computación en la nube. Creamos infraestructura de
seguridad teniendo en cuenta el proceso de depuración. En caso de
cualquier problema, la depuración debería ser fácil. El respaldo de
almacenamiento regular es el primer paso para garantizar la seguridad en un
sistema de computación en la nube. Y los firewalls virtuales son otros
elementos cruciales de la infraestructura de seguridad en la nube.

Middleware
Las aplicaciones empresariales modernas están diseñadas para ejecutarse
a escala, on-premise y en las nubes. Para crearlas, los desarrolladores necesitan
entornos de aplicación con funciones básicas unificadas. El middleware es la clave
para conseguir este tipo de entorno.
Podemos pensar en estas funciones en términos de cuatro capas, además de
algunas herramientas:
• La capa de los contenedores: Esta capa de middleware gestiona todo lo
relacionado con la distribución de los ciclos de vida de las aplicaciones de
manera uniforme. Ofrece la función de DevOps junto con las de integración
y distribución continuas (CI/CD), gestión de contenedores y red de servicios.
• La capa de los tiempos de ejecución: Esta capa contiene los entornos de
ejecución para el código personalizado. El middleware ofrece tiempos de
ejecución y marcos ligeros para los entornos de nube altamente distribuidos,
como los microservicios, el almacenamiento en caché en memoria para un
acceso rápido a los datos y los servicios de mensajería para acelerar la
trasferencia de dichos datos.
• La capa de la integración: El middleware de integración ofrece servicios que
se utilizan para conectar las aplicaciones compradas y personalizadas, así
como los recursos de SaaS a través de la mensajería, la integración y las
API, para formar sistemas funcionales. También puede ofrecer servicios de
caché y bases de datos en memoria, transmisión de eventos o datos y
gestión de API.
• La capa de la gestión de decisiones y la automatización de procesos: Esta
última capa correspondiente al middleware de desarrollo incorpora la gestión
de decisiones, la optimización y la automatización, y la inteligencia
fundamentales.
El middleware (software del lado del servidor) facilita la conectividad cliente-
servidor, formando una capa intermedia entre las aplicaciones y la red: el servidor,
la base de datos, el sistema operativo y más. El middleware puede ser multicapa,
organizado en diferentes capas de un sitio, ya sea la capa de presentación o la capa
de negocios. Aquí también es donde las API web pueden jugar en la pila,
proporcionando un puente entre la capa empresarial y la capa de presentación.
Middleware también permite que las aplicaciones en la nube y las aplicaciones
en las instalaciones "hablen" y proporciona servicios como integración de datos y
manejo de errores. Un buen middleware también puede maximizar la eficiencia de
TI y potenciar cosas como la participación del usuario, la gestión de procesos
comerciales, la gestión de contenido, la autenticación y más. Koa.js es un ejemplo
de un marco JavaScript del lado del servidor: lea este artículo para comprender
mejor qué tipo de cosas puede hacer el middleware .

Diagrama Conceptual de Operación

Ilustración 1 Ejemplo de Operación de las tres capas.

En esta implementación, los usuarios interactúan con una sola aplicación a


la vez (frontend) de una manera determinada por sus roles de usuario.
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 inter- aplicación

En el backend se esperan las peticiones de llamada y respuesta a base de datos,


almacena en memoria del middleware los datos de alojamiento de la sesión y
responde a la petición del frontend.
Referencias
Alvarado, I. Ser programadores ¿Qué es FrontEnd Y Backend en la programación
web? 12 de abril del 2014. Recuperado de https://serprogramador.es/que-es-
frontend-y-backend-en-la-programacion-web/
Campus MVP. Desarrollador web: Front-end, back-end y full stack. ¿Quién es
quién? 25 de agosto del 2015. Recuperado
de https://www.campusmvp.es/recursos/post/Desarrollador-web-Front-end-back-
end-y-full-stack-Quien-es-quien.aspx
Front-end y back-end. (2018, 17 de mayo). Wikipedia, La enciclopedia libre. Fecha
de consulta: 06:35, febrero 8, 2019
desde https://es.wikipedia.org/w/index.php?title=Front-end_y_back-
end&oldid=107891063
Redacción Digital Tech Institute. (2018). ¿QUÉ ES MIDDLEWARE Y PARA QUÉ
SIRVE?. marzo 20, 2020, de Digital Tech Institute Sitio web:
https://www.digitaltechinstitute.com/middleware-que-es-para-que-sirve/
Red Robot Sytems. (s/f). Red Robot’s Jargon article Series: Number 6 – Front End,
Middleware and Back End. marzo 20, 2020, de Red Robot Sytems Sitio web:
http://www.redrobotsystems.co.uk/front-end-middleware-back-end/
Guevara, A. (2018). Frontend y Backend. marzo 20, 2020, de DevCode Sitio web:
https://devcode.la/blog/frontend-y-backend/
Equipo Editorial (2019) - REPORTE DIGITAL - ¿Cómo sacar provecho del
middleware en las aplicaciones? Recuperado de:
https://reportedigital.com/cloud/middleware/
Red Hat-Equipo Editorial(2017)- Importancia del Middleware- Recuperado de
https://www.redhat.com/es/topics/middleware/what-is-middleware
Global Digital Vision (GDV). Cloud Computing. 2011. Recuperado de:
http://www.gdv.com.au/cloud-computing.html
Adanto Software(AS).- Frontend- 2018. Recuperado de
http://adanto.com/index5653.html?subpage=frontend-web

Adanto Software(AS).- Middleware- 2018. Recuperado de


http://adanto.com/index5653.html?subpage=middleware-web

Adanto Software(AS).- Backend- 2018. Recuperado de


http://adanto.com/index5653.html?subpage=back-end-web

También podría gustarte