You are on page 1of 34

Instituto tecnológico de Cd.

Victoria

Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

Homero Sabdiel Yoselin Reyna Álvarez

27/08/2018
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

Tabla de contenido
1.0.-EVOLUCION DE LAS APLICACIONES WEB ..................................................................................... 3
1.2.- ARQUTECTURA CLIENTE SERVIDOR ............................................................................................ 3
1.3.- LENGUAJES DE PROGRAMACION WEB Y DBMS.......................................................................... 6
1.4.-INSTALACION Y CONFIGURACION DE LA PLATAFORMA WEB EN MULTIPLATAFORMA .............. 7
1.5.- SEGURIDAD ............................................................................................................................... 11
2.0.-ENTORNO DE PROGRAMACION ................................................................................................. 12
2.1.-ESTRUCTURA DE UN PROGRAMA WEB...................................................................................... 12
2.2.-LENGUAJES DE SCRIPTS .............................................................................................................. 12
2.3.-MANIPULACION DE FORMULARIOS HTML MEDIANTE UN LENGUAJE DE PROGRAMACION WEB
........................................................................................................................................................... 15
2.4.- ACCESO A BASE DE DATOS ........................................................................................................ 15
2.5.-SEGURIDAD EN UNA APLICACION WEB ..................................................................................... 17
3.0.-HERRAMIENTAS DE GESTION DE CONTENIDOS ........................................................................ 18
3.1.-E-BUSINESS / E-COMMERCE ...................................................................................................... 18
3.2.- E-LEARNING............................................................................................................................... 21
3.3. Herramientas colaborativas. ...................................................................................................... 26
4.-DESARROLLO CON XML ................................................................................................................. 29
4.1.-CARACTERISTICAS DEL LENGUAJE XML...................................................................................... 30
4.2.-LENGUAJES DE MARCADO GENERALIZADO ............................................................................... 30
4.3.- LENGUAJE EXTENSIBLE DE MARCADO DE HIPERTEXTO ............................................................ 31
4.4.- DEFINICIÓN DE TIPO DE DOCUMENTO ..................................................................................... 31
4.5.-XSL, CSS ..................................................................................................................................... 32
4.6.-API SIMPLE PARA XML Y MODELO EN OBJETOS PARA LA PRESENTACIÓN DE DOCUMENTOS . 33
4.7.-CREACION Y CONSUMO DE SERVICIOS WEB XML ..................................................................... 33

Página 2
Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

UNIDAD 1

"PLATAFORMA WEB"

1.0.-EVOLUCION DE LAS APLICACIONES WEB

-Pagina web

Es la unidad basica del world wide web.

-Sitio web

Conjunto de archivos electronicos y paginas web referentes a un tema en particular.

-Entorno Fisico

Es el contexto social que afecta la comunicacion de manera proactiva y efisciente.

-Entorno Logico

Atiende las acciones de tiemo, espacio,costo,etc.

1.2.- ARQUTECTURA CLIENTE SERVIDOR


Estos interactuan por un mismo mecanismo de pasaje de mensajes en donde existen:

-EVOLUCION DE LOA ARQITECTURA CLIENTE SERVIDOR

*1ra era de la capa central

Se basa en terminales remotas que conectaban directamente a una pc central. La cual se


encargaban de prestar a un grupo exclusivo de usuarios.

*La era de las computadoras dedicadas

En esta era cada servicio lo empleaba el usuario al conectarse para la utilizacion de los recursos.

*La era de la conexión libre

En esta era los host de escritorio se conectaban a las computadoras de servicios, empleando
software de simulación hacia las terminales.

Página 3
Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

*La era del cómputo a través de redes

Esta era se basa en el concepto de redes en la que la información reside en una o barias
computadoras y todos los usuarios interconectados podrán compartir recursos.

*La era de la arquitectura Cliente/Servidor

En esta arquitectura cada uno de los usuarios llamada cliente produce una demanda de
información a una PC llamada servidor.

1.2.1.-APLICACIONES DE 2,3 Y "N" CAPAS

-APLICACIONES DE 2 CAPAS

La arquitectura de dos capas en la actualidad es muy utilizada, aunque con muchas fallas, todabia
no se ha podido dejar de usar. Estas arquitecturas fueron las primeras en aprovecharse de la
estructura Cliente-Servidor.

ARQUITECTURA DE 2 CAPAS

Las capas que esta arquitectura presenta son las siguientes:

NIVEL DE APLICACION

En este nivel se encuentra toda la interfaz del sistema y es la que el usuario puede disponer para
realizar su actividad con el sistema.

NIVEL DE BASE DE DATOS

Este nivel de la base de datos también llamado el Repositorio de Datos es la capa en donde se
almacena toda la informacionm ingresada en el sistema y que se deposita en forma permanente.

Página 4
Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

APLICACIONES DE 3 CAPAS

La arquitectura de 2 capas si bien ayudo en unos años atrás, se vio la necesidad de crear una
nueva arquitectura, ya que en 2 capas se tenía algunos problemas en la capa de aplicación, ya que
la principal desventaja de está era el peso que tenía el cliente.

-ARQUITECTURA DE 3 CAPAS

*Nivel de aplicación:
La diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que
trabajar con la semántica propia de aplicación, sin tener que preocuparse de cómo está
implementando este nivel de su estructura física.

*Nivel de dominio de la aplicación:


Este nivel se encarga de toda la estructura física y el dominio de la aplicación.

*Nivel de reposito:
Es la capa en donde se almacenan los datos y toda la información.
-Visual Basic, Capa de aplicación.
-SQL Server, Es el repositorio de datos.
-MTS, Ese nivel de dominio de la aplicación.

-APLICACION DE "N" CAPAS

Podríamos ir separando nuestra aplicación en mas niveles lógicos, por ejemplo, vamos a querer
que nuestra aplicación tenga múltiples interfaces, es decir interface gráfica (sandalina o desktop) y
también interface Web.

Lo aconsejado en esta circunstancia es separar al Servidor Web encargado de alojar las páginas
Web en una capa más. En este caso se tendrían 4 capas.

Página 5
Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

1.3.- LENGUAJES DE PROGRAMACION WEB Y DBMS

En la estructura básica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que
permiten trabajar sobre la base de datos. Estos lenguajes estándar son:

DDL (Data Definición lenguaje): Lenguaje de Definición de Datos. Por medio de este el DBMS
identifica las descripciones de los elementos de los esquemas y almacena la descripción del
esquema en el catálogo del DBMS.
Por medio de este el DBMS especifica el esquema conceptual e interno (Base de datos
Almacenada).
SDL (Storey Definición lenguaje): Lenguaje de definición de almacenamiento. Es utilizado por el
DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada.
VDL (View Definición lenguaje): Lenguaje de Definición de Vistas. Es utilizado por el DBMS para
especificar las vistas del usuario y sus correspondencias con el esquema conceptual.
En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores.
DML (Data Manipulación lenguaje): Lenguaje de Manipulación de Datos. Permite la
manipulación de las operaciones de Inserción, Eliminación y Modificación.
Tipos de DML's:
De alto Nivel o No por procedimientos: SQL.
De bajo Nivel o por procedimientos.

Página 6
Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

1.4.-INSTALACION Y CONFIGURACION DE LA PLATAFORMA WEB EN


MULTIPLATAFORMA

1.4.1.-SISTEMA OPERATIVO

-Instalación y configuración del S: O Linux:

Para las pruebas con Apache, partiremos de un entorno formado por


un cliente XP con Firefox e Internet Explorer instalado, el mismo que para el caso de Windows y
un servidor Ubuntu 10.04 LTS Server. Si decidiésemos no instalar interfaz gráfico en dicho
servidor, incluso podrían reducirse algo más, aunque en este caso no lo haremos. Debido a que la
instalación de Ubuntu Server es también muy guiada y automatizada tampoco la describiremos en
esta sección, sobre todo porque para las pruebas que vamos a hacer nos vale la configuración por
defecto de dicho sistema operativo sin necesidad de instalar ningún servicio adicional a los de por
defecto cuando el programa de instalación requiera hacer esta selección.
La configuración de los interfaces de red de esta infraestructura de máquinas será una réplica de la
que hemos usado en el caso de Windows:

 Una conexión a Internet vía NAT sobre el host (máquinas Vmware y host comparten
pues la conexión a Internet). Esta primera conexión la usaremos para actualizaciones e
instalar software descargado de Internet. Su configuración de IP la dejamos por defecto (con lo que
usará el servicio DHCP proporcionado por el software de vitalización para conexiones NAT).
 Otra conexión de red entre las máquinas de manera que se forme una red local interna
entre ellas, para que ambas se vean correctamente. Nuestro ejemplo concreto usará la red virtual
de Vmware Vmnet5, con IPs 5.0.0.1 (cliente XP) y 5.0.0.3 (Ubuntu 10.04). Ambas tienen una
máscara de subred 255.255.255.0. Las IPs de la red interna son puestas como ejemplo
simplemente, pero se mantendrán durante todo el curso para referirse a las máquinas cliente y
servidor respectivamente.

Configuración de Linux

Configurar la red y el servidor web en Ubuntu LTS 10.04 es algo más complejo que en el caso
de Windows, dado que la configuración manual disponible en el escritorio (si lo instalamos)
podría no aceptar correctamente determinados parámetros. La forma más segura de hacerlo
es de forma manual vía consola de la siguiente manera:

Página 7
Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

 Abrir o entrar la consola/terminal y ejecutar el comando su para tomar la identidad del


usuario roto. Otra alternativa válida es ejecutar las siguientes órdenes con anteponiendo el
comando sudo.
 Editar el archivo /etc/network/interfaces con nano /etc/network/interfaces
 Editar dicho archivo para que quede como lo siguiente. La configuración de red que vamos
a plantear con esta infraestructura es la misma que en el caso de Windows (una red privada
interna (interfaz eth3) y una red pública que de acceso a Internet (interfaz eth2)):

# This file describes the network interfaces available on your system


# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

# The primary network interface (internet)


auto eth2
iface eth2 inet dhcp

# The secondary network interface (lan)


auto eth3
iface eth3
inet static address 5.0.0.3
netmask 255.255.255.0
network 5.0.0.0
broadcast 5.0.0.255
#gateway 5.0.0.1

 Reiniciar el sistema de red ejecutando /etc/init.d/networking restart


 Es importante no colocar un gateway a eth3 para que el sistema sólo intente usar eth2para
salir a Internet. En caso contrario, podríamos tener problemas para acceder correctamente
a Internet.
Una vez hechas todas estas operaciones, el siguiente paso a dar es actualizar el Ubuntu recién
instalado con las últimas actualizaciones disponibles, para eliminar todos los posibles problemas,
errores y agujeros de seguridad que se hayan detectado hasta la fecha. En el caso de haber
instalado interfaz gráfico al servidor es muy probable que el propio sistema nos avise de la
existencia de actualizaciones. En caso contrario (o si por alguna razón desactivamos estos avisos
automáticos), podemos actualizar el sistema mediante estos dos comandos de consola:
 sudo apt-get update (actualiza los paquetes del sistema operativo a la última versión)

Página 8
Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

 sudo apt-get upgrade (actualiza los paquetes instalados a la última versión)


1.4.2.-SERVIDOR WEB

Los servidores web son aquellos cuya tarea es alojar sitios y/o aplicaciones, las cuales son
accedidas por los clientes utilizando un navegador que se comunica con el servidor utilizando
el protocolo HTTP (hypertext markup language).
Básicamente un servidor WEB consta de un intérprete HTTP el cual se mantiene a la espera de
peticiones de clientes y le responde con el contenido según sea solicitado. El cliente, una vez
recibido el código, lo interpreta y lo exhibe en pantalla.
Además los servidores pueden disponer de un intérprete de otros lenguajes de programación que
ejecutan código embebido dentro del código HTML de las páginas que contiene el sitio antes de
enviar el resultado al cliente. Esto se conoce como programación de lado del servidor y utiliza
lenguajes como ASP, PHP, Perl y Ajax. Las ventajas de utilizar estos lenguajes radica en
la potencia de los mismos ejecutando tareas más complejas como, por ejemplo acceder a bases de
datos abstrayendo al cliente de toda la operación.

1.4.3.-LENGUAJES DE PROGRAMACION

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el


comportamiento de una máquina, particularmente una computadora. Consiste en un
conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de
sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación y
lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los
lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por
ejemplo, el HTML.

ALGUNOS LENGUAJES DE PROGRAMACIÓN:

 ABAP  FORTRAN  Parlog


 ABC  Gambas  Perl
 Ada  GML  PHP
 ActionScript  GRAFCET  PL/1
 Afnix  FP  Plankalkül
 ALGOL  Haskell  PostScript
 APL  Icon  PowerBuilder
 ASP  Inform  Prolog
 ASP.NET  INTERCAL  Python
 AWK  ISWIM  Rapid
 B  J  REXX
 BASIC  Java  RPN
 BCPL  JavaScript  RPG
 Befunge  Joy  Ruby
 Boo  KWC  Sail

Página 9
Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

 C  LADDER  Sather

1.4.4.-WEB

Web es un vocablo inglés que significa “red”, “telaraña” o “malla”. El concepto se utiliza en el
ámbito tecnológico para nombrar a una red informática y, en general, a Internet (en este caso,
suele escribirse como Web, con la W mayúscula).

El término, de todas formas, tiene varios usos. Además de nombrar a Internet en general, la
palabra web puede servir hacer mención a una página web, un sitio web o hasta un servidor
web.
Una página web es un documento que incluye un archivo HTML con texto, imágenes, videos,
animaciones Flash, etc. Al conjunto de páginas web que suelen formar parte del mismo dominio o
subdominio de Internet se lo conoce como sitio web. Dentro del sitio web, todas las páginas
guardan alguna relación entre sí y están vinculadas mediante vínculos (también conocidos como
enlaces, hipervínculos, hiperenlaces o links).

1.4.5.-DBMS

Significa "Sistema de Gestión de Base de Datos". En resumen, un DBMS es un programa de base


de datos. Técnicamente hablando, se trata de un sistema de software que utiliza un método
estándar de catalogación, recuperación y ejecutar consultas sobre datos. El DBMS gestiona los
datos de entrada, lo organiza, y proporciona formas para que los datos que
se extraen o modificados por los usuarios u otros programas.

Algunos ejemplos de DBMS incluyen MySQL, PostgreSQL, Microsoft Access, SQL Server,
FileMaker, Oracle, RDBMS, dBASE, Clipper, y FoxPro. Puesto que hay sistemas de bases
detantas gestión disponibles, es importante que exista un camino para que puedan
comunicarse entre sí. Por esta razón, la mayoría del software de base de datos viene con un Open
Database Connectivity (ODBC) que permite a la base de datos para la integración con otras bases
de datos. Por ejemplo, las sentencias SQL comunes, tales como SELECT y INSERT se

Página
10 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

traducen de la sintaxis propia de un programa en una sintaxis de otras bases de datos puedan
entender.

1.5.- SEGURIDAD
La seguridad informática, es el área de la informática que se enfoca en la protección de la
infraestructura computacional y todo lo relacionado con esta (incluyendo la información contenida).
Para ello existen una serie de estándares, protocolos, métodos, reglas, herramientas y leyes
concebidas para minimizar los posibles riesgos a la infraestructura o a la información. La seguridad
informática comprende software, bases de datos, metadatos, archivos y todo lo que la organización
valore (activo) y signifique un riesgo si ésta llega a manos de otras personas. Este tipo de
información se conoce como información privilegiada o confidencial.
El concepto de seguridad de la información no debe ser confundido con el de seguridad
informática, ya que este último sólo se encarga de la seguridad en el medio informático, pudiendo
encontrar información en diferentes medios o formas.

Página
11 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

UNIDAD 2
"ENTORNO DE PROGRAMACION"

2.0.-ENTORNO DE PROGRAMACION
Un IDE es un entorno de programación que ha sido empaquetado como un programa de
aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un
constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o
pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede
ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir
sentencias Visual Basic en forma de macros para Microsoft Word.
Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de
programación tales como C++, PHP, Python, Java, C#, Delphi, Visual Basic, etc. En
algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en
donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad
de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.

2.1.-ESTRUCTURA DE UN PROGRAMA WEB


Un documento escrito en HTML contendría básicamente las siguientes etiquetas :

<HTML> Indica el inicio del documento.


<HEAD> Inicio de la cabecera.
<TITLE> Inicio del título del documento.
</TITLE> Final del título del documento.
</HEAD> Final de la cabecera del documento.
<BODY> Inicio del cuerpo del documento.
</BODY> Final del cuerpo del documento.
</HTML> Final del documento.

2.2.-LENGUAJES DE SCRIPTS
(Scripting language, lenguaje de guión). Un lenguaje scripting es un tipo de lenguaje de
programaciónque es generalmente interpretado.
Se los programas compilados, porque los programas son convertidos de forma
permanente a un código especial antes de que puedan ejecutarse (proceso
de compilación). En cambio los scriptspermanecen en su forma original (su código
fuente en forma de texto) y son interpretados comandopor comando cada vez que se
ejecutan. De todas maneras, los scripts pueden ser compilados también, aunque no es
usual.

Página
12 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

Características de los lenguajes scripting

* Los scripts suelen escribirse más fácilmente, pero con un costo sobre su ejecución.
* Suelen implementarse con intérpretes en lugar de compiladores.
* Tienen fuerte comunicación con componentes escritos en otros lenguajes.
* Los scripts suelen ser almacenados como texto sin formato.
* Los códigos suelen ser más pequeños que el equivalente en un lenguaje de
programación compilado.

Tipos de lenguajes de scripting

Lenguaje de control de tareas y shells: cmd.exe (Windows NT, Windows CE,


OS/2), COMMAND.COM (DOS, Windows 9x), csh, AppleScript, sh, JScript vía Windows
Script Host, VBScript vía Windows Script Host, REXX, etc.

GUI Scripting: son lenguajes de scripting diseñados para interactuar con los elementos
de las interfaces gráficas como botones, ventanas, menús, etc. Se utilizan para
automatizar acciones repetitivas. También son llamados "lenguajes macro".

Ejemplos: AutoHotkey, AutoIt, Expect, Automator, etc.

Lenguaje scripting de aplicaciones específicas: en grandes aplicaciones a veces es


necesario incluir un lenguaje de scripting que se adapte a ésta y dé más posibilidades a
sus usuarios.

Ejemplos: ActionScript en Flash, MATLAB, mIRC script, QuakeC, etc.

De programación web: los lenguajes scripting para webs suelen servir para
crear páginas dinámicas. De todas maneras, muchos de ellos son tan potentes como para
poder crear programas de propósito general. Pueden diferenciarse en dos categorías:

- Del lado del servidor: PHP, ASP (Active Server Pages), JavaServer Pages, ColdFusion,
IPTSCRAE, Lasso, MIVA Script, SMX, XSLT.

- Del lado del cliente: JavaScript, JScript, VBScript, Tcl.

Lenguajes de procesamiento de textos: muchos lenguajes de scripting comenzaron de


esta manera. Permitían automatizar tareas al administrador cuando se trataba de
configuraciones basadas en textos (usual en Unix por ejemplo). En el caso de Perl,
comenzó como un lenguaje de generación de reportes, pero terminó siendo un completo
lenguaje para desarrollar aplicaciones.

Ejemplos: AWK, Perl, sed, XSLT.

Lenguajes dinámicos de propósito general: Algunos lenguajes, como Perl,


comenzaron como lenguajes de scripting para se desarrollaron como completos lenguajes

Página
13 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

de programación de propósito general. Otros lenguajes similares han sido descritos como
"lenguajes scripting" por situaciones similares, aunque luego se hayan usado más para
programar aplicaciones.

Ejemplos: APL, Boo, Dylan, Ferite, Groovy, Io, Lisp, Lua, MUMPS (M), newLISP,
Nuva, Perl, PHP, Python, Ruby, Scheme, Smalltalk, SuperCard, Tcl, Revolution.

2.2.1.-ESTRUCTURAS DE CONTROL

En lenguajes de programación, las estructuras de control permiten modificar el flujo de


ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
 De acuerdo a una condición, ejecutar un grupo u otro de sentencias (If-Then-Else
y Select-Case)
 Ejecutar un grupo de sentencias mientras exista una condición (Do-While)
 Ejecutar un grupo de sentencias hasta que exista una condición (Do-Until)
 Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
 Etc
Todas las estructuras de control tienen un único punto de entrada y un único punto de
salida. Las estructuras de control se puede clasificar en : secuenciales, iterativas y de
control avanzadas. Esto es una de las cosas que permite que la programación se rija por
los principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de control similares.
Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su
sintaxis, cada lenguaje tiene una sintaxis propia para expresar la estructura.

2.2.2.-ARREGLOS

Es un acomodo de espacios (Como en una matriz) en los cuales es una colección de un


tipo de dato, y pueden ser unidimensionales, bidimesionales o multidimensionales
Es un conjunto finito y ordenado de elementos homogéneos (del mismo tipo de datos). Es
un tipo de dato estructurado simple o estático y pueden ser vectores o tablas (matrices).
En lenguaje C, se pueden definir conjuntos de datos conocidos como arreglos. Por
ejemplo, si deseáramos guardar en un arreglo, diez valores enteros, debemos definir este
arreglo de la siguiente manera: int elem[10]; Esta expresión es la declaración del arreglo.
Donde int es el tipo de datos que almacena el arreglo, elem es el nombre del arreglo, y el
número encerrado en los corchetes es el número de valores que contiene el arreglo.

Página
14 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

2.3.-MANIPULACION DE FORMULARIOS HTML MEDIANTE UN


LENGUAJE DE PROGRAMACION WEB
1. Páginas en lenguaje HTML. HTML (HyperText Markup Language) es el lenguaje
por defecto utilizado para la construcción de paginas web y compatible con todos
los navegadores en internet. Tiene como característica principal la presentación de
gráficos y texto de forma estática.
El movimiento puede ser insertado mediante gráficos animados (gift) o con
tecnología Shockwave Flash de Macromedia. Para agregar mayor interactividad ó
dinamismo es necesario insertar programas adicionales en lenguajes como Java
,Perl, asp, php, o bien, realizar toda la construcción en Flash.
2. Páginas en Flash. Flash es una nueva tecnología desarrollada por Macromedia
que permite añadir gran cantidad de movimientos y efectos visuales a una pagina
web. Al combinar esta tecnología con el lenguaje de programación Actions Script,
se pueden desarrollar una infinidad de asombrosas aplicaciones interactivas con el
usuario, no disponibles anteriormente en la red.
Sin embargo, por razones de costos y compatibilidad en los navegadores, en cada
proyecto web existen consideraciones técnicas evaluadas por nuestros
consultores que determinan el nivel de aplicación adecuado de esta herramienta
en función de los objetivos.
3. Lenguajes de programación (Java, Php, Asp, Perl, Actions Scripts). Estos
son los lenguajes de programación reconocidos en los Navegadores (Explorer,
Netscape) y Servidores en Internet. Mediante estos lenguajes podemos programar
innumerables aplicaciones Web útiles para nuestros clientes (Ejem. Foros,
formularios, manejo base de datos, etc.).

2.4.- ACCESO A BASE DE DATOS

Cada vez mayor número de sitios web utilizan páginas creadas en Java,
ColdFussion, ASP, CGI o PHP que permiten acceder a las bases de datos
corporativas. Estos productos y lenguajes, conocidos como middleware, interrogan
a la BD, procesan su respuesta y la devuelven en formato HTML que pueda
visualizar un navegador convencional.
El acceso a través de Internet posibilita una forma rápida y cómoda de acceder a
la información almacenada en la BD con el fin de recuperarla, modificarla o
insertarla. Se despliega así todo un amplio abanico de posibilidades para el diseño
de páginas web: catálogos en línea, con información siempre actualizada sobre
productos; información sobre visitantes, que puede actualizarse dinámicamente a
medida que éstos navegan por el sitio web; generación al vuelo de páginas, en
función de selecciones o gustos del cliente, o del momento del día, o cualquier otro

Página
15 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

criterio; puede conservar el contenido de un sitio web en una BD, que se cargue
dinámicamente cuando el usuario solicita una página, de forma que separe el
diseño y formato de las páginas de su contenido; servicios en línea, como correo
web, acceso remoto a BD corporativas, noticias, guías de servicios y un largo
etcétera.
A lo largo de este curso se explicará con un sencillo ejemplo cómo diseñar
aplicaciones en ASP que accedan a bases de datos.

2.4.1.-CONEXIONES

La conexión a Internet es el mecanismo de enlace con que una computadora o red de


computadoras cuenta para conectarse a Internet, lo que les permite visualizar las páginas
web desde un navegador y acceder a otros servicios que ofrece esta red. Las empresas
que otorgan acceso a Internet reciben el nombre de proveedores(ISP).
Punto donde se realiza un enlace entre dispositivos o sistemas. También conexión hace
referencia al enlace completo.
Una conexión puede ser alambrada o inalámbrica, digital o analógica, virtual o real, etc.
Por ejemplo, el acceso a internet es un tipo de conexión.
El objetivo de una conexión es transferir datos.

2.4.2.-MANIPULACION Y PRESENTACION DE DATOS

Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje


proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la
misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el
modelo de datos adecuado. El lenguaje de manipulación de datos más popular hoy día
es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros
ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.

Clasificación del lenguaje de manipulación de datos

Son DML : Select, Insert, Delete y Update


Se clasifican en dos grandes grupos:

 lenguajes de consulta procedimentales


Lenguajes procedimentales. En este tipo de lenguaje el usuario da instrucciones al sistema para
que realice una serie de procedimientos u operaciones en la base de datos para calcular un
resultado final.

 lenguajes de consulta no procedimentales


En los lenguajes no procedimentales el usuario describe la información deseada sin un
procedimiento especifico para obtener esa información.

Página
16 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

2.5.-SEGURIDAD EN UNA APLICACION WEB

Últimamente he recibido algunos correos electrónicos preguntándome acerca de la seguridad de


las aplicaciones WEB, y como hacer para incorporar en la diseño seguridad, por eso he decidido
escribir este articulo, este articulo esta dividido en dos secciones una especifica para
desarrolladores en la que hablaremos acerca de las consideraciones de comunicación e
intercambio de información y otra para los administradores para hablar de cómo hacer el setup o
montaje inicial de dichas aplicaciones, la mayoría de los conceptos son tomados de mi experiencia
en desarrollo de aplicaciones así como su aseguramiento.

Desarrolladores
El caso del desarrollador es el caso mas complejo de los dos por eso he decidido abordarlo en
primera instancia, dada la cantidad de configuraciones que se pueden tener he decidido resumirlas
de la forma mas genérica para poder limitar los escenarios que se pueden tener en una
organización, el primer caso es el mas típico que se encuentra en muchas organizaciones que
prestan servicios a Internet (Web services o hosting) existe una conexión a Internet y los clientes
consultan la información desde su ubicación, en este caso existen múltiples alternativas de ataques
y varis opciones de defensa, miremos en orden primero las alternativas de ataque y cuales son los
riesgos que presentan para la información que se almacena en las aplicaciones:

Inyección de DNS: consiste en alterar los registros del sistema dns autorizado para entregar la
información a los clientes sobre la ubicación de una URL, en la mayoría de los casos no es una
opción difícil de realizar dado que muchos de los DNS que están implementados están
relativamente abiertos a manipulación externa por una pobre seguridad, como afecta eso a la
aplicación? Desde el punto de vista del usuario es transparente puesto que para el la aplicación
sigue disponible, sin embargo los requerimientos que se hacían en la grafica a la maquina Web
ahora se hacen a la maquina del “Intruso Web” por lo que este sistema es el que puede recolectar
toda la información de usuarios y claves, así como los datos del cliente remoto, una vez capturados
puede redirigir a los usuarios al sitio “Web” verdades y nunca el usuario ni el sitio “Web” original se
enteran de dicho fallo.

Página
17 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

UNIDAD 3

"HERRAMIENTAS DE GESTION DE CONTENIDOS"

3.0.-HERRAMIENTAS DE GESTION DE CONTENIDOS

Los servicios de información y documentación accesibles a través de internet, más concretamente


mediante servidores web, están aumentando de una forma exponencial. La lógica evolución del
web desde hace más de 10 años ha ido produciendo la sustitución de páginas y documentos
estáticos por documentos generados dinámicamente, merced a la interacción del usuario con la
lógica de procesos y flujos de trabajo definida por los creadores del servicio y a la disponibilidad de
cada vez mayores repositorios de información. Evidentemente, se ha ido pasado progresivamente
de un concepto de publicación de páginas web, bastante simple en su origen, a esquemas más
complejos y diferenciados, fundamentados en procedimientos y técnicas basados en la gestión de
información. La cada vez mayor complejidad de los servicios y de los sistemas que los soportan, ha
hecho necesaria la formulación de un corpus teórico y práctico en el que se combinen las técnicas
clásicas de gestión de información en las organizaciones con las características propias del
medioambiente digital.

3.1.-E-BUSINESS / E-COMMERCE

Día a día debemos sumar nuevas palabras a nuestro vocabulario, el e-commerce y el e-


business no son la excepción.

Pero uno de los mayores problemas que encontramos es que existen tantos términos que
terminamos no conociendo la diferencia entre ellos, y muchas veces ni su significado.

Para tratar de entender estos términos iniciare por definir cada uno de ellos intentando con esto dar
un panorama sencillo pero suficiente para entender las diferencias básicas entre el e-Business y
el e-Commerce:

Usare a lo largo de este resumen los términos e-commerce y comercio


electrónico indistintamente, así comoe-business y negocios en línea.

Página
18 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

Muchas veces se presenta confusión entre los términos e-commerce y e-business, tratándolos
como sinónimos y esto no es así. Aunque existe una relación entre ambos no podemos decir que
son los mismos términos. Veamos cuales son las definiciones para conocer mejor de lo que
estamos hablando.

Ebusiness

Es una "interacción con los socios de negocio, donde la interacción es permitida


por tecnología de información". Esto es una definición exacta, pero no nos da mucha penetración
en el eBusiness, o también se le define como un sistema de información o aplicación a la cual se le
delegan procesos de negocios.

El uso tanto de tecnología como de nuevas estrategias de negocios para realizar negocios en
línea. El negocio en línea provee un canal de ventas, marketing, e información on-line. (Negocio en
línea).

Se define al E–Business como cualquier actividad empresarial que se efectúa a través de Internet,
no sólo de compra y venta, sino también dando servicio a los clientes y/o colaborando con socios
comerciales.

Desde el punto de vista del negocio, E–Business (Negocio Electrónico) es el proceso que están
utilizando las empresas para hacer negocios usando redes (Internet). Ocurre cuando se conectan
los sistemas informáticos de una compañía a sus clientes, empleados, distribuidores
o proveedores, y todos se entrelazan a través de la Internet, Intranets o Extranet´s.

Las tres definiciones anteriores muestran que resulta difícil dar una definición completamente
apropiada para el e-Business. "Definiciones incompletas, sólo
para bienes (producción, promoción, venta y distribución de productos a través de redes
de telecomunicaciones), sólo para servicios (intercambio de información a través de transacciones
electrónicas) o sólo desde el punto de vista empresarial (uso de las tecnologías de la información
para realizar negocios entre compradores, vendedores y socios con el fin de mejorar el servicio
alcliente, reducir costos y finalmente, aumentar el valor de los accionistas) nos conducen a dar una
definición más integradora y general tal y como la siguiente:

e-business es la aplicación de las tecnologías de la información para facilitar la compraventa de


productos, servicios e información a través de redes públicas basadas en estándares
de comunicaciones. Tiene que existir en uno de los extremos de la relación comercial
un programa de ordenador y en el otro extremo o bien otro programa de ordenador, o
una persona utilizando un ordenador o una persona con los medios necesarios para acceder a
la red".

El paradigma del e-business, comprende la combinación del Internet con los sistemas de
información tradicionales de una organización (Web + Tecnología de Información) y permite
potenciar los procesos vitales de negocios que constituyen la base y esencia de una empresa. Las
aplicaciones basadas en los conceptos de e-business se caracterizan por ser interactivas, con alta

Página
19 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

intensidad de transacciones, y porque permiten un relanzamiento de los negocios hacia


nuevos mercados.

El E-business utiliza el web tanto como un medio, como un elemento de marketing para
el comercio.

La diferencia fundamental entre el web y cualquier otro medio electrónico (fax, teléfono, etc.) es
que va más allá de facilitar la comunicación pues permite la interacción entre los usuarios,
compradores y vendedores en un entorno que no es fijo, ni es físico siquiera, sino que es creado
por la confluencia de redes estándares, navegadores web, software, contenidos y personas. Por
ello, las barreras físicas de tiempo y distancia existentes entre los proveedores y sus clientes se
ven reducidas al mínimo.

Sin estas barreras, el comprador y el vendedor se enfrentan el uno con el otro directamente a
través de una conexión electrónica. No hay que desplazarse a la tienda física, no hay vendedor, no
hay que rellenar datos y no hay una cajera a la salida. En lugar de todo eso hay un sitio web. Por
tanto, e-Business representa un cambio en la forma de interactuar entre el comprador y el
vendedor.

Para el comprador, significa que los costos de buscar o cambiar de proveedor son mínimos. Para
el vendedor, el riesgo de no atraer la atención del comprador y perderlo es muy elevado. En este
nuevo entorno, la mayor parte de la responsabilidad de decidir cómo se hace una operación de
compraventa se ha traspasado de los vendedores a los compradores.

3.1.1.-AMAZON

Amazon.com, Inc. (NASDAQ: AMZN) es una compañía estadounidense de comercio


electrónico con sede en Seattle, Estado de Washington. Su lema es and you're done (Traducido al
español: «y listo»). Fue una de las primeras grandes compañías en vender bienes a través
de Internet. Amazon también posee Alexa Internet, a9.com, Shopbop, Kongregate, Internet Movie
Database (IMDb), Zappos.com y DPreview.com.

Amazon ha establecido sitios web separados para Canadá, el Reino


Unido, Alemania, Austria, Francia, China, Japón, Italia y España para poder ofrecer los productos
de esos países. En la actualidad está totalmente diversificada en diferentes líneas de productos,
ofreciendo DVD, CD de música, software, videojuegos, electrónica, ropa, muebles, comida, libros,
etc.

3.1.2.-MERCADO LIBRE

Se puede definir el mercado libre como el sistema en el que el precio de los bienes o servicios es
acordado por el consentimiento entre los vendedores y los consumidores, mediante las leyes de la
oferta y la demanda. Requiere para su implementación de la existencia de la libre competencia, lo

Página
20 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

que a su vez requiere que entre los participantes de una transacción comercial no ha ya coerción,
ni fraude, etc, o, mas en general, que todas las transacciones sean voluntarias.

Lo anterior se puede entender como una propuesta,1 2 constructo social3 4 5 o modelo


económico6 7 acerca del funcionamiento del mercado de uso general en economía, economía
política, sociología, ciencias políticas, etc. En las palabras de Ludwig von Mises:

3.1.3.-OTROS

Dokeos es un entorno de e-learning y una aplicación de administración de contenidos de cursos y


también una herramienta de colaboración. Es software libre y está bajo la licencia GNU GPL, el
desarrollo es internacional y colaborativo. También está certificado por la OSIy puede ser usado
como un sistema de gestión de contenido(CMS) para educación y educadores. Esta característica
para administrar contenidos incluye distribución de contenidos, calendario, proceso de
entrenamiento, chat en texto, audio y video, administración de pruebas y guardado de registros.
Hasta el 2007, estaba traducido en 34 idiomas (y varios están completos) y es usado (a septiembre
de 2010) por 9900 organizaciones, según reporta el mismo sitio web de la empresa, medido sin
filtrado de posibles duplicados.

3.2.- E-LEARNING

Al E-learnig, Se denomina aprendizaje electrónico (conocido también por el


anglicismo e-learning) a la educación a distancia completamente virtualizada a través de
los nuevos canales electrónicos (las nuevas redes de comunicación, en especial Internet),
utilizando para ello herramientas o aplicaciones de hipertexto (correo electrónico, páginas
web, foros de discusión,mensajería instantánea, plataformas de formación -que aúnan
varios de los anteriores ejemplos de aplicaciones-, etc.) como soporte de los procesos de
enseñanza-aprendizaje. En un concepto más relacionado con lo semipresencial, también
es llamado b-learning (blendedlearning).

El b-learning es una modalidad que combina la educación a distancia y la educación


presencial; retomando las ventajas de ambas modalidades y complementando el
aprendizaje de los aprendices.

Ventajas

Las ventajas que ofrece la formación en línea son las siguientes:

 Inmersión práctica en un entorno web 3.0.

Página
21 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

 Eliminación de barreras espaciales y temporales (desde su propia casa, en el trabajo, en


un viaje a través de dispositivos móviles, etc.). Supone una gran ventaja para empresas
distribuidas geográficamente.
 Prácticas en entornos de simulación virtual, difíciles de conseguir en formación presencial,
sin una gran inversión.
 Gestión real del conocimiento: intercambio de ideas, opiniones, prácticas, experiencias.
Enriquecimiento colectivo del proceso de aprendizaje sin límites geográficos.
 Actualización constante de los contenidos (deducción lógica del punto anterior).
 Reducción de costos (en la mayoría de los casos, a nivel metodológico y, siempre, en el
aspecto logístico).
 Permite una mayor conciliación de la vida familiar y laboral.
 Disminución del tiempo necesario.

Inconvenientes
En el caso de los "inconvenientes", se presentan algunos:

 Requiere más inversión de tiempo por parte del profesor (al menos en su parte inicial).
 Precisa unas mínimas competencias tecnológicas por parte del profesory de los
estudiantes.
 Requiere que los estudiantes tengan habilidades para el aprendizaje autónomo y
colaborativo.
 Puede disminuir la calidad de la formación si no se da una ratio adecuada profesor-alumno.
 Requiere más trabajo que la convencional.

Plataforma
Un sistema de gestión de contenidoses un programa que permite crear una estructura de
soporte para la creación y administración de contenidos por parte de los participantes
principalmente en páginas web. El entorno de hardware y software diseñado para
automatizar y gestionar el desarrollo de actividades formativas se conoce como
plataforma de teleformación o sistema de gestión de aprendizaje.

Un LMS registra usuarios, organiza catálogos de cursos, almacena datos de los usuarios
y provee informes para la gestión. Suelen incluir también herramientas de comunicación al
servicio de los participantes en los cursos. Las mejoras en usabilidad(navegación fácil e
intuitiva) yaccesibilidad(posibilidad de acceso por personas con discapacidad) permiten
salvar la brecha digital y extender las posibilidades de formación a mayor número de
personas, superando una de las mayores barreras del e-learning: la barrera tecnológica.

Actualmente existen gran mayoría de plataformas, tanto comerciales como de código


abierto. En el ámbito universitario es la WebCTla plataforma más utilizada, seguida a
bastante distancia de la plataforma Edustan ce. Se está empezando a implantar con
fuerza la plataforma de licencia libreMoodle. También se utiliza en varias universidades la
plataforma de código abierto .LRN (se lee en
inglés: dotlearn), Docebo, Blackboard y eCollege. A nivel europeo, cobra especial

Página
22 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

relevancia la plataforma de código abierto Ilias, ampliamente utilizada en Europa tanto en


instituciones educativas como en entornos de formación empresarial y Fronter,
especialmente en Reino Unidoy los países del norte.

Es una alternativa de formación que no reemplaza necesariamente a los profesores y las


clases presenciales, sino que es un espacio que desarrolla la autonomía del aprendiz.

3.2.1. -BLACKBOARD

Es un sistema de administración de cursos que permite desarrollar, administrar y entregar


materiales instruccionales en Web.

3.2.2. -MOODLE

Es un Ambiente Educativo Virtual, sistema de gestión de cursos, de distribución libre, que ayuda a
los educadores a crear comunidades de aprendizaje en línea. Este tipo de plataformas
tecnológicas también se conoce como LMS (Learning Management System).

Características:

Promueve una pedagogía constructivista social (colaboración, actividades, reflexión crítica, etc.).
Su arquitectura y herramientas son apropiadas para clases en línea, así como también para
complementar el aprendizaje presencial. Tiene una interfaz de navegador de tecnología sencilla,
ligera, y compatible.

La instalación es sencilla requiriendo una plataforma que soporte PHP y la disponibilidad de una
base de datos. Moodle tiene una capa de abstracción de bases de datos por lo que soporta los
principales sistemas gestores de bases de datos.

Se ha puesto énfasis en una seguridad sólida en toda la plataforma. Todos los formularios son
revisados, las cookies cifradas, etc. La mayoría de las áreas de introducción de texto (materiales,
mensajes de los foros, entradas de los diarios, etc.) pueden ser editadas usando el editor HTML,
tan sencillo como cualquier editor de texto.

Módulos principales en Moodle

Módulo de tareas

 Puede especificarse la fecha final de entrega de una tarea y la calificación máxima que se
le podrá asignar.
 Los estudiantes pueden subir sus tareas (en cualquier formato de archivo) al servidor. Se
registra la fecha en que se han subido.

Página
23 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

 Se permite enviar tareas fuera de tiempo, pero el profesor puede ver claramente el tiempo
de retraso.
 Para cada tarea en particular, puede evaluarse a la clase entera (calificaciones y
comentarios) en una única página con un único formulario.
 Las observaciones del profesor se adjuntan a la página de la tarea de cada estudiante y se
le envía un mensaje de notificación.
 El profesor tiene la posibilidad de permitir el reenvío de una tarea tras su calificación.
Módulo de consulta
Es como una votación. Puede usarse para votar sobre algo o para recibir una respuesta
de cada estudiante (por ejemplo, para pedir su consentimiento para algo).

 El profesor puede ver una tabla que presenta de forma intuitiva la información sobre quién
ha elegido qué.
 Se puede permitir que los estudiantes vean un gráfico actualizado de los resultados.
Módulo foro
Hay diferentes tipos de foros disponibles: exclusivos para los profesores, de noticias del
curso y abiertos a todos.

 Todos los mensajes llevan adjunta la foto del autor.


 Las discusiones pueden verse anidadas, por rama, o presentar los mensajes más antiguos
o los más nuevos primero.
 El profesor puede obligar la suscripción de todos a un foro o permitir que cada persona
elija a qué foros suscribirse de manera que se le envíe una copia de los mensajes por correo
electrónico.
 El profesor puede elegir que no se permitan respuestas en un foro (por ejemplo, para crear
un foro dedicado a anuncios).
 El profesor puede mover fácilmente los temas de discusión entre distintos foros.
Módulo diario
Los diarios constituyen información privada entre el estudiante y el profesor.

 Cada entrada en el diario puede estar motivada por una pregunta abierta.
 La clase entera puede ser evaluada en una página con un único formulario, por cada
entrada particular de diario.
 Los comentarios del profesor se adjuntan a la página de entrada del diario y se envía por
correo la notificación.
Módulo cuestionario
 Los profesores pueden definir una base de datos de preguntas que podrán ser reutilizadas
en diferentes cuestionarios.
 Las preguntas pueden ser almacenadas en categorías de fácil acceso, y estas categorías
pueden ser "publicadas" para hacerlas accesibles desde cualquier curso del sitio.
 Los cuestionarios se califican automáticamente, y pueden ser recalificados si se modifican
las preguntas.
 Los cuestionarios pueden tener un límite de tiempo a partir del cual no estarán disponibles.
 El profesor puede determinar si los cuestionarios pueden ser resueltos varias veces y si se
mostrarán o no las respuestas correctas y los comentarios

Página
24 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

 Las preguntas y las respuestas de los cuestionarios pueden ser mezcladas


(aleatoriamente) para disminuir las copias entre los alumnos.
 Las preguntas pueden crearse en HTML y con imágenes.
 Las preguntas pueden importarse desde archivos de texto externos.
 Las preguntas pueden tener diferentes métricas y tipos de captura.
Módulo recurso
 Admite la presentación de un importante número de contenido digital, Word, Powerpoint,
Excel, Flash, vídeo, sonidos, etc.
 Los archivos pueden subirse y manejarse en el servidor, o pueden ser creados sobre la
marcha usando formularios web (de texto o HTML).
 Pueden enlazarse aplicaciones web para transferir datos.
Módulo encuesta
 Se proporcionan encuestas ya preparadas (COLLES, ATTLS) y contrastadas como
instrumentos para el análisis de las clases en línea.
 Se pueden generar informes de las encuestas los cuales incluyen gráficos. Los datos
pueden descargarse con formato de hoja de cálculo Excel o como archivo de texto CSV.
 La interfaz de las encuestas impide la posibilidad de que sean respondidas sólo
parcialmente.
 A cada estudiante se le informa sobre sus resultados comparados con la media de la clase.
Módulo wiki
 El profesor puede crear este modulo para que los alumnos trabajen en grupo en un mismo
documento.
 Todos los alumnos podrán modificar el contenido incluido por el resto de compañeros.
 De este modo cada alumno puede modificar el wiki del grupo al que pertenece, pero podrá
consultar todos los wikis.

Ventajas
Se recomienda visitar este enlace para una información más completa acerca de
las ventajas y desventajas de moodle.Una de las características más atractivas de
Moodle, que también aparece en otros gestores de contenido educativo, es la posibilidad
de que los alumnos participen en la creación de glosarios, y en todas las lecciones se
generan automáticamente enlaces a las palabras incluidas en estos.

Además, las Universidades podrán poner su Moodle local y así poder crear sus
plataformas para cursos específicos en la misma universidad y dando la dirección
respecto a Moodle, se moverá en su mismo idioma y podrán abrirse los cursos a los
alumnos que se encuentren en cualquier parte del planeta: http://moodle.org/.

Desventajas

Algunas actividades pueden ser un poco mecánicas, dependiendo mucho del diseño
instruccional. Por estar basado en tecnología PHP, la configuración de un servidor con
muchos usuarios debe ser cuidadosa para obtener el mejor desempeño. Falta mejorar su
interfaz de una manera más sencilla. Hay desventajas asociadas a la seguridad,

Página
25 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

dependiendo en dónde se esté alojando la instalación de Moodle y cuáles sean las


políticas de seguridad y la infraestructura tecnológica con la cual se cuente durante la
instalación.

3.2.3. Otros.

Dokeos es un entorno de e-learning y una aplicación de administración de contenidos de cursos y


también una herramienta de colaboración. Es software libre y está bajo la licencia GNU GPL, el
desarrollo es internacional y colaborativo. También está certificado por la OSIy puede ser usado
como un sistema de gestión de contenido(CMS) para educación y educadores. Esta característica
para administrar contenidos incluye distribución de contenidos, calendario, proceso de
entrenamiento, chat en texto, audio y video, administración de pruebas y guardado de registros.
Hasta el 2007, estaba traducido en 34 idiomas (y varios están completos) y es usado (a septiembre
de 2010) por 9900 organizaciones, según reporta el mismo sitio web de la empresa, medido sin
filtrado de posibles duplicados.

3.3. Herramientas colaborativas.

3.3.1.Blogs.

Un blog(en español, sin comillas ni cursiva,1 también bitácora, cuaderno de


bitácora, ciberbitácora o ciberdiario1) es un sitio web periódicamente actualizado que recopila
cronológicamente textos o artículosde uno o varios autores, apareciendo primero el más reciente,
donde el autorconserva siempre la libertad de dejar publicado lo que crea pertinente.

El nombre bitácora está basado en los cuadernos de bitácora, cuadernos de viaje que se utilizaban
en los barcos para relatar el desarrollo del viaje y que se guardaban en la bitácora. Aunque el
nombre se ha popularizado en los últimos años a raíz de su utilización en diferentes ámbitos, el
cuaderno de trabajo o bitácora ha sido utilizado desde siempre.

3.3.2. Foros.

Foro en Internet es una aplicación web que da soporte a discusiones u opiniones en línea,
permitiendo al usuario poder expresar su idea o comentario respecto al tema tratado.

Página
26 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

Son muchos los soportes disponibles para crear un foro en Internet. Por lo general están
desarrollados en PHP, Perl, ASP.NET o Java y funcionan con CGI ó Java. Los datos y la
configuración se guardan, generalmente en una base de datosSQL o una serie de archivos de
texto. Cada versión provee funciones o capacidades diferentes: los más básicos se limitan a los
mensajes sólo con texto, los más avanzados facilitan la inclusión de multimedia, formato del
texto, HTML y BBCode. A veces el soporte de los foros viene integrado con weblogs o algún otro
sistema de administración de contenido. Algunos sistemas de foros
son: phpBB, vBulletin, Invisionpowerboard, MyBB, SMF, YaBB, Ikonboard, JavaBB y otros.
Algunos CMS (del inglés contentmanagementsystem, sistema de administración de contenido )
como WordPress, Drupal y Joomlaincluyen sus propios foros o integran foros de otros sistemas,
en Joomla se destaca Kunena por ejemplo.

3.3.3. Wikis.

wikio una wiki (del hawaianowiki, 'rápido')1es un sitio web cuyas páginas pueden ser editadas por
múltiples voluntarios a través del navegador web. Los usuariospueden crear, modificar o borrar un
mismo texto que comparten. Los textos o «páginas wiki» tienen títulos únicos. Si se escribe el título
de una «página wiki» en algún lugar del wiki entre dobles corchetes([[...]]), esta palabra se
convierte en un «enlace web» a la página wiki.

En una página sobre «alpinismo», por ejemplo, puede haber una palabra como «piolet» o «brújula»
que esté marcada como palabra perteneciente a un título de página wiki. La mayor parte de las
implementaciones de wikis indican en el URL de la página el propio título de la página wiki
(en Wikipedia ocurre así: http://es.wikipedia.org/wiki/Alpinismo), facilitando el uso y
comprensibilidad del link fuera del propio sitio web. Además, esto permite formar en muchas
ocasiones una coherencia terminológica, generando una ordenación naturaldel contenido.

La aplicación de mayor peso y a la que le debe su mayor fama hasta el momento ha sido la
creación de enciclopedias colectivas, género al que pertenece la Wikipedia. Existen muchas otras
aplicaciones más cercanas a la coordinación de informaciones y acciones, o la puesta en común
de conocimientos o textos dentro de grupos.

La mayor parte de los wikis actuales conservan un historial de cambios que permite recuperar
fácilmente cualquier estado anterior y ver qué usuario hizo cada cambio, lo cual facilita
enormemente el mantenimiento conjunto y el control de usuarios nocivos. Habitualmente, sin
necesidad de una revisión previa, se actualiza el contenido que muestra la página wiki editada.

3.3.4. OTROS

Las nuevas páginas se crean simplemente creando un vínculo apropiado. Si el vínculo no existe,
se acostumbra a destacar como. Siguiendo el vínculo se abre una página de edición, que permite
al usuario introducir el texto para la nueva página wiki. Este mecanismo asegura que casi no se
generen páginas huérfanas (es decir, páginas que no tienen ningún vínculo apuntando a ellas).
Además se mantiene un nivel alto de conectividad

Página
27 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

3.4 Gestión de portales


Las herramientas de gestión de portales son plataformas que permiten la creación y administración
de portales web. Bajo estos sistemas se pueden integrar aplicaciones y fuentes de información
existentes en la organización (aplicaciones de gestión, gestores documentales, etc). Su objetivo
principal es la construcción de portales de forma rápida, eficaz y sencilla.

3.4.1 Joomla
Es un Sistema de Gestión de Contenidos (CMS) premiado mundialmente, que le ayuda a construir
sitios web y otras aplicaciones online potentes. Lo mejor de todo, es que Joomla es una solución
de código abierto y está disponible libremente para cualquiera que desee utilizarlo.

Joomla se utiliza en todo el mundo para generar desde una simple página web personal hasta
complejas aplicaciones web corporativas. Joomla se puede usar para gestionar fácilmente
cualquiera de los aspectos de un sitio web, desde la introducción de contenidos e imágenes hasta
la actualización de un catálogo de productos o la realización de reservas online.

3.4.2 OpenPHPNuke
Es un sistema Open Source Web Content Management (WCMS), que le ayudará en la creación,
administración y mantenimiento de contenidos para intranet. Con OPN puede crear su página web,
un portal web, y varias otras ideas para el internet. Nuestro sitio web esta es la plataforma de
encuentro de nuestra comunidad OPN activo en el que compartimos un montón y un montón de
información y apoyo acerca de OPN. Usted está cordialmente invitado a navegar alrededor, sin
embargo, algunas zonas sólo son accesibles por los usuarios registrados.

3.4.3 ATutor
Es un Sistema de Administración de Aprendizaje ó LMS (en inglés Learning Management
Systems), que consiste en una aplicación de software basada en tecnologías web que se utiliza
para planear, implementar y evaluar un proceso de aprendizaje específico. Por lo general, los LMS
permiten a los instructores (profesores) crear cursos y proveer, a los estudiantes, diferente tipo de
contenido que puede ser manipulado en la web.

Página
28 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

UNIDAD 4

"DESARROLLO CON XML"

4.-DESARROLLO CON XML


XML es una tecnología en realidad muy sencilla que tiene a su alrededor otras tecnologías que la
complementan y la hacen mucho más grande y con unas posibilidades enormes y básicas para la
sociedad de la información. Vamos a ver a lo largo de varios capítulos una introducción al mundo
XML, es decir, al lenguaje así como a las tecnologías que trabajan con él, sus usos, ventajas y modos
de llevar a cabo las tareas.

XML, con todas las tecnologías relacionadas, representa una manera distinta de hacer las cosas, más
avanzada, cuya principal novedad consiste en permitir compartir los datos con los que se trabaja a
todos los niveles, por todas las aplicaciones y soportes. Así pues, el XML juega un papel
importantísimo en este mundo actual, que tiende a la globalización y la compatibilidad entre los
sistemas, ya que es la tecnología que permitirá compartir la información de una manera segura,
fiable, fácil. Además, XML permite al programador y los soportes dedicar sus esfuerzos a las tareas
importantes cuando trabaja con los datos, ya que algunas tareas tediosas como la validación de
estos o el recorrido de las estructuras corre a cargo del lenguaje y está especificado por el estándar,
de modo que el programador no tiene que preocuparse por ello.

Página
29 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

4.1.-CARACTERISTICAS DEL LENGUAJE XML


Varias son las características que ofrece XML:

 Aunque hoy día XML aún no está tan extendido como HTML, su uso futuro en la Web
mejorará la eficiencia de las búsquedas, al proporcionar cada documento XML metadatos sobre sí
mismo.

 Permite proporcionar diferentes vistas sobre los datos (HTML, PDF, voz, etc.), dependiendo
de quién sea el cliente.

 Facilita la integración desde fuentes de datos heterogéneas, por ejemplo, páginas Web,
distintas bases de datos, ...

 Los documentos tienen una estructura que los hace legibles e inteligibles no sólo para los
ordenadores, si no también para los humanos.

 Las aplicaciones de XML son fácilmente extensibles mediante definiciones de nuevos tipos
de documento (DTD).

4.2.-LENGUAJES DE MARCADO GENERALIZADO


Generalized Markup Language (GML) ( Lenguaje de marcado generalizado en español) es un
conjunto de macros que aplican la base de las etiquetas de marcas para el SCRIPT un formateador

de texto de la IBM, "SCRIPT". SCRIPT es el componente principal de IBM Document Composition

Facility (DCF). Un conjunto de etiquetas de arranque en GML se proporciona en el producto DCF.

GML simplifica la descripción de un documento en términos de su formato, estructura de

organización, piezas contentas y su relación, y otras características. El margen de beneficio de GML


(o las etiquetas) describe las piezas tales como los capítulos, las secciones importantes, y las

secciones menos importantes (especificando niveles del título), párrafos, listas, tablas, y así

sucesivamente.

GML libera a creador del documento de preocupaciones específicas del formato del documento
tales como especificación de la fuente, línea espaciamiento, y disposición de página requerida por
Script. Usando GML, un documento está marcado para arriba con las etiquetas que definen cuáles es
el texto, en términos de párrafos, los jefes, listas, tablas, y así sucesivamente. El documento se puede

Página
30 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

entonces ajustar a formato automáticamente para los varios dispositivos simplemente especificando

un perfil para el dispositivo.

4.3.- LENGUAJE EXTENSIBLE DE MARCADO DE HIPERTEXTO


XHTML, Siglas del inglés eXtensible HyperText Markup Language. XHTML es básicamente HTML

expresado como XML válido. Es más estricto a nivel técnico, pero esto permite que posteriormente
sea más fácil al hacer cambios o buscar errores entre otros. En su versión 1.0, XHTML es solamente la

versión XML de HTML, por lo que tiene, básicamente, las mismas funcionalidades, pero cumple las

especificaciones, más estrictas, de XML. Su objetivo es avanzar en el proyecto delWorld Wide Web
Consortium de lograr una web semántica, donde la información, y la forma de presentarla estén
claramente separadas. La versión 1.1 es similar, pero parte a la especificación en módulos. En

sucesivas versiones la W3C planea romper con los tags clásicos traídos de HTML.

Ventajas respecto del HTML

Las principales ventajas del XHTML sobre el HTML son:

 Se pueden incorporar elementos de distintos espacios de


nombres XML (como MathML yScalable Vector Graphics).

 Un navegador no necesita implementar heurísticas para detectar qué quiso poner el autor,
por lo que el parser puede ser mucho más sencillo.

 Como es XML se pueden utilizar fácilmente herramientas creadas para procesamiento de


documentos XL genéricos (editores, XSLT, etc.).

4.4.- DEFINICIÓN DE TIPO DE DOCUMENTO


Una definición de tipo de documento o DTD (siglas en inglés de document type definition) es una
descripción de estructura y sintaxis de un documento XML o SGML. Su función básica es la
descripción de la estructura de datos, para usar una estructura común y mantener la consistencia

entre todos los documentos que utilicen la misma DTD. De esta forma, dichos documentos pueden
ser validados, conocen la estructura de los elementos y la descripción de los datos que trae consigo

Página
31 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

cada documento, y pueden además compartir la misma descripción y forma de validación dentro de

un grupo de trabajo que usa el mismo tipo de información.

4.5.-XSL, CSS
XSL: Es para XML lo que CSS es para HTML. Es un acrónimo en inglés de EXtensible Stylesheet

Language (Lenguaje de hojas de estilo ampliable). Es un lenguaje diseñado para presentar datos

XML en un formato legible. XSL consta realmente de dos partes:

 XSLT: un lenguaje para transformar documentos XML

 XPath: un lenguaje para navegar en documentos XML

XSLT significa Transformaciones XSL y es la parte más importante de XSL.


XSLT transforma un documento XML en otro documento XML, en una salida XHTML o en texto

sencillo. Esto se suele hacer transformando cada elemento XML en un elemento HTML. El uso de XSL
es imprescindible, ya que las etiquetas XML han sido definidas por el usuario y, por tanto, los

navegadores no saben cómo interpretarlas o representarlas. Su significado se ha diseñado para ser


entendido por las personas, no por las máquinas.

XSLT también puede realizar las siguientes operaciones en un árbol XML:

 añadir y eliminar elementos

 añadir y eliminar atributos

 reorganizar y ordenar elementos

 ocultar o mostrar determinados elementos

 encontrar o seleccionar elementos específicos

CSS: El nombre hojas de estilo en cascada viene del inglés Cascading Style Sheets, del que toma sus

siglas. CSS es un lenguaje usado para definir la presentación de un documento estructurado escrito
en HTML o XML[2] (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el
encargado de formular la especificación de las hojas de estilo que servirán de estándar para

los agentes de usuario o navegadores.

Página
32 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de

su presentación.

La información de estilo puede ser adjuntada como un documento separado o en el mismo

documento HTML. En este último caso podrían definirse estilos generales en la cabecera del

documento o en cada etiqueta particular mediante el atributo "<style>".

4.6.-API SIMPLE PARA XML Y MODELO EN OBJETOS PARA LA


PRESENTACIÓN DE DOCUMENTOS
Una interfaz de programación de aplicaciones (API) es una especificación destinado a ser utilizado

como una interfaz de componentes de software para comunicarse entre sí. Una API puede incluir
especificaciones para las rutinas, estructuras de datos, clases de objetos y variables. Una
especificación de API puede tomar muchas formas, incluyendo una norma internacional como la

documentación de POSIX o el vendedor como el API de Microsoft Windows, o las bibliotecas de un

lenguaje de programación, por ejemplo, Biblioteca de plantillas estándar en C + + o Java API. Una

API difiere de una interfaz de aplicación binaria (ABI) en la que el primero es de código abierto
basado mientras que el segundo es una interfaz binaria. Por ejemplo, es una API POSIX, mientras

que la base estándar de Linux es un ABI.

4.7.-CREACION Y CONSUMO DE SERVICIOS WEB XML


Los servicios Web XML son un conjunto de aplicaciones o de tecnologías con capacidad para
interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo

de ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos remotos y los
usuarios solicitan un servicio llamando a estos procedimientos a través de la Web, por lo que estos

servicios deben estar alojados en un servidor Web. Los servicios Web XML permiten el manejo
distribuido de componentes, estos permiten tomar ventaja de la infraestructura de Internet para la
distribución de funcionalidad y paquetes de datos. Las principales características de los servicios Web
XML son: Están basados en protocolos estándar para la Web. Los servicios Web XML realizan las
peticiones y proporcionan las respuestas utilizando protocolos estándar de la Web, como los son
HTTP (Hyper Text Transfer Protocol), XML (Extensible Markup Language), y SOAP (Simple Object

Página
33 Homero sabdiel yoselin reyna alvarez
Desarrollo de aplicaciones web

Maestro: Arguelles Granados Francisco

Access Protocol), toda plataforma que maneje dichos protocolos, podrá aprovechar la funcionalidad

de los servicios Web XML. Comunicación de aplicación a aplicación basada en Internet.

Trabajos citados
AGUIRRE, R. G. (12 de 6 de 2012). richorde. Recuperado el 25 de 8 de 2018, de richorde:
http://richorde.blogspot.com/2012/06/unidad-4-desarrollo-con-xml.html

AGUIRRE, R. G. (15 de 5 de 2012). richorde. Recuperado el 25 de 8 de 2018, de richorde:


http://richorde.blogspot.com/2012/05/unidad-2-entorno-de-programacion.html

Ávila, J. (15 de 9 de 1017). prezi.com. Recuperado el 25 de 8 de 2018, de prezi.com:


https://prezi.com/l3qhwifepndj/34-gestion-de-portales/

RICARDO, G. A. (30 de 5 de 2011). blogspot. Recuperado el 25 de 8 de 2018, de blogspot:


http://richorde.blogspot.com/2012/05/unidad-3-herramientas-de-gestion-de.html

Página
34 Homero sabdiel yoselin reyna alvarez

You might also like