martes, 23 de febrero de 2021

Conceptos básicos de la arquitectura de microservicios

Los microservicios son pequeñas unidades de servicios independientes que se crea después de dividir una aplicación monolítica, para así tener un mejor mantenimiento de los componentes. 

Con los microservicios, los desarrolladores ahora deben escribir menos códigos. Y, si escriben menos códigos, pueden mantenerlos mejor. 

Cada microservicio puede ser actualizado o escalado sin que esto afecte a la disponibilidad de los demás unidades y de la aplicación en su conjunto

lunes, 15 de febrero de 2021

Rest

Es un modelo de arquitectura web basado en el protocolo HTTP para mejorar las comunicaciones cliente-servidor. Es una alternativa a SOAP , que disponen de una gran capacidad pero también mucha complejidad. 

En un sistema REST, cada recurso es direccionable únicamente a través de su URI.

 Las operaciones más importantes relacionadas con los datos en cualquier sistema REST y la especificación HTTP son cuatro:, a estos operaciones se les llama verbo y se coloca en el encabezado de la solicitud.

  1. POST (crear).
  2. GET (leer y consultar),
  3.  PUT (editar).
  4. DELETE (eliminar).

Otra de las características es que es independiente del tipo de plataformas o lenguajes. Da igual qué lenguaje de programación estés utilizando o qué plataforma. Con una API REST podrás trabajar de cualquier manera. Lo único necesario es que el intercambio de información sea mediante XML o JSON.

Se utiliza en java la API JAX-RS para proprocionar soporte en la creación de servicios web de acuerdo con el estilo arquitectónico Rest.​ JAX-RS usa anotaciones. entre estas anotaciones se incluyen:

  • @Path especifica la ruta de acceso relativa para una clase recurso o método.
  • @GET, @PUT, @POST, @DELETE y @HEAD especifican el tipo de petición HTTP de un recurso.
  • @Produces especifica los tipos de medios MIME de respuesta.
  • @Consumes especifica los tipos de medios de petición aceptados.

RESTful se suele utilizar para referirse a los servicios web que ejecutan la arquitectura REST.

martes, 9 de febrero de 2021

React

Es una librería Javascript desarrollada por Facebook y diseñada para ayudarnos a crear SPA's (Single Page Application), su objetivo es tratar de facilitar la tarea de desarrollar interfaces de usuario. Podríamos decir que React es la V en un contexto en el que se use el patrón MVC.

Para instalar React JS debemos tener instalado nodejs y ejecutar algunos comandos sencillos:

  •  Lo primero que tenemos que instalar es Node.js ya que vamos a utilizar npm para la instalación de los paquetes de ReactJs. Para verificar que se ha instalado correctamente ejecutamos en una consola de comando node -v. 
  • Con el comando npm install -g create-react-app  lo que hacemos es instalar ReactJS en nuestro ordenador de forma global. Si no agregásemos el parámetro -g sólo podríamos usar ReactJS en la carpeta donde hemos ejecutado el código.
  •  Nos vamos a la carpeta donde vamos a tener los proyectos que van a utilizar react y lanzamos el ejecutamos create-react-app nombreproyecto.
  • E inicializamos el proyecto npm start

Si todo esta bien, la aplicación estará corriendo en el puerto 3000. Suele abrirse solo el navegador en esta dirección, pero si no es así, sólo debes ingresar a http://localhost:3000.

Si editamos App.js, los cambios que metamos en ese archivo se reflejaran en el navegador automaticamente, sin necesidad de recargar, esto es debido el Webpack, es un empaquetador de módulos que permite automatizar procesos como transpilación de código, preprocesamiento (de .scss a .css), al instalar node, se obtiene esta funcionalidad.

Las aplicaciones React se construyen mediante componentes, los cuales son elementos independientes y pueden ser reutilizados, además, describen cómo tienen que visualizarse y cómo tienen que comportarse.

Angular

Angular es un framework para aplicaciones web desarrollado en TypeScript, de código abierto, mantenido por Google, que se utiliza para crear y mantener aplicaciones web de una sola página.

 Su principal particularidad es que impulsa el uso del patrón de diseño de software MVC (Modelo - Vista - Controlador).

Aunque ofrece principalmente una base para el desarrollo de la parte frontal, la programación Javascript del lado del cliente, también aborda técnicas de desarrollo de la parte del backend.

lunes, 8 de febrero de 2021

Node.js

Node.js es un entorno que permite ejecutar código Javascript en el servidor.

Algunas caracterñisticas de Node.js:

  • Es Open Source.
  • Basado en eventos.
  • Programación Asíncrona.
  • Basado en el motor V8 de Google. 
  • Node.js trabaja con un único hilo de ejecución que es el encargado de organizar todo el flujo de trabajo que se deba realizar.

Integración continúa

Con el fin de evitar mayores problemas al final de un nuevo desarrollo extenso, se aconseja utilizar la integración continúa como buenas prácticas.

Los desarrolladores van integrando su código una o varias veces al día en el código base principal. Debido a que se trata de pequeños fragmentos de código, la integración se realiza rápidamente y, en tan solo unos minutos y si se descubre algún error en este proceso, se podrá localizar y solucionar rápidamente.

domingo, 7 de febrero de 2021

RabbitMQ

Es una librería para intercambio de mensajes mediante colas.

Implementa el protocolo AMQP (Advanced Message Queuing Protocol), cuya gran ventaja es que emisores y destinatarios no tienen por qué entender el mismo lenguaje de programación.

Lombok

Es una librería que nos permite a través de las anotaciones obtener un código más limpio y reducido.

Algunas de las anotaciones más utilizadas:

  • @Data ,con esta anotación a nivel de clase, nos ahorramos  tener que añadir  getter/setter o constructores, o los métodos equals, toString().. a una clase.
  • @Setter o @Getter a nivel de propiedad, no es necesario generar el getter y setter de las propiedades que tengan esta anotación. Se puede utilizar también a nivel de clase y generaría para todos las propiedades de la misma.
  • @NotNull  nos ahorramos comprobar si un parámetro de entrada de un método es nulo o no.
Para poder utilizar Lombok, lo único que necesitamos es importar el jar en nuestro proyecto y configurar nuestro entorno de desarrollo para que procese las anotaciones.