Logo Studenta

generalidades-del-desarrollo-web

¡Este material tiene más páginas!

Vista previa del material en texto

GENERALIDADES DEL 
DESARROLLO WEB 
(SEGURIDAD, ARQUITECTURA, 
PLATAFORMAS Y LENGUAJES DE 
PROGRAMACION) 
 
UNIVERSIDAD POLITECNICA DE 
ATLAUTLA 
2016 
PRESENTA: 
LUIS FERNANDO RIVERA VILLANUEVA 
INGENIERIA EN INFORMATICA 23/09/2016 
 
1 
 
1. INTRODUCCION 
1.1 INTRODUCCION A INTERNET 
1.2 LA WWW 
2 JUSTIFICACION 
3 OBJETIVOS 
3.1 OBJETIVOS GENERALES 
3.2 OBJETIVOS ESPECIFICOS 
4 SERVIDOR WEB 
4.1 QUE ES.? 
4.2 SEGURIDAD Y AUTENTICACION 
4.3 SERVIDORES WEB 
5 ARQUITECTURA WEB 
6 SEGURIDAD EN WEB 
6.1 SEGURIDAD AL CLIENTE 
6.2 SEGURIDAD DEL SERVIDOR WEB Y LOS DATOS 
6.3 SEGURIDAD DE LA INFORMACION EN TRANSITO 
7 VENTAJAS \ DESVENTAJAS DE LAS APLICACIONES WEB 
7.1 VENTAJAS 
7.2 DESVENTAJAS 
8 PATRON DE DISEÑO MVC 
8.1 FUNCIONAMIENTO BASICO DEL PATRON MVC 
9 PLATAFORMAS DE DESARROLLO WEB 
10 LENGUAJES DE PROGRAMACION WEB 
 
 
2 
 
FIGURA 1 ARQUITECTURA WEB ____________________________________________________________ 2 
FIGURA 2 COMUNICACION WEB ___________________________________________________________ 2 
FIGURA 3 ARQUITECTURA TRES ETAPAS _____________________________________________________ 3 
FIGURA 4 ARQUITECTURA MVC ____________________________________________________________ 6 
FIGURA 5 CICLO DE VIDA DE JSF ____________________________________________________________ 8 
FIGURA 6 CICLO DE VIDA DE WEBWORK _____________________________________________________ 8 
FIGURA 7 CICLO DE VIDA DE TAPESTRY ______________________________________________________ 9 
FIGURA 8 ESTRUCTURA BASICA HTML ______________________________________________________ 10 
FIGURA 9 EJEMPLO DE CGI'S ______________________________________________________________ 10 
FIGURA 10 EJEMPLO DE APLICACION WEB EN ASP ____________________________________________ 10 
FIGURA 11 EJEMPLO DE PHP _____________________________________________________________ 10 
FIGURA 12 EJEMPLO DE APLICACIÓN WEB CON PHP __________________________________________ 10 
 
 
3 
 
 
Se pretende dar a conocer a las personas que tengan un interés propio por la web 
y el desarrollo de esta, por lo cual presentamos información recopilada la cual les 
servirá para aclarar algunas cuantas dudad, tener conocimiento y usar de forma 
adecuada esta información sobre las generalidades de del desarrollo web. Ya que 
como sabemos este tema es demasiado extenso y solo se tomas algunas partes 
que la conforman que sabemos que a muchos estudiantes sistemas 
computacionales, programadores, informáticos o alguna otra persona que necesite 
saber sobre el tema, encuentres esta documentación de su agrado y más que otra 
cosa sea útil para lo que se requiere. 
Comenzando con algunos antecedentes que se consideran necesarios mencionar 
o información que simplemente en las primeras páginas de este documento puedan 
encontrar y sea entendible y concreta. 
1.1 INTRODUCCION 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 Protocol, que permitía a ordenadores diversos comunicarse a través 
de una red, Internet, formada por la interconexión de diversas redes. 
1.2 LA WWW 
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 sistema 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 (sin espacios). 
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 la 
web ya era merecedora de un espacio en el New York Times. 
La WWW (World Wide Web) o, de forma más coloquial, la web, se ha 
convertido, junto con el correo electrónico, en el principal caballo de batalla 
4 
 
de Internet. Ésta ha dejado de ser una inmensa “biblioteca” de páginas 
estáticas para convertirse en un servicio que permite acceder a multitud de 
prestaciones y funciones, así como a infinidad de servicios, programas, 
tiendas, etc. 
Para llevar a cabo un proyecto de tecnologías de la información basado en la 
utilización de herramientas de uso habitual en Internet (como por ejemplo la World 
Wide Web), en entornos de software libre, como en cualquier otro tipo de proyecto, 
es necesario seguir un proceso que nos lleve desde la comprensión del alcance del 
problema que queremos solventar hasta la implantación y mantenimiento de la 
solución que hayamos elegido. Para lo cual también pretendemos dar a conocer el 
seguimiento general que se tiene que hacer para la creación de un proyecto web. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5 
 
2 JUSTIFICACION 
 
En la actualidad muchas personas y empresas ya trabajan con ordenadores y 
muchos de ellos se dedican al desarrollo web, ya sea para páginas web, blogs, 
foros, etc. Existe gente que se encuentra estudiando en alguna rama de la 
computación y es necesario tener conocimiento de la web y sus detalles. 
 
Los temas relacionados con la palabra web son muy buscados en estos días por 
diferentes personas con diferentes cargos en esta sociedad, quieren información 
que sea benéfica para sus trabajos, investigaciones o simplemente una tarea. 
Se hace este archivo para que sea más simple una búsqueda de información 
concreta sobre el tema web, ya que es demasiado extenso, aquí solo se toman 
algunos puntos, como su título del presente lo dice solo se abarcan algunos cuantos 
puntos como la seguridad, arquitectura, servidores y más cosas fundamentales que 
encontraras al leer y entender el archivo. 
 
 
Porque en el área de la informática queremos y necesitamos ser gente preparada o 
con algún conocimiento que nos ayude a destacar en la sociedad, empleos o el sitio 
que estemos el cual nos exija ser competentes con los demás y llevar conocimientos 
previos del tema del desarrollo web y no queremos que no sepan al menos una 
palabra simple, sino que sepamos responder con lo aprendido o con lo recién 
buscado en este documento el cual se crea con el propósito de ayudar a otros ya 
que es difícil poner atención al estudio o investigación, se tiene el propósito de que 
sea entendible, no aburrido y sea información concreta y más que otra cosa, que 
sea de gran ayuda. 
 
 
 
 
 
 
 
 
6 
 
3 OBJETIVOS 
 
3.1 OBJETIVOS GENERALES 
Llevar a la persona a estar mejor preparada con alguna información básica 
que le sea útil tanto como para sus estudios como para su ámbito laboral y 
pueda desarrollarse con competitividad en las diferentes áreas, en especial a 
el desarrollo web y sus conceptos básicos que son útiles para el manejo de las 
TICS o para especializarse en esta área. 
3.2 OBJETIVOS ESPECIFICOS 
 CORTO PLAZO: 
La aprobación de esta recopilación de información para que pueda ser 
expuesta a las personas con interés en el desarrollo web y sus generalidades. 
 MEDIANO PLAZO: 
Recibir apoyo por otras personas para complementar y fortalecer esta 
investigación para ser expuesta en internet y pueda ser bien evaluada por los 
usuarios. 
 LARGO PLAZO: 
Tener un gran número de visitas que también apoyen a complementar la 
investigación presente y ayuden con sus comentarios positivos y llevar a cabo 
más investigaciones que puedan ayudar a los colegas informáticos. 
 
 
 
 
 
 
 
 
 
 
 
 
4 SERVIDOR WEB 
 
4.1 QUEES.? 
Un servidor web es un programa 
que atiende y responde a las 
diversas peticiones de los 
navegadores, proporcionándoles 
los recursos que solicitan 
mediante el protocolo HTTP o el 
protocolo HTTPS (la versión 
segura, cifrada y autenticada de 
HTTP). Un servidor web básico 
tiene un esquema de 
funcionamiento muy sencillo, 
ejecutando de forma infinita el 
bucle siguiente: 
1. Espera peticiones en el puerto 
TCP asignado (el estándar para 
HTTP es el 80). 
2. Recibe una petición. 
3. Busca el recurso en la cadena 
de petición. 
4. Envía el recurso por la misma 
conexión por donde ha recibido la 
petición. 
5. Vuelve al punto 2. 
Un servidor web que siguiese el 
esquema anterior cumpliría los 
requisitos básicos de los 
servidores HTTP, aunque, eso sí, 
sólo podría servir ficheros 
estáticos. 
A partir del esquema anterior se 
han diseñado y construido todos 
los programas servidores de 
HTTP que existen, variando sólo 
el tipo de peticiones (páginas 
estáticas, CGI, Servlets, etc.) que 
pueden atender, en función de 
que sean o no multi-proceso, 
multi-hilados, etc. A continuación, 
detallaremos algunas de las 
características principales de los 
servidores web, que extienden, 
obviamente el esquema anterior. 
4.2 SEGURIDAD Y AUTENTICACION 
La mayoría de los servidores web 
modernos nos permiten controlar 
desde el programa servidor aquellos 
aspectos relacionados con la 
seguridad y la autenticación de los 
usuarios. 
El modo más simple de control es el 
proporcionado por el uso de ficheros 
.htaccess. Éste es un sistema de 
seguridad que proviene de uno de los 
primeros servidores web (del NCSA 
HTTP), que consiste en poner un 
fichero de nombre .htaccess en 
cualquier directorio del contenido web 
que se vaya a servir, indicando en este 
fichero qué usuarios, máquinas, etc., 
tienen acceso a los ficheros y 
subdirectorios del directorio donde está 
el fichero. Como el servidor de NCSA 
fue el servidor más usado durante 
mucho tiempo, la mayoría de 
servidores modernos permiten utilizar 
el fichero .htaccess respetando la 
sintaxis del servidor de NCSA. 
Otros servidores permiten especificar 
reglas de servicio de directorios y 
ficheros en la configuración del 
servidor web, indicando allí qué 
usuarios, máquinas, etc., pueden 
acceder al recurso indicado. 
Por lo que respecta a la autenticación 
(validación del nombre de usuario y 
contraseña proporcionados por el 
1 
 
cliente), las prestaciones ofrecidas por 
los diversos servidores web son de lo 
más variado. La mayoría permiten, 
como mínimo, proporcionar al servidor 
web un fichero con nombres de usuario 
y contraseñas contra el que se pueda 
validar lo enviado por el cliente. De 
todos modos, es frecuente que los 
servidores proporcionen pasarelas que 
permitan delegar las tareas de 
autenticación y validación a otro 
software (por ejemplo, RADIUS, LDAP, 
etc.). Si usamos un sistema operativo 
como Linux, que dispone de una 
infraestructura de autenticación como 
PAM (pluggable authentication 
modules), podemos usar esta 
funcionalidad como modo de 
autenticación del servidor web, 
permitiéndonos así usar los múltiples 
métodos disponibles en PAM para 
autenticar contra diversos sistemas de 
seguridad. 
Algunas características adicionales de 
algunos servidores web de código libre 
son las siguientes: 
Spelling (Apache). Esta prestación de 
Apache nos permite definir una página 
de error para los recursos no 
encontrados que sugiera al usuario 
algunos nombres de recurso parecidos 
al que solicitaba para el caso de que 
hubiese cometido un error al escribir. 
RXML Tags (Roxen). Añade a HTML 
algunos tags (comandos de HTML), 
mejorados para programación y 
generación de contenido dinámico. 
Bfnsgd (AOLServer), mod_gd 
(Apache). Nos permite realizar gráficos 
a partir de texto y de fuentes True 
Type. 
Nsxml (AOLServer), tDOM 
(AOLServer), mod_xslt (Apache). Nos 
permite realizar la transformación de 
ficheros XML a partir de XSL. 
Kill Frame (Roxen). Envía con cada 
página web servida un código que evita 
que nuestra web quede como frame 
(enmarcada) dentro de otra página 
web. 
4.3 SERVIDORES WEB 
• Apache: Es un servidor web HTTP de 
código abierto para plataformas Unix 
(BSD, GNU/Linux, 
etc.), Microsoft Windows, Macintosh y 
otras, que implementa el protocolo 
HTTP. 
• Apache Tomcat: Es un servidor web 
con soporte a JSP. Tomcat. Incluye el 
compilador Jasper, 
que compila JSP convirtiéndolos en 
servlets. El motor de servlets de 
Tomcat a menudo se 
presenta en combinación con el 
servidor web Apache. 
• IIS: Este servicio convierte a un 
ordenador en un servidor de Internet o 
Intranet es decir que en las 
computadoras que tienen este servicio 
instalado se pueden publicar páginas 
web tanto local como 
remotamente (servidor web). 
• Glassfish: Es un servidor de 
aplicaciones desarrollado por Sun 
Microsystems que implementa las 
tecnologías definidas en la plataforma 
Java EE y permite ejecutar 
aplicaciones que siguen esta 
especificación. 
• Lighttpd: Es un servidor web 
diseñado para ser rápido, seguro, 
flexible, y fiel a los estándares. 
Está optimizado para entornos donde 
la velocidad es muy importante, y por 
eso consume menos 
recursos que otros servidores. 
2 
 
• Thttpd: Es un servidor web de código 
libre disponible para la mayoría de las 
variantes de Unix. Se 
caracteriza por ser simple, pequeño, 
portátil, rápido, y seguro, ya que utiliza 
los requerimientos 
mínimos de un servidor HTTP. Esto lo 
hace ideal para servir grandes 
volúmenes de información. 
 
5 ARQUITECTURA WEB 
Una aplicación Web es una 
aplicación informática que se 
ejecuta en un entorno Web. La 
arquitectura Web permite a 
múltiples clientes o usuarios 
establecer una comunicación a 
través de Internet con un servidor 
Web. 
Los clientes mediante un 
navegador emiten peticiones vía 
HTTP a un servidor Web que 
responde a cada una de las 
solicitudes. 
El servidor aloja una serie de 
aplicaciones Web que ofrecen 
diferentes servicios a los usuarios 
conectados. Es en el servidor Web 
donde se centraliza la carga de 
trabajo. En la mayoría de los 
casos, el navegador suele ser un 
mero presentador de información 
(modelo de cliente ligero), y no 
lleva a cabo ningún procesamiento 
relacionado con la lógica de 
negocio. 
En la arquitectura Web el modelo de 
comunicación entre cliente y servidor 
se establece mediante una conexión a 
Internet o intranet. El intercambio de 
información desde el navegador al 
Servidor se efectúa mediante el uso del 
protocolo HTTP (Hipertext Transfer 
Protocol) protocolo para el intercambio 
de información en Web. 
El navegador Web interpreta las 
páginas dinámicas generadas por el 
servidor Web. El esquema de 
comunicaciones sigue el siguiente 
formato: 
 
 FIGURA 2 COMUNICACION WEB 
 
El usuario interacciona con las 
aplicaciones Web a través del 
navegador. Como consecuencia de la 
FIGURA 1 ARQUITECTURA WEB 
3 
 
actividad del usuario, se envían 
peticiones al servidor, donde se aloja la 
aplicación Web y que normalmente 
hace uso de una base de datos que 
almacena toda la información 
relacionada con la misma. El servidor 
procesa la petición y devuelve la 
respuesta al navegador que la 
presenta al usuario. 
Por tanto, el sistema se distribuye en 
tres componentes: • el navegador, que 
presenta la interfaz al usuario • la 
aplicación, que se encarga de realizar 
las operaciones necesarias según las 
acciones llevadas a cabo por éste • la 
base de datos, donde la información 
relacionada con la aplicación se hace 
persistente. 
Esta distribución se conoce como el 
modelo o arquitectura de tres capas. 
 
 
FIGURA 3 ARQUITECTURA TRES ETAPAS 
 
 
Una arquitectura por capas nos facilita 
las siguientes ventajas: 
• Facilidad de desarrollo: el desarrollo 
se puede llevara cabo en varios 
niveles. Es posible realizar desarrollos 
paralelos (en cada capa). 
• Aplicaciones robustas: se consigue 
gracias al encapsulamiento. 
• Facilidad de mantenimiento: la 
modularidad facilita el mantenimiento y 
soporte. 
• Flexibilidad: la modularidad facilita 
añadir o modificar módulos de una 
capa sin afectar a las restantes. Por 
ejemplo, se pueden tener múltiples 
interfaces sin cambiar la lógica de la 
aplicación o se puede modificar un 
módulo de lógica de negocio sin afectar 
a la interfaz. 
• Posibilidad de reutilización: el código 
de la capa intermedia puede ser 
reutilizado por múltiples aplicaciones si 
está diseñado en formato modular. 
• Alta escalabilidad: se pueden manejar 
muchas peticiones con el mismo 
rendimiento simplemente añadiendo 
más hardware. El crecimiento es casi 
lineal y no es necesario añadir nuevo 
código para conseguirlo. 
En contraposición a las ventajas 
citadas, las aplicaciones por capas 
pueden incrementar el tráfico en la red 
y requieren más balance de carga o 
tolerancia frente a posibles fallos. 
 
 
 
4 
 
6 SEGURIDAD EN WEB 
Las aplicaciones Web están más 
expuestas a ataques. Se pueden 
tener ataques en tres niveles: 
• Al cliente. 
 • Al servidor. 
 • A la información en tránsito. 
La seguridad en Web tiene tres 
etapas primarias: 
• Seguridad de la computadora del 
usuario. 
• Seguridad del servidor Web y los 
datos. 
• Seguridad de la información en 
tránsito 
6.1 SEGURIDAD AL CLIENTE 
Los usuarios deben contar con 
navegadores y plataformas seguras, 
libres de virus y vulnerabilidades. 
También debe garantizarse la 
privacidad de los datos del usuario. 
Vulnerar el equipo del usuario quizás 
no tenga el impacto de vulnerar el 
servidor, sin embargo, es un problema 
más difícil de erradicar. El número de 
clientes es muy superior al número de 
servidores. Por tanto, se recomiendan 
las siguientes medidas para asegurar 
el equipo del usuario: 
•Aplicar actualizaciones 
(parches) al sistema operativo. 
• Uso de antivirus, firewall. 
• Educación de los usuarios. 
6.2 SEGURIDAD DEL SERVIDOR WEB Y 
LOS DATOS 
Se debe garantizar la operación 
continua del servidor, que los datos no 
sean modificados sin autorización 
(integridad) y que la información sólo 
sea distribuida a las personas 
autorizadas (control de acceso). 
Se deben considerar los siguientes 
puntos: 
• Asegurar el servidor en una forma 
fundamental: el sistema operativo, ya 
sea por medio de actualizaciones 
(parches) y habilitando los 
mecanismos propios de la plataforma. 
• Garantizar la seguridad del servidor 
Web propiamente (IIS, Apache, etc.) 
• Auditar las aplicaciones que 
interactúan en las dos capas anteriores 
(módulos, bibliotecas). 
6.3 SEGURIDAD DE LA INFORMACION 
EN TRANSITO 
Garantizar que la información que viaja 
entre cliente y servidor no sea leída 
(confidencialidad), modificada o 
destruida por terceros. También es 
importante asegurar que el enlace 
entre cliente y servidor no pueda 
interrumpirse fácilmente 
(disponibilidad). 
Esto se puede lograr por diversos 
medios: 
•Asegurando la red físicamente 
(switches en lugar de hubs). 
•Esconder la información 
(esteganografía). 
5 
 
Cifrar la información (criptografía) por 
medio de algoritmos diversos (SSL, 
VPNs). 
7 VENTAJAS \ DESVENTAJAS 
DE LAS APLICACIONES WEB 
7.1 VENTAJAS 
• Compatibilidad multiplataforma: se 
pueden usar desde cualquier sistema 
operativo porque sólo es necesario 
tener un navegador actualizado. 
• Actualizaciones inmediatas: siempre 
se accede a la última versión de la 
aplicación. No es necesario realizar 
actualizaciones desde el cliente. 
• Acceso inmediato: no necesitan ser 
descargadas, instaladas y 
configuradas lo que supone un 
significativo ahorro de tiempo. 
• Menor impacto frente a errores: la 
localización de las aplicaciones Web 
en el servidor permite actualizarlas 
rápidamente frente a problemas que 
surjan de manera que la actualización 
esté disponible para todos los usuarios. 
Además, evita múltiples problemas de 
interacción con otro software o 
conflictos de hardware en la máquina 
cliente. 
• Consumo bajo de recursos: la carga 
de trabajo de estas aplicaciones reside 
en el servidor por tanto se reducen el 
uso de recursos de memoria en el 
cliente. Además, al estar alojadas en el 
servidor no ocupan espacio de disco 
duro en cliente. 
• Reducción costes: el mantenimiento 
del sistema se concentra en el servidor, 
por tanto, se reducen costes de 
instalación y actualización en clientes. 
Además, estas aplicaciones permiten 
ahorrar invertir en costosas 
infraestructuras de comunicaciones. 
• Alta disponibilidad de servicio y datos: 
gracias a la conectividad que 
proporciona Internet se permite el 
acceso a la aplicación desde cualquier 
punto. Esto facilita la movilidad y el 
teletrabajo. 
• Colaboración: pueden ser utilizada 
por múltiples usuarios al mismo tiempo. 
• Seguridad de datos: la localización de 
los datos en un servidor los protege 
frente a posibles virus en el equipo 
cliente. 
• Portabilidad: compatibilidad de la 
aplicación con múltiples sistemas 
operativos y plataformas existentes en 
el mercado. 
7.2 DESVENTAJAS 
• Conexión a Internet: la disponibilidad 
del servicio está supeditada al 
proveedor. 
• Comunicación no segura: la 
comunicación se realiza a través de un 
medio que no es seguro, lento y con 
diferentes protocolos de comunicación. 
• Seguridad en el servidor: las 
aplicaciones Web deben estar en 
constante resguardo. Si no son 
seguras podrían perderse los datos o 
no ser accesibles. 
• Compatibilidad de idioma: la mayor 
parte de las aplicaciones Web se crea 
en un idioma concreto sin soportar 
otros lenguajes. 
• Dependencia a plugins: muchas 
aplicaciones dependen de 
6 
 
determinados complementos por 
ejemplo Flash, Java… que genera la 
necesidad de instalación y 
actualización en cliente. 
• Espacio reducido de 
almacenamiento: muchos proveedores 
de servicios Web ofrecen un espacio 
limitado y reducido para los archivos 
del cliente. 
• Menor funcionalidad: aunque en este 
sentido los navegadores van 
mejorando, la funcionalidad que otorga 
un navegador es menor que la que 
otorga el sistema operativo, por tanto, 
pueden aportar menor funcionalidad 
que las aplicaciones de escritorio. 
8 PATRON DE DISEÑO MVC 
El patrón MVC [12] (Modelo Vista 
Controlador) es un patrón de 
arquitectura de software encargado de 
separar la lógica de negocio de la 
interfaz del usuario y es el más 
utilizado en aplicaciones Web, ya que 
facilita la funcionalidad, mantenibilidad 
y escalabilidad del sistema, de forma 
simple y sencilla, a la vez que permite 
“no mezclar lenguajes de 
programación en el mismo código”. 
MVC especifica cómo debe ser 
estructurada una aplicación, las capas 
que van a componer la misma y la 
funcionalidad de cada una. Según 
este patrón, la capa intermedia de una 
aplicación Web se divide en tres 
niveles de abstracción: 
• Controlador 
• Vista 
• Modelo 
La siguiente figura muestra esta 
arquitectura. En ella se puede ver 
cómo se relacionan estos tres bloques 
funcionales entre sí, su interacción 
con el resto de las capas de la 
aplicación. 
 
FIGURA 4 ARQUITECTURA MVC 
8.1 FUNCIONAMIENTO BASICO DEL 
PATRON MVC 
• El usuario realiza una petición a 
través de la interfaz de usuario 
• El controlador captura el evento 
• El controlador hace la llamada al 
modelo/modelos correspondientes 
efectuando las modificaciones 
pertinentes sobre el modelo 
• El controlador recibe la información y 
la envía a la vista 
• La vista, recibe datos del modelo y 
los muestra al usuario 
7 
 
9 PLATAFORMAS DE 
DESARROLLO WEB 
 
• Utiliza el lenguaje Java para producir 
aplicaciones Web. 
• Permite la creaciónde grandes 
aplicaciones distribuidas. 
• Provee un buen control de sesión y 
manejo de autorización. 
• Permite la creación de aplicaciones 
de múltiples capas. 
Una de las desventajas de J2EE es 
que posee una curva de aprendizaje 
importante, lo que provoca una difícil 
inserción de diseñadores Web y 
programadores en sus primeros pasos. 
 
 Microsoft actualizó su tecnología ASP 
a ASP.NET que imita a J2EE en 
muchas maneras. 
• Simplifica la creación de aplicaciones 
pequeñas a programadores que se 
están iniciando y a diseñadores 
gráficos. 
• Permite la creación de grandes 
aplicaciones distribuidas. 
• Provee un buen control de sesión y 
manejo de autorización. 
• Permite a los programadores la 
utilización de su lenguaje de 
programación favorito, el que es 
compilado a código nativo. 
La elección entre J2EE y .NET es 
dependiente de la plataforma. Las 
aplicaciones J2EE teóricamente 
pueden ser ejecutadas en la mayoría 
de las plataformas, desde Linux a AIX, 
MacOS X o Windows. 
 
El concepto original de la Web (en este 
contexto, llamada Web 1.0) eran 
páginas estáticas HTML que no eran 
actualizadas frecuentemente. El éxito 
de las punto-com dependía de webs 
más dinámicas (a veces llamadas Web 
1.5) donde los CMS servían páginas 
HTML dinámicas creadas al vuelo 
desde una actualizada base de datos. 
En ambos sentidos, el conseguir hits 
(visitas) y la estética visual eran 
considerados como unos factores muy 
importantes. 
Los propulsores de la aproximación a 
la Web 2.0 creen que el uso de la Web 
está orientado a la interacción y redes 
sociales, que pueden servir contenido 
que explota los efectos de las redes 
con o sin crear webs interactivas y 
visuales. Es decir, los sitios Web 2.0 
actúan más como puntos de encuentro, 
o webs dependientes de usuarios, que 
como webs tradicionales. 
 
JSF es una plataforma desarrollada a 
través del Java community Process por 
Sun Microsystems. [WEB-6] 
JSF se establece como un estándar 
para la construcción de interfaces de 
usuario ubicándose en el lado del 
servidor. 
Con la contribución de un grupo de 
expertos, la API fue diseñada de forma 
tal de hacerla extensible y mejorada a 
8 
 
través de herramientas que hagan aún 
más fácil el desarrollo de aplicaciones 
Web. 
La tecnología JSF incluye: 
 Un conjunto de APIs para la 
representación de 
componentes gráficos y el 
manejo de su estado, captura 
de eventos y validación de 
entradas, definición de 
navegación de páginas, y 
soporte para 
internacionalización y 
accesibilidad. 
 Una librería de tags de JSP 
para poder utilizar los 
componentes de JSF en 
páginas JSP. 
 
 
FIGURA 5 CICLO DE VIDA DE JSF 
 
WebWork es una plataforma de 
desarrollo Web open-source para 
construir aplicaciones Model 2. Es 
similar en su filosofía a Struts y a 
Tapestry. [WEB-7] 
A diferencia de otras plataformas utiliza 
las APIs Web de Java en lugar de 
intentar reemplazarlas. 
WebWork introduce conceptos que son 
únicos y que lo distingue de otras 
plataformas, como ser el PHMVC y la 
pila de valores (quien se encarga de 
proveer la información a la vista). 
WebWork fue construido por el 
proyecto Open Symphony (que incluye 
varios proyectos, siendo WebWork uno 
de ellos). 
El flujo de información básico de una 
aplicación que utiliza WebWork se 
muestra en la Figura siguiente. 
 
FIGURA 6 CICLO DE VIDA DE WEBWORK 
 
Tapestry es una plataforma de 
desarrollo Web open-source escrita 
en el lenguaje Java. Fue 
9 
 
desarrollado por Howard Lewis 
Ship y es parte del proyecto La 
plataforma Java 2 Enterprise 
Edition (J2EE) es fruto de la 
colaboración de SUN con los 
Jakarta de Apache. [Ship, 2004] [Tong-
2005] [WEB-3] 
Tapestry es una plataforma de mayor 
tamaño que Struts. Está provista de 
componentes gráficos, así como 
también aquellos necesarios para 
manejar pool de objetos y manejo de 
sesión. Debido a la naturaleza de la 
plataforma, orientada a componentes 
reutilizables permite un alto grado de 
reutilización de componentes 
relacionados con necesidades 
comunes en el desarrollo Web. 
El desarrollo utilizando Tapestry está 
orientado a objetos, propiedades y 
métodos y no URLs y parámetros de 
HTTP. Esto es logrado abstrayendo los 
detalles de bajo nivel de las 
aplicaciones Web. 
El flujo de información básico de una 
aplicación que utiliza Tapestry se 
muestra en la Figura siguiente. 
 
 
FIGURA 7 CICLO DE VIDA DE TAPESTRY 
 
 
líderes del sector del software 
empresarial (IBM, Apple, Bea Systems, 
Oracle, Inprise, 
Hewlett-Packard, Novell, etc.) para 
definir una plataforma robusta y flexible 
orientada a 
cubrir las necesidades empresariales 
en e-business y business-to-business. 
J2EE aprovecha muchas de las 
características de la plataforma Java, 
como la 
portabilidad, el acceso a bases de 
datos, la tecnología para la interacción 
con los recursos 
existentes de la empresa y un modelo 
de seguridad que protege los datos 
incluso en las 
aplicaciones para Internet. Sobre esta 
base, J2EE añade el soporte completo 
para 
componentes EJBs, servlets y la 
tecnología JavaServer Pages. El 
estándar J2EE incluye 
todas las especificaciones y pruebas 
de conformidad que permiten la 
portabilidad de las 
aplicaciones a través de la amplia 
gama de sistemas empresariales 
compatibles con 
J2EE. 
Para el desarrollador, existen múltiples 
entornos gráficos de desarrollo para el 
lenguaje 
Java (Visual J++ de Microsoft, JBuilder 
de Borland, Java Studio de Sun, etc.). 
Entre todos 
10 
 
estos entornos, cabe destacar la 
herramienta Eclipse por ser de libre 
distribución. 
 
El Modelo Vista Controlador MVC es 
un patrón arquitectural muy difundido 
hoy en día en 
aplicaciones de entorno Web. La 
evolución de lo que se conoce como 
Modelo 2 de 
aplicaciones Web (separación de 
responsabilidades de presentación, 
negocio y 
navegación) avanza un poco más en el 
reparto de tareas en la aplicación. Pese 
a que hay 
distintos puntos de vista acerca de la 
forma de aplicar e implementar este 
patrón, en 
esencia las ideas principales sobre su 
estructura y funcionalidad son las 
mismas. El MVC 
tiene tres piezas claves que se 
reparten la responsabilidad de la 
aplicación: 
El modelo (Model): responsable de 
toda la lógica y estado del dominio de 
negocio. 
La vista (View): responsable de la 
presentación del dominio de negocio. 
El controlador (Controller): 
responsable del flujo de control, la 
navegabilidad y el 
estado de la entrada del usuario. 
El proyecto Struts proporciona un 
marco de trabajo MVC estándar a la 
comunidad Java. 
Este framework del proyecto Jakarta es 
la implementación java orientada a 
aplicaciones 
Web más difundida del patrón MVC. 
Provee su propio controlador 
(ActionServlet), y se 
integra con otras tecnologías para 
proveer el modelo y la vista. La 
navegación se configura en ficheros 
XML externos y se organiza la lógica y 
responsabilidades siguiendo 
la distribución del MVC. 
Por lo tanto, para desarrollar 
basándose en una arquitectura Modelo 
2, variación del 
paradigma Modelo-Vista-Controlador 
(MVC), se ha seleccionado el 
Framework Struts. 
Struts proporciona un Servlet que se 
encarga de manejar la lógica de 
negocio, mientras 
que toda la lógica de presentación 
recae en las páginas JavaServer 
Pages (JSPs). 
También proporciona herramientas 
para desarrollar con MVC, así como 
subcomponentes 
para el desarrollo de páginas Web, como 
pueden ser Struts-Menú, Struts-Tiles o las 
librerías de etiquetas JSP HTML, logic, 
bean, etc. 
 
Las funcionalidades soportadas por el 
Framework PA son las siguientes: 
 
 Extensión del Framework Struts 
con una colección propia de 
clases Action. 
 Acceso a datos a través de 
objetos DAO. 
 Automatización de la carga de 
consultas SQL desde ficheros 
de propiedades. 
 Plantillas (Tiles) para la creación 
rápida de páginas JSP. 
11 Facilidades para la generación 
de informes en formato PDF. 
 Etiquetas JSP para la inclusión 
de listas, barras de navegación, 
fechas y calendarios en las 
páginas Web. 
 Entre otras. 
 AJAX 
En las aplicaciones Web tradicionales 
los usuarios interactúan mediante 
formularios, que 
al enviarse, realizan una petición al 
servidor Web. El servidor se comporta 
según lo enviado en el formulario y 
contesta enviando una nueva página 
Web. Se desperdicia mucho ancho de 
banda, ya que gran parte del HTML 
enviado en la segunda página Web ya 
estaba presente en la primera. 
Además, de esta manera no es posible 
crear aplicaciones con un grado de 
interacción similar al de las 
aplicaciones habituales. 
AJAX constituye una técnica de 
desarrollo Web para crear aplicaciones 
interactivas mediante la combinación 
de tres tecnologías ya existentes: 
 HTML (o XHTML) y hojas de 
estilos en cascada (CSS) para 
presentar la información. 
 Document Object Model (DOM) 
y JavaScript, para interactuar 
dinámicamente con los datos. 
 XML y XSLT, para intercambiar 
y manipular datos de manera 
desincronizada con un servidor 
Web (aunque las aplicaciones 
AJAX pueden usar otro tipo de 
tecnologías, incluyendo texto 
llano, para realizar esta labor). 
10 LENGUAJES DE 
PROGRAMACION WEB 
 
HTML, (HyperText Markup Language, 
Lenguaje de Marcas de Hipertexto), es 
el lenguaje de marcado 
predominante para la construcción de 
páginas web. Es usado para describir 
la estructura y el contenido en 
forma de texto, así como para 
complementar el texto con objetos 
tales como imágenes. HTML se escribe 
en forma de "etiquetas", rodeadas por 
corchetes angulares (<,>). HTML 
también puede describir, hasta un 
 cierto punto, la apariencia 
de un documento, y 
puede incluir un script (por 
ejemplo, Javascript), el 
cual 
puede afectar el comportamiento de 
navegadores web y otros 
procesadores de HTML. 
Un documento HTML comienza con la 
etiqueta <html>, y termina con </html>. 
Dentro del documento (entre 
las etiquetas de principio y fin de html), 
hay dos zonas bien diferenciadas: el 
encabezamiento, delimitado 
por <head> y </head>, que sirve para 
definir diversos valores válidos en todo 
el documento; y el cuerpo, 
delimitado por <body> y </body>, 
donde reside la información del 
documento. 
La estructura básica de un documento 
HTML queda de la forma siguiente: 
<html> 
<head> 
<title>” Título en la Página” Lenguajes 
Web 
ITM</title> 
</head> 
12 
 
<body> 
Texto del documento, menciones a 
gráficos, enlaces, 
etc. 
</body> 
</html> 
Características 
1. Este lenguaje se puede integrar con 
todas las diferentes tecnologías de 
desarrollo web tales 
como: ASP, PHP, JSP, etc. 
2. Es interpretado por el navegador 
web de los usuarios. 
3. Es soportado por todos los 
servidores. 
 
 
(Common Gateway Interface, Interfaz 
de entrada común) es una importante 
tecnología de la World Wide que 
permite a un cliente (explorador Web) 
solicitar datos de un programa 
ejecutado en un servidor Web. CGI 
especifica un estándar para transferir 
datos entre el cliente y el programa. Es 
un mecanismo de comunicación entre 
el servidor Web y una aplicación 
externa cuyo resultado final de la 
ejecución son objetos MIME. Las 
aplicaciones que se ejecutan en el 
servidor reciben el nombre de CGI’s. 
Estructura 
Un programa CGI puede ser escrito en 
cualquier lenguaje de programación 
que produzca un fichero 
ejecutable. Entre los lenguajes más 
habituales se encuentran: C, C++, Perl, 
Java, Visual Basic. No obstante, 
debido a que el CGI recibe los 
parámetros en forma de texto será útil 
un lenguaje que permita realizar 
manipulaciones de las cadenas de 
caracteres de una forma sencilla, como 
por ejemplo “Perl”. Perl es un lenguaje 
interpretado que permite 
manipulaciones sencillas de ficheros y 
textos, así como la extracción y 
manipulación de cadenas de 
caracteres, unidas a unas búsquedas 
rápidas y fáciles. La estructura básica 
de un script CGI es muy sencilla: 
inicialización, procesamiento y 
finalización. 
 
Durante el proceso de inicialización, 
dentro de un script CGI se realizan las 
siguientes tareas: 
 
• Determinar cómo ha sido 
invocado el script: esto implica 
consultar la variable de entorno 
REQUEST_ 
METHOD, para averiguar si la 
información al script CGI se le 
ha pasado con el método 
GET o POST. 
• Recuperar los datos de 
entrada: Si el método utilizado 
para invocar al script y pasarle 
los parámetros 
fue GET, decodifica la variable 
de entorno QUERY_STRING. 
Pero si el método utilizado ha 
sido POST se deberá tratar la 
variable de entorno 
QUERY_STRING, por si 
contiene alguna información, 
FIGURA 8 ESTRUCTURA BASICA HTML 
13 
 
y a demás tratar la entrada 
estándar (STDIN) facilitada por 
el servidor Web al programa 
CGI. 
En la figura 9 se muestra el primer paso 
de una solicitud que se formula desde 
una página web al servidor donde 
reside el CGI. Posteriormente el CGI 
solicita a la base de datos la 
información adecuada y es respondido. 
Finalmente se envían los datos, ya 
formateados para ser comprensibles, a 
la página web, donde son consultados 
por el usuario. 
 
Características 
• Es un método muy rápido cuando se 
ejecuta mucho código. 
• Emplea la menor posible cantidad de 
recursos. 
• Se puede emplear prácticamente 
cualquier lenguaje. 
 
 
ASP Active Server Pages es una 
tecnología de Microsoft del tipo "lado 
del servidor" para páginas web 
generadas dinámicamente, que ha 
sido comercializada como un anexo a 
IIS (Internet Information Services, 
Servicios de Internet). 
Estructura 
Además del código HTML habitual para 
las páginas Web, el autor de las 
páginas ASP puede escoger 
entre dos lenguajes de script para 
codificar los contenidos dinámicos. 
Estos lenguajes son VBScript y 
JScript, el primero de ellos es el más 
utilizado y tiene su origen en el 
conocido lenguaje Visual Basic. Por 
el contrario JScript se parece a 
JavaScript. 
 
<%@ LANGUAGE="VBSCRIPT" %> 
<%@ LANGUAGE="JSCRIPT" %> 
 
Inicio y Fin 
Para especificar el inicio y fin en un 
bloque. 
Ejemplo: 
<% Sentencias %> 
 
Características 
• Se ejecuta en el servidor donde 
está alojada la página web. 
• El cliente (navegador del 
usuario) no nota diferencias con 
una página normal (HTML). 
• Por medio de ASP se puede 
tener acceso a bases de datos. 
• Se puede utilizar HTML y ASP 
en una misma página. 
 
 
PHP es un lenguaje de programación 
interpretado, diseñado originalmente 
FIGURA 9 EJEMPLO DE CGI'S 
FIGURA 10 EJEMPLO DE APLICACION WEB EN ASP 
14 
 
para la creación de páginas web 
dinámicas. Es usado principalmente en 
interpretación del lado del servidor, 
pero actualmente puede ser utilizado 
desde una interfaz de línea de 
comandos o en la creación de otros 
tipos de programas 
incluyendo aplicaciones con interfaz 
gráfica usando las bibliotecas Qt o 
GTK+. PHP es un acrónimo recursivo 
que significa PHP (Hypertext Pre-
processor). 
Estructura 
Las instrucciones se separan igual que 
en C, terminando cada sentencia con 
un punto y coma. La etiqueta 
de cierre es: (?>) también implica el fin 
de la sentencia. 
En la figura 11 se muestra el resultado 
desde un navegador web que soporta 
PHP, con la siguiente sintaxis 
básica: 
<?php 
echo "Mi primer página en PHP"; 
?> 
 
 
 
 
Características 
Al ser un lenguaje libre dispone de 
una gran cantidad de características 
que lo convierten en la herramienta 
ideal para la creación de páginas web 
dinámicas: 
 
• Soporte para una gran cantidad de 
bases de datos: MySQL, PostgreSQL, 
Oracle, MS SQL Server, Informix, entre 
otros. 
• Perceptiblemente más fácil de 
mantener y poner al día que el código 
desarrollado en otros lenguajes. 
• Soportado por una gran comunidad 
de desarrolladores, como producto de 
código abierto, PHP goza de la ayuda 
de un gran grupo de programadores, 
permitiendo que los fallos de 
funcionamiento se encuentren y 
reparen rápidamente. 
• El código sepone al día 
continuamente con mejoras y 
extensiones de lenguaje para ampliar 
las capacidades de PHP. 
• Con PHP se puede hacer cualquier 
cosa que podemos realizar con un 
script, CGI, como el procesamiento de 
información en formularios, foros de 
discusión, manipulación de cookies y 
páginas dinámicas. 
 
 
(Java Server Page, Página de Servidor 
Java), se refiere a un tipo especial de 
páginas HTML, en las cuales se 
insertan pequeños programas que 
corren sobre Internet (comúnmente 
denominados scripts), se procesan en 
línea para finalmente desplegar un 
resultado final al usuario en forma de 
FIGURA 12 EJEMPLO DE APLICACIÓN WEB CON PHP 
FIGURA 11 EJEMPLO DE PHP 
15 
 
HTML. Por lo general dichos 
programas hacen consultas a bases de 
datos y dependiendo del resultado que 
se 
despliegue será la información que se 
muestre a cada usuario de manera 
individual. Los archivos de este tipo 
llevan la extensión “. jsp”. 
 
 
Estructura 
 
Ejemplo de código de una página JSP: 
 
<%@ page errorPage="myerror.jsp" 
%> 
<%@ page import="com.foo.bar" %> 
<html> 
<head> 
<%! int serverInstanceVariable = 1; %> 
... 
<% int localStackBasedVariable = 1; 
%> 
<table> 
<tr><td></td></tr> 
... 
Para ejecutar las páginas JSP, se 
necesita un servidor Web que cumpla 
con las especificaciones de JSP y de 
Servlet. Tomcat 5 es una completa 
implementación de referencia para las 
especificaciones de Java Servlet 2.2 y 
JSP 1.1. 
 
Características 
 
• Multiplataforma. 
• Robusto. 
• Seguro. 
• Es el más utilizado parte de las 
especificaciones EJB “Enterprise 
JavaBeans”. 
• Plataforma independiente. Funciona 
en la mayoría de los casos sin 
problemas. 
• Se puede desarrollar en Windows y 
sin embargo se puede desplegar en 
Linux regularmente sin 
ningún tipo de problemas. 
• Java fue diseñado con la seguridad 
en mente. Proporciona bibliotecas 
sólidas para todas sus 
necesidades en materia de seguridad. 
• Apoyo para protocolos e interfaces 
con API's, como JDBC, JNDI, JNI, Java 
IDL, etc JAXP Java 
tiene una solución para casi cualquier 
cosa que se requiera desarrollar. 
• Capacidad de carga para las clases 
de datos sobre diferentes dispositivos y 
redes. Esto constituye 
la base de EJB, RMI y de otras 
tecnologías. 
• Java permite la reflexión dinámica y 
descubrimiento e invocación de 
métodos. 
• El uso de referencias, esto evita el 
uso de punteros. 
 
 
ASP.NET es un Framework para 
aplicaciones web desarrollado y 
comercializado por Microsoft. Es usado 
por programadores para construir sitios 
web dinámicos, aplicaciones web y 
servicios web XML. Apareció en enero 
de 2002 con la versión 1.0 del .NET 
Framework, y es la tecnología 
sucesora de la tecnología Active 
Server Pages (ASP). ASP.NET está 
construido sobre el (Common
 Language Runtime, Lenguaje 
común en tiempo de ejecución) 
permitiendo a los programadores 
escribir código ASP.NET usando 
cualquier lenguaje admitido por el .NET 
Framework. 
 
El .NET Framework es un marco de 
trabajo multilenguaje, que permite al 
desarrollador crear Aplicaciones y 
16 
 
Servicios Web con las herramientas 
básicas para escribir el código.De 
forma simple, el .NET Framework está 
formado por el (Common Language 
Runtime, Lenguaje común en tiempo 
de ejecución) o CLR, la Base Class 
Library, que funciona como una gran 
librería de clases unificada, que 
contiene todas las clases que 
funcionan dentro del entorno .NET y 
finalmente la nueva versión de ASP, 
denominada ASP.NET. 
 
Estructura 
Las páginas de ASP.NET, conocidas 
oficialmente como (web forms, 
formularios web), son el principal 
medio de construcción para el 
desarrollo de aplicaciones web. Los 
formularios web están contenidos en 
archivos con una extensión ASPX, 
estos archivos típicamente contienen 
etiquetas HTML o XHTML 
estático, y también etiquetas 
definiendo Controles Web que se 
procesan del lado del servidor y 
Controles 
de Usuario donde los desarrolladores 
colocan todo el código estático y 
dinámico requerido por la página 
web. Adicionalmente, el código 
dinámico que se ejecuta en el servidor 
puede ser colocado en una página 
dentro de un bloque <% -- código 
dinámico -- %> que es muy similar a 
otras tecnologías de desarrollo 
como PHP, JSP y ASP, pero esta 
práctica es, generalmente, 
desaconsejada excepto para 
propósitos de 
enlace de datos pues requiere más 
llamadas cuando se genera la página. 
 
Formulario web de ejemplo: 
 
<%@ Page Language="C#" %> 
 
<! DOCTYPE html PUBLIC "-
//W3C//DTD XHTML 1.0 
Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xht
ml1-transitional.dtd"> 
 
<script runat="server"> 
protected void Page_Load (object 
sender, EventArgs e) 
{ 
Label1.Text=DateTime.Now. 
ToLongDateString (); 
} 
</script> 
 
 
<html 
xmlns="http://www.w3.org/1999/xhtm> 
<head runat="server"> 
<title>Página de Ejemplo</title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<asp: Label runat="server 
“id="Label1"/> 
</div> 
</form> 
</body> 
</html> 
 
El modelo Code-behind 
 
Microsoft recomienda que para realizar 
programación dinámica se use el 
modelo (code-behind, código por 
debajo, o de respaldo), que coloca el 
código en un archivo separado o en 
una etiqueta de script especialmente 
diseñada. Los nombres de los archivos 
(code-behind, código por debajo, o de 
respaldo) están basados en el nombre 
del archivo ASPX tales como 
MiPagina.aspx.cs o MiPagina.aspx.vb 
(esta práctica se realiza 
automáticamente en Microsoft Visual 
Studio y otras interfaces de desarrollo). 
17 
 
Cuando se usa este estilo de 
programación, el desarrollador escribe 
el código correspondiente a diferentes 
eventos, como la carga de la página, o 
el clic en un control, en vez de un 
recorrido lineal a través del documento. 
 
 
 
 
Características 
 
• Eficiencia. 
•Soporte de Lenguajes. 
ASP.NET soporta la 
programación en lenguajes 
potentes cómo, Visual Basic. 
Net (VB) y C#, el nuevo lenguaje 
creado por Microsoft con la 
intención de aprovechar la 
potencia del C++ y combinarlo 
con las facilidades que brinda a 
la programación en Internet un 
lenguaje como Java. 
• Contenido y Código, por 
separado. 
• Código Compilado. ASP.NET 
ya no interpreta el código como 
la hace la versión anterior de 
ASP. Dentro del entorno NGWS 
(New Generation Windows 
Services, Nueva Generación de 
Servicios de Windows) el 
código es compilado just-in-
time. 
 
 
 
El Lenguaje Extensible de Marcas, 
abreviado XML, describe una clase de 
objetos de datos llamados 
documentos XML y describe 
parcialmente el comportamiento de los 
programas de computadora que los 
procesan. XML es un "perfil de 
aplicación" o una forma restringida de 
SGML, el Lenguaje Estándar 
Generalizado de Marcación [ISO 
8879]. Por construcción, los 
documentos XML son documentos 
SGML conformados. 
SGML (Standard Generalized Markup 
Language, Lenguaje de Marcado 
Generalizado). Consiste en un 
sistema para la organización y 
etiquetado de documentos. La 
Organización Internacional de 
Estándares (ISO) normalizó este 
lenguaje en 1986. 
 
Ejemplo: 
<? xml version='1.0'?> 
<source> 
<! [CDATA [ 
for (var a=0; a<10; a++) { 
trace (¡” Hola Mundo!!”) 
} 
]]> 
</source>. 
 
Características 
• Es una arquitectura más abierta y 
extensible. No se necesita versiones 
para que puedan funcionar en futuros 
navegadores. Los identificadores 
pueden crearse de manera simple y ser 
adaptados en el acto en Internet / 
intranet por medio de un validador de 
documentos (parser, analizador). 
• Mayor consistencia, homogeneidad y 
amplitud de los identificadores 
descriptivos del documento con XML 
los RDF (Resource Description 
FrameWork, Descripción de 
Recursos), en comparación a los 
atributos de la etiqueta <META> del 
HTML. 
• Integración de los datos de las 
fuentes más dispares. Se podrá hacer 
el intercambio de documentos entre las 
18 
 
aplicaciones tanto en el propio PC 
como en una red local o extensa. 
• Datos compuestos de múltiples 
aplicaciones. La extensibilidad y 
flexibilidad de este lenguajenos 
permitirá agrupar una variedad amplia 
de aplicaciones, desde páginas web 
hasta bases de datos. 
• Gestión y manipulación de los datos 
desde el propio cliente web. 
• Los motores de búsqueda devolverán 
respuestas más adecuadas y precisas, 
ya que la codificación 
del contenido web en XML consigue 
que la estructura de la información 
resulte más accesible. 
• Se desarrollarán de manera 
extensible las búsquedas 
personalizables y subjetivas para 
robots y agentes inteligentes. También 
conllevará que los clientes web puedan 
ser más autónomos para desarrollar 
tareas que actualmente se ejecutan en 
el servidor. 
• Se permitirá un comportamiento más 
estable y actualizable de las 
aplicaciones web, incluyendo enlaces 
bidireccionales y almacenados de 
forma externa (El famoso epígrafe "404 
file not found" desaparecerá). 
• El concepto de "hipertexto" se 
desarrollará ampliamente (permitirá 
denominación independiente de la 
ubicación, enlaces bidireccionales, 
enlaces que pueden especificarse y 
gestionarse desde fuera del 
documento, hiperenlaces múltiples, 
enlaces agrupados, atributos para los 
enlaces, etc. Creado a través del 
Lenguaje de enlaces extensible (XLL). 
 
 
 
Es un framework de aplicaciones web 
de código abierto escrito en el lenguaje 
de programación Ruby, siguiendo el 
paradigma de la arquitectura “Modelo 
Vista Controlador” (MVC). Trata de 
combinar la simplicidad con la 
posibilidad de desarrollar aplicaciones 
del mundo real escribiendo menos 
código que con otros frameworks y con 
un mínimo de configuración. 
Ruby es un lenguaje de programación 
interpretado, reflexivo y orientado a 
objetos, creado por el programador 
japonés Yukihiro "Matz" Matsumoto, 
quien comenzó a trabajar en Ruby en 
1993, y lo presentó 
públicamente en 1995. Combina una 
sintaxis inspirada en Python, Perl con 
características de programación 
orientada a objetos similares a 
Smalltalk. Comparte también 
funcionalidad con otros lenguajes de 
programación como Lisp, Lua, Dylan y 
CLU. Ruby es un lenguaje de 
programación interpretado en una 
sola pasada y su implementación 
oficial es distribuida bajo una licencia 
de software libre. 
 
Características 
• Los comentarios comienzan 
por #. 
• Las sentencias no terminan en 
“;”. 
•Se pueden evitar los paréntesis 
cuando no haya ambigüedad. 
• Las variables locales 
comienzan por minúscula. 
• Las variables no se declaran 
• Las constantes empiezan por 
mayúscula. 
• La sintaxis de Ruby es similar 
a la de Perl o Python. 
• Altamente portable. 
• Amplia librería estándar. 
 
 
 
 
19 
 
 
 
 
 
 
 
La investigación está fundamentada ya que varias personas de adentraron en estos 
temas, aquí simplemente se generaliza, pero se cree que es información que a 
personas les ayudara más a algunos que a otros, por ejemplo, los colegas 
informáticos o ingenieros en informática o a cualquier otro que quiera saber sobre 
lo que comprende el tema de la web. 
 
Se tiene lo necesario o lo básico que se puede preguntar, ya que sabemos que 
existen más libros o documentos mejor complementados, pero no se deja de lado 
el documento presente ya que se cree que es competente y con información precisa. 
 
 
 
 
 
“Trabajar no es realizar yo que uno imaginaba, 
sino descubrir yo que uno tiene dentro.” 
Boris Pasternak 
 
 
 
 
 
 
 
 
 
 
 
 
X
E. I. LUIS FERNANDO RIVERA VILLANUEVA
 
 
 
 
 
 
1 
 
 
 
 
 
 
 
 
 
Blanco, I. C. (12-05-2008). Plataformas de desarrollo de. 
Boiza, V. M. (2012). ANÁLISIS Y DISEÑO DE UNA PLATAFORMA WEB PARA UN SISTEMA DE 
GESTION DE USUARIOS. Leganés. 
GADD-Grupo Meana, S.A. (2007). Plataforma De Desarrollo De Software Abierto. 
García, A. O. (s.f.). 
García, A. O. (2007). Proyecto Web. Barcelona: Eureca Media, SL. 
Lenguajes Para Aplicaciones Web. (2010). 
Mateu, C. (2004). Desarrollo De Aplicaciones Web. Barcelona: Eureca Media, SL.

Continuar navegando