Hoy en d�a, la presencia en el Web es cada vez m�s relevante e importante para las empresas. D�a a d�a se demandan m�s servicios en Internet. Por esto, son requeridos sistemas con gran capacidad de transformaci�n y asimilaci�n de las nuevas tendencias, de las nuevas tecnolog�as y del constante cambio del propio mercado.
Una caracter�stica importante de este tema es lo que ata�e a la presentaci�n de la informaci�n en m�ltiples formas y dispositivos. Si tenemos en cuenta el manejo de la informaci�n como hasta actualmente se est� haciendo y analizamos lo que significa para una empresa tener toda su presentaci�n en p�ginas HTML, podemos notar que imponer un cambio de imagen en las propias p�ginas es una labor dispendiosa y debido a que se trata de "remendar" algo ya hecho, se torna en una tarea poco agradable.
Peor a�n, si se trata de presentar la informaci�n de la empresa en un formato distinto al HTML, ya que adem�s de crear la presentaci�n se debe recolectar la informaci�n de la presentaci�n en el formato que est� manejando, es decir, el HTML.
Como usted ya se habr� dado cuenta, el tener la informaci�n en la misma capa en la que se presenta, genera inconvenientes grandes y desencadena una cantidad de factores negativos para las organizaciones tales como gastos en mantenimiento, mayor tiempo en los desarrollos, p�rdida de tiempo y dinero en la capacitaci�n de personas para que conozcan la estructura de presentaci�n, etc.
Para las empresas en las cu�les los datos de presentaci�n se generan de forma din�mica, el problema pasa del dise�ador al programador. En estos casos el programador tiene que ir al c�digo y cambiar la presentaci�n, pero pensemos que en realidad �sto no es el trabajo de un programador, es precisamente la presentaci�n, trabajo del dise�ador. Es claro que el dise�ador no puede hacerlo (y tampoco debe, por que no es su oficio) ya que su l�nea de trabajo no est� pensada para esto. �sto se da mucho en generaci�n din�mica de aplicaciones que utilizan tecnolog�as del estilo de Servlets. Sin embargo n�tese que el programador, al tener que modificar en su c�digo fuente aspectos de presentaci�n corre un riesgo alto de alterar el funcionamiento de la aplicaci�n, lo cual cae en una soluci�n peor e improductiva.
Una soluci�n mejorada de los Servlets sali� con la tecnolog�a J2EE. En los J2EE Beans (que son la forma de presentar la informaci�n) se deber�a tener el m�nimo c�digo, es decir, el necesario para las clases que contienen toda la l�gica del negocio. Por otro lado, con los taglibs (etiquetas XML para definir c�digo) se posibilita crear p�ginas que no tienen una sola l�nea de c�digo.
Bien, �sto mejora las cosas; sin embargo se siguen teniendo b�sicamente tres problemas:
Si se quieren obtener distintas presentaciones, es necesario modificar el c�digo Java que se encarga de dar formato a los datos
El mantenimiento puede no ser tan transparente ya que un dise�ador puede alterar el c�digo embebido en el HTML.
En ocasiones puede ocurrir que se incluya c�digo Java mas all� del necesario para que puedan funcionar correctamente los beans.
Ser�a �ptimo poder tener productos de informaci�n que fueran independientes de las distintas formas de presentaci�n y que si ese contenido se generara din�micamente, ese dinamismo tambi�n fuera totalmente independiente. En pocas palabras se quiere separar Contenido, L�gica y Presentaci�n.
Si se tuviera en un repositorio toda la informaci�n sin ninguna caracter�stica que la atara a alg�n tipo de presentaci�n, se podr�an implantar cada una de las vistas que se desearan sin que se debiera tener en cuenta alguna de las otras. Luego, el cambio o el mantenimiento de una de las vistas no le afectar�a, sino a ella misma.