Vous êtes sur la page 1sur 70

CAPITULO I GENERALIDADES

1.1 PROBLEMATICA

1.1.1 PLANTEAMIENTO DE PROBLEMA.

En la actualidad el avance en el área de redes y telecomunicaciones a sido

significativo tal es el caso q en la actualidad se viene desarrollando bastantes

trabajos de investigación en esta área, las empresas desarrolladoras de software

a nivel mundial van lanzando nuevos productos los cuales funcionan y dan

soporte diversas aplicaciones Web, pero en nuestra región el desarrollo de

sistemas y aplicaciones de web todavía no esta difundido falta investigación que

aplique nuevas tecnologías para el desarrollo e implementación de aplicaciones

WEB, nosotros vemos un problema en poder determinar como se puede

desarrollar e implementar una aplicación en la Web de manera optima, para el

análisis de estas aplicaciones en la Web a si como utilizar herramientas y

diseñadores q nos permitan implementar una aplicación q implemente en forma

real los conceptos de comercio electrónico es por esto q nos planteamos la

siguiente interrogante básica.


PROBLEMA GENERAL

¿Mediante la implementación de los conceptos de comercio electrónico podrá

crear una empresa virtual en línea eficiente para la empresa JR.Tech?

PROBLEMAS ESPECÍFICO

¿Cómo Implementar una empresa virtual con las técnicas de comercio

electrónico?

¿De qué manera se puede ampliar el mercado de negocios electrónicos a través

del uso del internet?

1.2.- JUSTIFICACION DEL PROYECTO

Es importante pues nos permitirá estudiar los diversos métodos de análisis y

diseño de aplicaciones en la Web y así poder poner en practica lo aprendido

durante nuestra etapa de formación profesional, con lo cual emplearemos todos

nuestros conocimientos adquiridos a lo largo de nuestra carrera profesional con

lo cual demostraremos que con el uso de tecnologías de información que es

posible cambiar a una organización mediante la implementación de aplicación

Web.

1.3.- OBJETIVOS

1.3.1 OBJETIVO GENERAL

Implementar una aplicación Web para una empresa virtual de comercio

electrónico

1.3.2 OBJETIVOS ESPECIFICOS

 Implementar una empresa virtual con las técnicas de comercio electrónico

 Ampliar el mercado a través del uso del internet

1.4.- HIPOTESIS

1.4.1 HIPOTESIS GENERAL


Mediante la implementación del comercio electrónico se mejorara la rentabilidad

de la empresa

1.4.2 HIPOTESIS ESPECÍFICAS.

 Empleando las técnicas de comercio electrónico obtendrá un buen modelo

 Ampliando el mercado con el uso de internet tendremos mayor crecimiento

en la empresa

1.5.- ANÁLISIS DE VARIABLES

Variable Independiente Indicadores índices

Aplicación Web Análisis Diseño Apache, php,

Implementación tecnologías, web,

Pruebas internet

Variable Dependiente Indicadores índices


 Comercio Electrónico Servidor WEB Administrador

 Energía eléctrica cliente Ancho de

 Línea de internet banda Espacio

Almacenamiento

1.6.- METODOLOGÍA

1.6.1 NIVEL DE INVESTIGACIÓN

La presente investigación dentro de las Ciencias de la Computación esta situada

en la Sub Área de Sistemas de Información,

1.6.2 TIPO DE INVESTIGACIÓN

Esta investigación es de tipo Descriptivo


CAPITULO II MARCO CONCEPTUAL
1.1 Historia de la Web

Internet [18], la red de redes, nace a mediados de la década de los

setentas, bajo los auspicios de DARPA, la Agencia de Proyectos Avanzados

para la Defensa de Estados Unidos. DARPA inicio un programa de

investigación de técnicas y tecnologías para unir diversas redes de

conmutación de paquetes, permitiendo así a las computadoras conectadas a

estas redes comunicarse entre sí de forma fácil y transparente.

De estos proyectos nació un protocolo de comunicación de datos, IP o Internet

Protocol, que permitía a computadoras diversas comunicarse a través de


una red, Internet, formada por la interconexión de diversas redes.

A mediados de los ochentas la Fundación Nacional para la ciencia

norteamericana, la NSF, creó una red, la NSFNET, que se convirtió en el

backbone (el troncal) de Internet junto con otras redes similares creadas por la

NASA (NSINet) y U.S. DoE (Department of Energy) con la ESNET. En

Europa, la mayoría de países disponían de backbones nacionales

(NORDUNET, RedIRIS, SWITCH, etc.) y de una serie de actividades

paneuropeas (EARN y RARE). En esta época aparecen los primeros

proveedores de acceso a Internet privados que ofrecen acceso pagado a

Internet. A partir de esta época, gracias entre otras cosas a la amplia

disponibilidad de implementaciones de las suite de protocolos TCP/IP

(formada por todos los protocolos de Internet y no sólo por TCP e IP),

algunas de las cuales eran ya de código libre, Internet empezó lo que a

mediados del

2002 empieza a descender ligeramente el ritmo de crecimiento.

A mediados de los noventas se inició el boom de Internet. En esa época el

número de proveedores de acceso privado se disparó, permitiendo a millones

de personas acceder a Internet, que a partir de ese momento ya se

empezó a conocer como la Red, desbancando a las demás redes

de comunicación existentes (Compuserver, FidoNet/BBS, etc.). El

punto de inflexión vino marcado por la aparición de implementaciones

de TCP/IP gratuitas así como por la popularidad y abaratamiento de los

medios de acceso cada vez más rápidos. El efecto de todos estos cambios

fue como una “bola de nieve”: a medida que se conectaban más usuarios, los

costos se reducían, aparecían más proveedores e Internet se hacía más

atractiva y económica, con lo que se conectaban más usuarios.


En estos momentos disponer de una dirección de correo electrónico, de acceso

a la Web, etc., ha dejado de ser una novedad para convertirse en algo normal

en muchos países del mundo. Por eso las empresas, instituciones,

administraciones y demás están migrando rápidamente todos sus servicios,

aplicaciones, tiendas, etc., a un entorno Web que permita a sus clientes y

usuarios acceder a todo ello por Internet. A pesar del ligero descanso

experimentado en el ritmo de crecimiento, Internet está destinado a convertirse

en una suerte de servicios universal de comunicaciones, permitiendo una

comunicación universal.

La WWW (World Wide Web) [18], se ha convertido, junto con el correo

electrónico en el principal caballo de batalla de Internet. Ésta ha dejado

de ser una inmensa

“biblioteca” de páginas estáticas para convertirse en un servicio que permite

acceder multitud de prestaciones y funciones, así como a infinidad de

servicios, programas, tiendas, etc.

En 1989, mientras trabajaba en el CERN (Centro Europeo de Investigación

Nuclear), Tim Berners-Lee empezó a diseñar un sistema para hacer

accesible fácilmente la información del CERN. Dicho sistemas empleaba el

hipertexto para estructurar una red de enlaces entre los documentos. Una

vez obtenida la aprobación para continuar el proyecto, nació el primer

navegador Web, llamado WorldWideWeb.

En 1992 el sistema ya se había extendido fuera del CERN. El número de

servidores
“estables” había aumentado, alcanzando la sorprendente cifra de veintiséis. A

partir de este punto, el crecimiento es espectacular.

En 1993 fue el lanzamiento de Mosaic, un navegador para X-Windows que

con el tiempo se convertiría en Netscape y que fue un factor clave de

popularidad de la Web. En 1994 se fundó la WWW Consortium, que se

convertiría en el motor de desarrollo de los estándares predominantes en la

Web. A partir de ese momento, el crecimiento ya fue constante, convirtiéndose

hacia finales de los noventas en el servicio insignia de Internet y dando lugar

al crecimiento imparable de los servicios en línea que estamos

experimentando actualmente.

El éxito espectacular de la Web se basa en dos puntales fundamentos: el

protocolo HTTP y el lenguaje HTML. Uno permite una implantación simple y

sencilla de un sistema de comunicaciones que nos permite enviar cualquier

tipo de ficheros de una forma fácil, simplificando el funcionamiento del

servidor y permitiendo que servidores poco potentes atiendan miles de

peticiones y reduzcan los costos de despliegue. El otro nos proporciona un

mecanismo de composición de páginas enlazadas simple y fácil, altamente

eficiente y de uso muy simple.

El protocolo HTTP (Hypertext Transfer Protocol) [11, 18] es el protocolo

base de la WWW. Se trata de un protocolo simple, orientado a conexión y sin

estado. La razón de que esté orientado a conexión es que emplea para su

funcionamiento un protocolo de comunicaciones (TCP, transport control

protocol) de modo conectado, un protocolo que establece un canal de

comunicaciones de extremo a extremo (entre el cliente y el servido) por el

que pasa el flujo de bytes que constituyen los datos que hay que
transferir, en contraposición a los protocolos de datagrama o no orientados a

conexión que dividen los datos en pequeños paquetes (datagramas) y los

envían, pudiendo llegar por vías diferentes del servidor al cliente. El

protocolo no mantiene estado, es decir, cada transferencia de datos es una

conexión independiente de la anterior sin relación alguna entre ellas, hasta

el punto de que para transferir un página Web tenemos que enviar código

HTML del texto, así como las imágenes que la componen, pues en la

especificación inicial de HTTP, la 1.0, se abrían y usaban tantas

conexiones como componentes tenía la página, transfiriéndose por cada

conexión un componente (el texto de la página o cada una de las imágenes).

Existe una variante de HTTP llamada HTTPS (S por secure) que utiliza el

protocolo de seguridad SSL (secure socket layer) para cifrar y autenticar el

tráfico entre cliente y servidor, siendo ésta muy usada por los servidores

Web de comercio electrónico, así como por aquellos que contienen

información personal o confidencial.

De manera esquemática, el funcionamiento de HTTP [11,18] es el siguiente:

el cliente establece una conexión TCP hacia el servidor, hacia el puerto HTTP

(o el indicado en la dirección de la conexión), envía un comando HTTP de

petición de un recurso y por la misma conexión el servidor responde con los

datos solicitados y con algunas cabeceras informativas (Ver figura 1.1).


Figura 1.1 Arquitectura Cliente/Servidor

El término Cliente/Servidor alude a un procesamiento colaborativo de datos

entre dos o más computadoras conectadas en una red.

Los principales componentes de la arquitectura Cliente/Servidor son:

clientes, servidores y la infraestructura de comunicación.

Se denomina cliente al proceso que indica el diálogo o solicita los

recursos y se denomina servidor al proceso que responde a las solicitudes

hechas por parte del cliente. Las aplicaciones en el cliente y en el servidor

se dividen de la siguiente manera: el servidor contiene la parte que debe

ser compartida por varios usuarios y el cliente contiene solamente lo

particular de cada usuario.

Los clientes interactúan con el usuario usualmente en forma gráfica,

frecuentemente se comunican con proceso auxiliares que se encargan de

establecer conexión con el servidor, enviar el pedido, recibir la respuesta,

maneja las fallas y realiza actividades de sincronización y de seguridad.


Los servidores proporcionan un servicio al cliente y devuelven los

resultados, en algunos casos existen procesos auxiliares que se encargan de

recibir las solicitudes del cliente, verificar la protección, activar un proceso

servidor para satisfacer el pedido, recibir su respuesta y enviarla al cliente.

Una de las más significantes ventajas de una aplicación Web es el despliegue.

Otro punto importante del éxito de la WWW ha sido el lenguaje HTML

(Hypertext Mark-up Language). Se trata de un lenguaje de marcas que nos

permite representar de forma rica el contenido y también referenciar otros

recurso, enlaces a tros documentos

(la característica más destacada de la WWW), mostrar formularios para

posteriormente procesarlos, etc.

El lenguaje HTML actualmente se encuentra en la versión 4.01 y

empieza a proporcionar funcionalidades más avanzadas para crear páginas

más ricas en contenido. Además se ha definido una especificación

compatible con HTML, el XHTML

(eXtensible Hypertext Markup Language) que suele definir como una

versión XML validable de HTML, proporcionándonos un XML Schema

contra el que validar el documento para comprobar si está bien formado, etc.

1.2 Historia de las aplicaciones Web

Inicialmente la Web era simplemente una colección de páginas estáticas,

documentos, etc., que podían consultarse o descargarse. El siguiente paso

en su evolución fue la inclusión de un método para confeccionar páginas


dinámicas que permitiesen que lo mostrado fuese dinámico (generado o

calculado a partir de los datos de la petición). Dichos métodos fueron

conocidos como:

CGI (Common Gateway Interface). [18] Y definía un mecanismo mediante

el cual podíamos pasar información entre el servidor HTTP y programas

externos. Los CGI siguen siendo muy utilizados, puesto que la mayoría de los

servidores Web los soportan debido a su sencillez. Además, nos proporcionan

total libertad a la hora de escoger el lenguaje de programación para

desarrollarlos.

El esquema de funcionamiento de los CGI tenía un punto débil: cada

vez que recibíamos una petición, el servidor Web lanzaba un proceso que

ejecutaba el programa CGI. Como, por otro lado, la mayoría de los CGI

estaba escrito en algún lenguaje interpretado (Perl, Python, etc.) o en algún

lenguaje que requería run-time environment

(Visual Basic, Java, etc.), esto implicaba una gran carga para la máquina del

servidor. Además, si la Web tenía muchos accesos al CGI, esto suponía

problemas graves. Por ello se empiezan a desarrollar alternativas a los

CGI para solucionar este grave problema de rendimiento. Las soluciones

vienen principalmente por dos vías. Por un lado se diseñan sistemas de

ejecución de módulos más integrados con el servidor, que evitan que éste

tenga que instanciar y ejecutar multitud de programas. La otra vía consiste

en dotar al servidor de un intérprete de algún lenguaje de programación

(RXML, PHP, VBScript, etc.) que nos permita incluir las páginas en el

código de manera que el servidor sea quien lo ejecute, reduciendo así el

tiempo de respuesta.
Fast- CGI. Esta es una solución similar al CGI mencionado anteriormente,

solo que propone la creación de un solo proceso persistente por cada

programa FastCGI en lugar de por cada solicitud del cliente. Es una

solución viable pero también tiene inconvenientes de proliferación de

procesos en el caso de peticiones concurrentes.

Páginas dinámicas en servidor. Con la aparición de esta tecnología se

entra a una nueva forma de trabajo, la cual esta orientada al trabajo del

diseñador Web, quien no necesariamente conocer de lenguajes de

programación. Este nuevo enfoque consiste en insertar pequeños fragmentos

de lógica de programación en la estructura HTML de la página, al contrario

de lo que se hacia en los CGIs, que era en el lenguaje de

programación que utiliza sentencias de impresión para generar salidas HTML.

En este sentido se conocen diferentes alternativas, entre ellas podemos

mencionar PHP, ASP, JSP, entre otros.

Servlets. El Servlet podemos considerarlo como una evolución de los CGIs

desarrollada por SUN Microsystems como parte de la tecnología JAVA. De

forma general consiste en la ejecución de aplicaciones Java en el motor de

servlets (Servlet engine) el cual hace parte del servidor Web, algo que lo hace

ventajoso con respecto a los CGIs es que por cada petición de usuario no se

crea un proceso sino un hilo, el cual es mucho mas económico para el

sistema. Esta tecnología hace parte de la arquitectura propuesta por SUN en

su plataforma J2EE (Java 2 Enterprise Edition).

Servicios Web. La arquitectura de servicios Web plantea algo más que una

técnica para el desarrollo de aplicaciones Web, representa un modelo de

computación distribuida para Internet basado en XML (eXtensible Markup


Language). Bajo este concepto ya no solo se trata la comunicación usuario-

aplicación, sino que de manera adicional se maneja la interacción

aplicación-aplicación. Para aclarar un poco más el concepto tomemos

como ejemplo una rutina de programación, como sabemos una rutina es como

una caja negra, la cual encierra un proceso y que cumple una función

claramente definida, luego para construir una aplicación llamamos

dichas rutinas enviando parámetros y recibiendo la respuesta respectiva. Un

servicio Web se puede considerar como una rutina a la cual se le envían los

parámetros utilizando XML encapsulados en el protocolo HTTP.

1.3 ¿Qué es una aplicación Web?

El término aplicación Web ha ido evolucionando desde un pequeño sitio Web

a una robusta y entera aplicación. Ahora ya no es raro entender por una

aplicación Web a cientos de usuarios simultáneos, distribuidos alrededor del

mundo, todos conectados a la vez si se requiere. Este término varía de

acuerdo a las personas, algunos creen que una aplicación Web es cualquier

página que use java, otros consideran cualquier sistema que use un servidor

Web. Aquí, una aplicación Web, será un servidor Web en el cual los

usuarios introducen datos que afectan la condición del negocio. La diferencia

entre una aplicación Web y un sitio Web radica en su uso. Una aplicación

Web implementa la lógica del negocio, y usa cambios de estados del negocio.

Así, las aplicaciones Web son sistemas de información donde una gran

cantidad de datos volátiles, altamente estructurados, son consultados,

procesados y actualizados mediante navegadores.


El diseño de su interfaz está condicionado por las necesidades de claridad y

simplicidad. Debe tener una estructura que oriente a cada tipo de

usuario en función de sus necesidades.

La arquitectura de una página Web (Ver figura 1.2) no es muy diferente de

un sitio Web dinámico. En muchas situaciones la dimensión de la lógica del

negocio es ejecutada detrás de un servidor Web en uno de las hileras del

lado del servidor. La elección del lenguaje de modelado y la notación

típicamente es decidida por las necesidades de este lado de la aplicación.

Figura 1.2 Arquitectura de Sitio Web dinámico

La arquitectura básica de una aplicación Web [3, 12] incluye browser,

network, y un servidor Web (Ver figura 1.3). Algunas páginas incluyen

scripts del lado del cliente que son interpretados por el browser con los cuales

el usuario interactúa. A veces el usuario ingresa información en los campos de

los formularios de la página y somete estos datos al procesamiento del

servidor.
Figura 1.3 Arquitectura básica de las aplicaciones Web

Actualmente los servidores Web son mucho más seguros, e incluyen

características, como la administración de usuarios, el estado del servidor,

proceso de la transacción, administración remota, etc. Hoy en día los

servidores Web pueden ser divididos dentro de tres categorías: páginas con

código (scripts, ejecutable del lado del servidor), páginas compiladas (carga y

ejecuta un componente binario) y un híbrido entre los dos. Esta ultima

categoría representa páginas con código, que una vez que son solicitadas

son compiladas y usadas en lo sucesivo con esta misma compilación

cuentas veces se requiera.

1.4 ¿Por qué usar metodologías en el desarrollo de aplicaciones Web?

El desarrollo de aplicaciones Web involucra decisiones no triviales de

diseño e implementación que inevitablemente influyen en todo el

proceso de desarrollo, afectando la división de tareas. Los problemas

involucrados, como el diseño del modelo del dominio y la construcción de la

interfaz de usuario, tiene requerimientos disjuntos que deben ser tratados por

separado.

El alcance de la aplicación y el tipo de usuario a los que estará


dirigida son consideraciones tan importantes como las tecnologías

elegidas para realizar la implementación. Así como las tecnologías

pueden limitar la funcionalidad de la aplicación, decisiones de diseño

equivocadas también puede reducir su capacidad de


7

usabilidad. El marco de desarrollo de este tipo de aplicaciones debe

incluir un proceso general que tenga en cuenta de manera explicita las

características particulares de las aplicaciones Web.

Para todo esto se han desarrollado metodologías que permiten estructurar,

comunicar, entender, simplificar y formalizar tanto el dominio del problema

como las decisiones de diseño, así como disponer de una documentación

detallada y exacta ante futuras modificaciones.


2.1.1 INTRODUCCIÓN A INTERNET

Internet, la red de redes, nace a mediados de la década de los setenta,

bajo los auspicios de DARPA, la Agencia de Proyectos Avanzados para la

Defensa de Estados Unidos. DARPA inició un programa de

investigación de técnicas y tecnologías para unir diversas redes de

conmutación de paquetes, permitiendo así a los ordenadores

conectados a estas redes comunicarse entre sí de forma fácil y

transparente.

De estos proyectos nació un protocolo de comunicaciones de datos, IP o

Internet Protocolo, que permitía a ordenadores diversos comunicarse a

Través de una red, Internet, formada por la interconexión de diversas

redes.1

A mediados de los ochenta la Fundación Nacional para la Ciencia

norteamericana, la NSF, creó una red, la NSFNET, que se convirtió en el

backbone (el troncal) de Internet junto con otras redes similares creadas

por la NASA (NSINet) y el U.S. DoE (Department of Energy) con la

ESNET. En Europa, la mayoría de países disponían de backbones

nacionales (NORDUNET, RedIRIS, SWITCH, etc.) y de una serie de

iniciativas paneuropeas (EARN y RARE). En esta época aparecen los

primeros proveedores de acceso a Internet privados que ofrecen acceso

pagado a Internet.

1
En línea: www.pangea.org/pacoc/epitelio/intro.htm
A partir de esta época, gracias entre otras cosas a la amplia

disponibilidad de implementaciones de la suite de protocolos TCP/IP

(formada por todos los protocolos de Internet y no sólo por TCP e IP)

[ING.1997], algunas de las cuales eran ya de código libre, Internet

empezó lo que posteriormente se convertiría en una de sus

características fundamentales, un ritmo de crecimiento exponencial,

hasta que a mediados del 2002 empieza a descender ligeramente el

ritmo de crecimiento.

A mediados de los noventa se inició el boom de Internet. En esa época

el número de proveedores de acceso privado se disparó, permitiendo a

millones de personas acceder a Internet, que a partir de ese momento ya

se empezó a conocer como la Red, desbancado a las demás redes de

comunicación existentes (Compuserve, FidoNet/BBS, etc.).

El punto de inflexión vino marcado por la aparición de implementaciones

de TCP/IP gratuitas (incluso de implementaciones que formaban parte del

sistema operativo) así como por la popularización y abaratamiento de

medios de acceso cada vez más rápidos (módems de mayor velocidad,

RDSI, ADSL, cable, satélite). El efecto de todos estos cambios fue de

"bola de nieve": a medida que se conectaban más usuarios, los costes

se reducían, aparecían más proveedores e Internet se hacía más atractivo

y económico, con lo que se conectaban más usuarios, etc.

Modelo de Servidor WEB empleando Cliente Servidor [AND, 2003]

En estos momentos disponer de una dirección de correo electrónico, de

acceso a la web, etc., ha dejado de ser una novedad para convertirse en


algo normal en muchos países del mundo. Por eso las empresas,

instituciones, administraciones y demás están migrando rápidamente

todos sus servicios, aplicaciones, tiendas, etc., a un entorno web que

permita a sus clientes y usuarios acceder a todo ello por Internet. A

pesar del ligero descenso experimentado en el ritmo de

Crecimiento, Internet está destinado a convertirse en una suerte de

servicio universal de comunicaciones, permitiendo una comunicación

universal.

2.1.2 ANTECEDENTES HISTÓRICOS DE INTERNET

La historia de INTERNET se remonta a principios de los años sesenta,

cuando investigadores de instituciones de reconocido prestigio como el

Instituto Tecnológico de Massachussets (MIT) sentaron las bases .

Tecnológicas que facilitaron en años posteriores la creación de la red

Internet. Leonard Kleinrock (MIT) fue el primero que habló sobre la teoría

de conmutación por paquetes (PS) en su artículo "Flujo de Información

en Redes Amplias de Comunicación". J.C.R. Licklider y W. Clark,

también del MIT escribieron "Comunicación hombre - computadora en

línea" y Paul Baran, RAND publicó "Redes de Comunicación

Distribuida”, en el que hablaba de redes conmutadas por paquetes, sin

punto único de interrupción.


El objetivo principal era la investigación y desarrollo de protocolos de

comunicación para redes de área amplia para ligar redes de

transmisión de paquetes de diferentes tipos capaces de resistir las

condiciones de operación más difíciles y continuar funcionando aún con

la pérdida de la parte de una red, por ejemplo en caso de guerra.2

En efecto, a finales de los años sesenta, una de las

preocupaciones de las Fuerzas Armadas de los Estados Unidos era

conseguir una manera de que las comunicaciones estuvieran

descentralizadas, es decir, evitar un centro neurálgico de

comunicaciones que pudiera ser destruido en un eventual ataque militar

con armas nucleares y que así, aún sufriendo el ataque, las

comunicaciones no se bloquearan, sino que solamente se perdiera un

nodo. Estas investigaciones dieron como resultado el protocolo TCP/IP

(Transmisión Control Protocol / Internet Protocol) un sistema de

comunicaciones muy sólido y robusto bajo el cual se integran todas las

redes que conforman lo que se conoce actualmente como INTERNET,

por lo que a DARPANET se le conoce como la madre de Internet.

Durante el desarrollo del protocolo se incrementó notablemente el número

de redes locales de agencias gubernamentales Fue en este momento

cuando las instituciones académicas se interesaron por estas

posibilidades de conexión. La NSF (National Science Foundation) dio

acceso a sus seis centros de supercomputación a cuatro universidades

2
En línea www.mitecnologico.com/Main/AntecedentesEHistoriaInternet
de los Estados Unidos que logran enlazarse entre sí a través de la

ARPANET, dando origen a la RED de REDES más grande del mundo. A

partir de aquí se fueron conectando otras redes, evitando la existencia

de centros para preservar la flexibilidad y la escalabilidad.

Se pensó que la red debía ser lo más sencilla posible facilitando las

implantaciones. Así, los cambios de tecnología afectarían a los

extremos de la red, las computadoras, pero no al tejido que las unía. La

red únicamente debía encargarse de entregar bien los paquetes que

eran enviados a través de ella, y las tareas más complejas deberían

hacerse en los extremos. Contribuyó decisivamente a esta sencillez el

empeño de DARPA en lograr implementaciones a bajo coste.

Los años setenta transcurren con instituciones conectándose

directamente o conectando otras redes a ARPANET y con los

responsables desarrollando estándares y protocolos, como Telnet, la

especificación de transferencia de archivos o el protocolo de voz en

redes (NVP, Network Voice Protocol). Vinton Cerf y Bob Kahn publican

"Protocolo para Intercomunicación de Redes por paquetes" que

especifica en detalle el diseño del Programa de Control de Transmisión

(TCP). En 1979 ARPA crea la primera comisión de control de la

configuración de Internet y tras varios años de trabajo, por fin en 1981 se

termina. de definir el protocolo TCP/IP (Transfer Control Protocol /

Internet Protocol) y ARPANET lo adopta como estándar en 1982,

sustituyendo a NCP. Son las primeras referencias a Internet, como "una


serie de redes conectadas entre sí, específicamente aquellas que

utilizan el protocolo TCP/IP". Internet es la abreviatura de Interconnected

Networks, es decir, Redes interconectadas, o red de redes. Además en

estos años se fundan Microsoft (1975) y Apple (1976)

A finales de los ochenta se publica "Cuckoo's Egg" de Clifford Stoll que

relata la historia real de un grupo de crackers alemanes que lograron

acceder a varios organismos estadounidenses, lo que quiere decir que

se empieza hablar de hackers, crackers y demás colectivos de gente

relacionados con la red. En 1988 un virus gusano ataca 6.000 de los

60.000 hosts de Internet.

La tecnología de telefonía móvil y la de internet finalmente se unen

para poder acceder desde los teléfonos móviles a la red de redes. Si bien

es cierto que dispositivos inalámbricos ya accedían a la red, es con la

definición del conjunto de protocolos WAP (Wireless Application Protocol)

cuando los dispositivos inalámbricos, y fundamentalmente los teléfonos

móviles, se conectan a Internet. WAP ha tenido un importante respaldo

por parte de fabricantes de teléfonos, operadoras, compañías de

software y desabolladores, lo que ha provocado que en muy poco tiempo

se convirtiera en estándar. Surgió entonces el WAP Forum, que hoy

agrupa al 90% de los fabricantes de teléfonos móviles y cubre unos 100

millones de teléfonos en todo el mundo.

2.1.3 ANTECEDENTES HISTÓRICOS DEL WORLD WIDE WEB


La historia del "WORLD WIDE WEB", nació en Marzo de 1989, cuando

Tim Berners-Lee del Laboratorio Europeo de Física de Partículas

(conocido como CERN, un centro de investigación de física europeo de

alta energía) propuso el proyecto para ser usado como medio para

Difundir investigaciones e ideas a lo largo de la organización y a través

de la RED. Es pues que la "www", nos permite conocer toda la

información que pueda ser encontrada en Internet, haciéndola accesible

mediante conexiones o Hipervínculos (Ligas-Links) escritas en

documentos con un formato o lenguaje especial llamado HTML (HiperText

Markup Language), el cual posibilita que desde la información obtenida

por un escrito o texto, uno se pueda vincular (Hiperlink) a otros

documentos que se encuentren en la misma computadora o bien, en

cualquier otra que se encuentre conectada a la red en otra parte del

mundo, además con la posibilidad de manejar muchos recursos como

textos combinados con gráficos, animaciones y sonidos.3

2.1.4 PRINCIPALES ELEMENTOS DEL WWW.

2.1.4.1 HTTP: Hypert Text Transfer Protocol.

Es el protocolo de transporte desarrollado para el WWW. El medio de

comunicación que permite que las máquinas se comuniquen entre sí,

siguiendo un orden para interpretar e intercambiar información y que

utilizan los servidores y clientes del World Wide Web se le conoce como

(PROTOCOLO), en específico se maneja en las Páginas Electrónicas el

3
En línea www.unlz.edu.ar/biblioteca/tutores/histoweb/historia
"PROTOCOLO DE TRANSFERENCIA DE HIPERTEXTO" (http), siendo

éste la parte medular del www.

2.2 LA WEB

Sistema lógico de acceso y búsqueda de la información disponible en

Internet, cuyas unidades informativas son las páginas web.

2.2.1 PÁGINA WEB.

Una página de Internet o página Web es un documento electrónico

que contiene información específica de un tema en particular y que es

almacenado en algún sistema de cómputo que se encuentre conectado

a la red mundial de información denominada Internet, de tal forma que

este documento pueda ser consultado por cualesquier persona que se

conecte a esta red mundial de comunicaciones y que cuente con los

permisos apropiados para hacerlo.

Una página Web es la unidad básica del World Wide Web.Una página Web

tiene la característica peculiar de que el texto se combina con imágenes

para hacer que el documento sea dinámico y permita que se puedan

ejecutar diferentes acciones, una tras otra, a través de la selección de

texto remarcado o de las imágenes, acción que nos puede conducir a otra

sección dentro del documento, abrir otra página Web, iniciar un mensaje

de correo electrónico o transportarnos a otro Sitio Web totalmente distinto

a través de sus hipervínculos.


2.2.2 SITIO WEB

Es un conjunto de archivos electrónicos y páginas Web referentes a un

tema en particular, que incluye una página inicial de bienvenida,

generalmente denominada home page, con un nombre de dominio y

dirección en Internet específicos.

Su Sitio Web no necesariamente debe localizarse en el sistema de

cómputo de su negocio. Los documentos que integran el Sitio Web

pueden ubicarse en un equipo en otra localidad, inclusive en otro país. El

único requisito es que el equipo en el que residan los documentos esté

conectado a la red mundial de Internet. Este equipo de cómputo o

Servidor Web, como se le denomina técnicamente, puede contener más

de un sitio Web y atender concurrentemente a los visitantes de cada uno

de los diferentes sitios.

Al igual que los edificios, oficinas y casas, los Sitios Web requieren

de una dirección particular para que los usuarios puedan acceder a la

información contenida en ellos. Estas direcciones, o URLs (por sus siglas

en inglés Uniform Resource Docutor), aparecen cotidianamente en

todos los medios de comunicación como son prensa escrita, radio,

televisión, revistas, publicaciones técnicas y en el propio Internet a través

de los motores de búsqueda (por su denominación en inglés search

engines). Los nombres de estos sitios Web obedecen a un sistema

mundial de nomenclatura y están regidos por el ICANN (Internet

Corporation for Assigned Ñames and Numbers).


2.2.3 PORTAL WEB

Portal es un término, sinónimo de puente, para referirse a un Sitio Web

que sirve o pretende servir como un sitio principal de partida para las

gentes que se conectan al World Wide Web. Son sitios que los usuarios

tienden a visitar como sitios ancla. Los portales tienen gran

reconocimiento en Internet por el poder de influencia que tienen sobre

grandes comunidades.

La idea es emplear estos portales para localizar la información y los sitios

que nos interesan y de ahí comenzar nuestra actividad en Internet. Un

Sitio Web no recibe el rango de portal por tratarse de un sitio robusto,

importante o por contener información relevante. Un portal es mas bien

una plataforma de despegue para la navegación en el Web.

2.3 COMERCIO ELECTRONICO

La actividad comercial es una de las más antiguas desde que el hombre

"inventó" las Relaciones económicas y surgió como consecuencia de la

necesidad de proveerse de bienes y de vender excedentes. En la

actualidad la complejidad de éste término no sólo radica en la vasta

variedad de productos, mercados, y modelos de negocios; sino que su

actividad también ha sido adaptada como una tarea cotidiana y un hábito

fuertemente relacionado con las Tecnologías de Información (TI) y las

herramientas proveída por los servicios de la World Wide Web y la red

mundial: La Internet.4
4
En linea es.wikipedia.org/wiki/Comercio_electrónico
2.3.1 Concepto de Comercio Electrónico (e−commerce)

El término de Comercio Electrónico (e−commerce, por sus siglas en

inglés) se ha desarrollado a través de la realización de distintas

actividades que se han vuelto un hábito en nuestra vida cotidiana; si bien

éste ha existido desde la conjunción de las TI al quehacer económico

actual; como lo menciona Black refiriéndose a él como el intercambio

comercial por medios electrónicos buscando hacer más eficiente y

efectivo el proceso comercial.

2.4 QUE ES EL XAMMP

XAMPP o XAMP es un servidor web multiplataforma constituido por un

servidor HTTP Apache, base de datos MySQL y los intérpretes para

scripts de PHP y Perl.

XAMPP está formado por un X (la inicial de un sistema operativo), A de

Apache, M de MySQL, y P de PHP y Perl.5

2.4.1 APACHE

(Acrónimo de "a patchy server"). Servidor web de distribución libre y de

código abierto, siendo el más popular del mundo desde abril de 1996,

con una penetración actual del 50% del total de servidores web del mundo

(agosto de 2007).

La principal competencia de Apache es el IIS (Microsoft Internet

Information Services) de Microsoft.

5
www.alegsa.com.ar/Dic/xamp.php
Apache es desarrollado y mantenido por una comunidad abierta de

desarrolladores bajo el auspicio de la Apache Software Foundation.

La aplicación permite ejecutarse en múltiples sistemas operativos como

Windows, Novell NetWare, Mac OS X y los sistemas basados en Unix.

2.4.2 Uso de Apache

Apache es principalmente usado para servir páginas web estáticas y

dinámicas en la WWW. Apache es el servidor web del popular sistema

XAMP, junto con MySQL y los lenguajes de programación

PHP/Perl/Python. La "X" puede ser la inicial de cualquier sistema

operativo, si es Windows: WAMP, si es el Linux: LAMP, etc.

2.5 Definición de PHP

(PHP Hypertext Pre-processor). Lenguaje de programación usado

generalmente en la creación de contenidos para sitios web. Es un

lenguaje interpretado especialmente usado para crear contenido dinámico

web y aplicaciones para servidores, aunque también es posible crear

aplicaciones gráficas utilizando la biblioteca GTK+.

Generalmente los scripts en PHP se embeben en otros códigos como

HTML, ampliando las posibilidades del diseñador de páginas web

enormemente.

La interpretación y ejecución de los scripts PHP se hacen en el servidor, el

cliente (un navegador que pide una página web) sólo recibe el resultado

de la ejecución y jamás ve el código PHP. Permite la conexión a todo tipo

de servidores de base de datos como MySQL, Postgres, Oracle, ODBC,


DB2, Microsoft SQL Server, Firebird y SQLite.

PHP es una alternativa a otros sistemas como el ASP.NET/C#/VB.NET de

Microsoft o a ColdFusion de Macromedia, a JSP/Java de Sun

Microsystems, y a CGI/Perl. La ventaja con los de Microsoft o

Macromedia es que es totalmente gratuito, no hay que pagar licencias.


CAPITUO III

METODOLOGÍAS DE DESARROLLO DE APLICACIONES WEB

3.1 Introducción al desarrollo de aplicaciones Web

El proceso de desarrollo de un sistema [7], sea o no para la Web, se

enfrenta al problema de la identificación de requisitos o requerimientos.

La definición de las necesidades del sistema es un proceso complejo pues

en él hay que identificar los requisitos que el sistema debe cumplir para

satisfacer las necesidades de los usuarios finales y de los clientes. Para

realizar este proceso, no existe una única técnica estandarizada y

estructurada que ofrezca un marco de desarrollo que garantice la calidad del

resultado. Existe en cambio un conjunto de técnicas, cuyo uso proponen

diferentes metodologías para el desarrollo de aplicaciones Web. Se debe

tener en cuenta que la selección de las técnicas y el éxito de los resultados

que se obtengan dependen en gran medida tanto del equipo de análisis y

desarrollo como de los propios clientes o usuarios que en ella participen.

Es necesario tener estándares que regulen la creación de aplicaciones Web.

Esto permite la comunicación entre componentes y sistemas construidos por

distintos desarrolladores y ejecutados en distintas plataformas. El marco

de desarrollo de este tipo de aplicaciones debe incluir un proceso general

que tenga en cuenta de manera explicita las características particulares de las

aplicaciones Web.
Las distintas metodologías se pueden dividir en tres generaciones, en base a

su nivel de sofisticación, y en dos familias, las derivadas de modelos clásicos

de datos (E/R) y las derivadas de modelos Orientados a Objetos (OMT y UML).

La primera generación: (primera mitad de los 90’s). Sienta las bases de la

Ingeniería Web al incluir conceptos como constructores de navegación, o

promover la separación entre estructuras de navegación y el contenido durante

el proceso de desarrollo.

La segunda generación: (segunda mitad de los 90’s). Refina los primeros

modelos e incluye conceptos como los soportes de funcionalidad básica, y los

primeros esbozos de proceso donde se delimitan los modelos conceptual,

lógico y físico.

La tercera generación: (2000-2002). Profundiza en el soporte para la

funcionalidad, se enfatiza el artículo del usuario en los métodos, y se

producen avances hacia la estandarización de notaciones, procesos y

lenguajes textuales de especificación.

Debido al gran auge que ha tenido en el ámbito mundial el uso y

navegación por Internet y la economía electrónica, los diseñadores de sitios

Web y quienes los contratan para la construcción de sus portales, se han

preocupado por las razones que implican que un usuario regrese o no al sitio;

pues en el comercio electrónico, el usuario primero se enfrenta a la usabilidad y

después hace el pago.


La evaluación o diagnóstico de usabilidad consiste en las metodologías que

miden los aspectos de usabilidad de una interfaz utilizada por un sistema e

identificar problemas específicos; siendo una parte importante del proceso

total del diseño de la interfaz de usuario, que consiste en ciclos iterativos de

diseñar, de prototipos y de la evaluación.

No obstante la popularidad de UML, no se han contemplado la

inclusión de características para el desarrollo en Web, tanto así que ha

surgido una nueva rama de la ingeniería de software denominada “Ingeniería

Web [21]”, en la cual se trata de cubrir los aspectos importantes de las

aplicaciones enfocadas a la Web.

3.2 UWE (Ingeniería Web basada en UML)

La ingeniería Web basada en UML (UWE) fue presentada por Nora Koch [14]

en el

2000. Esta metodología utiliza un paradigma orientado a objetos, y está

orientada al usuario. Está basada en los estándares UML y UP (Proceso

Unificado), cubre todo el ciclo de vida de este tipo de aplicaciones centrando

además su atención en aplicaciones personalizadas.

UWE propone una extensión de UML que se divide en 4 pasos [9]:

1. Análisis de requisitos. Su objetivo es encontrar los requisitos

funcionales de la aplicación Web para representarlos como casos de

uso. Da lugar a un diagrama de casos de uso.

2. Diseño conceptual. Su objetivo es construir un modelo conceptual del


dominio de la aplicación considerando los requisitos reflejados en los

casos de uso. Da como resultado un diagrama de clases de dominio.

3. Diseño navegacional. Se obtienen el modelo de espacio de navegación

y modelo de estructura de navegación, que muestra cómo navegar a

través del espacio de navegación. Se obtienen diagramas de clases que

representan estos modelos.

4. Diseño de presentación. De este paso se obtienen una serie de vistas

de interfaz de usuario que se presentan mediante diagramas de

interacción UML.

La figura 3.1 muestra los modelos representados por paquetes relacionados

mediante dependencias en UML.

Figura 3.1 Modelo por paquetes

Los aspectos principales de esta metodología son:

1. Uso de una notación estándar, como es la notación UML.

2. Definición precisa del método, una serie de pasos para seguir la

construcción de los modelos.


3. La especificación de restricciones, la metodología recomienda el

uso de restricciones escritas en el Lenguaje de Restricciones de

Objetos (OCL) para aumentar la precisión de los modelos.

3.3 WAE (Extensión de Aplicaciones Web para UML)

UML tiene definido un mecanismo para permitir cierto dominio para

extender la semántica del modelo de elementos específicos, el mecanismo

de extensión permite incluir nuevos atributos, diferente semántica y

restricciones adicionales.

El conjunto de extensión de UML propuesto por Jim Conallen esta formado por

Valores etiquetados, estereotipos y restricciones (Tagged Values, Stereotypes

and Constraints). La parte del mecanismo de la extensión de UML es la

habilidad de asignar iconos diferentes a las clases estereotipadas. El

problema de una página Web es que tiene diferentes scripts y variables que

se ejecutan en el servidor o del lado del cliente, este problema se puede

resolver de dos formas:

El primero sería definir los estereotipos [4] (Ver la figura 3.2); método del

servidor y método del cliente. En un objeto de la página un método que

ejecuta en el servidor se estereotipará como «server method» y las

funciones que corren en el cliente «client method». Esto resuelve el

problema de distinguir los atributos y métodos de un objeto de la página, sin

embargo todavía es un poco confuso. Una complicación extensa se levanta

después cuando se hacen asociaciones a otros componentes en el modelo.


No está claro que algunas de estas relaciones sólo son válidas en el contexto

de los métodos y atributos del servidor o en los del cliente.

Figura 3.2 Estereotipos de la Metodología WAE

3.4. Metodologías Basadas en Hipermedia y Orientadas a Objetos.

3.4.1 ¿Qué es Multimedia?

Multimedia: también denominada integración de medios digitales,

consiste e un sistema que utiliza información almacenada o controlada

digitalmente (texto, gráficos, animación, voz y vídeo) que se combinan en la

computadora para formar una única presentación. La multimedia se pude

definir, como una combinación de informaciones de naturaleza diversa,

coordinada por la computadora y con la que el usuario puede interactuar.

Se podrá emplear para realzar y optimizar el flujo de información,


20

incrementando la eficacia de la comunicación entre el usuario final y la

computadora. La utilización de medios digitales de forma interactiva permitirá

crear un entorno de comunicación más participativo, ya que combina

información de diversos medios en una única corriente de conocimiento,

aumentando el impacto que se produciría en los usuarios si se emplea de

manera separada, los medios digitales que se incluyen en una computadora

son Animación, Gráficos, Sonido y Vídeo.

3.4.2 ¿Qué es la Hipermedia?

La hipermedia [13] es el resultado de combinación de hipertexto y la

multimedia. Tradicionalmente, la idea de hipertexto se ha asociado con la

documentación puramente textual, o en todo caso gráfico, por lo que la

inclusión de otros tipos de información

(vídeo, música, etc.) suele recogerse con el nombre de hipermedia. Por una

parte, el hipertexto permite representar una estructura asociativa en la que

nodos o conceptos pueden enlazarse automáticamente. Las aplicaciones

multimedia permiten integrar diferentes medios bajo una presentación

interactiva, para lo que pueden ofrecer dos tipos de accesos a la información:

1. El mecanismo mayoritariamente utilizado, consiste en un control de

usuario similar al de un reproductor de vídeo o sonido que avanza

siguiendo el eje de coordenadas temporal.

2. En algunos casos, se permite realizar saltos a un determinado instante

dentro de una presentación, como suele hacerse en muchos

reproductores de discos compactos. Esta facilidad tan sólo permite al


usuario que, indicando el momento exacto en que debería aparecer un

contenido, se pueda llevar a cabo un rápido movimiento hasta

alcanzar dicho punto. A diferencia de los

enlaces hipertextuales, estos saltos no dan lugar a ningún tipo de

estructura concreta en la que navegar a través de la información.

Las ventajas de la hipermedia

En primer lugar, la hipermedia ofrece un medio adecuado para representar

aquella información poco o nada estructurada que no puede ajustarse a los

rígidos esquemas de las bases de datos tradicionales. Además, permite

estructurar la información, jerárquicamente o no, de tal modo que

también resulta útil en sistemas de documentación de textos tradicionales

que poseen una marcada organización.

Esta tecnología, que se caracteriza por sus ergonómicos interfaces de

usuario, muy intuitivos, pues imitan el funcionamiento de la memoria humana,

hace que el usuario no tenga que realizar grandes esfuerzos para conseguir

resultados rápidamente.

Estructura de los sistemas Hipermedia

Propiedades fundamentales en un sistema hipermedia hoy en día son:


1. El proceso de ligado entre dos ítems, dando una elevación al

paradigma básico de nodo y liga.

2. La selección por asociación, dando una elevación al soporte de ligas que

permite el recorrido de una red de nodos en una manera directa.

Un sistema hipermedia esta hecho de nodos (conceptos) y ligas (relaciones).

Los nodos están conectados a otros nodos por ligas. El nodo del cual una

liga origina es llamado referencia y el nodo en el cual la liga termina es

llamado referente. Ellos son también referidos como anclas. El contenido de

un nodo es desplegado por ligas activas. Aparte de esta arquitectura nodo-liga,

los sistemas hipermedia tienen una estructura irregular.

Balasubramanian [22] lista los componentes básicos de un sistema

hipermedia como sigue:

1. Una interfaz de usuario gráfica con navegadores y diagramas

generales para ayudar a los usuarios a navegar a través de una gran

cantidad de información dispersa, posiblemente interconectada,

unida por ligas activas.

2. Un sistema con herramientas para crear y manejar nodos y ligas.

3. Mecanismos de recuperación de información tradicional (tales

como búsquedas por palabra clave, búsqueda por autor, etc.)

4. Una ingeniería hipermedia para manejar información acerca de

nodos y ligas.

5. Un sistema de almacenaje el cual puede ser un sistema de

archivos o una base de conocimiento o un tradicional DBMS.


Diseñando Sistemas Hipermedia

El proceso de desarrollo de un sistema hipermedia puede ser modelado a un

cierto grado sobre los procesos de ingeniería de software. Por ejemplo,

diseñar el modelo de datos conceptual y el modelo abstracto de navegación

puede beneficiarse directamente de las propuestas de ingeniería de software.

Las técnicas de diseño formal perfeccionan la consistencia de los

documentos hipermedia y proveen líneas de guía. Sin embargo, para los

procesos de ingeniería de software, no se requiere tomar en cuenta aspectos

estéticos y cognoscitivos, los cuales son dos aspectos importantes del

desarrollo hipermedia. Esto implica que las propuestas de ingeniería de

software tradicional no son completamente adecuadas para el diseño de

sistemas hipermedia. Nanard y Nanard [15] sugiere que las aplicaciones

hipermedia pueden ser mejor desarrolladas no siguiendo los pasos

secuénciales de las metodologías formales tan correctamente.

3.4.3 SOHDM (Metodología de Diseño Hipermedia Orientado a Objetos y

basada en escenarios)

Esta propuesta [16] presenta la necesidad de disponer de un proceso

que permita capturar las necesidades del sistema. Para ello, propone el uso

de escenarios. El proceso de definición de requisitos parte de la realización

de un diagrama de contexto tal y como se propone en diagrama de flujos

de datos (DFD) de Yourdon [25]. En este diagrama de contexto se

identifican las entidades externas que se comunican con el sistema, así

como los eventos que provocan esa comunicación. Las lista de eventos es

una tabla que indica en qué eventos puede participar cada entidad. Por
cada evento diferente SOHDM propone elaborar un escenario. Éstos son

representados gráficamente mediante los denominados SACs (Scenario

Activity Chart). Cada escenario describe el proceso de interacción entre el

usuario y el sistema cuando se produce un evento determinado

especificando el flujo de actividades, los objetos involucrados y las

transacciones realizadas. SOHDM propone un proceso para conseguir a partir

de estos escenarios el modelo conceptual del sistema que es representado

mediante un diagrama

de

clases. El proceso de SOHDM continúa reagrupando estas clases para

conseguir un modelo de clases navegacionales del sistema.

3.4.4 OOHDM (Método de Diseño Hipermedia Orientado a Objetos)

OOHDM [19, 24] propone el desarrollo de aplicaciones hipermedia a través

de un proceso compuesto por cuatro etapas:

1. Diseño conceptual

2. Diseño navegacional

3. Diseño de interfaces abstractas

4. Implementación

Diseño conceptual: durante esta actividad se construye un esquema

conceptual representado por los objetos del dominio, las relaciones y

colaboraciones existentes establecidas entre ellos. En las aplicaciones


hipermedia convencionales, cuyos componentes de hipermedia no son

modificados durante la ejecución, se podría usar un modelo de datos

semántica estructural (como el modelo E/R). De este modo, en los casos en

que la información base pueda cambiar dinámicamente o se intente ejecutar

cálculos complejos, se necesitará enriquecer el comportamiento del modelo de

objetos.

En OOHDM el esquema conceptual está construido por clases,

relaciones y subsistemas. Las clases son descritas como en los

modelos orientados a objetos tradicionales. Sin embargo, los atributos

pueden ser de múltiples tipos para representar perspectivas diferentes de las

mismas entidades del mundo real. Se usa una notación similar a UML y

tarjetas de clases y relaciones similares a las tarjetas CRC (Clase

Responsabilidad Colaboración).

El esquema de las clases consiste en un conjunto de clases conectadas por

relaciones. Los objetos son instancias de las clases. Las clases son

usadas durante el diseño navegacional para derivar nodos, y relaciones que

son usadas para construir enlaces.

Diseño navegacional: en OOHDM la navegación es considerada un paso

crítico en el diseño de aplicaciones. Un modelo navegacional es construido

como una vista sobre un diseño conceptual, admitiendo la construcción de

modelos diferentes de acuerdo con los diferentes perfiles de usuarios. Cada

modelo navegacional provee una vista subjetiva del diseño conceptual.

En OOHDM existen un conjunto de tipo predefinidos de clases


navegacionales: nodos, enlaces y estructuras de acceso. La semántica de

los nodos y los enlaces son las tradicionales aplicaciones hipermedia, y las

estructuras de acceso, tales como índices o recorridos guiados, representan

los posibles caminos de acceso a los nodos. Los nodos son enriquecidos

con un conjunto de clases especiales que permiten de un nodo observar

y presentar atributos (incluidos los links), así como métodos cuando se navega

en un particular contexto.

Di

seño de interfaz abstracta: en OOHDM se utiliza el diseño de interfaz

abstracta para describir la interfaz de usuario de aplicación de hipermedia. El

modelo de interfaz ADVs [6] (Vista de Datos Abstracta) especifica la

organización y comportamiento de la interfaz, pero la apariencia física real

o de los atributos, y la disposición de las propiedades de las ADVs. [6] en

la pantalla real son hechas en fase de implementación.

Implementación: en esta fase, el diseñador debe implementar el diseño.

Hasta ahora, todos los modelos fueron construidos en forma independiente

de la plataforma de implementación; en esta fase es tenido en cuenta el

entorno particular en el cual se va a correr la aplicación.

Al llegar a esta fase, el primer paso que debe realizar el diseñador es definir los

ítems de información que son parte del dominio del problema. Debe

identificar también, cómo son organizados los ítems de acuerdo con el perfil

del usuario y su tarea; decidir qué interfaz debería ver y como debería

comportarse. A fin de implementar todo en un entorno Web, el diseñador


debe decidir además que información debe ser almacenada.

3.4.5 W2000 [2]

Supone una propuesta que amplía la notación UML con conceptos para

modelar elementos de multimedia heredados de la propuesta HDM

(Método de Diseño Hipermedia). El proceso de desarrollo de W2000 se divide

en tres etapas:

1. Análisis de requisitos.

2. Diseño de hipermedia.

3. Diseño funcional.

La especificación de requisitos en W2000 se divide en dos subactividades:

análisis de requisitos funcionales y análisis de requisitos navegacionales.

La especificación de requisitos comienza haciendo un estudio de los

diferentes roles de usuario que van a interactuar con el sistema. Cada actor

potencialmente distinto tendrá su modelo de requisitos de navegación y de

requisitos funcionales.

El modelo de requisitos funcionales es representado como un modelo de

casos de uso tal y como se propone en UML. En él se representa la

funcionalidad principal asociada a cada rol y las interacciones que se producen

entre el sistema y cada rol.


El segundo modelo consiste en otro diagrama de casos de uso pero que no

representa funcionalidad sino posibilidades de navegación de cada actor. La

representación gráfica es realizada con una extensión de UML.

3.4.6 EORM (Metodología de Relaciones de Objetos Mejorada) [13]

En esta metodología, propuesta por D. Lange [5], el proceso de desarrollo de

un Sistema de Información Hipermedial (Hiperdocumento) comprendería

una primera fase de Análisis Orientada a Objetos del sistema, sin considerar

los aspectos hipermediales del mismo, obteniendo un Modelo de Objetos con

la misma notación utilizada en OMT, que refleje la estructura de la

información (mediante clases de objetos con atributos y relaciones entre

las clases) y el comportamiento del sistema (a través de los métodos

asociados a las clases de objetos).

La idea fundamental de esta metodología es considerar una segunda fase,

de Diseño, durante la cual se proceda a modificar el modelo de objetos

obtenido durante el análisis

adiendo la semántica apropiada a las relaciones entre las de objetos para

convertirlas en enlaces hipermedia, obteniendo finalmente un modelo

enriquecido, que su autor denomina EORM (Enhanced Object-Relationship

Model), en el que se refleje tanto la estructura de la información (modelo

abstracto hipermedial compuesto de nodos y enlaces) como las

posibilidades de navegación ofrecidas por el sistema. Sobre dicha

estructura, para lo cual existirá un repositorio o librería de clases de enlaces,


donde se especifican las posibles operaciones asociadas a cada enlace de un

hiperdocumento, que serán de tipo crear, eliminar, atravesar, siguiente, previo

etc., así como sus posibles atributos (fecha de creación del enlace, estilo de

presentación en pantalla, restricciones de acceso, etc.).

El desarrollo del Sistema concluiría con una última fase de Construcción,

durante la que se generaría el código fuente (por ejemplo en C++)

correspondiente a cada clase, y se prepararía la Interfaz Gráfica de Usuario.

La adopción del enfoque orientado a objetos OMT garantiza todas las

ventajas reconocidas para esta técnica de modelado, como la flexibilidad

(posible existencia de múltiples formas de relaciones entre nodos) y la

reutilización, por la existencia de una librería de clases de enlaces que

pueden ser reutilizados en diferentes proyectos de desarrollo hipermedial.

Para automatizar la aplicación de la metodología EORM, su autor ha

desarrollado, en los laboratorios de investigación de IBM, una herramienta

denominada ODMTool que, junto a un generador comercial de Interfaces

Gráficas de Usuario denominado ONTOS Studio y un Sistema de Gestión de

Base de Datos Orientado a Objetos (SGBDOO), permite el diseño

interactivo de esquemas EORM y la generación de código fuente,

inicialmente en C++, de las clases incluidas en estos esquemas. El SGBDOO

ofrece un repositorio de objetos que permite compartir la información de los

esquemas entre las herramientas (ODMTool, ONTOS Studio) y las

aplicaciones hipermediales desarrolladas.


3.5 Conclusión

La inclusión de metodologías para el desarrollo de aplicaciones Web son

de vital importancia para obtener un buen producto en éste tipo de

aplicaciones. Haciendo una comparación determinamos que la metodología

WAE es una de las más completas, esto es porque nos sólo se utilizan los

diagramas clásicos de UML (diagrama de clases, diagrama de casos de uso,

diagrama de secuencia, diagrama de colaboración, diagrama de estado), sino

que la extensión gráfica de Jim Conallen es muy entendible con los diferentes

estereotipos que se utilizan para realizar aplicaciones Web.


CAPITULO IV ANÁLISIS Y DISEÑO DEL SISTEMA

3.1 Metodología para el Diseño del la Aplicación Web

Para diseñar el la aplicación Web utilizaremos el Diseño Rápido de Aplicaciones

mediante la utilización de Prototipos.

3.1.1 Identificación de los usuarios y captura de requerimientos

3.1.1.1 Identificar los actores

• Cliente: Quien es el que realiza las compras a través de Tienda Virtual.

• Administrador: Quien es la persona encargada de administrar el portal Web,

interactúa con el sistema constantemente

3.1.2 Encontrar y describir los casos de uso de cada actor


3.1.2.1 Casos de Uso

Los casos de uso son registrados para cada actor:

• Cliente

 Realizar Pedido

 Consultar información

• Administrador

 Administra. La tienda Virtual, realiza actualización de pedidos, de clientes

y productos.

• Base de Datos

 Donde se contiene el catalogo de los productos.

 Donde se Almacena los datos de los clientes.

 Valida los datos del cliente

 Procesa los pedidos

3.1.2.2 Descripción de casos de uso para cada actor

* REALIZAR PEDIDO

Este caso de uso es iniciado por el cliente mediante el cual puede registrar el

pedido de un producto efectuado por un cliente


5.1 Descripción de la aplicación Web (Tienda Virtual) a modelar en UML

Dentro de los modelos de negocios que existen en el comercio electrónico se

presenta la

Tienda Virtual dentro del paradigma de Negocios a Clientes .

El comercio electrónico es una metodología moderna en el proceso de

comercialización, ayudada por la tecnología de punta como una nueva

maniobra para el desarrollo de una mejor ventaja competitiva.

Negocio a Cliente [8]: el cliente puede comparar con la venta al detalle de

manera electrónica. Esta categoría ha tenido gran aceptación y se ha

ampliado sobre manera gracias al WWW, ya que existen diversos centros

comerciales por todo Internet ofreciendo toda clase de bienes de consumo.

Lugar Comercial el cual funge la función de vender bienes y servicios, a

través del Web, por lo cual está disponible las 24 horas al día, con un
alcance global con la habilidad de relacionar y proporcionar información al

cliente así como órdenes de compra.

La Tienda Virtual en su naturaleza se muestra como un servicio dado a

través de una entidad comercial o empresarial en los modelos del comercio

electrónico es donde se presentan procesos definidos y capaces de ser

automatizados. Y por si fuera poco es la unidad administrativa y elemental

de los demás modelos de negocios del comercio electrónico [8].

Una Tienda Virtual va más allá de ser un almacén electrónico de los productos

de ésta, representa una estrategia de negocio, pues las aplicaciones para una

mercadotecnia en línea (marketing on-line) son innumerables, desde la

generación de estadísticas de compra y venta, realización de análisis de

comportamiento de mercado, análisis del cliente, de sus hábitos de

consumo, así como la retroalimentación de los clientes y su autosuficiencia

monetaria a través de publicidad externa la hace una excelente opción de

desarrollo y sobre todo si se busca diseñar la aplicación que la gente,

administre y presente.

Por lo anterior podemos definir una Tienda Virtual como el modelo de

negocios de comercio electrónico que consta de aplicaciones de

administración de servicios y procesos de mercadotecnia en línea con la

función de vender bienes y servicios.

5.2 Modelando la parte del usuario de la Tienda Virtual


El usuario es la persona que va a interactuar con la tienda virtual como lo

describen los siguientes pasos:

1. Ve las categorías disponibles en la tienda y sus productos.

2. Elige los productos que desea.

3. Agrega los productos al carrito de compras.

4. Puede eliminar productos que no desee.

5. Concreta la compra mediante la introducción de sus datos

6. Si no esta inscrito se da de alta.

7. Realiza el pago

Casos de Uso del Usuario:

Figura 5.1 Caso de Uso del Usuario de la Tienda Virtual


Diagrama de Secuencia de Usuario:

Figura 5.2 Diagrama de Secuencia del Usuario de la Tienda Virtual

Diagrama de Colaboración del Usuario:

Figura 5.3 Diagrama de Colaboración del Usuario de la Tienda Virtual


Diagrama de los estereotipos del Usuario:

Figura 5.4 Diagrama de estereotipos del Usuario.

5.3 Modelando la parte del administrador de la Tienda Virtual

El administrador es otro usuario, el cual se encargara de dar de alta,

eliminar y modificar las categorías y productos como lo describen los

siguientes puntos:
1. Registra Categorías y sus productos

2. Elimina Categorías y sus productos

3. Modifica Categorías y sus productos

Diagrama de Caso de Usos del Administrador:

Figura 5.5 Caso de Uso del Administrador de la Tienda Virtual

Diagrama de Secuencia del Administrador:

Figura 5.6 Diagrama de Secuencia del Administrador de la Tienda Virtual


Diagrama de Colaboración del Administrador:

Figura 5.7 Diagrama de Colaboración del Administrador de la Tienda Virtual

Diagrama de los estereotipos del Administrador:


Figura 5.8 Diagrama de estereotipos del Administrador.

La figura 5.9 seria la presentación de la tienda virtual, en la cual podemos

identificar en la parte azul, las siguientes ligas:

1. Inicio

2. Administrador

3. Confirmar la entrada

En la parte superior de color negro podemos visualizar las categorías que

existen en la tienda virtual, las cuales también la podemos ver en parte

central en la cual tiene el siguiente mensaje “Selección la categoría que


desees:”

En la parte derecha de la pantalla podemos ver un producto el cual si se desea

se puede compra dando click en “Agregar Artículo”.

Figura 5.9 Página

principal

Al seleccionar alguna de las categorías que tiene la tienda virtual no envía a la

página de productos (Ver figura 5.10) en la cual podemos seleccionar

cualquiera de los productos y seleccionar la cantidad que se desee de ese

artículo y dar click en “Agregar Artículo” y enviarlos al carrito de compras.


44

Figura 5.10 Página donde se visualizan los productos.

Cuando se envían los productos al carrito de compras podemos ver la figura

5.11 en la cual contiene todos los productos que el usuario ha deseado, el

costo unitario de los productos y la suma de los producto la cual se

presenta como un subtotal; si algún producto ya no se desea comprar

existe la posibilidad de eliminar el producto y se reduce el subtotal. Si ya

no se desea comprar ningún producto podemos dar click en

“Carro Vació” el cual eliminará todos los productos y el carrito de compras

quedará vacío; pero si el usuario quiere comprar los productos dar click en

“Caja”.
Figura 5.11 Página del carrito de compras

Después de haber dado click en caja debemos confirmar la entrada para

confirmar la compra de los productos, al seleccionar la primera opción es

porque ya estamos registrados como usuarios en la tienda virtual, y

debemos de ingresar los datos claves que nos pide los cuales son el E-mail y

el Password (Ver figura 5.12). Sin el usuario no se ha registrado debe de

seleccionar la segunda opción para darse de alta para las dos opciones debe

dar click en “Registrar”.


Figura 5.12 Confirmación de datos

La figura 5.13 muestra un formulario el cual debe llenarse para darse de

alta como usuario de la tienda virtual y poder realizar compras de los

productos, al dar click en continuar y si no existe algún error en el llenado del

formulario podrá ir a la siguiente página.

Figura 5.13 Página de productos ordenados

Después de haber sido registrado se concretara la compra, los datos de la

siguiente página (ver figura 5.14) deben ser revisado por el cliente para dar

por finalizada la compra.


Figura 5.14 Finalización de al compra

La figura 5.15 de la página es exclusivamente para el administrador en la cual

debe ser llenada correctamente, de no ser así no se le dará acceso para

modificar la tienda virtual.

Figura 5.15

Administración
Después de haber ingresado los datos requeridos, no envía a la siguiente

página (ver figura 5.16) desde la cual podemos elegir la operación que

deseamos realizar (insertar, modificar o eliminar)

Figura 5.16 Mantenimiento de la tienda virtual


CONCLUSIONES

Se demostró que es posible crear e implementar una aplicación WEB de buen

diseño y confiabilidad la para la empresa Jr. Tech.

Mediante la utilización de PHP como lenguaje para desarrollar nuestra Aplicación

se ha logrado reducir nuestros costos de implementación, Aumentando así los

recursos de para desarrollo.

El uso de tecnologías de Software Libre como Apache y PHP nos brindad una

muy buena alternativa para crear y desarrollar aplicaciones que implementen

comercio electrónico de una manera fiable y económica.

Esta aplicación contribuye con el desarrollo de la empresa JR.Tech que genera

un nuevo mercado ya que con el uso de Internet se masifica la oferta de la

empresa.
RECOMENDACIONES

1. Se recomienda investigar nuevos métodos y tecnologías que permitan crear

y generar aplicaciones WEB de una manera confiable ya que esto es de bastante

aplicabilidad.

3. Se recomienda la utilización de Software Libre para la generación de este tipo

de aplicaciones ya que esto contribuye que los desarrolladores aumenten su

productividad.

4. Se recomienda seguir investigando e implementando aplicaciones de este tipo

ya que con esto se contribuye al desarrollo regional.


BIBLIOGRAFÍA

[1] Arregui Miguel. “Tutorial de UML”, Depto. de lenguajes y

sistemas informáticos Grupo IRIS (integración y reingeniería de sistemas),

Universidad Jaume I, Castellón, 2004

http://www.seis.es/inforsalud04/2004_Inforsalud_TutorialUML-UP.doc

[2] Baresi L., Garzotto F., Paolini P. “Extending UML for Modelling Web

Applications”. In proceedings of the 34th annual Hawaii Internacional

Conference on System Science. IEEE Computer Society, 2001

[3] Conallen Jim. “Modeling Web Applications with UML”, Conallen, Inc., Marzo

1999

http://www.conallen.org/whitepapers/webapps/ModelingWebApplications.htm

[4] Conallen Jim. “UML Extension for Web Applications 0.91”, Conallen, Inc.,

Marzo 1999

http://www.conallen.org/technologyCorner/webextension/WebExtension091.htm

[5] D. B. Lange, "An Object-Oriented Design Approach for

Developing Hypermedia Information Systems", Research Report RT0112,

IBM Research, Tokyo Research Laboratory, Japón, 1995.

[6] D. Cowan and C. Lucena. Abstract Data Views: An Interface

Specification Concept to Enhance Design for Reuse. IEEE

Transactions on Software Engineering. Vol. 21, No. 3, Marzo 1995.


[7] Escalona M. J. y Koch N. “Ingeniería de Requisitos en Aplicaciones para

la

Web: Un estudio Comparativo”, 2002

www.pst.informatik.uni-muenchen.de/personen/kochn/ideas03-escalona-koch.pdf

[8] Fuentes Quiroz Iván, “Desarrollo de aplicaciones para la construcción de

sitios interactivos en Internet para el comercio electrónico”, Departamento de

Ingeniería en Sistemas Computacionales, Universidad de las Américas, Puebla.

2001 http://www.pue.udlap.mx/~tesis/lis/fuentes_q_i/capitulo2.pdf

[9] García De Mateos Juan Jimeno, Herrera González Patricia, Pérez Luján

Mª Carmen. “Metodologías de desarrollo de aplicaciones Web”, 2003/2004

http://alarcos.inf-cr.uclm.es/doc/aplicabbdd/DASBD-UWE.pdf

[10] García Molina Jesús J.1, Moreira Ana2, Rossi Gustavo3. “Presentación

UML: el lenguaje estándar para el modelado de software”, 1Depto. de

Informática y Sistemas, Universidad de Murcia; 2Depto. de Informática,

Facultad de Ciencias y Tecnología, Universidad de Nova de Lisboa (Portugal);

Facultad de Informática, Universidad Nacional de La Plata (Argentina), Marzo-

Abril 2004 http://www.ati.es/novatica/2004/168/168-4.pdf

[11] Grupo de Ingeniería del Software. “Introducción a las aplicaciones

Web”, Departamento de Lenguaje y Sistemas Informáticos.


[12] Guerrero Luis A. “Modelando Aplicaciones Web con UML”, Departamento

de Ciencias de la Computación, Universidad de Chile, Mayo 2001

http://www.dcc.uchile.cl/~luguerre/cc61j/recursos/web-app.ppt

[13] Gutiérrez José A., Hilera José R., Martínez Javier, Martínez José

M.

“Orientación a Objetos en la Documentación Hipermedia”, Departamento

de Ciencias de la Computación, Universidad de Alcalá de Henares, 1998

http://www.ati.es/gt/LATIGOO/OOp96/Ponen6/atio6p06.html

[14] Hennicker Rolf, Koch Nora, Kraus Andreas. “The Authoring Process of the

UML-based Web Engineering Approach”, 2000

[15] J. Nanard y M. Nanard. “Hypertext Design Environments and Hypertext

Design.”Communications of the ACM, 38(8), pp. 49-56, Agosto 1995.

[16] Lee, H., Lee, C., Yoo, C. A Scenario-based object-oriented methodology

for developing hypermedia information systems. Procesings of 31st Annual

Conference on Systems Science. Sprague R. 1998

[17] lycos.com. UML, Marzo 2005

http://usuarios.lycos.es/oopere/uml.htm

[18] Mateu Carles. “Desarrollo de aplicaciones Web”, Universidad Oberta

de Catalunya, 1ra. Edición marzo 2004

http://www.uoc.edu/masters/softwarelibre/esp/materials/Desarrollo_web.pdf
[19] Mercerat Bárbara, Silva Darío Andrés. “Construyendo aplicaciones Web

con una metodología de diseño orientada a objetos”, 2002

http://www.unab.edu.co/editorialunab/revistas/rcc/pdfs/r22_art5_c.pdf

[20] Popkin Software and Systems. ”Modelado de Sistemas com UML”, 2002

http://es.tldp.org/Tutoriales/doc-modelado-sistemas-UML/doc-modelado-

sistemas- uml.pdf

[21] Pressman Roger S., Adaptado por: Darle Ince “Ingeniería del Software”.

Un enfoque practico 5ª. Edición. Mc Graw Hill, 2002

[22] V. Balasubramanian. “State of the Art Review on Hypermedia Issues

and Applications.” Reporte Técnico, Universidad de Rutgers, Marzo 1994.

(Disponible vía Web:

http://www.isg.sfu.ca/duchier/misc/hypertext_review/index.html)

[23] Vidal Aragon Miguel Ángel. “Diseño de un prototipo de servicios Web para

la contratación de un seguro y del transporte del café”, Laboratorio

Nacional de Informática Avanzada, A.C., Marzo 2003

http://www.lania.mx/biblioteca/rtecnicos/Lania-RT-2003-07/LANIA-RT-2003-07-

MAVA.pdf.

[24] Vilain, P., Schwabe, D., Sieckenius, C. A diagrammatic Tool for

Representing User Interaction in UML. Lecture Notes in Computer Science.

Proc. UML’2000. York, England.

Vous aimerez peut-être aussi