You are on page 1of 30

U

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 conexion libre

En esta era los host de escritorio se conectaban a las computadorasde servicios, empleando
software de simulacion hacia las terminales.

*La era del computo a traves de redes

Esta era se basa en el concepto de redes en la que la informacion recide en una o barias
computadoras y todos los usuarios interconectados podran compartir recursos.

*La era de la arquitectura Cliente/Servidor

En esta arquitectura cada uno de los usuarios llamada cliente produce una demanda de
informacion 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 tambien llamado el Repositorio de Datos es la capa en donde se
almacena toda la informacionmingresada en el sistema y que se deposita en forma permanente.

-APLICACIONES DE 3 CAPAS

La arquitectura de 2 capas si bien ayudo en unos años atras, se vio la necesidad de crear una
nueva arqutectura, ya que en 2 capas se tenia algunos problemas en la capa de aplicacion, ya que
la principal desventaja de está era el peso que tenia el cliente.

-ARQUITECTURA DE 3 CAPAS

*Nivel de aplicacion:
La diferencia de este nivel aplicado ahora en una arquitectura de tres capas es que solo tiene que
trabajar con la semantica propia de aplicacion, sin tener que preocuparse de como esta
implementando este nivel de su estructura fisica.

*Nivel de dominion de la aplicacion:


Este nivel se encarga de toda la estructura fisica y el dominio de la aplicacion.

*Nivel de reposito:
Es la capa en donde se almacenan los datos y toda la informacion.
-Visual Basic, Capa de aplicacion.
-SQL Server, Es el repositorio de datos.
-MTS, Esel nivel de dominio de la aplicacion.
-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 (standalone 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.

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 estandar son:

 DDL (Data Definition language): 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 esquma conceptual e interno (Base de datos
Almacenada).
 SDL (Store Definition language): 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 Definition language): Lenguaje de Definición de Vistas. Es utilizado por el
DBMS para especificar las vistas del usuario y sus correspondiencias con el esquema conceptual.
En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores.
 DML (Data Manipulation language): 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.
1.4.-INSTALACION Y CONFIGURACION DE LA PLATAFORMA WEB EN
MULTIPLATAFORMA

1.4.1.-SISTEMA OPERATIVO

-Instalacion y configuracion 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 virtualizació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 via consola de la siguiente manera:
 Abrir o entrar la consola/terminal y ejecutar el comando su para tomar la identidad del
usuario root. 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)
 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 interprete 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 mas 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
 C  LADDER  Sather
 C++  Lexico  Scheme
 C#  Lingo  Scriptol
 Caml  Lisp  Seed7
 Clipper  Logo  Self
 CLIPS  Lua  Sh
 CLU  MAGIC  Simula
 COBOL  Mainsail  Smalltalk
 CORAL  Mesa  Snobol
 D  Miranda  SPARK
 Delphi  ML  Squeak
 DIV  Modula  SR
 Dylan  Modula-2  Standard ML

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
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.
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.

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 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.
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
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.

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.
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.

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
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
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.


 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
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.
 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
 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,
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


1
bitácora, ciberbitácora o ciberdiario ) 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.

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 «vínculo roto». 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
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.

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

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

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.
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
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.

You might also like