08/12/2005, 09:50
|
| | | Fecha de Ingreso: julio-2002 Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 22 años, 6 meses Puntos: 10 | |
Priemro que nada, ya debes saber que la tecnologia de Java para el lado del servidor son los Servlets.
Cuando los Servlets salieron a la luz para poder hacer reemplazo a la tecnologia CGI que ahora era reemplazada por la tecnologia Servlets la cual era mucho mas potente, la gente de SUN y de la JCP se dieron cuenta que los Servlets eran una solucion un tanto complicada de programar, puesto que cualquiera que quiciera trabajar con ellos debia saber Java a nivel muy avanzado, puesto que estos son una clase de Java como cualquier otra, ademas debian entender los conceptos de orientacion a objetos para poder sacar el provecho y entender realmente como esta tecnologia funciona. Fue cuando se dieron cuenta que si quierian entrar en el mercado, debian de simplificar el desarrollo de los mismo, fue cuando se crearon las Java Server Page o JSP, las cuales puedes escribirlas entre mezclando codigo Java mediante scriptles (<% %>) junto al codigo HTML de una pagina, esto hace mucho mas simple el poder escribir los servlets. Las JSP luego, la primera vez que un usuario lo solicita al servidor es traducido a una clase Java Servlets por el contenedor de Servlets, luego es compilada y puesta en memoria y esta la que le llega al navegador, para Java, como si de otro Servlets se tratara, pero para el programador, como si de una pagina HTML sencilla lo fuera.
Pues bien, ya sabiendo que tanto cuando hablas de Servlets como cuando hablas de JSP, finalmente estamos hablando de lo mismo, ¿Por que entonces no hacer todo directamente en la JSP como dices tu?
Aqui entra en juego otro cuento, si tu quieres puedes perfectamente hacer llamado a tus objetos y demaces directamente en la JSP, sin embargo estas pasando por alto los patrones de diseño, los cuales buscan simplificar el mantenimiento de las mismas, la seguridad del codigo y la reutilicacion del mismo. Es por eso que cuando se hace software profesional se separa todas las vistas (Lo que el cliente ve) de como se hacen las cosas (Modelo de engocio), de esta forma si aplicas un modelo como por ejemplo el MVC (Modelo Vista Controlador) tu pagina en si la puede diseñar un diseñador grafico, pero que pasaria si le entregas a el una pagina JSP con codigo Java dentro? Lo mas probable es que el diseñador se confunda y le cueste hacer su parte, que pasaria ademas si ese codigo es codigo de negocio? una parte vital de tu aplicacion, y el diseñador o tu mismo al estar editando la parte vista pasas a llevar un simple puntoy coma? podrias causar una catastrofe a nivel de sistema y podrias jamas llegar a encontrar el error. Todo esto se evita cuando usas un buen patron para el diseño de tu arquitectura, donde esto esta separado en su debida capa, y ninguna capa tiene idea de la existencia de la otra, pero todas funcionan para un mismo fin, jamas volveras a peligrar tu modelo de negocios al trabajar tu capa vista. Por otra parte el mantenimiento es mucho mas sencilllo, cuando necesites editar el como haces algo, una conexion a una base de datos o lo que sea, solo iras a la capa de negocio y encontraras solo codigo de negocio y no cosas que no son de ahi, lo cual es un ahorro enorme de esfuerzo. Podrias tambien querer en un momento cambiar el diseño visual de tu aplicacion, y ahora solo deberas editar la capa vista, sin tocar los otros componentes.
Por esto y por muchas razones mas es que se hace tanto enfacis en separar las cosas y que trates de dejar la minima cantidad de codigo Java en tus JSP. Yo por ejemplo, uso Struts, y en mis paginas JSP existe 0% de codigo Java, para eso estan la JSTL.
Saludos
__________________ se despide hasta la proxima
Gonzalo Castillo |