Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Arquitectura de implementacion de aplicacion de Ofertas de trabajo

Enviado por   •  20 de Junio de 2022  •  Trabajo  •  2.191 Palabras (9 Páginas)  •  664 Visitas

Página 1 de 9

CASO PRACTICO UNIDAD 7

Ejercicio 1:

Se desea diseñar una aplicación que implemente un buscador de ofertas de trabajo. Cada usuario puede configurar qué portales de ofertas de trabajo servirán de fuente para recuperar las ofertas y las características de las ofertas que deben recuperarse. La aplicación se conectará a los portales y generará entradas asociadas a cada usuario. Una entrada será esencialmente el nombre del portal web donde se ha encontrado la oferta, el contenido principal de la oferta, las características que cumple la oferta con respecto a los requisitos impuestos por el usuario y un enlace a la misma (la aplicación guardará una copia de la oferta para asegurarse de que no sea eliminada del portal), de forma que, si el usuario desea consultar la oferta completa, puede pulsar sobre el enlace. Hay que tener en cuenta que las entidades que deberá gestionar en cuanto al número de portales, requisitos de búsqueda, ofertas y usuarios van a ser enormes.

Se pide:

1.- Realizar un análisis acerca del modelo de datos y la arquitectura de distribución y replicación de los datos que se adecúen mejor a los requisitos de la aplicación descrita. En cuanto al modelo de datos, hay que argumentar la conveniencia de un modelo relacional o uno NoSQL y, en caso de que se elija este último, qué modelo sería el más adecuado.

Para los requisitos indicados en el enunciado del caso se propone el siguiente contexto de la aplicación

        [pic 1]

A partir de contexto descrito en la figura se detallan las piezas propuestas:

  • Se genera una aplicación App /Web en la que se facilitara un portal, en el cual, el usuario accederá, se registrara, recibirá las ofertas adecuadas a sus requisitos y seleccionara y consultara las ofertas seleccionadas.

  • Se respaldará a través de un sistema distribuido en el que se distingue:

  • Un almacén de datos, para ello se optara por una base de datos NoSQL ya que dicha aplicación tendrá que gestionar enorme cantidades de datos y va a dar solución a los problemas que tienen las base de datos relacionales como es la impedancia y el problema de distribución de datos en el sistema ya que requerirá de una disponer una maquina con procesamiento muy alto. Sera el almacén de datos la que contendrá toda la información introducida en el portal como la cargada de los portales de empleo con la ofertas con las que se nutrirá la aplicación.
  • Un sistema de mensajería que será el encargado de gestionar la ingesta en tiempo real de los datos de ofertas de empleo de los portales, en el cual intermediara entre los diversos portales de empleo y el almacén de datos, para dicha pieza se optara por implementar Apache Kafka, ya que es una solución de alta disponibilidad, que soporta una tipología variada de fuentes de datos, es escalable y configurable  

2.- Describir una colección de MongoDB que almacenará la información sobre las solicitudes realizadas por cada usuario, ilustrándolo con las colecciones y tipos de documentos que serían necesarios.

Como modelo de datos donde se almacenará la información se optará por una base de datos documental ya que se almacenarán los distintos documentos (agregados), que se generan (Usuarios, ofertas de empleo y ofertas de usuario).

Dentro de las bases de datos documentales se optará por el uso del MongoDB y para ello se realizara el siguiente modelado de los datos:

  • Se genera una base de datos denominada db.empleo

[pic 2]


  • Se describirán las siguientes colecciones de datos donde se agregaran los documentos:

[pic 3]

  • Colección Ofertas en dicha colección se agregarán las distintas ofertas que se recojan de los portales de empleo a los que esta suscrita la aplicación y tendrá el siguiente formato:
  • -id  -  tipo ObjectId, contendrá la clave del documento
  • Portal – tipo String, contendrá el portal de origen de la oferta
  • Puesto – tipo string, contendrá el puesto ofertado
  • Requisitos – tipo array, contendrá los requisitos de la oferta (idiomas, lenguajes de programación, puesto de trabajo)
  • Experiencia previa – tipo string, contendrá si se requiere o no experiencia previa
  • Ciudad – tipo string, contendrá la ciudad de la oferta
  • Sueldo- tipo number, contendrá el sueldo ofrecido por el puesto
  • Contrato- tipo string, contendrá el tipo de contrato de la oferta
  • Colección Usuario en dicha colección se agregarán los distintos usuarios que se den de alta en la aplicación y tendrá el siguiente formato:
  • -id  -  tipo ObjectId, contendrá la clave del documento
  • Nombre – tipo string, contendrá el nombre del usuario
  • Apell1 – tipo string, contendrá el primer apellido del usuario
  • Apell2 – tipo string, contendrá el segundo apellido del usuario
  • DNI – tipo string, contendrá el numero de documento del usuario
  • Domicilio – tipo string, contendrá el domicilio del usuario
  • Requisitos – tipo array, contendrá los requisitos de las ofertas a consultar
  • DispoGeo – tipo string, contendrá si tiene o no disponibilidad geográfica
  • Experiencia – tipo string, contendrá si tiene experiencia previa
  • Email – tipo string, contendrá el email de contacto
  • Teléfono – tipo string, contendrá el teléfono de contacto
  • Colección OferUsuario, en dicha colección se agregarán las distintas ofertas que seleccionen los distintos usuarios y tendrá el siguiente formato:
  • -id  -  tipo ObjectId, contendrá la clave del documento
  • DNI – tipo string, contendrá el número de documento del usuario de la oferta
  • Id_oferta – tipo ObjectId, contendrá el id de la oferta origen
  • Puesto – tipo string, contendrá el puesto de la oferta
  • CiudadOferta – tipo string contendrá la ciudad de la oferta
  • Requisitos – tipo array, contendrá los requisitos de la oferta
  • Contrato – tipo string, contendrá el tipo de contrato de la oferta        
  • CiudadUsu – tipo string, contendrá la ciudad de residencia del usuario de la oferta
  • Domicilio – tipo string, contendrá el domicilio de residencia del usuario
  • FechaInscripcion – tipo date, contendrá la fecha en que se seleccionó la oferta

La aplicación a través del sistema de mensajería insertara los documentos de las ofertas de los portales en la colección de Oferta

[pic 4]

El cuando se registre generara un documento con los datos y se agregaran a la colección de Usuarios

[pic 5]

Una vez registrado a través de los requisitos introducidos procederá a realizar una consulta sobre la colección de Ofertas para recuperar las ofertas disponibles para sus requisitos

[pic 6]

Una vez realizada la búsqueda la aplicación ofrecerá una lista de ofertas para el usuario y las que seleccione agregará el siguiente documento a la colección de OferUsuario

...

Descargar como  txt (14.2 Kb)   pdf (905.7 Kb)   docx (997 Kb)  
Leer 8 páginas más »
Disponible sólo en Essays.club