mouffetard, a continuación voy a comentar unas cosas de tus puntos, recordando que el foro es un asunto para mejorar, aprender y compartir información, puede que me equivoque pero iremos con argumentos firmes y puntuales llegando a el punto de que es mejor y cuando. Listo? ... dice así:
Aquí hay trabajo que ya te hace el framework,
1. Los request llegan en formato String todo y sin validar, te toca la galleta de la conversión, así sea Client / Server side, como la pongas.
2. Te toca rellenar los Beans para transferencia de datos tu mismo, esto ya lo hacen estos frameworks.
¿Cómo manejas este camello?
La realidad de las empresas grandes, estimado, es que muchas tienen aún sistemas legacy, y lógica en los motores de base de datos, cosa que no indica que sea lo correcto o lo mejor, sino es lo que tienen hace mucho tiempo y cuesta mucho migrarse a sistemas modernos y mejores como J2EE que recomiendan fuertemente usar 3 capas, las razones sobran decirlas conociendo que estamos entre expertos.
Tu aplicación hace algo mal si es una aplicacion moderna y recien implementada, y es que es una mala practica empujar la logica de negocio en las bases de datos, eso un arquitecto J2EE lo descarta de salida, para eso se hicieron los EJB. Usted se está volando la capa de negocio y la está mesclando con la de persistencia: 2 en 1?? su aplicación tiene dos capas, no sé ni para que crea DAO's ??? que está abstrayendo?? tiene la aplicación en su base de datos ... Además eso de validar los datos como direcciones en la base de datos FATAL ! ... eso va más arriba.
Que la mayoría de empresas usen metodologías antiguas, no significa que las aplicaciones modernas deban ser programadas de tal forma, esto ha evolucionado, y cuando se pueda se debe implementar las nuevas arquitecturas, salvo que hayas tomado un sistema que esta funcionando perfectamente así y te quieras facilitar la vida reusando esos Store procedures ya creados es diferente, si la comenzaste de cero y metiste la lógica de negocio así, grave ! ...
Como lo dije, su sistema funciona y COBOL con archivos planos y una sola capa también .
Esto es correcto, el cliente a veces no sabe ni lo que quiere, solo le interesa solucionar un problema, y ese es nuestro trabajo.
mouffetard dijo:1 y 2. Se utiliza el Patrón MVC Model-2, es decir, un servlet que hace las veces controller. No todo el flujo de la aplicación pasa por un solo controller, lo más aproximado es que cada Caso de Uso pasa por un Controller. Además, las Views son JSP que utilizan TAGLIBS, de manera que se trata de reducir al máximo el código dentro de las JSP. Los proyectos empresariales son arriesgados y entre más simple sea lo que se utiliza como plataforma, mejor le irá en el proceso de desarrollo y mantenimiento.
Aquí hay trabajo que ya te hace el framework,
1. Los request llegan en formato String todo y sin validar, te toca la galleta de la conversión, así sea Client / Server side, como la pongas.
2. Te toca rellenar los Beans para transferencia de datos tu mismo, esto ya lo hacen estos frameworks.
¿Cómo manejas este camello?
3. La realidad en las empresas grandes es que tienen procedimientos almacenados que ya hacen la mayoría de la lógica, por ejemplo: validación de direcciones, cruces de información, cuadres, operaciones CRUD sobre modelos corporativos, etc. Y sí, las empresas están de hecho, casadas con un proveedor de base de datos. Aquí no hay mucha que decir, a menos de que se desarrolle software genérico, que es otro paseo.
La realidad de las empresas grandes, estimado, es que muchas tienen aún sistemas legacy, y lógica en los motores de base de datos, cosa que no indica que sea lo correcto o lo mejor, sino es lo que tienen hace mucho tiempo y cuesta mucho migrarse a sistemas modernos y mejores como J2EE que recomiendan fuertemente usar 3 capas, las razones sobran decirlas conociendo que estamos entre expertos.
Tu aplicación hace algo mal si es una aplicacion moderna y recien implementada, y es que es una mala practica empujar la logica de negocio en las bases de datos, eso un arquitecto J2EE lo descarta de salida, para eso se hicieron los EJB. Usted se está volando la capa de negocio y la está mesclando con la de persistencia: 2 en 1?? su aplicación tiene dos capas, no sé ni para que crea DAO's ??? que está abstrayendo?? tiene la aplicación en su base de datos ... Además eso de validar los datos como direcciones en la base de datos FATAL ! ... eso va más arriba.
Que la mayoría de empresas usen metodologías antiguas, no significa que las aplicaciones modernas deban ser programadas de tal forma, esto ha evolucionado, y cuando se pueda se debe implementar las nuevas arquitecturas, salvo que hayas tomado un sistema que esta funcionando perfectamente así y te quieras facilitar la vida reusando esos Store procedures ya creados es diferente, si la comenzaste de cero y metiste la lógica de negocio así, grave ! ...
Como lo dije, su sistema funciona y COBOL con archivos planos y una sola capa también .
[/QUOTE]4. Desde nuestro punto de vista de "Desarrollo y Diseño de Software" es más importante que el software funcione bien a que funcione como el cliente lo especificó funcionalmente. Desde el punto de vista de elicitación de requisitos y aproximaciones metodológicas, es más importante que el software funcione como el cliente lo especificó, es más, que funcione como el cliente lo soñó.
Esto es correcto, el cliente a veces no sabe ni lo que quiere, solo le interesa solucionar un problema, y ese es nuestro trabajo.