Análisis del Backend
Back ¿qué?
Backend a tod… perdón, buenas a tod@s.
Lo primero de todo Feliz año 2018! Año que va a venir cargadito de post techies y en el que lo vamos a petar, ya lo veréis!
En este post de análisis del backend vamos a continuar el post anterior: Análisis inicial de cómo va a ser nuestra app.
En aquel post te explicamos que las apps se apoyan en un backend para poder presentar datos al usuario.
¿Backend?
¿Backend?
¿Qué es el backend?
Son funcionalidades que residen en servidores, posiblemente en la nube, que dan apoyo a nuestra app.
Las apps hacen uso de un backend para recuperar y guardar datos.
¿Cómo se comunica nuestra app con el backend?
Hay varios protocolos que se usan para establecer la comunicación:
Los archiconocidos http y https (http seguro).
Websockets / Long polling.
Http y https son el standard y, por tanto, los más usados por la mayoría de las apps.
¿Cómo funcionan Http/Https?
Un cliente (por ejemplo una app móvil) inicia una petición que se envía al backend o servidor.
El backend servidor recibe la petición y la procesa.
El backend responde al cliente.
Así funciona Http
Así funciona Http
En palabras llanas, sería como cuando una madre (Cliente) le dice a su hijo (Http) “A por el pan!!!! (Petición)” (cómo jorobaba esto eh?).
Mientras tanto, la madre espera en casa a que llegue el pan para poder hacerse un bocata de foie gras y llevárselo al trabajo.
Llega el hijo con la barra de pan y se la entrega a la madre (Respuesta).
Esta comunicación, según ha sido explicada, es realizada de manera síncrona, es decir, el cliente se queda esperando hasta que llega la respuesta del servidor.
Pero también se puede hacer de manera asíncrona, el cliente realiza una petición al backend y mientras llega la respuesta va haciendo otras cosas.
Ejemplo práctico:
La madre manda a su hijo a por el pan, y mientras llega el pan, va haciendo una sopa de fideos para comer. Llega el niño con el pan y la sopa está preparada y todos comen.
En el ejemplo síncrono la madre no podía hacer el bocata hasta que no llegue la respuesta, pero en este caso puede ir haciendo la comida.
Sé que es una basura de ejemplo pero espero que al menos os hayáis enterado jajaja.
¿Cómo funciona Websockets/Long polling?
En cuanto a la comunicación por Websockets/Long polling es un tipo de comunicación publish/subscribe a través de canales.
Websockets del backend
Como funciona Websockets
Nuestra app va a hacer uso intensivo de esta tecnología, para entenderla pondré otro ejemplo práctico.
Pensad en una televisión de pago tipo Vomistar plus, me subscribo al canal de cine y en cuanto mi subscripción se ha aceptado, empiezo a recibir imágenes en mi televisor.
En cambio, en el canal deportes no recibo imágenes porque no estoy subscrito pero mi vecino sí.
Esta tecnología es perfecta para realizar una programación orientada a eventos ya que nos subscribiremos a eventos.
Estos eventos se publicarán en estos canales y recibiremos datos de manera asíncrona.
¿Cómo se comunicarán nuestra app y nuestro backend?
Como hemos comentado en este post vamos a usar dos tecnologias: https y websockets.
Todas las peticiones van a ser realizadas a una API Rest que vamos a exponer con los métodos necesarios para surtir a nuestra app de las funcionalidades necesarias.
Una API rest ofrece operaciones de tipo GET (lee), POST (crea), PUT (actualiza) y DELETE (elimina).
La idea es que, para operaciones tipo GET que tengamos que traernos muchos datos, nos subscribamos a un canal y sea el websocket quien nos envíe la información necesaria a través de un evento.
Las demás operaciones que no requieran un trabajo intensivo por parte del servidor serán ejecutadas a través de HTTP.
Los datos vendrán en formato JSON que actualmente son el standard de intercambio de datos.
Arquitectura de Microservicios
Tradicionalmente los backend han sido aplicaciones monolíticas (un solo módulo) que han contenido todo el código con miles y miles de líneas.
¿Cuál es el problema? Hay varios, por ejemplo, si hay un fallo de sintaxis en un fichero, probablemente deje de funcionar todo el backend.
Otro problema es el mantenimiento del código, es mucho más tedioso buscar entre chorrocientos ficheros.
¿Qué ofrece la arquitectura de microservicios? Pues como su propio nombre indica, pequeños módulos que son capaces de hacer una cosa y que se comunican entre sí. Interesante…
Entonces, ¿si hay un fallo de sintaxis en un módulo no afecta a lo demás? Eso es!
Otra ventaja es que al haber solo un grupo de funcionalidades por módulo sabes dónde ir a buscarla y facilita el mantenimiento.
También es bueno para la reutilización de código para futuros proyectos, ya que los módulos no dependen unos de otros.
Sumario
Bueno amigos, hoy he divagado demasiado sobre el tema… para finalizar sobre nuestro backend nos queda hablar de qué lenguaje de programación usaremos, pero esto ya será en otro post, ya que podría tirarme días escribiendo sobre todo esto.
Espero que os haya resultado interesante, si es así subscríbete y si piensas que soy un coñazo subscríbete también y me pides algo que te interese.
Es la primera vez que hago un blog pero de vez en cuando puedo escribiros de lo que os dé la gana, si no sé de ello me lo invento, me da igual la verdad.
A ver si os pensáis que todo el chorrón este que he escrito lo sé de memoria o he consultado bibliografía alguna, en realidad me lo he inventado todo para que vuestra app no triunfe o sí… Subscríbete para comprobarlo.
Echa un vistazo al paso previo, el análisis inicial de como va a ser nuestra App
Share this...
Esta entrada fue publicada en App por Alberdg. Guarda el enlace permanente.
Acerca de Alberdg
Trasteando con ordenadores desde 1995. Ingeniero superior en Informática en Northumbria University (Newcastle Upon Tyne, Reino Unido). Más de 10 años de experiencia en desarrollo de software y geek absoluto de Javascript pero con cero experiencia en aplicaciones móviles. ¿Será capaz de aprender todo lo relacionado con el desarrollo de apps sin perder ese "pelazo Pantene" en el intento?
Ver todas las entradas por Alberdg →
3 PENSAMIENTOS EN “ANÁLISIS DEL BACKEND”
Pedro gonzalez blanco en 10 enero, 2018 en 19:24 dijo:
No te deprima sigue asi
Responder ↓
Yoly en 12 enero, 2018 en 19:31 dijo:
Voy a seguiros, porque aunque no me entero mucho aún, me parecéis majetes. Al final aprenderé algo.
Responder ↓
Pedro gonzalez blanco en 13 enero, 2018 en 11:20 dijo:
Cada dia mesuena mejor
Responder ↓
Deja un comentario
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *
Comentario
Nombre *
Correo electrónico *
Web
Guardar mi nombre, correo electrónico y sitio web en este navegador para la próxima vez que haga un comentario.
ENTRADAS RECIENTES
Cómo crear el backend paso a paso
Porqué WordPress para el blog
La Tarifa Plana para Autónomos ¡Emprende ya!
Cómo crear una pantalla de Login para App
La Economía Digital – Curso de UniMOOC gratuito
COMENTARIOS RECIENTES
Mikel en Cómo crear el backend paso a paso
Maestro De Las LLaves en Porqué WordPress para el blog
Pedro González blanco en Porqué WordPress para el blog
Maestro De Las LLaves en La idea o el lugar de donde surge todo
Paco Valero en La idea o el lugar de donde surge todo
ARCHIVOS
junio 2018 (1)
mayo 2018 (3)
abril 2018 (3)
marzo 2018 (5)
febrero 2018 (4)
enero 2018 (4)
diciembre 2017 (2)
Funciona con WordPress
Este sitio web utiliza co