Java Server Page (JSP) |
JSP es una tecnología basada en Java que simplifica el proceso de desarrollo de sitios web dinámicos. Las Java server Pages son ficheros de texto que sustituyen a las páginas HTML tradicionales. Los ficheros JSP contienen etiquetas HTML y código embebido que permite al diseñador de la página web acceder a datos desde código Java que se ejecuta en el servidor. JSP se implementa utilizando
la tecnología Servlet. Cuando un servidor web recibe una petición
de una página .jsp, la redirecciona a un proceso especial dedicado
a manejar la ejecución de servlets (servlet container) llamado JSP
container.
Beneficios
de JSP
Mejoras
en el rendimiento: Utilización de hilos Java para el manejo de las
peticiones. El contenedor servlet puede ser ejecutado como parte del servidor
web. Como podemos tener hilos con el mismo padre podremos compartir recursos
con facilidad entre las peticiones.
Soporte
de componentes reutilizables: Creación y utilización de JavaBeans
del servidor. Los JavaBeans utilizados en páginas .jsp pueden ser
utilizados en servlets, applets o aplicaciones Java.
Separación
entre la programación y la presentación: Los cambios realizados
en el diseño de las páginas no interfieren en la lógica
de la programación y viceversa.
Para
poder utilizar esta tecnología es necesario un servidor web que
soporte a páginas .html y código que implemente un contenedor
JSP donde ejecutar las etiquetas JSP. Existen servidores web que incorporan
dicha capacidad dentro de su código (Netscape Enterprise y Aplication
Server 4.0) así como servidores escritos íntegramente en
Java (Java Web Server de Sun y Jigsaw de W3 Consortium) que dan soporte
directamente a esta tecnología.
Jakarta
es un proyecto realizado por Apache.org que consiste en una versión
especial del conocido servidor web Apache con soporte para JSP.
Un
ejemplo
<html>
<head>
<title>Ejemplo
JSP</title>
</head>
<body>
<%=
new Date() %>
</body>
</html>
El
código anterior nos devolverá una página con la fecha
actual.
¿Qué son los Servlets Java? Los Servlets son las respuesta de la tecnología Java a la programación CGI. Son programas que se ejecutan en un servidor Web y construyen páginas Web. Construir páginas Web al vuelo es útil (y comunmente usado) por un número de razones: La página
Web está basada en datos envíados por el usuario. Por ejemplo,
las páginas de resultados de los motores de búsqueda se generan
de esta forma, y los programas que procesan pedidos desde sites de comercio
electrónico también.
¿Cuáles son las Ventajas de los Servlets sobre el CGI "Tradicional"? Los Servlets Java son más eficientes, fáciles de usar, más poderosos, más portables, y más baratos que el CGI tradicional y otras muchas tecnologías del tipo CGI. (y lo que es más importante, los desarrolladores de servlets cobran más que los programadores de Perl :-). Eficiencia.
Con CGI tradicional, se arranca un nuevo proceso para cada solicitud HTTP.
Si el programa CGI hace una operación relativamente rápida,
la sobrecarga del proceso de arrancada puede dominar el tiempo de ejecución.
Con los Servlets, la máquina Virtual Java permanece arrancada, y
cada petición es manejada por un thread Java de peso ligero, no
un pesado proceso del sistema operativo. De forma similar, en CGI tradicional,
si hay N peticiones simultáneas para el mismo programa CGI, el código
de este problema se cargará N veces en memoria. Sin embargo, con
los Servlets, hay N threads pero sólo una copia de la clase Servlet.
Los Servelt también tienen más alternativas que los programas
normales CGI para optimizaciones como los cachés de cálculos
prévios, mantener abiertas las conexiones de bases de datos, etc.
Comparando JSP
con ASP
JSP
y ASP sirven para hacer, más o menos, el mismo tipo de aplicaciones
web. Sin embargo, en el fondo tienen bastantes diferencias. Después
de mi experiencia en el trabajo con JSP, un día un cliente me preguntó
por qué no programaba la página en ASP en lugar de JSP, ya
que había oido hablar que el sistema de Microsoft tenía unas
características muy apropiadas para su modelo de negocio. A partir
de esta sugerencia, y para que mi cliente quedase satisfecho con la tecnología
JSP -que es la que prefiero utilizar-, preparé una lista de ventajas
de utilizar páginas dinámicas Java frente a las de Microsoft.
Plataforma
e independencia del servidor
JSP
sigue la filosofía de la arquitectura JAVA de "escribe una vez ejecuta
donde quieras". La implantación de ASP está limitada para
arquitecturas basadas en tecnología Microsoft.
Así,
JSP se puede ejecutar en los sistemas operativos y servidores web más
populares, como por ejemplo Apache, Netscape o Microsoft IIS. Mientras
que ASP sólo tiene soporte nativo para los servidores IIS y Personal
Web Server, que son los dos servidores web para sistemas Microsoft, el
primero con tecnología NT y el segundo para sistemas Windows 98
y similares.
Proceso
de desarrollo abierto (open source)
El
API JSP se beneficia de la extendida comunidad JAVA existente, por el contrario
la tecnología ASP es específica de Microsoft que desarrolla
sus procesos internamente.
Mientras
que tanto JSP como ASP usan una combinación de tags y scripts para
crear paginas web dinámicas, la tecnología JSP permite a
los desarrolladores crear nuevos tags. Así los desarrolladores pueden
crear nuevos tags y no depender tanto de los scripts.
Reusabilidad
entre plataformas.
Los
componentes JSP son reusables en distintas plataformas (UNIX, Windows).
La
tecnología JSP usa Java como lenguaje de Script mientras que ASP
usa VBScript o Jscript. Java es un lenguaje mas potente y escalable que
los lenguajes de Script. Las páginas JSP son compilados en Servlets
por lo que actúan como una puerta a todos los servicios Java de
Servidor y librerías Java para aplicaciones http. Java hace el trabajo
del desarrollador más fácil p. e. ayuda a proteger el sistema
contra las "caídas" mientras que las aplicaciones ASP sobre sistemas
NT son más susceptibles a sufrirlas, también ayuda en el
manejo de la memoria protegiendo contra fallos de memoria y el duro trabajo
de buscar los fallos de perdida de punteros de memoria que pueden hacer
mas lento el funcionamiento de una aplicación.
Mantenimiento Las aplicaciones que usan JSP tiene un mantenimiento más fácil que las que usan ASP. Los
lenguajes de Script están bien para pequeñas aplicaciones,
pero no encajan bien para aplicaciones grandes. Java es un lenguaje estructurado
y es más fácil de construir y mantenimientos grandes como
aplicaciones modulares.
La
tecnología JSP hace mayor énfasis en los componentes que
en los Scripts, esto hace que sea más fácil revisar el contenido
sin que afecte a la lógica o revisar la lógica sin cambiar
el contenido.
La
arquitectura EJB encapsula la lógica de p. e.: acceso a BD, seguridad,
integridad transaccional y aislamiento de la aplicación.
Debido
a que la tecnología JSP es abierta y multiplataforma, los servidores
web, plataformas y otros componentes pueden ser fácilmente actualizados
o cambiados sin que afecte a las aplicaciones basadas en la tecnología
JSP.
Conclusión
Las
ventajas sobre utilizar la tecnología Java con respecto a la propietaria
de Microsoft (ASP) son, como se ha podido ver, diversas e interesantes.
Sin embargo, podemos apuntar una ventaja de la programación en ASP,
pues resulta bastante más fácil de aprender que JSP, por
lo menos si no se tiene una experiencia previa en programación.
Esto es debido a que Java es un lenguaje muy potente, pero un poco más
complicado de usar porque es orientado a objetos y la manera de escribir
los programas es más rígida.
Ejemplo de código JSP Java Server Pages (JSP) es una tecnología que nos permite mezclar HTML estático con HTML generado dinámicamente. Muchas páginas Web que están construidas con programas CGI son casi estáticas, con la parte dinámica limitada a muy pocas localizaciones. Pero muchas variaciones CGI, incluyendo los servlets, hacen que generemos la página completa mediante nuestro programa, incluso aunque la mayoría de ella sea siempre lo mismo. JSP nos permite crear dos partes de forma separada. Aquí tenemos un ejemplo: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
4.0 Transitional//EN">
ASP es una tecnología
desarrollada por MS para crear páginas web de contenido dinámico
apoyándose en scripts ejecutados en el servidor. Básicamente
una página ASP es una mezcla entre una página HTML y un programa
que da como resultado una página HTML que es enviada al cliente
(navegador).
Estos scripts o programas
pueden en ASP ser escritos en uno de estos dos lenguajes de programación
VBScript o JavaScript, pero el más extendido es VBScript, por eso
centraremos todo este manual en VBScript y todas las posibilidades que
él tiene.
Pero, ¿cúal es la diferencia de ASP.net con el ASP común que conocemos? Mucha, realmente es mucha. Mientras ASP
se escribía en VBScript, ASP.net puede ser escrito en cualquier
lenguaje soportado por el .net Framework, es decir: VB.net; C# y JScript.net.
Si, como has leído, ya no puedes utilizar VBScript sino que debes
utilizar VB.net que es lo que más se aproxima. Otro cambio radical
es que ASP.net es un lenguaje totalmente orientado a objetos.
¿Que mejoras trae ASP.net? ¿Es realmente mejor que ASP? Sin duda, es mucho mejor que el ASP tradicional, ASP.net trae diversas mejoras entre las cuales se destacan:
Partiendo de la base de que el lenguaje
es otro, muchas, al ser programación orientada a objetos y al ser
lenguaje de Visual Basic .net todo es muy diferente. Hay que cambiar el
pensamiento y todos los viejos conceptos que teníamos de ASP 3.0.
<script runat="server">
<html><body>
En el código hay tres colores marcados: verde, rojo y azul.
<html><body> <font face="verdana" size=2>Esta es la página de Pablo!</font><br><br> <form name="_ctl0" method="post" action="bienvenida.aspx" id="_ctl0"> <input type="hidden" name="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" value="" /> <input type="hidden" name="__VIEWSTATE" value="dDwxMTU3NzQ3OTc0Ozs+jxrUecWhDY6AanZbrFANP9MYypQ=" /> <script language="javascript">
Tu nombre: <input name="Nombre" type="text"
id="Nombre"
El lenguaje PHP es un lenguaje de programación
de estilo clásico, con esto quiero decir que es un lenguaje de programación
con variables, sentencias condicionales, bucles, funciones.... No es un
lenguaje de marcas como podría ser HTML, XML o WML. Está
mas cercano a JavaScript o a C, para aquellos que conocen estos lenguajes.
Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del navegador, pero sin embargo para que sus páginas PHP funcionen, el servidor donde están alojadas debe soportar PHP. El lenguaje de programación PHP
es actualmente el más utilizado en la creación de sitios
web. Su popularidad se debe a su carácter gratuito pero también
a su versatilidad, sencillez y fiabilidad, junto con la facilidad para
integrarse con la popular base de datos MySQL.
Introducción a PHP PHP es un lenguaje de programación el cual se ejecuta en los servidores web y que te permite crear contenido dinámico en tus páginas HTML. Dispone de múltiples herramientas que te permiten acceder a bases de datos de forma sencilla, por lo que es ideal para crear tus aplicaciones para Internet. Es multiplataforma, funciona tanto para Unix (con Apache) como para Windows (con Microsoft Internet Information Server) de forma que el código que se haya creado para una de ellas no tiene porqué modificarse al pasar a la otra. La sintaxis que utiliza, la toma de otros lenguajes muy extendidos como C y Perl, por lo que si estás familiarizado con estos, con PHP te encontrarás como en casa. Para quien conozca las ASP (Active Server Pages) de Microsoft, PHP es muy parecido, sólo que más rápido, gratuito y multiplataforma. El funcionamiento es bastante simple:
Código de una página HTML
con PHP
Código recibido por el navegador <html>
Visualización en el navegador Estás usando el navegador Mozilla/4.71
[en] (Win95; I).
Supongo que te habrás dado cuenta
de que el código PHP, empieza con <?php y termina con ?>, que
las instrucciones finalizan con punto y coma ";" y que puedes insertar
código donde quieras y cuantas veces haga falta.
Introducción al XML XML (eXtended Markup Language) es un lenguaje para la definición de lenguajes de etiquetas, lo que llamaríamos "metalenguaje". XML va a indicar como pueden ser creados otros lenguajes por marcas, define las gramáticas de otros lenguajes. Este lenguaje es relativamente joven, eso tendiendo en cuenta que la versión 1.0 es una recomendación del World Wide Web Consortium (W3C)1 de Febrero de 1998. Si bien las ideas no son tan nuevas, ya que XML se apoya en la definición del SGML que es un estandar ISO desde los años 80. Como acabo de mencionar, el XML es un subconjunto del lenguaje SGML, el cual también es un metalenguaje. El problema del SGML es que es una definición demasiado extensa, engorrosa y que su uso podría generar lenguajes incompletos en su definición como sucede con el HTML. Toda la algarabía en torno de este avance se hizo realidad cuando Microsoft lanzó su Internet Explorer 5 - el primer navegador comercial en apoyar las normas XML. Las limitaciones del HTML, lo hacen menos apropiado para las aplicaciones avanzadas del Internet:
Así fue como nació XML. Entonces ¿por qué no usar simplemente SGML? Sin entrar en detalles, limitémonos a decir que SGML es sumamente complejo. (De hecho, sus especificaciones cubren más de 500 páginas). En cambio, las normas XML son mucho más sencillas. (Cubren apenas 26 páginas). Aunque estrictamente
hablando, el XML es tan solo una especificación de marcación
de datos, hoy en día el término incluye una diversidad de
tecnologías anexas, como el XML DOM, XSL, XLL, XML y VML.
El estándar XML XML publico su recomendacion "XML 1.0" en Febrero del 1998. En Enero de 1999 se publico "NameSpaces in XML" y en Junio del mismo año la recomendación sobre el "Style Sheet Linking". Si queréis conocer algo más sobre la actividad del grupo de desarrollo del XML lo podéis hacer en http://www.w3.org/XML/Activity Actualmente XML es
un estándar abierto del W3C que agrupa una serie de tecnologías:
1. XML es un lenguaje independiente de la plataforma sobre la que se trabaje. 2. Es UNICODE, lo que hace que pueda ser utilizado en múltiples lenguajes. 3. Independencia de la información con respecto a la representación. 4. Cuando se incluye un cambio en el documento no supone un problema para su interpretación, ya que siempre hay que que leer el DTD. 5. XML sigue un estándar. 6. Los datos solo dependen de los datos en si, no de su formato. 7.
Para acceder a la información se puede utilizar una representación
a alto nivel y no a bajo nivel como con el HTML.
El Documento XML La norma XML 1.0 se puede encontrar en el sitio www.w3.org/TR/REC-xml (sitio en inglés). Tenga en cuenta, sin embargo, que este no es el mejor lugar para comenzar a aprender acerca de XML. No obstante, es una buena referencia para consultar, una vez termine de leer este artículo. Cada documento XML tiene una estructura lógica y otra física. Físicamente el documento está compuesto por entidades, las cuales se agrupan de forma jerárquica, existiendo una sola entidad raíz. Lógicamente el documento se compone de declaraciones, elementos, comentarios, referencias a carácter e instrucciones de proceso. Parte física <persona edad=24>
Parte lógica <!ELEMENT persona
(nombre,apellido+,foto)>
<!ELEMENT foto (EMPTY)> <!ATTLIST persona
edad CDATA #IMPLIED>
Como vemos, la estructura
de la parte física esta definida por la parte lógica.
Elementos El documento deberá de tener uno o varios elementos. Uno de esos elementos será el elemento raíz o elemento documento. Este elemento será único en el documento. Documento bien formado <personas>
Documento erróneo <persona>
<persona>
Vemos que el documento
erróneo no tiene un elemento raíz. Ya que el elemento persona
no es único. Los elementos pueden tener contenido o ser elementos
vacios:
Marcas Dentro del documento tendremos texto y elementos de marcación. Los elementos de marcación, a los cuales llamaremos etiquetas irán delimitados por los caracteres menor (<) y mayor (>). Tenemos dos tipos de elementos: aquellos que van delimitados por una etiqueta de inicio (<etiquetaInicio>) y otra de fin (</etiquetaFin>) y los que son elementos vacíos, que tiene una sola etiqueta (<etiquetaUnica />). Elementos correctos <nombre>Victor</nombre> <imagen origen="foto.jpg" /> Elementos erróneos <nombre>Victor<nombre> <imagen origen="foto.jpg"> Estas etiquetas permiten anidar los elementos del documento. De tal manera que quede una estructura de anidacion jerárquica. Estructura correcta <persona> <nombre>Victor</nombre>
</persona> Estructura errónea <persona><nombre> Victor </persona></nombre
Atributos Los atributos especificarán características o propiedades de los elementos de un documento. Los valores de los atributos deberán de ir entre comillas, ya sean comillas simples o dobles. Atributos correctos <imagen origen="foto.jpg" /> <imagen origen=’foto.jpg’ /> Atributos incorrectos <imagen origen=foto.jpg
/>
Sintaxis El lenguaje XML es sensible a mayúsculas. Es decir, que las etiquetas <NOMBRE>, <nombre> y <nomBre> son diferentes. Los elementos, entidades y atributos deben de empezar por una letra que puede ir seguida de letras, números, guiones, rayas, punto o dos puntos Las letras XML (en
cualquiera de sus combinaciones de mayúsculas y minúsculas)
no puede utilizarse como nombre de elemento, atributo o entidad.
Comentarios Para añadir un comentario dentro del documento XML deberemos de hacerlo de la siguiente forma: <!-- comentario
-->
Entidades Las entidades deberán de ir entre "&" y ";". Las entidades definidas por XML son: Las entidades deberán de ir entre "&" y ";". Las entidades definidas por XML son: & & < < > > ' ‘ "
"
Secciones CData Las secciones Cdata aparecen por si queremos que un determinado texto sea reconocido como caracteres de texto y no como elementos de marcado, y evitar así, el tener que usar múltiples entidades. Estas secciones se definen de la siguiente forma <![CDATA[ contenido ]]> Dentro de estas secciones no podremos, desgraciadamente, utilizar la cadena "]]>", ya que es la que marca el final de esta sección. <?xml version="1.0"?> <INFORMACION>
<HTML><HEAD><TITLE>
Mi pagina </TITLE></HEAD>
]]> </INFORMACION>
Prologo y declaración del tipo de documento Los documentos XML deben de comenzar con una declaración XML, en la que se especifica la versión de XML que se esta utilizando. Para ello añadiremos al principio del documento la siguiente línea: <?xml version="1.0"?> Por el momento se usará el número 1.0, ya que solamente está en uso la versión 1.0 del lenguaje. Pero en un futuro, este campo servirá a los analizadores a verificar la versión del documento y ver así si la soportan o no. Además de la versión, podemos identificar el tipo de codificación de datos del documento: US-ASCII, UTF-8,… Después de
haber realizado la declaración del documento XML podemos indicarle
sobre que DTD se valida. El DTD (Definición del Tipo de Documento)
que, a grandes rasgos, podemos decir que define los elementos que el documento
XML podrá tener, así como una serie de reglas a cumplir.
Tipos de documentos Dentro de los documentos XML distinguimos dos tipos de documentos: Documentos válidos
Un documento XML es un documento bien formado si tiene una estructura física que cumple las normas recogidas en la especificación XML v1.0 y que hemos visto anteriormente Documentos válidos Un documento XML
es un documento válido cuando además de ser un documento
bien formado esta sujeto a un DTD.
Documentos aislados Un "documento aislado" es aquel en el que no existen declaraciones de marcas externas al documento. Este valor será valido para el analizador, ya que sabe que este documento no está sujeto a marcas. Si indicamos que el documento no es aislado, estamos diciendo que ese documento puede tener declaraciones de marcas externas. Para indicar que un documento es aislado <?xml version="1.0"standalone= ’yes’?> y un documento no aislado: <?xml version="1.0"standalone=’no’?>
Sintaxis correcta y errada de un documento XML Hay dos maneras de
codificar un documento XML correctamente, para que este sea o bien formado
o válido.
El documento es válido,
si sus datos se conforman al esquema o plantilla del documento.
En la actualidad hay dos maneras de especificar los documentos XML: Primero está el DTD (Definición de Tipo de Documento), y luego está el XML Scheme (Esquema XML). El DTD forma parte de la norma XML 1.0. Por lo tanto, en la actualidad es el más prevaleciente. El problema con el DTD es que su sintaxis no es "intuitiva". Otro defecto es que no le permite especificar el tipo de los diversos elementos. En vista de estas limitaciones, el consorcio W3C está considerando la opción del Esquema XML. Este esquema - propuesto originalmente por Microsoft y por otras empresas de la industria XML - se vale de una sintaxis parecida a la del XML para describir los documentos. Además, el Esquema XML tiene la habilidad de describir los tipos de elemento que contiene el documento (a través de XML-Data). En nuestra opinión, es más fácil para los no profesionales en SGML, leer, entender y crear el Esquema XML, que el DTD. Para darle una idea de las diferencias entre el XML Scheme y el DTD, veamos los archivos que bajamos del Internet. Estos archivos muestran los DTD para nuestros datos de vuelo, comparados con los mismos datos en Esquema XML. Cuál es más fácil de entender ¿el DTD o el Esquema XML? El XML le ofrece la habilidad de definir fácilmente sus propios tipos y rótulos de documentos. Pero si todo el mundo se pusiera a definir documentos a su manera, nadie podría intercambiar documentos parecidos con los demás. Por lo tanto, se han propuesto dos grupos de normas de "documento comunes" y las empresas están acogiéndose muy rápidamente a una u otra de estas dos normas. BizTalk. Esta norma, liderada por Microsoft, pretende crear una base para los documentos comerciales más comunes, como las facturas y las órdenes de compra. XML.org. Este sitio
es básicamente una iniciativa en contra de Microsoft, la cual busca
promover el uso del DTD para definir los principales tipos de documento
comercial.
Procedimiento a Seguir por una Empresa que desea Comercializar sus Productos a través de un Sistema Web. Explicaremos en esta
sección los lineamientos para desarrollar un sistema web que permita
a las empresas el comercializar directamente sus productos a usuarios finales
utilizando como vía Internet. Este objetivo se cumple a través
de la implementación de una tienda virtual con catálogo de
producto y habilitación de medios de pago que harán posible
el concretar la transacción comercial.
Algunas de las
características que tienen estos sistemas son los siguientes:
En términos
sencillos, lo primero que debe conocer una empresa es que requiere de las
siguientes herramientas:
Dentro del párrafo anterior hemos escrito sobre una forma tradicional de para llevar adelante un proyecto de este tipo. Sin embargo, debido al avance de las nuevas tecnologías y la diversidad de plataformas de explotación de los sistemas, se plantea la necesidad de separar, al máximo posible, la especificación de la funcionalidad de un sistema, de la especificación de la implementación de dicha funcionalidad en una plataforma específica. Los sistemas de información
Web (SIW) son, en la actualidad, instrumentos imprescindibles para la divulgación
de información, así como para la dotación de servicios
a los usuarios de la red.
Metodologias para el desarrollo de sistemas de información web: MIDAS, es una metodología
dirigida por modelos, para el desarrollo ágil de sistemas de información
Web.
Palabras clave: MDA, metodologías orientadas a modelos, marcos metodológicos. En la actualidad,
el enfoque para el desarrollo de los sistemas de información de
las empresas se realiza a partir de la tecnología de desarrollo.
Desde el punto de vista de la tecnología de la información,
este planteamiento es inadecuado puesto que es más importante el
conocimiento del propio negocio que la plataforma y tecnología específica
de implementación. Siguiendo esta directriz, OMG (Object Management
Group) ha creado MDA (Model Driven Architecture)[9]. MDA es un marco de
trabajo para el desarrollo de software, orientado a modelos, que plantea
la obtención del modelado del negocio, en base a modelos independientes
de la plataforma (PIM), para después transformarlos en modelos específicos
de la plataforma (PSI) a partir de unas guías de transformación
entre los diferentes modelos.
MIDAS [1,4] es un
marco metodológico orientado a modelos para el desarrollo de Sistemas
de Información Web con tecnología XML y OR.
Modelos de MIDAS MDA propone tres
grupos de modelos diferentes, dentro de los cuales se enmarcan todos los
modelos de MIDAS.
Los CIM se corresponden con los modelos de dominio y de negocio del sistema. En MIDAS, se propone el diagrama de clases y el diagrama de casos de uso, respectivamente para modelar el contexto del sistema. Los PIM proporcionan la especificación formal del sistema sin tener en cuenta aspectos técnicos ni la tecnología específica de implementación. A continuación se presentan los diferentes modelos, agrupados según una dimensión estructural y una dimensión de comportamiento: > PIM de la Dimensión Estructural. Recogen, a nivel conceptual, el contenido, el hipertexto y la presentación. A nivel de contenido se propone el diagrama de clases como modelo conceptual de datos. A nivel de hipertexto se propone realizar el modelo de hipertexto con dos técnicas: el modelado conceptual de fragmentos y de navegación propuestos por RMM [2], usando respectivamente los diagramas de fragmentos y de navegación propuestos en UWE [3]. Para el modelado de la presentación, se propone usar el diagrama de presentación definido también en UWE [3]. > PIM de la Dimensión de Comportamiento. Recogen, a nivel conceptual, el comportamiento y la lógica de negocio del sistema, en base a la identificación de servicios. Se propone el modelo de casos de uso, el modelo de servicios y el modelo de composición de servicios. Como modelo de servicio se propone el diagrama de colaboración, propuesto en UML y el diagrama de servicio, que modela cada uno de los servicios identificando las operaciones que realiza. Como modelo de composición de servicio se proponen los diagramas de actividad y de transición de estados, además del diagrama de secuencia,todos ellos propuestos en UML. Los PSM proporcionan modelos en términos de constructores de implementación disponibles en una tecnología específica. Los modelos se presentan agrupados según una dimensión estructural y de comportamiento. > PSM de la Dimensión Estructural. Son los modelos que representan, desde el nivel de diseño lógico hasta la implementación. la presentación y el hipertexto con la tecnología XML y la persistencia o contenid, del sistema con la tecnología OR. A nivel de presentación, el modelo lógico se implementaría con XSL. A nivel de hipertexto, se propone representar el modelo lógico de fragmentos y de navegación con Xlink en UML extendido; y los fragmentos a nivel lógico con XMLschema en UML extendido [11]. A nivel de contenido, el modelo lógico de datos se lleva a cabo de acuerdo con la propuesta definida en [6,7,8]. > PSM de la Dimensión de Comportamiento. Son los modelos enfocados a recoger el comportamiento del sistema en base a lenguajes específicos. Para el modelado lógico de servicio se propone una extensión de UML para WSDL [5]. Para el modelado lógico de composición de servicios se propone el uso de técnicas relacionadas con la orquestación y coreografía de servicios. Transformación de modelos en MIDAS En MDA, las reglas
de transformación proporcionan especificaciones para la transformación
de modelos. Estas reglas se aplican para transformar modelos PIM a PIM,
generalmente asociadas a los diferentes pasos que se suceden entre los
modelos de especificación, análisis y diseño; modelos
PIM a PSM, cuando el PIM está lo suficientemente refinado como para
poder ser transformado en un modelo dependiente de la infraestructura final;
modelos PSM a PSM aplicable al refinamiento de los modelos dependientes
de la plataforma; y modelos PSM a PIM para permitir la abstracción
de modelos a partir de implementaciones específicas de una plataforma
y dependientes de una tecnología concreta.
Se ha descrito MIDAS,
un marco metodológico orientado a modelos para plataforma Web y
tecnología XML y objeto-relacional.
En los párrafos anteriores hablamos sobre algunas metodologías para llevar adelante el desarrollo de aplicaciones web así como algunas consideraciones para el desarrollo de sitios para tiendas virtuales.. A continuación de acuerdo a la investigación realizada por nuestro equipo, resumimos los pasos a seguir (a nuestro criterio) para desarrollar un sistema a la medida de una empresa para que el pueda colocar a la venta sus productos: 1. Levantamiento
de los requerimientos del cliente para dimensionar el proyecto, para lo
cual se requiere aplicar las técnicas de análisis de sistemas
para recopilar información.
5. Selección de las herramientas para el desarrollo del sistema (despliegues), base de datos, herramientas “browser”, servidor web). Dentro de su presupuesto y en las actividades de planificación del proyecto, se tiene que considerar los siguientes elementos: dominio, alojamiento (hosting), planificación y diseño de la web, marketing de buscadores y otras acciones de marketing. Dominio Siendo imprescindible dominio propio, los dominios gratuitos son lentos, y acribillan al visitante con pop-ups de publicidad y los subdominios son más difíciles de recordar y no proporcionan una buen imagen de marca. Es interesante adquirir todos aquellos dominios que estén relacionados con la empresa: nombre comerciales, marcas, expresiones comunes, etc. y tener en cuenta las distintas posibilidades: .com, .org, .net, .(pais), .info... para protegerla contra intereses maliciosos de terceros o de la competencia. Alojamiento (Hosting) Si la empresa no dispone de una importante infraestructura y equipo técnicos, no es conveniente asumir internamente las tareas de alojamiento de la web. Sea cual sea la web puede externalizarse el servicio de alojamiento ya sea con un servidor propio o compartido. Existen multitud de tarifas en función de las características de cada alojamiento, teniendo en cuenta por ejemplo, cantidad de espacio de disco, sistema operativo del servidor, tráfico, servidor seguro, programas preinstalados, estadísticas, número de cuentas de correo, enlace con bases de datos, etc. Planificación y Diseño de la web El coste de estos servicios será variable en función de la complejidad del proyecto, número de personas que deben trabajar en él, tiempo del que se dispone, programación, idiomas, redacción de textos ,etc. Estos costos pueden ir desde 1.200 a 60.000€ (1,000- 50,000$). Una vez la web esté funcionando, la empresa tendrá destinar también un dinero para su mantenimiento que dependerá del número y complejidad de las actualizaciones previstas o bien facilitar formación específica en la organización para responsabilizarse de estas tareas. Marketing de buscadores Un mínimo que incluye el trabajo y las tarifas que cobran los buscadores y directorios por la admisión de nuevas webs puede estar alrededor de 900€, aunque dependerá de la dimensión del proyecto (internacional o nacional, varios idiomas, etc). Otras acciones de marketing on-line u off-line Depende del alcance
del proyecto, desde banners a e-mailings, anuncios en revistas, notas de
prensa, etc.
|