Definiendo la arquitectura de las aplicaciones web

Después de largo tiempo sin escribir, y más tiempo aún siendo un poco inconstante, le he dado un pequeño lavado de cara al blog, y sobre todo a mis objetivos profesionales.

En sucesivos artículos voy a tratar de definir una arquitectura de desarrollo de aplicaciones web empresarial (grandes volúmenes de datos, desarrolladores heterogéneos, grandes servidores, grid,…), y una arquitectura start-up (bajos costes, desarrollo rápido y ágil, escalable, …).

Partiremos de las tecnologías que nos ofrece actualmente el mundo Java, e iremos viendo como se construyen cada una de las partes del mapa general de la figura:


Apps Architecture

Mis clientes son dos: usuarios a través de sus navegadores, y otras aplicaciones que consumen mis servicios web. A los usuarios debo ser capaz de servirle páginas con funcionalidad e informes.

Por debajo encuentro otras capas:

  • Services: Capa de lógica de negocio, aquí se manipulan los objetos con el fin de mostrarlos finalmente ó persistirlos.
  • DAO: Capa de acceso a datos, manejo de operaciones CRUD de los objetos hacia nuestro almacén.
  • Web Container: es el servidor de aplicaciones, que aporta los servicios comunes entre aplicaciones (JEE)
  • BBDD: almacen de datos
  • Security: almacen de credenciales de seguridad
  • Model: modelo de datos de las aplicaciones

Transversalmente nos encontramos el Entorno de Desarrollo, que en realidad será un conjunto de herramientas que nos ayuden a desarrollar todo lo anterior.

Con esto dejo definido el modelo de desarrollo general, que luego iré componiendo con tecnologías concretas.

Leave a Reply

Your email address will not be published. Required fields are marked *