Creo que es conveniente empezar por lo básico. Sólo perderé un par de minutos.
Existen diversas tecnologías relacionadas con el lenguaje java. Las principales son:
- Java SE (aplicaciones de escritorio)
- Java EE (aplicaciones empresariales)
- Java ME (aplicaciones sobre móviles)
- Java FX (aplicaciones flash)
Nos centraremos en Java SE y EE, ya que tanto ME como FX tienen, a mi juicio, poco recorrido y muchas dificultades para desarrollarse. Android y HTML5 tienen la culpa.
Java SE permite desarrollar aplicaciones de escritorio 100% operativas, eficaces y viables. Solo necesita tener instalado el JRE de Java. Puede funcionar en cualquier equipo independiente.
Java EE consiste en un conjunto de tecnologías empresariales que pueden combinarse, sustituirse, mezclarse y transformarse con gran rapidez. Además, hay un conjunto de frameworks y tecnologías asociadas que, por si ya os resultaba complejo de manejar el paquete estandar de desarrollo, pues también tendréis que dominar y emplear. Se pueden instalar en un equipo independiente, pero lo normal es que hablemos de una infraestructura de servidor(es)-cliente(s) más o menos compleja y extensa.
¡Ojo! Que exista Java EE no quiere decir que no puedan hacerse aplicaciones para uso empresarial con JavaSE. De hecho, a mi juicio más correcto hubiera sido referirse a JavaSE como java local y a JavaEE como java remoto, aunque eso tampoco sería exacto.
¡Ojo! Que exista Java EE no quiere decir que no puedan hacerse aplicaciones para uso empresarial con JavaSE. De hecho, a mi juicio más correcto hubiera sido referirse a JavaSE como java local y a JavaEE como java remoto, aunque eso tampoco sería exacto.
Patrón de arquitectura básico: modelo MVC
El patrón-modelo MVC debe ser la columna vertebral sobre la que construir el proyecto. Mediante este patrón de arquitectura de software procederemos a separar la lógica de la programación, de los accesos a datos, y de las vistas o presentación.
¿Que quiere decir exactamente esto? Pues que el diseño de la aplicación tiene que realizarse de tal manera que, al menos, existan 3 bloques independientes y que sin embargo comunicados entre sí. Cada uno de esos bloques se ocupa de unas tareas concretas. Cada bloque se ocupa de una "capa" de la aplicación:
El patrón-modelo MVC debe ser la columna vertebral sobre la que construir el proyecto. Mediante este patrón de arquitectura de software procederemos a separar la lógica de la programación, de los accesos a datos, y de las vistas o presentación.
¿Que quiere decir exactamente esto? Pues que el diseño de la aplicación tiene que realizarse de tal manera que, al menos, existan 3 bloques independientes y que sin embargo comunicados entre sí. Cada uno de esos bloques se ocupa de unas tareas concretas. Cada bloque se ocupa de una "capa" de la aplicación:
- capa presentación o vista
- capa persistencia o modelo
- capa lógica del negocio o control
Más fácil. La capa vista (view) debe contener exclusivamente aquello que tenga que ver con lo que vamos a mostrarle al cliente, cómo se lo vamos a mostrar, y cómo va a interactuar el cliente con esa capa para solicitarnos datos... piensa en la construcción de la información en página html, como ejemplo de vista.
La capa de persistencia (model) debe contener la programación necesaria para interactuar con la base de datos o ficheros donde se guarda la información. Incluirá lo necesario para conectarse a los servidores y relacionarse con ellos.
La capa negocio (control) debe contener la programación en sí de nuestra aplicación. Es donde gestionamos lo que haga nuestra aplicación, en función de la interactuación del cliente, y de los datos de la capa model.
En lo referido al flujo de las operaciones hay diferentes sistemas en función de la tecnología empleada en la programación. He aquí una imagen con lo más actual en cuanto a JavaEE "oficial", con sus 3 capas.
El modelo MVC permite reescribir o cambiar una capa (incluso cambiando de tecnología) sin tener que modificar las otras capas. Por ejemplo, sería posible cambiar un almacenamiento en ficheros de texto por una base de datos mysql, solo realizando cambios en los ficheros encargados de la capa de persistencia.
Eso, si la arquitectura de la aplicación está correctamente diseñada, claro...
Eso, si la arquitectura de la aplicación está correctamente diseñada, claro...
No hay comentarios:
Publicar un comentario