Análisis y Diseño de Sistemas
Profesor: Yaros Pérez
Estudiante: Engelbert Guevara
TRABAJO 2:
Desarrollo de un Sistema de
Información basados en tecnología WEB con acceso a base de datos
Introducción
Actualmente, las organizaciones tienen una gran herramienta
a su disposición llamada Internet. A través de la misma, las organizaciones,
particulares y todo el que disponga de acceso a Internet y de una idea para
vender, puede ofrecer su producto o servicio al mundo a un muy bajo costo y con
un alto porcentaje de posibilidad de que este sea conocido
La presencia en
Como es bien sabido todo site
esta compuesto por un conjunto de paginas web que
bien podrían clasificarse en estáticas y dinámicas, siendo esta ultima la mejor
herramienta a utilizar en aquellos casos en los que sea necesario mostrar una
gran cantidad de datos, actualizarlos diariamente y mostrarlos en varias
páginas, además de permitirnos trabajar con base de datos logrando de este modo
la simplicidad de las labores.
Internet
Interconexión de redes informáticas que permite a las
computadoras conectadas comunicarse directamente.
El término suele referirse a una interconexión en
particular, de carácter planetario y abierto al público, que conecta redes
informáticas de organismos oficiales, educativos y empresariales.
World Wide Web (también conocida como Web o WWW) es
una colección de ficheros, denominados lugares de Web o páginas de Web, que
incluyen información en forma de textos, gráficos, sonidos y vídeos, además de
vínculos con otros ficheros.
HTML: (Hyper Text Markup Language)
Conjunto de instrucciones sencillas que describen
como se estructura un documento HTTP: (HyperText Transmition Protocol) Protocolo que permite recuperar documentos
HTML.
CGI: (Common Gateway Interface).
DARPANET: (Defence Advanced
Research Projects Agency) (Agencia de Proyectos de Defensa en Investigación
Avanzada)
Sistema de administración o gestión de bases de
datos Software que controla la organización, almacenamiento, recuperación,
seguridad e integridad de los datos en una base de datos. Acepta pedidos de
datos desde un programa de aplicación y le ordena al sistema operativo
transferir los datos apropiados. Cuando se usa un sistema de gestión de bases
de datos (SGBD, en ingles DBMS) los sistemas de información pueden ser
cambiados más fácilmente a medida que cambien los requerimientos de la
organización. Nuevas categorías de datos pueden agregarse a la base de datos
sin dañar el sistema existente.
Sistema encargado de dar nombres de Dominios. Sistema
de direccionamiento de correo electrónico utilizado en redes como Internet y Bitnet.
Protocolo de Transferencia de Archivos Un protocolo TCP/IP que es usado para conectarse a la red,
listar directorios y copiar archivos. También puede traducir entre ASCII y
EBCDIC
Servicio de conferencia remota a través de Internet.
ISO/OSI: (Open System Interconnection) I
Interconexión de sistemas abiertos Un modelo de
referencia que fue definido por
ODBC: (Open Database Connectivity)
Es una interface que
permite a las aplicaciones acceder a los datos de un DBMS usando SQL como
un standard para acceder a los datos.
TCP/IP: (Transmission Control Protocol/Internet
Protocol)
Protocolo de control de transmisiones/protocolo
Internet Conjunto de protocolos de comunicaciones desarrollado por
Lenguajes mas comunes en la creación de sites
con acceso a bases de datos
A continuación se realizará una breve introducción
a algunos de los software y lenguajes más
utilizados en la actualidad para creación de sistemas con tecnología web con acceso a base de datos:
- CGI - Common Gateway Interrface
Es el sistema más antiguo que existe para la
programación de las páginas dinámicas de servidor. Actualmente se encuentra un
poco desfasado por diversas razones entre las que destaca la dificultad con la
que se desarrollan los programas y la pesada carga que supone para el servidor
que los ejecuta. Los CGI se escriben habitualmente en el lenguaje Perl, sin embargo, otros lenguajes como C, C++ o Visual
Basic pueden ser también empleados para construirlos.
El funcionamiento básico de un programa CGI es
parecido al apuntado para el conjunto de las páginas dinámicas del servidor,
con algunas particularidades, como las que se citan a continuación:
Se realiza una petición http,
a la que pueden acompañar datos llegados o bien por un formulario o bien a
través de
El servidor ejecuta los programas CGI a los que se
accede y trabaja con los recursos necesarios para llevar a cabo las acciones.
El programa CGI va escribiendo en la salida estándar
el resultado de la ejecución del CGI, que incluye etiquetas HTML, ya que lo que
se escribe es una página web.
Algunas desventajas de la programación en CGI son las
siguientes:
Los resultados se escriben directamente con el CGI,
así que el código del programa se mezcla con el del HTML haciendo difícil su
comprensión y mantenimiento.
Cada programa CGI que se pone en marcha lo hace en un
espacio de memoria propio. Así, si tres usuarios ponen en marcha un CGI a la
vez se multiplicará por tres la cantidad de recursos que ocupe ese CGI. Esto
significa una grave ineficiencia.
Java Server Pages (JSP) es
un conjunto de tecnologías que permiten la generación dinámica de paginas web combinando código Java (scriptlets)
con un lenguaje de marcas como HTML ó XML, para generar el contenido de la
página [3]. La tecnología JSP está basada en el lenguaje de
programación JAVA y encaminada a facilitar el desarrollo de sitios web. Mediante el uso de páginas JSP, los diseñadores web y los programadores Java pueden incorporar contenido
dinámico en sitios web mediante código Java embebido
en las páginas JSP a través de etiquetas. Estas etiquetas proporcionan al
diseñador web el modo de acceso a los datos y lógica
almacenada en objetos Java, sin necesidad de ser un experto en el desarrollo de
aplicaciones Java. Proyectos como Jakarta-Taglibs proporcionan etiquetas JSP que permiten multitud de
funciones, desde la conexión a una base de datos hasta la conversión al vuelo
del contenido de una página para visualizarla en diferentes dispositivos
físicos: ordenador, teléfono móvil, PDA.
La tecnología JSP es una extensión de la
tecnología Servlets, los cuales son aplicaciones 100%
Java que corren en el servidor: Un Servlet es
creado e inicializado, se procesan las peticiones recibidas y por ultimo se
destruye. Este diseño explica por que un Servlet
remplaza perfectamente a un CGI, ya que el servlet es
cargado una sola vez y esta residente en memoria mientras se procesan las
peticiones recibidas y se generan las respuestas a los usuarios.
Cada vez que un cliente solicita al servidor web una página JSP, este pasa la petición al motor de JSP
el cual verifica si la página no se ha ejecutado antes ó fue modificada después
de la ultima compilación, tras lo cual la
compila, convirtiéndola en Servlet, la ejecuta
y devuelve los resultados al cliente en formato HTML.
Además, la tecnología JSP da una gran paso a
favor de la escalabilidad al soportar arquitecturas basadas en componentes como
JavaBeans o Enterprise JavaBeans (J2EE), que permiten al programador Java crear
módulos de código reusable que acelerarán futuros
desarrollos. Y como todo esto es Java, resultará muy sencillo conectar las
aplicaciones web de sistemas propios de una empresa,
a servidores web para lanzar esa empresa al
ciberespacio.
De todo esto, podemos concluir que las
tecnologías JSP y Servlets son una importante
alternativa para la programación de web de contenido
dinámico que nos permiten:
·
Independencia de
la plataforma
·
Rendimiento mejorado
·
Separación de la
lógica de la aplicación de la presentación de los datos
·
Uso de
componentes (Java Beans)
·
Facilidad de
administración y uso
·
El importante
respaldo de la sólida tecnología Java TM
- XML - Extensible Markup Language
XML es un Lenguaje de Etiquetado Extensible muy
simple, pero estricto que juega un papel fundamental en el intercambio de una
gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no
mostrarlos como es el caso de HTML. XML es un formato que permite la lectura de
datos a través de diferentes aplicaciones [5].
Las tecnologías XML son un conjunto de módulos que
ofrecen servicios útiles a las demandas más frecuentes por parte de los
usuarios. XML sirve para estructurar, almacenar e intercambiar información.
Además de esto, entre las tecnologías XML disponibles
podemos destacar las siguientes:
XSL: Lenguaje Extensible de Hojas de Estilo, cuyo
objetivo principal es mostrar cómo debería estar estructurado el contenido,
cómo debería ser diseñado el contenido de origen y cómo debería ser paginado en
un medio de presentación como puede ser una ventana de un navegador Web o un
dispositivo de mano, o un conjunto de páginas de un catálogo, informe o libro.
XPath :
Lenguaje de Rutas XML, es un lenguaje para acceder a partes de un documento
XML.
XLink: Lenguaje de
Enlace XML, es un lenguaje que permite insertar elementos en documentos XML
para crear enlaces entre recursos XML.
XPointer: Lenguaje
de Direccionamiento XML, es un lenguaje que permite el acceso a la estructura
interna de un documento XML, esto es, a sus elementos, atributos y contenido.
XQL: Lenguaje de Consulta XML, es un lenguaje que
facilita la extracción de datos desde documentos XML. Ofrece la posibilidad de
realizar consultas flexibles para extraer datos de documentos XML en
Microsoft introdujo esta tecnología llamada Active
Server Pages en diciembre de 1996, por lo que no es
nada nueva. Es parte del Internet Information Server
(IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite
el uso de diferentes scripts y componentes en
conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente. Traduciendo
la definición de Microsoft: "Las Active Server Pages
son un ambiente de aplicación abierto y gratuito en el que se puede combinar
código HTML, scripts y componentes ActiveX del servidor para crear soluciones dinámicas y
poderosas para el web".
El principio de la tecnología ASP es el VBScript, pero existe otra diversidad de lenguajes de
programación que pueden ser utilizados. El ASP es una tecnología dinámica
funcionando del lado del servidor, lo que significa que cuando el usuario
solicita un documento ASP, las instrucciones de programación dentro del script son ejecutadas para enviar al navegador únicamente
el código HTML resultante. La ventaja principal de las tecnologías dependientes
del servidor radica en la seguridad que tiene el programador sobre su código,
ya que éste se encuentra únicamente en los archivos del servidor que al ser
solicitado a través del web, es ejecutado, por lo que
los usuario no tienen acceso más que a la página resultante en su navegador.
Funcionamiento del ASP:
·
Servidor procesa
los contenidos del ASP para generar contenidos en forma dinámica y temporal
para el usuario
·
El usuario
solicita un documento ASP desde su navegador.
·
La comunicación
hacia el servidor se da por medio del WEB.
·
Los archivos ASP
son un conjunto de instrucción HTML, Scrits ASP en Vbscrits u otros lenguajes, así como conexiones a bases de
datos o componentes.
·
Por resultado
obtiene un documento estático como cualquier otro HTML que fue generado en el
servidor gracias al ASP.
- PHP - Personal Home Page
PHP son las siglas "Personal Home
Page". Es un lenguaje de programación
pensado en el web de forma que es ideal para la
creación de páginas dinámicas. PHP es la versión libre del sistema equivalente
de Microsoft ASP. PHP es un lenguaje encapsulado dentro de los documentos
html (aunque los CGI hechos con PHP terminan en
extensión .php y no .html ). De forma que se
pueden introducir instrucciones php dentro de las
páginas. Gracias a esto el diseñador gráfico del web
puede trabajar de forma independiente al programador [8]. PHP es interpretado
por el servidor (apache ) generando un HTML con el
resultado de substituir las secuencias de
instrucciones PHP por su salida. Por lo tanto una web dinámica con PHP contiene una serie de documentos php que el servidor apache interpreta proporcionando al
cliente documentos html con el resultado de las
ordenes php.
Su sintaxis es muy similar a la del ASP, pues el código PHP va incrustado dentro
del código HTML. Sus tags van incluidos dentro de
<? y ?>.
Es un lenguaje para programar scripts
del lado del servidor, que se incrustan dentro del código HTML. Este lenguaje
es gratuito y multiplataforma. Un lenguaje del lado del servidor es aquel
que se ejecuta en el servidor web, justo antes de que
se envíe la página a través de Internet al cliente. Las páginas que se ejecutan
en el servidor pueden realizar accesos a bases de datos, conexiones en red, y
otras tareas para crear la página final que verá el cliente. El cliente
solamente recibe una página con el código HTML resultante de la ejecución de
Algunas de as ventajas del PHP frente al ASP son:
Su gratuidad, independencia de plataforma, rapidez y
seguridad. Cualquiera puede descargar a través de la página principal de PHP www.php.net
y de manera gratuita, un módulo que hace que nuestro servidor web comprenda los scripts
realizados en este lenguaje. Es independiente de plataforma, puesto que existe
un módulo de PHP para casi cualquier servidor web.
Esto hace que cualquier sistema pueda ser compatible con el lenguaje y
significa una ventaja importante, ya que permite portar el sitio desarrollado
en PHP de un sistema a otro sin prácticamente ningún trabajo.
PHP, en el caso de estar montado sobre un servidor
Linux u Unix, es más rápido que ASP, dado que se
ejecuta en un único espacio de memoria y esto evita las comunicaciones entre
componentes COM que se realizan entre todas las tecnologías implicadas en una
página ASP.
La seguridad, en este punto también es importante el
hecho de que en muchas ocasiones PHP se encuentra instalado sobre servidores Unix o Linux, que son de sobra conocidos como más veloces y
seguros que el sistema operativo donde se ejecuta las ASP, Windows NT o 2000.
Además, PHP permite configurar el servidor de modo que se permita o rechacen
diferentes usos, lo que puede hacer al lenguaje más o menos seguro dependiendo
de las necesidades de cada cual.
Son compatibilidad con las bases de datos más
comunes, como MySQL, mSQL, Oracle, Informix, y ODBC, por
ejemplo. Incluye funciones para el envío de correo electrónico, upload de archivos, crear dinámicamente en el servidor
imágenes en formato GIF, incluso animadas y una lista interminable de
utilidades adicionales.
- Perl - Practical Extraction and
Report Language
Perl (Practical Extraction and Report Languaje) es un
lenguaje creado a principio de los noventa por Larry
Wall y cuya distribución
es gratuita. Perl es un lenguaje pensado para
la manipulación de cadenas de caracteres, archivos y procesos. Esta
manipulación se ve simplificada por el importante número de operadores a
disposición del usuario. El lenguaje Perl se percibe
habitualmente como un lenguaje intermedio entre los shell
scripts y la
programación en C.
El lenguaje Perl no es
precompilado, pero aún así es más rápido que la mayoría de los lenguajes
interpretados. Esto se debe a que
los programas en Perl son analizados, interpretados y
compilados por el interprete perl antes de su ejecución. Estas características
hacen que el mantenimiento y la depuración de un programa en Perl sean mucho más sencilla que
el mismo programa escrito en C.
Por todo esto, Perl es un
lenguaje muy utilizado en los dos campos siguientes:
1.
La administración de sistemas operativos. Debido
a sus características Perl es muy potente en la creación
de pequeños programas que pueden ser usados como filtros para obtener
información de ficheros, realizar búsquedas, etc. Además, aunque Perl nació en un entorno Unix,
hay versiones para casi todas las plataformas existentes.
2.
La creación de formularios en
Diferencias entre tecnologías
|
Desventajas |
|
ASP |
• Facilidad de desarrollo. |
• Creación de objetos de terceros. |
PHP |
• Facilidad de desarrollo. |
• Lenguaje de programación limitado. |
JSP |
• Lenguaje de programación Java. |
• Requiere Servidor de Aplicaciones o Servletts.
|
Perl |
• Está disponible en múltiples plataformas y sistemas operativos. • Perl es gratuito. • Otorga al programador libertad para la programación. |
• Es lento para algunas aplicaciones. • No se pueden compilar programas Perl. • Utiliza muchos recursos de la máquina. |
XML |
• Lenguaje muy similar a HTML. • Sirve para estructurar, almacenar e intercambiar información. • Se debe poder usar directamente en Internet. • Es mucho más simple que usar MySQL |
• Aún no es soportado ampliamente en browsers
y demás aplicaciones. • No es apropiado para construir una base de datos cuyos componentes
son documentos modulares que se deben reutilizar, intercambiar y automatizar
porque no es fácil asegurar un formato de datos consistente. |
CGI |
• Lenguaje de
programación variado (Perl, C, C++, Visual Basic) |
•
Cada programa CGI que se pone en marcha lo hace en
un espacio de memoria propio. • Los resultados se escriben directamente con el CGI, así que el código
del programa se mezcla con el del HTML haciendo difícil su comprensión y
mantenimiento. |
JSP |
•
Lenguaje de programación Java (scriptlets). •
Lenguaje de marcas como HTML. •
Separación de la lógica de la aplicación de la presentación de los datos. • Facilidad de
administración y uso |
• Requiere Servidor de
Aplicaciones o Servletts. |
Creación de un portal de ventas
A la hora de formular los objetivos de un sitio web, es fundamental tener objetivos muy específicos, de
corto plazo y que además sean cuantificables; ya que esta es la única manera de
evaluar si los objetivos del sitio se están logrando, como se ha
planificado.
Cuando formulamos dichos objetivos debemos saber
claramente:
·
Que información
queremos transmitir.
·
Que información
queremos recibir.
·
Qué pretendemos
al realizar este sitio web.
Es por esto que todos los esfuerzos han de ir
dirigidos a conseguir que el sitio web sea el
vehículo para conseguir esos objetivos.
Deben establecerse unas etapas básica
para el desarrollo de un sitio web, y estas son:
·
Delimitación del tema
En esta etapa, se define el tema a tratar, puntos a publicar
y la forma de publicación.
·
Recolección de la información
En esta etapa se recolecta la información que se va a
poner en el Web, de acuerdo a la especificación hecha en la etapa anterior.
·
Agregación y descripción
Se establece la jerarquía y organización de los
contenidos a ser publicados. En esta etapa es donde se define que información
inicial se le mostrará al usuario.
·
Estructuración
Esta etapa le dará la forma de navegación al usuario,
mostrará la facilidad de acceso a la información, registrará enlaces a otras página de interés y marcará mediante la opinión del
usuario si la página es de fácil entendimiento y navegación.
·
Metáfora
Existen muchas páginas que esperamos sean accesadas desde diferentes partes de nuestro servicio (por
ejemplo: un glosario o una ayuda). Quizás en alguna parte del documento
mencionamos a otra página y sería interesante que el usuario pudiera hacer click
en esa referencia para ir a la página que estamos referenciado.
·
Diseño y estilo gráfico
Aquí se define la comodidad para que el usuario
encuentre un diseño visualmente atractivo y llamativo, sin ser excesivamente
cargado. Se definen los colores del site, el tipo de imágenes
a utilizar, tamaño de letra, si el site lleva mucho
texto o si es totalmente gráfico apoyado por comentarios en imágenes.
·
Ensamble final
En este punto concretamos el diseño, con los últimos
enlaces que sean necesarios e incorporamos el estilo gráfico a las páginas, se
ensambla el sitio con una portada que sea capaz de presentar en una sola página
física al menos lo más relevante del sitio, se instalan links hacia la página
personal del autor y/o su dirección de correo electrónico.
·
Testeo
Revisión final del site a nivel
general. Funcionalidad, verificación de enlaces, descarga de documentos,
velocidad de descarga de imagenes. La mejor prueba
que se le puede hacer a un site es pedirle a un grupod e usuarios que naveguen en el y nos den la
retroalimentación.
En resumen de los requerimientos básicos a considerar para el desarrollo
de un proyecto web:
1. Los usuarios no
están dispuesto a aprender el funcionamiento de un sitio web especifico.
2. Los usuarios aplican
los conocimientos de que disponen para interpretar las nuevas situaciones.
3. Los usuarios esperan
obtener resultados de manera inmediata al usar una aplicación.
4. Los usuarios no leen
en las páginas web palabra por palabra sino que ojean
los contenidos.
5. Los usuarios se
centran en las áreas de texto de la página, ignorando las áreas de navegación,
gráficos y otros elementos de diseño global, lo que confirma que el aspecto
estético de un sitio web no tiene la importancia que
generalmente se le otorga.
6. Los usuarios se
dirigen de manera casi exclusivamente centrada a encontrar lo que buscan en
Internet.
7. Los usuarios no
navegan sin una meta clara y aún en caso de hacerlo definen una a los pocos segundos
de iniciar la navegación.
8. Los usuarios confían
casi ciegamente en los buscadores como herramienta principal de sus búsquedas
dentro de un sitio, por lo que al no encontrar la información asumen que es
porque no esta disponible.
9. Los usuarios
abandonan los sitios web con lentitud de descarga,
enlaces mal definidos y dificultad para encontrar la información.
10. Los usuarios requieren claves que les indiquen
que en ese sitio web está la información que buscan.
Una vez considerados todos estos aspectos y estando
bien definida la estrategia y método a aplicar, se debe proceder a evaluar la plataforma
de hardware, tomando en cuenta la seguridad física y en especial la lógica y mas
aún, cuando se trata de un site de comercio electrónico
en el que se manejarán datos confidenciales de los clientes.
Bibliografía
http://comunidad.ciudad.com.ar/argentina/entre_rios/dbinternet/index.htm
http://comunidad.ciudad.com.ar/argentina/entre_rios/dbinternet/glosario.htm#MP
http://mipagina.cantv.net/williamyanez/jsp/default.htm
http://www.monografias.com/trabajos6/ixml/ixml.shtml
http://www.mycgiserver.com/~neopheus/
http://www.w3c.es/divulgacion/guiasbreves/TecnologiasXML
http://www.escuelaweb.com.mx/xml.htm
http://www.maestrosdelweb.com/editorial/aspintro/
http://ascii.eii.us.es/cursos/php/php3.html
http://www.maestrosdelweb.com/editorial/phpintro/