Multi-Tenancy | Principio de arquitectura de software

La llegada de la nube ha cambiado para siempre la forma en que consumimos software, pasando de tener que instalar una aplicaci贸n en nuestro equipo, ha simplemente acceder a un sitio web para tener acceso a toda nuestra informaci贸n, pero la pregunta clave aqu铆 es, 驴c贸mo es que una aplicaci贸n que vive en la nube, puede albergar m煤ltiples clientes y al mismo tiempo mantener separada la informaci贸n? Bueno, para resolver esta pregunta tenemos el termino Multi-Tenancy.

as

Java Converter Pattern

En Java como en cualquier otro lenguaje de programaci贸n, es com煤n encontrarnos con la necesidad de realizar conversi贸n de tipos de datos, sobre todo, aquellos tipos de datos de Entidad que tiene una relaci贸n directa con un DTO que utilizamos para enviar los datos del servidor a un cliente o aplicaci贸n web, lo que hace que tengamos que convertir la Entidad a DTO para enviarla al cliente y de DTO a Entidad para persistirla en la base de datos, lo cual es una tarea cansada y repetitiva que podemos evitar mediante el uso del patr贸n Converter.

as

Data Access Object (DAO) Pattern

Data Access Object (DAO) PatternPr谩cticamente todas las aplicaciones de hoy en d铆a, requiere acceso al menos a una fuente de datos, dichas fuentes son por lo general base de datos relacionales, por lo que muchas veces no tenemos problema en acceder a los datos, sin embargo, hay ocasiones en las que necesitamos tener m谩s de una fuente de datos o la fuente de datos que tenemos puede variar, lo que nos obligar铆a a refactorizar gran parte del c贸digo. Para esto, tenemos el patr贸n Arquitect贸nico Data Access Object (DAO), el cual permite separar la l贸gica de acceso a datos de los Bussines Objects u Objetos de negocios, de tal forma que el DAO encapsula toda la l贸gica de acceso de datos al resto de la aplicaci贸n. as

Circuit Breaker pattern

La llegada de nuevas arquitecturas como SOA o Microservicios han tra铆do grandes ventajas, pero con ello, han surgido nuevas problem谩ticas que pocas veces se sabe c贸mo resolver con precisi贸n, uno de estos casos, es identificar cuando un servicio ha dejado de funcionar para dejarle de enviar peticiones, pero por otro lado, identificar el fallo, reportarlo y hacer algo en consecuencia, por suerte, la patr贸n Circuit Breaker (Corto circuito) permite cerrar la comunicaci贸n con un determinado servicio cuando se ha detectado que est谩 fallado. as

Data Transfer Object (DTO) 鈥 Patr贸n de dise帽o

Data Transfer Object (DTO) 鈥 Patr贸n de dise帽o

Una de las problem谩ticas m谩s comunes cuando desarrollamos aplicaciones, es dise帽ar la forma en que la informaci贸n debe viajar desde la capa de servicios a las aplicaciones o capa de presentaci贸n, ya que muchas veces por desconocimiento o pereza, utilizamos las clases de entidades para retornar los datos, lo que ocasiona que retornemos m谩s datos de los necesarios o incluso, tengamos que ir en m谩s de una ocasi贸n a la capa de servicios para recuperar los datos requeridos. as

Service Discovery pattern para microservicios

Service Discovery y Service Registry

Una gran parte de las aplicaciones que se construyen hoy en d铆a, requieren de un API para funcionar, dicha API ofrece todos los servicios necesarios para que la aplicaci贸n puede interactuar con el Backend y as铆 afectar la informaci贸n de la base de datos, sin embargo, de esa gran cantidad de aplicaciones que se conectan con APIs, requieren saber exactamente donde est谩 alojado (IP y puerto) cada uno de los servicios que conforman el ecosistema de microservicios, es all铆 donde entra el Service Discovery pattern para solucionar ese tipo de dependencias. as

Principios SOLID y patrones de dise帽o

Cuando empec茅 a estudiar dise帽o y arquitectura de software, uno de los primeros conceptos con que me encontr茅 fue el de los principios de dise帽o SOLID.

Me parecieron unas ideas muy interesantes, pero no tan f谩ciles de aplicar.

Luego aparecieron los patrones de dise帽o, y todo empez贸 a tener sentido. Los patrones me dieron estrategias puntuales para resolver problemas espec铆ficos en mi c贸digo. Mi forma de programar cambi贸 radicalmente luego de conocer los patrones de dise帽o.

as

Mi nuevo curso de patrones de dise帽o

El d铆a hoy estoy muy emocionado por que lanzo mi nuevo curso de Introducci贸n a los patrones de dise帽o y mi propia plataforma e-leaning, en la cual espero empezar a generar m谩s contenido, el curso lo dise帽e para todas aquellas personas que no tiene el tiempo para leer todo un libro de patrones de dise帽o y necesitan la informaci贸n lo m谩s compacta posible. as