Skip to content
This repository was archived by the owner on Jan 25, 2022. It is now read-only.

Latest commit

聽

History

History
23 lines (19 loc) 路 3.9 KB

0400-Arquitectura.md

File metadata and controls

23 lines (19 loc) 路 3.9 KB

Arquitectura de la Soluci贸n

Este ecosistema nace de una asignatura del M谩ster en Ingenier铆a Web de la Universidad de Oviedo. El objetivo es crear un sistema distribuido basado en servicios SOA/MSA donde se exploren los distintos tipos de comunicaci贸n entre servicios. Es por ello que se emplean comunicaciones SOAP, REST y gRPC.

Diagrama de arquitectura general

En el diagrama anterior se puede ver que el sistema consta de 3 grandes segmentos. Uno donde se ubican los distintos clientes. Otro p煤blico que expone servicios y enruta peticiones. Y, un bloque privado que no est谩 expuesto a internet donde residen los servicios que dan respuesta a las peticiones de los clientes. Los sevicios de los que se compone easidiomas son los siguientes:

Servicio Lenguaje Descripci贸n
webclient .NET Expone por HTTP el sitio web que pueden usar los administradores del sistema.
mobileclient Native React Cliente m贸vil que expone la funcionalidad del sistema a los usuarios.
authenticationservice .NET Provee un mecanismo de autenticaci贸n para los usuarios registrados y de verificaci贸n de identidad en las peticiones a los servicios.
userservice Java Permite crear, actualizar, borrar y buscar usuarios.
postsservice Java Permite crear, actualizar, borrar y buscar posts.
chatsservice .NET Permite crear, actualizar, borrar y buscar conversaciones individuales.
translationsservice .NET A demanda de otros servicios traduce el texto que sea necesario al idioma seleccionado.
texttospeechservice Python Para una entrada de texto genera un audio que representa la entrada convertida a habla humana en el mismo idioma.
statisticsservice Java Permite centralizar todas las estad铆sticas relativas a las entidades del sistema en un mismo sitio. No es un sistema de monitorizaci贸n del sistema si no m谩s bien una cach茅 de estad铆stica. En este sistema se pueden encontrar datos como el n煤mero de mensajes por usuario, el n煤mero de usuarios registrados en las 煤ltimas 24h, etc.
offensivetextdetectionservice Python Continuamente busca texto que pueda ser ofensivo dentro de los posts nuevos.
languageidentificationservice Java Para los posts nuevos identifica el lenguaje en el que est谩n escritos y etiqueta dichos posts.
topicmodelingservice Python Para los posts nuevos se identifican los posibles t贸picos que contenga el post.
imagesservice Java Procesa imagenes (en nuestro caso, los avatares de los nuevos usuarios del sistema) y las sube a un bucket de Google Cloud Storage para poder acceder p煤blicamente a 茅stas