Novacreations

Desarollando Software

Arquitectura de Software: Modelo MVC

En el diseño de sistemas, una parte muy importante es la de la reutilización del código. Un sistema bien construido, que sea modular y fácil de mantener, dará a su empresa una base importante para mantenerse competitiva en el mercado. Por otra parte, un sistema que necesita demasiado mantenimiento y no es escalable, acaba por comerse el presupuesto de la empresa, dejando muy poco o ningún espacio para la investigación y la innovación, lo que inevitablemente la llevara al estancamiento.

Una forma de contar con un software redituable y escalable es seguir lineamientos de arquitectura de sistemas. El mas conocido (e implementado) de ellos es el modelo MVC (Model View Controler) que separa un sistema en tres partes, la vista, el modelo y su controlador.

La vista (view) se concentra en la presentación de los datos al cliente o usuario. En el caso de los sistemas Web, la vista serían las páginas HTML, JSP o ASP que se cargan en el navegador, dándole al usuario la información que le corresponde. La construcción de la vista puede estar a cargo de diseñadores gráficos (para la imagen de la empresa, uniformidad de conceptos, etc). Al ser completamente independiente del resto del sistema, puede cambiarse fácilmente sin afectar las capas inferiores.

El modelo (model) se refiere a los objetos persistentes o acervo de la empresa. La mayoría de las veces se trata de una Base de Datos, aunque puede ser un conjunto de archivos formateados o incluso archivos planos. Lo importante es que esta parte debe ser la mas oculta del sistema, para proporcionar la menor cantidad de información a los usuarios o en general a cualquier persona (incluso aquellas malintencionadas). De esta forma, se crea una capa de Software para abstraer la información concreta del modelo. Un ejemplo de esto es la abstracción de java para conexión a las bases de datos (JDBC).

Por último, el controlador (controller) crea una especie de puente entre las dos capas anteriores. Se encarga de obtener las peticiones hechas por el cliente desde la vista, formatearlas para que sean entendibles para el sistema, y acceder al módulo correspondiente que a su vez consultará al modelo en el momento que se necesite. De igual manera, al obtener una respuesta del sistema, el controlador se encarga de generar una vista de retroalimentación para el usuario y así cerrar el ciclo.

Lo mas importante de esta arquitectura es que cada una de las capas deben de ser independientes entre sí. Es decir, si una empresa cuenta con un sistema MVC y de pronto deciden que además de dar servicios por Web lo quieren hacer por alguna interfaz B2B o por WAP, lo único que hay que cambiar es el módulo de la vista, mientras el resto del código permanece inalterable, ahorrando así a la empresa el costo que conlleva el generar todo un sistema nuevo, en tiempo, dinero y costo de la implementación.

Para mas información, recomiendo el sitio http://java.sun.com/blueprints/corej2eepatterns/ que muestra los patrones arquitectónicos mas importantes desarrollados bajo J2EE.




Subscribe to email feed



La fábrica de softw

La Fábrica de Software de la Dirección de Innovación y ...

Administradores de A

Durante años aplicación ES File Explorer era la mejor y ...

Apoyo del Conacyt a

El Consejo Nacional de Ciencia y Tecnología (Conacyt), como parte ...

Microsoft Surface St

Esta semana Microsoft anuncio la existencia de su nueva PC ...

Incuba tu proyecto c

¡Buscamos nuevas tecnologías! Si tu proyecto es seleccionado Telcel te otorgará ...

Las 10 funciones de

  Java 8 incluye nueva funcionalidad que nos permite tener un ...

Como usar una funci

Usar una función hash para encriptar una contraseña no es ...

Cómo escribir códi

Nunca supongas a la malicia lo que puede ser explicado ...

Las 114 preguntas de

¿Tienes una entrevista de trabajo en puerta para un posición Java? ...

Believe in technolog

Ziff Davis Publishing es la más grande editorial de contenidos ...