Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Unidad
Temas
1
Introduccin a las
tecnologas Web.
Subtemas
1.1
1.2
1.2.2 URLs.
1.2.3 Mtodos http.
1.3
Persistencia en http
Cookies.
Introduccin al HTML.
Lenguaje de despliegue del
web
1.3.4 Formularios.
1.4
1.5
Desarrollo de
aplicaciones Web
El protocolo HTTP
El Protocolo de Transferencia de HiperTexto (Hypertext Transfer
Protocol) es un sencillo protocolo cliente-servidor que articula los
intercambios de informacin entre los clientes Web y los servidores
HTTP. La especificacin completa del protocolo HTTP 1/0 est recogida
en el RFC 1945. Fue propuesto por Tim Berners-Lee, atendiendo a las
necesidades de un sistema global de distribucin de informacin
como el World Wide Web.
Desde el punto de vista de las comunicaciones, est soportado sobre
los servicios de conexin TCP/IP, y funciona de la misma forma que el
resto de los servicios comunes de los entornos UNIX: un proceso
servidor escucha en un puerto de comunicaciones TCP (por defecto, el
80), y espera las solicitudes de conexin de los clientes Web. Una vez
que se establece la conexin, el protocolo TCP se encarga de
mantener la comunicacin y garantizar un intercambio de datos libre
de errores.
HTTP se basa en sencillas operaciones de solicitud/respuesta. Un
cliente establece una conexin con un servidor y enva un mensaje
con los datos de la solicitud. El servidor responde con un mensaje
similar, que contiene el estado de la operacin y su posible resultado.
Todas las operaciones pueden adjuntar un objeto o recurso sobre el
que actan; cada objeto Web (documento HTML, fichero multimedia o
aplicacin CGI) es conocido por su URL.
NOTA
Los recursos u objetos que actan como entrada o salida de un
comando HTTP estn clasificados por su descripcin MIME. De esta
forma, el protocolo puede intercambiar cualquier tipo de dato, sin
preocuparse de su contenido. La transferencia se realiza en modo
binario, byte a byte, y la identificacin MIME permitir que el receptor
trate adecuadamente los datos.
Las principales caractersticas del protocolo HTTP son:
Toda la comunicacin entre los clientes y servidores se realiza a
partir de caracteres de 8 bits. De esta forma, se puede transmitir
cualquier tipo de documento: texto, binario, etc., respetando su
formato original.
Permite la transferencia de objetos multimedia. El contenido de
cada objeto intercambiado est identificado por su clasificacin
MIME.
Existen tres verbos bsicos (hay ms, pero por lo general no se
utilizan) que un cliente puede utilizar para dialogar con el servidor:
GET, para recoger un objeto, POST, para enviar informacin al
servidor y HEAD, para solicitar las caractersticas de un objeto (por
ejemplo, la fecha de modificacin de un documento HTML).
Cada operacin HTTP implica una conexin con el servidor, que es
liberada al trmino de la misma. Es decir, en una operacin se
puede recoger un nico objeto.
No mantiene estado. Cada peticin de un cliente a un servidor no es
influida por las transacciones anteriores. El servidor trata cada
peticin como una operacin totalmente independiente del resto.
Cada objeto al que se aplican los verbos del protocolo est
identificado a travs de la informacin de situacin del final de la
URL.
NOTA
HTTP se dise especficamente para el World Wide Web: es un
protocolo rpido y sencillo que permite la transferencia de mltiples
tipos de informacin de forma eficiente y rpida. Se puede comparar,
por ejemplo, con FTP, que es tambin un protocolo de transferencia
de ficheros, pero tiene un conjunto muy amplio de comandos, y no se
integra demasiado bien en las transferencias multimedia.
NOTA
En la actualidad se ha mejorado este procedimiento, permitiendo que
una misma conexin se mantenga activa durante un cierto periodo de
tiempo, de forma que sea utilizada en sucesivas transacciones. Este
mecanismo, denominado HTTP Keep Alive, es empleado por la
mayora de los clientes y servidores modernos. Esta mejora es
imprescindible en una Internet saturada, en la que el establecimiento
de cada nueva conexin es un proceso lento y costoso.
Veamos el proceso completo con un ejemplo:
1. Desde un cliente se solicita la URL
http://www.unican.es/invest/default.html
2. Se abre una conexin TCP/IP con el puerto 80 del sistema
www.unican.es.
3. El cliente realiza la solicitud, enviando algo similar a esto:
5. Se cierra la conexin.
Mensaje de
respuesta
Comando HTTP +
parmetros
Resultado de la solicitud
Cabeceras de la respuesta
Cabeceras del
requerimiento
(lnea en blanco)
(lnea en blanco)
Informacin opcional
Informacin opcional
Objeto sobre el
que se aplica
Las cabeceras
Son un conjunto de variables que se incluyen en los mensajes HTTP,
para modificar su comportamiento o incluir informacin de inters. En
funcin de su nombre, pueden aparecer en los requerimientos de un
Cdigo numrico de
estado (tres dgitos)
NOTA
Dependiendo del servidor, es posible que se proporcione un mensaje
de error ms elaborado, en forma de documento HTML, en el que se
explican las causas del error y su posible solucin.
Existen cinco categoras de mensajes de estado, organizadas por el
primer dgito del cdigo numrico de la respuesta:
1xx : mensajes informativos. Por ahora (en HTTP/1.0) no se
utilizan, y estn reservados para un futuro uso.
2xx : mensajes asociados con operaciones realizadas
correctamente.
3xx : mensajes de redireccin, que informan de operaciones
complementarias que se deben realizar para finalizar la operacin.
4xx : errores del cliente; el requerimiento contiene algn error, o no
puede ser realizado.
5xx : errores del servidor, que no ha podido llevar a cabo una
solicitud.
Los ms comunes se recogen en la siguiente tabla:
Cdigo
Comentario
Descripcin
200
OK
201
Created
202
Accepted
204
No Content
301
Moved
Permanently
302
Moved
Temporarily
304
Not Modified
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
500
Internal Server
Error
501
Not
Implemented
502
Bad Gateway
503
Service
Unavailable
NOTA
Las versiones de Netscape Navigator anteriores a la 2.02 tienen fallos
en su gestin de cach, que hace que se muestre una copia antigua
de un documento almacenada en un cach, a pesar de que el
documento original haya cambiado y se solicite la nueva versin a
travs de un RELOAD.
Un sistema parecido, pero con ms funciones es el denominado
"servidor proxy". Este tipo de servidor, una mezcla entre servidor
HTTP y cliente Web, realiza las funciones de cache de pginas para un
gran nmero de clientes. Todos los clientes conectados a un proxy
dejan que ste sea el encargado de recoger las URLs solicitadas. De
Magic Cookies
Las galletas mgicas son una de las incorporaciones ms recientes al
protocolo HTTP, y son parte del nuevo estndar HTTP/1.1. Las cookies
son pequeos ficheros de texto que se intercambian los clientes y
servidores HTPP, para solucionar una de las principales deficiencias
del protocolo: la falta de informacin de estado entre dos
transacciones. Fueron introducidas por Netscape, y ahora han sido
estandarizadas en el RFC 2109.
Cada intercambio de informacin con un servidor es completamente
independiente del resto, por lo que las aplicaciones CGI que necesitan
recordar operaciones previas de un usuario (por ejemplo, los
supermercados electrnicos) pueden optar por dos soluciones, que
complican bastante su diseo: almacenar temporalmente en el
sistema del servidor un registro de las operaciones realizadas, con
una determinada poltica para eliminarlas cuando no son necesarias,
o bien incluir esta informacin en el cdigo HTML devuelto al cliente,
como campos HIDDEN de un formulario.
Las cookies son una solucin ms flexible a este problema. La
primera vez que un usuario accede a un determinado documento de
un servidor, ste proporciona una cookie que contiene datos que
relacionarn posteriores operaciones. El cliente almacena la cookie en
su sistema para usarla despus. En los futuros accesos a este
EGSOFT_ID
191.46.211.13-655193640.29148285
www.rollingstone.com/
0
2867435528
30124157
4206779936
291478284
NOTA
Para utilizar las cookies, es necesario que los clientes estn
preparados para recogerlas y almacenarlas. Netscape Navigator e
Internet Explorer disponen ya de esta capacidad. Sin embargo, los
servidores no necesitan capacidades especiales, ya que son las
aplicaciones CGI las encargadas de su gestin.
Por defecto, los clientes Web reciben y envan cookies sin solicitar
confirmacin al usuario, pero es posible recibir avisos de la recepcin
de cookies, para rechazarlas en caso de no ser de nuestro agrado.
Por qu rechazar las cookies?. Bueno, se pueden utilizar para seguir
una pista del tipo de informacin que buscamos en Internet, y ofrecer
informacin comercial en funcin de ello. Sin embargo, algunos
servicios Web como tiendas on-line dependen de ellas para operar
correctamente.
Las cookies tienen un tiempo de vida, que hace que sean descartadas
pasado un cierto tiempo de actividad. Algunas expiran al salir del
cliente Web, pero otras cookies tienen una duracin mayor, por lo que
el cliente Web las almacena en un fichero. Netscape utiliza el fichero
cookies.txt de su directorio de instalacin, mientras que Microsoft
almacena cada uno en un fichero independiente del cach de pginas.
Las cookies son imprescindibles para operar con determinados
servidores de acceso restringido, en los cuales es preciso seguir un
proceso de registro, y posiblemente abonar algn tipo de tasa.
Cuando se pierde una de esas cookies, por una reinstalacin, fallo del
ordenador o limpieza del cach de pginas, en algunos casos puede
ser posible regenerarla siguiendo un nuevo proceso de registro en el
servidor que la proporcion, de forma que se relacione algn tipo de
informacin personal o clave de acceso proporcionado en la primera
visita al servidor.
de cookies.
Expires= Fecha de expiracin de la informacin. Si no se incluye,
los datos son descartados al finalizar la sesin con el cliente Web.
En caso contrario se almacenar en el disco del cliente. El RFC 2109
ha cambiado esta variable por Max-Age, una duracin relativa en
segundos.
Un servidor HTTP enva los diferentes campos de una cookie con la
nueva cabecera HTTP Set-Cookie:
NOTA
Se puede encontrar ms informacin sobre cookies y otros temas
relacionados en http://www.w3.org/pub/WWW/Protocols/ y
http://www.cookiecentral.com/
http://cdec.unican.es/libro/HTTP.htm
Introduccin
El protocolo de transferencia de hipertexto (HyperText Transfer Protocol) es un
protocolo del nivel de aplicacin usado para la transferencia de informacin entre
sistemas, de forma clara y rpida. Este protocolo ha sido usado por el World-Wide Web
desde 1990.
Este protocolo permite usar una serie de mtodos para indicar la finalidad de la peticin.
Se basa en otros conceptos y estndares como Uniform Resource Identifier (URI),
Uniform Resource Location (URL) y Uniform Resource Name (URN), para indicar el
recurso al que hace referencia la peticin. Los mensajes se pasan con un formato similar
al usado por el Internet Mail y el Multipurpose Internet Mail Extensions (MIME).
Sintaxis de la peticin
El esquema ``http'' se usa para localizar recursos en la red por medio del protocolo http.
Si no se indica un nmero de puerto, por defecto se supone que se accede al puerto 80.
Si no se indica un path, entonces se supone que este es ``/''.
Mensaje HTTP
Un mensaje http consiste en una peticin de un cliente al servidor y en la respuesta del
servidor al cliente.
Las peticiones y respuestas pueden ser simples o completas. La diferencia es que en las
peticiones y respuestas completas se envan cabeceras y un contenido. Este contenido se
pone despus de las cabeceras dejando una lnea vaca entre las cabeceras y el
contenido. En el caso de peticiones simples, slo se puede usar el mtodo GET y no hay
contenido. Si se trata de una respuesta simple, entonces sta slo consta de contenido.
Esta diferenciacin entre simples y completas se tiene para que el protocolo HTTP/1.0
pueda atender peticiones y enviar respuestas del protocolo HTTP/0.9.
Peticin
Una peticin de un cliente a un servidor ha de incluir el mtodo que se aplica al recurso,
el identificador del recurso y la versin del protocolo que usa para realizar la peticin.
Donde SP es un espacio, URI es la URI del recurso al que hace referencia la peticin y
CRLF es un retorno de carro y nueva lnea.
En el caso del protocolo HTTP/0.9 slo se permite el mtodo GET, con el protocolo
HTTP/1.0 GET, POST y HEAD y con el protocolo HTTP/1.1 OPTIONS, GET, HEAD,
POST, PUT, DELETE y TRACE. En caso de que un servidor tenga implementado un
mtodo, pero no est permitido para el recurso que se pide, entonces ha de devolver un
cdigo de estado 405 (mtodo no permitido). Si lo que ocurre es que no tiene
implementado el mtodo, entonces devuelve un cdigo 501 (no implementado). Los
nicos mtodos que deben soportar los servidores de forma obligatoria son los mtodos
GET y HEAD.
En el apartado de cabeceras, stas pueden ser de tres tipos: cabeceras generales (punto
A.3.4), de peticin (punto A.3.5) y de entidad (punto A.3.7). Las cabeceras generales
son las que se aplican tanto a peticiones como a respuestas, pero no al contenido que se
transmite. Las cabeceras de peticin permiten al cliente pasar informacin al servidor
sobre la peticin y sobre el cliente. Las cabeceras de entidad permiten definir
informacin adicional sobre el contenido que se transmite y en caso de que no haya
contenido, sobre el recurso al que se quiere acceder con la peticin.
El contenido (si est presente) est en un formato con una codificacin definida en las
cabeceras de entidad.
Respuesta
Despus de recibir e interpretar una peticin, el servidor debe responder con un mensaje
HTTP. Este mensaje tiene el siguiente formato:
Lnea de estado
*( Cabeceras )
CRLF
[ Contenido ]
La frase explicativa, es eso, una frase corta que explica el cdigo de estado enviado al
cliente.
Se pueden usar ms cdigos, pero las aplicaciones HTTP no tienen que conocer todos
los cdigos definidos y su significado, pero s estn obligadas a conocer su clase y tratar
los cdigos desconocidos como el primer cdigo de la clase (x00).
En cuanto a las cabeceras de la respuesta, son de tres tipos: las cabeceras generales
(punto A.3.4), las cabeceras de la respuesta (punto A.3.6) y las cabeceras de entidad
(apartado A.3.7).
Mtodos
Un mtodo se dice que es seguro si no provocan ninguna otra accin que no sea la de
devolver algo (no produce efectos laterales). Estos mtodos son el mtodo GET y el
mtodo HEAD. Para realizar acciones inseguras (las que afectan a otras acciones) se
pueden usar los mtodos POST, PUT y DELETE. Aunque esto est definido as, no se
puede asegurar que un mtodo seguro no produzca efectos laterales, porque depende de
la implementacin del servidor.
Un mtodo es idempotente si los efectos laterales para N peticiones son los mismos que
para una sola peticin. Los mtodos idempotentes son los mtodos GET, HEAD, PUT y
DELETE.
http://www.lfcia.org/openprojects/camllets/doc/html/node16.html
El protocolo HTTP
El HTTP [10] es el protocolo de alto nivel del World Wide Web que rige el intercambio
de mensajes entre clientes y servidores del Web. Se trata de un protocolo genrico
orientado a objetos que no mantiene la conexin entre transacciones.
Se dise especialmente para entender las exigencias de un sistema hipermedia
distribuido como es el World Wide Web. Sus principales caractersticas son:
1.7.2URLs.
Definicin
URL es el acrnimo de (Uniform Resource Locator), localizador uniforme de
recursos y permite localizar o acceder de forma sencilla cualquier recurso de la red
desde el navegador de la WWW.
Con la WWW se pretende unificar el acceso a informacin de servicios que antes
eran incompatibles entre s, tratando de conseguir que todos los servicios de internet
sean accesibles a travs de la WWW, de esta forma desde un mismo programa se puede
tener acceso a todos los recursos de una forma uniforme y permite que los documentos
HTML incluyan enlaces a otras fuentes de informacin en servicios como FTP, gopher,
WAIS, etc ...
Uso y Formato
Las URL se utilizarn para definir el documento de destino de los hiperenlaces, para
referenciar los grficos y cualquier otro fichero que se desee incluir dentro de un
documento HTML. Cada elemento de internet tendr una URL que lo defina, ya se
encuentre en un servidor de la WWW, FTP, gopher o las News.
servicio://maquina.dominio:puerto/camino/fichero
El servicio ser alguno de los de internet, estos pueden ser:
red con distinto dominio la maquina www2 ser la maquina llamada as en el dominio
remoto si existiera, que no es la que deseamos referenciar.
El puerto TCP es opcional y lo normal es no ponerlo si el puerto es el mismo que
se utiliza normalmente por el servicio. Solo se utilizar cuando el servidor utilice un
puerto distinto al puerto por defecto.
El camino ser la ruta de directorios que hay que seguir para encontrar el
documento que se desea referenciar. para separar los subdirectorios utilizaremos la barra
de UNIX /, se usa por convenio al ser este tipo de maquinas las ms usadas como
servidores. El nombre de los subdirectorios y del fichero referenciado puede ser de ms
de ocho caracteres y se tendr en cuenta la diferencia entre maysculas y minsculas en
el nombre.
La extensin de los ficheros ser tambin algo importante, ya que por ella sabe el
servidor el tipo de documento que se accede e indica al cliente (navegador) el modo en
que debe tratarse ese documento. Para definir los tipos de documentos se utiliza los
tipos MIME. Las extensiones ms normales con sus tipos correspondientes son:
Tipo MIME
Extensin
Tipo de fichero
text/html
text/plain
.txt
image/gif
.gif
image/jpeg
jpg .jpeg
El navegador de la WWW, realiza una accin para cada tipo de fichero, solo los que
sean del tipo text/html sern mostrados como documentos HTML. En el caso de que el
tipo no sea conocido por el cliente se considerar por defecto como un documento de
texto normal.
Si no se indica un fichero y solo referenciamos un directorio accederemos a la pgina
html por defecto de ese directorio. En el servidor estn definidos unos ficheros para ser
usados si no de indica un fichero concreto, el nombre que debe tener este fichero es en
nuestro caso default.htm default.html. En caso que no exista este fichero se mostrar
un listado de todos los documentos que forman el directorio. Este fichero es la pgina
inicial (home page) del servidor o del espacio Web.
Algunos ejemplos de URL podran ser:
URL
http://www.uca.es
Definicin
http://www.uca.es/internet/internet.html
http://www2.uca.es/serv/sii
ftp://ftp.uca.es/imagenes/globo.gif
news:uca.es
mailto://www-team@uca.es
http://www2.uca.es/manual-html/url.htm
http://es.wikipedia.org/wiki/URL
Direcciones de URL
(URL Addresses)
Un URL (Localizador de Recursos Uniforme) o una direccin de URL es un matrimonio entre la informacin en la
direccin de IP para una mquina y la informacin en su archivo local estructurado. De esa manera, la direccin del
URL nos da el lugar de un archivo, no solamente en una computadora, pero respecto a la Internet entera!
Qu Son URL: Una Analoga
(What Are URLs: An Analogy)
Imagnate que vives en un edificio grande y que tu direccin en el edificio corresponde al nmero de un cuarto.
Podramos llamar eso una direccin local: cualquiera en el edificio te puede localizar usando el nmero de tu cuarto.
Eso es anlogo al nombre de un archivo en una sola computadora: cualquier persona registrada dentro de esa
computadora puede localizar un archivo en la computadora si le saben el nombre y en qu cartapacios o directorios
vive ( y tiene permiso de mirar dentro de dicho directorios).
Ahora, imagnate que una persona de otro pas desea localizarte. La direccin local dentro del edificio ya no es
suficiente porque no especifica cmo localizar tu edificio. Como mnimo, es necesario ser especfico en la
informacin adicional dando el pas, ciudad, calle y dems del edificio donde tu resides.
Es as de anloga a la informacin de una direccin URL provee: una direccin URL da una direccin nica para un
archivo con respecto a cualquiera otro en la Internet, as como tu direccin residencial completa nos da una manera
nica de localizarte desde dondequiera en el mundo. As, las direcciones URL permiten a las computadoras de la
Internet a comportarse en un nivel como si fueran una computadora singular.
A qu se parecen las Direcciones URL?
(What do URL Addresses Look Like?)
Aqu hay un ejemplo de una direccin URL:
http://csep10.phys.utk.edu/webcourse/browser/textfile.html
Esta es una direccin URL funcional y es tambin un enlace hypertexto (nota el color y que est subrayado, y si le
colocas el ratn (mouse) encima el puntero se convierte en una mano apuntando, todos los indicadores de que es
un enlace).
URL Pueden Identificar Cosas Interesantes
(URL's Can Address More Interesting Things)
El ejemplo anterior nos muestra el uso de la direccin URL para un archivo especfico conteniendo texto. De todos
modos, las URL pueden ser usadas para buscar cosas mas generalizadas. Por ejemplo, trata los siguientes enlaces
correspondientes a:
Una imagen en http://csep10.phys.utk.edu/webcourse/browser/use2.gif
Un archivo de sonido en http://csep10.phys.utk.edu/webcourse.browser/hastalaviasta.au
Un archivo de pelculas en
http://csep10.phys.utk.edu/webcourse.browser/goldgate.mpg
Por lo tanto, vemos que la direccin de URL es algo poderoso, permitindonos buscar una variedad de archivos.
Comentarios: Maysculas o Minsculas
(Comments: Case Sensitivity)
Este lugar es tan bueno como cualquiera para avisarles sobre la trampa al entrar directorios y archivos en la
Internet. Algunos sistemas de computadoras (por ejemplo, Unix) utiliza nombres de letra sensible para archivos y
directorios; otros, (por ejemplo, Windows y Macintosh) ignora el tipo de letra en tales nombres. As, en archivo (file
1) de computadora Windows y Archivo (File 1) se refieren al mismo archivo, pero en un sistema Unix ambos
archivos seran dos totalmente diferentes.
Puedes tener un poco de confusin por esto, por lo siguiente: Supnte que tienes un archivo GIF que se llama
myfile.GIF en tu computadora de Windows y entras en ella localmente usando un enlace de la Web de la forma
<a href="myfile.gif">
Esto, generalmente trabajar en tu computadora Windows porque visualiza myfile.gif y myfile.GIF como los
mismos archivos.
Confiado de que todo esta trabajando como debe, ahora transfieres el archivo conteniendo este enlace y el archivo
de GIF a un servidor Unix de la Web e intenta entrar a este enlace por encima de la Web. Para tu sorpresa, tu (y
toda persona en la Web intentando entrar a tu archivo) recibir un mensaje de error de que el archivo myfile.gif no
se encuentra en ese servidor de la Web. Por qu? Unix es muy sensible a tipo y tamao de las letras, por tal razn
(contrario a la computadora de Windows que tu usaste para desarrollar archivos), el servidor visualiza myfile.GIF
como un archivo diferente al de myfile.gif; por tal razn, la computadora grue. La nica cura para este caso es o
cambiarle el nombre del archivo en el enlace o el nombre del archivo GIF para que los nombres sean compatibles.
Comentarios: Espacios en Blanco
(Comments: Blank Spaces)
Una segunda trampa en poner direcciones en la Web est asociada con el hecho de que diferentes sistemas bregan
con espacios en blanco en archivos o nombres de directorios de maneras diferentes. Por ejemplo, nombres de
archivos en Windows pueden tener espacios en blanco, pero sistemas Unix generalmente usan espacios en blanco
como separadores entre nombres. As, el nombre del archivo July Budget Reports es un nombre perfectamente
aceptable para Windows, pero es una mala seleccin para un sistema Unix porque interpretar el nombre de este
archivo como July pro el espacio en blanco que viene arrastrando a menos que instrucciones especiales le sean
dada (por ejemplo, siempre incluyendo el nombre completo del archivo entre comillas causar al sistema Unix a
construir los espacios en blanco como parte del nombre del archivo).
Las maneras comunes que los sistemas de Unix nombran tales archivos sin emplear espacios en blanco es
empezar las palabras con maysculas (sin espacios entre las palabras), o subrayar o usar guiones como
indicadores donde los espacios en blanco deberan estar. Por ejemplo,
JulyBudgetReports
July_Budget_Report
July-Budget-Report
1. Por la herencia de la Unix en la Web, direcciones de URL generalmente no pueden contener espacios en
blanco ( si son un requisito, deben ser entrados con secuencia de caracteres especiales).
2. Si el material de tu Web proviene de un servidor Unix, la situacin de los nombres de archivos y directorios
ser importante anotar.
Por tal motivo, si tu vas a desarrollar material para la Web, seriamente te sugerimos que inmediatamente te hagas la
costumbre de (1) asumir sensibilidad sobre maysculas en los nombres de los archivos y (2) acostmbrate a no usar
espacios en blanco en ningn nombre de archivo.
http://www.webteacher.org/Espanol/Direcciones-URL.htm
Detalles de URL
(URL Details)
Ya que direcciones URL son tan importantes, vamos a estudiar su estructura en mas detalle. Usaremos como
ejemplo la direccin
http://www.whitehouse.gov/WH/Welcome.html
Direcciones URL tienen dos partes bsicas: (1) una porcin que especifica el mtodo de acceso a archivos y (2) la
porcin que dice el lugar del archivo a ser entrado en la Internet.
El Mtodo de Acceso de Archivos
(The Method of File Access)
La primera parte de una URL, terminando con una ://, nos dice el tipo de acceso de archivo que es permitido desde
la Internet. En el ejemplo anterior http nos dice que el "servidor" que le va a dar al archivo es del tipo "http", el cual
significa "Protocolo de Transferencia Hipertexto". Esta parte de la direccin URL tiene una funcin similar a la de
especificar el mtodo por el cual un paquete por el correo normal sera transportado (el Servicio Postal de U. S. ,
Federal Express, UPS,)
La transferencia de protocolo http es la mas comn de la Web, pero no es la nica. Por ejemplo, tambin muy
comnmente vers servidores de direcciones URL usando el Protocolo de Transferencia de Archivos ("File Transfer
Protocol"), o ftp:
ftp://ftp.funet.fi/pub/
y servidores de archivos usando el protocolo "gopher":
gopher://gopher.nd.edu:70/11/
Ahora, si un navegador se puede usar para llevar un archivo a (casi) cualquier parte de la Internet, pensars que,
por supuesto; puede ser usado para entrar a un archivo de la misma computadora que la del servidor? De hecho,
puede, y si lo haces (escogiendo "Open" del men de "File") la URL tendr la forma tpica siguiente:
file:///usr/people/guidry/webcourse/frame1.html
Una direccin URL comenzando con "file:", es la seal que la direccin no est en ningn otro sitio en la Internet,
pero que en efecto est en la misma computadora que el navegador. Actualmente, la mencionada anteriormente
sera la forma de URL para un archivo en una computadora Machintosh o una Unix. Para un archivo en una PC,
veras una URL de la siguiente forma:
file://c:/usr/people/guidry/webcourse/frame1.html
ya que una PC designa el disk drive o cualquier otro aparato para archivar, con una letra y dos puntos, en vez de
un nombre.
Como ejemplo final, te podrs encontrar con regularidad, el tipo de direccin URL "mailto:"; por ejemplo:
mailto:user@domain.org
En este caso, "mailto:" indica que la URL puede ser usada para enviar un mensaje por correo electrnico a la
direccin especfica despus de los dos puntos. Existen otros protocolos de transporte, pero estos ejemplos ilustra
algunos de los ms importantes.
El Lugar del Archivo en la Internet
(The Internet Location of the File)
La segunda parte de la direccin URL especifica la direccin de la mquina en la Internet que est guardando el
archivo y el lugar del archivo en esa direccin de la Internet. En el primer ejemplo anteriormente citado,
www.whitehouse.gov especifica la direccin IP del servidor http que guarda el archivo. (Ver la seccin anterior sobre
el Domain Naming System para la Internet). El resto de la direccin entonces da el lugar del archivo en cuestin en
la mquina especfica por la direccin IP anterior. Por ejemplo, en la direccin URL
http://www.whitehouse.gov/WH/Welcome.html
el archivo al que se est entrando se llama Welcome.html y reside en un directorio (expediente) llamado WH en una
mquina con direccin IP de www.whitehouse.gov que est supliendo el archivo con un servidor corriendo el
protocolo http.
http://www.webteacher.org/Espanol/4-URL.htm
URL
Los URL (Uniform Resource Locator) son "localizadores" de direcciones dentro de la
red, que relacionan un servicio con un servidor. Constituyen la herramienta esencial del
Web, ya que permiten la localizacin y conexin con cualquier servidor y recurso de
Internet.
De una forma ms particular, hay tres cuestiones que hemos de responder antes de
acceder a una pgina concreta:
La solucin a estas preguntas consiste en identificar las pginas, de forma que a cada
una se le asigna un URL que efectivamente identifica a una pgina en toda la WWW.
Un URL tiene bsicamente tres partes:
El protocolo
El nombre DNS de la mquina donde esta la pgina
Un nombre local que nicamente indica la pgina especifica (normalmente es el
nombre del archivo)
Nombre
Usado
para
Ejemplo
http
Hipertexto
(HTML)
http://www.udl.es
ftp
FTP
ftp://ftp.uniovi.es
file
Archivo
Local
file:/usuaris/Documents/HTML/HTML3.0/Contents.html
news
Grupo de
Noticias
news:comp.os.minix
news
Articulo
de
Noticias
news:AA0134223112@cs.utah.edu
gopher
Gopher
gopher://gopher.tc.umn.edu/11/Libraries
mailto
Enviar
Correo
mailto:david@eup.udl.es
telnet
Login
Remoto
telnet://fermat.eup.udl.es
Tabla 2: Protocolos y sus aplicaciones
1.7.3Mtodos http.
Persistencia en http Cookies.
Mtodo OPTIONS
Este mtodo representa un peticin de informacin sobre las opciones de comunicacin
disponibles en la cadena peticin-respuesta identificada por la URI de la peticin. Esto
permite al cliente conocer las opciones y requisitos asociados con un recurso o las
capacidades del servidor.
La respuesta slo debe incluir informacin sobre las opciones de comunicacin.
Si la URI es ``*'', entonces la peticin se aplica al servidor como un conjunto. Es decir,
contesta caractersticas opcionales definidas por el servidor, extensiones del
protocolo, ...
Mtodo GET
Mtodo HEAD
El mtodo HEAD es igual que el mtodo GET, salvo que el servidor no tiene que
devolver el contenido, slo las cabeceras. Estas cabeceras que se devuelven en el
mtodo HEAD deberan ser las mismas que las que se devolveran si fuese una peticin
GET.
Este mtodo se puede usar para obtener informacin sobre el contenido que se va a
devolver en respuesta a la peticin. Se suele usar tambin para chequear la validez de
links, accesibilidad y modificaciones recientes.
Mtodo POST
El mtodo POST se usa para hacer peticiones en las que el servidor destino acepta el
contenido de la peticin como un nuevo subordinado del recurso pedido. El mtodo
POST se cre para cubrir funciones como la de enviar un mensaje a grupos de usuarios,
dar un bloque de datos como resultado de un formulario a un proceso de datos, aadir
nuevos datos a una base de datos, ...
La funcin llevada a cabo por el mtodo POST est determinada por el servidor y suele
depender de la URI de la peticin. El resultado de la accin realizada por el mtodo
POST puede ser un recurso que no sea identificable mediante una URI.
Mtodo PUT
El mtodo PUT permite guardar el contenido de la peticin en el servidor bajo la URI
de la peticin. Si esta URI ya existe, entonces el servidor considera que esta peticin
proporciona una versin actualizada del recurso. Si la URI indicada no existe y es vlida
para definir un nuevo recurso, el servidor puede crear el recurso con esa URI. Si se crea
un nuevo recurso, debe responder con un cdigo 201 (creado), si se modifica se contesta
con un cdigo 200 (OK) o 204 (sin contenido). En caso de que no se pueda crear el
recurso se devuelve un mensaje con el cdigo de error apropiado.
Mtodo DELETE
Este mtodo se usa para que el servidor borre el recurso indicado por la URI de la
peticin. No se garantiza al cliente que la operacin se lleve a cabo aunque la respuesta
sea satisfactoria.
Mtodo TRACE
Este mtodo se usa para saber si existe el receptor del mensaje y usar la informacin
para hacer un diagnstico. En las cabeceras el campo Via sirve para obtener la ruta que
sigue el mensaje. Mediante el campo Max-Forwards se limita el nmero de pasos
intermedios que puede tomar. Esto es til para evitar bucles entre los proxy.
La peticin con el mtodo TRACE no tiene contenido.
Cabeceras generales
Los campos de este tipo de cabeceras se aplican tanto a las peticiones como a las
respuestas, pero no al contenido de los mensajes.
Estas cabeceras son:
Cache-Control, son directivas que se han de tener en cuenta a la hora de
mantener el contenido en una cach.
Connection,
Date,
Pragma,
Transfer-Encoding,
Upgrade,
Via,
Cabeceras de peticin
Este tipo de cabeceras permite al cliente pasar informacin adicional al servidor sobre la
peticin y el propio cliente.
Accept-Charset,
Accept-Encoding,
Accept-Language,
Authorization,
From,
Host,
If-Modified-Since,
If-Match,
If-None-Match,
If-Range,
If-Unmodified-Since,
Max-Forwards,
Proxy-Authorization,
Range,
Referer,
User-Agent,
Cabeceras de respuesta
Permiten al servidor pasar informacin adicional al cliente sobre la respuesta, el propio
servidor y el recurso solicitado.
Son los campos:
Age,
Location,
Proxy-Authenticate,
Retry-After,
intentarlo.
Server,
Vary,
Warning,
respuesta.
WWW-Authenticate,
aplicables a la URI.
Cabeceras de entidad
Como su nombre indica, los campos de este tipo aportan informacin sobre el contenido
del mensaje o si no hay contenido, sobre el recurso al que hace referencia la URI de la
peticin.
Los campos de este tipo son:
Allow,
Content-Base,
Content-Location,
Expires,
Last-Modified,
http://www.lfcia.org/openprojects/camllets/doc/html/node20.html
Introduccin
Las cookies [8] se han descrito para conseguir sesiones HTTP con un estado asociado.
Por definicin, las distintas peticiones HTTP son independientes entre s, es decir, el
servidor responde a la peticin sin tener en cuenta las peticiones anteriores del cliente.
Mediante las cookies se puede intercambiar informacin de estado que afecta a una serie
de peticiones y respuestas, es decir, una sesin.
Hay varios contextos en los que se puede establecer una sesin:
Cada sesin tiene un principio y un final.
Las sesiones son cortas.
El agente de usuario o el servidor terminan la sesin.
La sesin est implcita en el intercambio de informacin de estado.
Funcionamiento
Para hacer operativas las cookies se han definido dos cabeceras, Set-Cookie y Cookie.
Con estas cabeceras se puede establecer una nueva cookie e informar de las cookies
existentes.
El servidor
Es el servidor el que inicia la sesin al responder al cliente con un mensaje que tiene
una cabecera para establecer una cookie (``Set-Cookie''). Cuando el cliente recibe esta
respuesta, en la siguiente peticin incorporar una cabecera para informar de las cookies
que tiene (``Cookie''). Ante esta peticin puede tener en cuenta la cookie o no para dar la
respuesta, y para ello puede establecer el mismo valor u otro valor para la cookie o no
enviar ninguna cookie. Para acabar la sesin, el servidor debe establecer una cookie con
duracin 0.
El servidor puede tener varias cabeceras para establecer varias cookies en una misma
respuesta, aunque si el mensaje pasa por un proxy o una pasarela, pueden convertirlo en
una sola cabecera para establecer cookies.
Para establecer una cookie se usa la cabecera Set-Cookie, cuya sintaxis es:
Con esto se establece que por lo menos ha de haber un par nombre, valor y cada par
puede tener o no modificadores.
Los modificadores de un par nombre, valor pueden ser:
``Comment'' ``='' valor,
``Domain'' ``='' valor,
descarta.
``Path'' ``='' valor,
cookie.
``Secure'', indica que el cliente debe usar en entornos seguros para
contactar con el servidor.
``Versin'' ``='' valor,
El cliente
El cliente trata por separado las distintas informaciones de estado que le llegan por
medio de respuestas que establecen cookies. Adems toma valores por defecto para los
atributos que no estn presentes de los pares nombre, valor.
Adems el cliente puede rechazar una cookie por razones de seguridad o violaciones de
la privacidad. Para rechazar una cookie tiene una serie de reglas que aplica en cada caso.
Si el cliente recibe una cookie con un nombre que ya tiene asociado a otra cookie y
cuyos atributos Domain y Path son exactamente iguales, entonces la nueva cookie
reemplaza a la anterior. Adems si la nueva cookie tiene el atributo Max-Age con un
valor de 0, entonces elimina la cookie en vez de reemplazarla.
Como el cliente tiene un espacio limitado para las cookies, ha de ir eliminando cookies
antiguas para hacer sitio a las nuevas. Esta operacin la puede realizar siguiendo algn
algoritmo como el LRU (Least Recently Used), o FIFO (First In First Out).
es:
``$Path'' ``='' valor
Y dominio es:
``$Domain'' ``='' valor
Cuando el servidor recibe una peticin con una cabecera cookie, ha de interpretar los
pares nombre, valor teniendo en cuenta que los nombres que comienzan por el smbolo
``$'' son especiales y hacen referencia a la cookie anterior, y si no hay una cookie
anterior, hacen referencia a todas las cookies de esta cabecera.
Adems en los pares nombre, valor de las cookies no acepta el smbolo ``.
Por ltimo, en la propuesta original de Netscape no se permitan espacios en blanco
entre el smbolo ``='' y el nombre o el valor.
SGML vs HTML
Un lenguaje de marca o etiquetado no es lo mismo que un lenguaje de marca
generalizado. Con un lenguaje de marca se describen las reglas para el procesamiento de
un texto, para describir los diferentes caracteres y sus caractersticas de impresin. La
marca generalizada, por otro lado, no especifica cmo deben verse las cosas, en su
lugar, provee informacin del sistema en el que se est trabajando, con informacin
sobre la estructura del documento nicamente.
HTML es un DTD de SGML utilizado para documentos en el Web. El HTML original
no era completamente compatible con SGML, tena algunas deficiencias sintcticas a
cambio de simplicidad. Ahora, las ventajas en la compatibilidad, como la habilidad de
validacin, la utilizacin de herramientas basadas en SGML y la capacidad de
interactuar, han sobrepasado a las desventajas. HTML2 es el nivel comn en la mayora
de los navegadores. La siguiente versin, HTML3, ser completamente compatible con
ISO 8879, con ampliaciones para soportar notaciones matemticas y tablas, lo cual har
a SGML la columna vertebral del sistema de hipertexto distribuido ms grande del
mundo.
Es importante entender que la compatibilidad con el Web reside en la estandarizacin de
los datos, no en las aplicaciones. En la medida en que el lenguaje de marca utilizado en
el Web permanezca abierto, no propietario y uniforme, cualquiera puede hacer
aplicaciones acordes a cualquier plataforma y los datos podrn ser intercambiados y
visualizados sin conversiones.
http://www.bibliodgsca.unam.mx/tesis/tes7cllg/sec_39.htm
<HTML>
Encabezado
<HEAD>
<TITLE>Ttulodel
documento</TITLE>
</HEAD>
<BODY>
Cuerpo
Textodeldocumento
</BODY>
</HTML>
2.1.1Tablas en HTML.
2.1.2Formularios.
2.2 Evolucin del desarrollo de aplicaciones Web.
2.3 Hojas de estilo en cascada e introduccin al XML.
Aplicaciones Multinivel
Al hablar del desarrollo de aplicaciones Web resulta adecuado presentarlas dentro de las
aplicaciones multinivel. Los sistemas tpicos cliente/servidor pertenecen a la categora
de las aplicaciones de dos niveles. La aplicacin reside en el cliente mientras que la base
de datos se encuentra en el servidor. En este tipo de aplicaciones el peso del clculo
recae en el cliente, mientras que el servidor hace la parte menos pesada, y eso que los
clientes suelen ser mquinas menos potentes que los servidores. Adems, est el
problema de la actualizacin y el mantenimiento de las aplicaciones, ya que las
modificaciones a la misma han de ser trasladada a todos los clientes.
Para solucionar estos problemas se ha desarrollado el concepto de arquitecturas de tres
niveles: interfaz de presentacin, lgica de la aplicacin y los datos.
La capa intermedia es el cdigo que el usuario invoca para recuperar los datos deseados.
La capa de presentacin recibe los datos y los formatea para mostrarlos adecuadamente.
Esta divisin entre la capa de presentacin y la de la lgica permite una gran
flexibilidad a la hora de construir aplicaciones, ya que se pueden tener mltiples
interfaces sin cambiar la lgica de la aplicacin.
La tercera capa consiste en los datos que gestiona la aplicacin. Estos datos pueden ser
cualquier fuente de informacin como una base de datos o documentos XML.
Convertir un sistema de tres niveles a otro multinivel es fcil ya que consiste en
extender la capa intermedia permitiendo que convivan mltiples aplicaciones en lugar
de una sola (vase la Figura 3.3).
Macromedia DreamWeaver
Microsoft FrontPage
Netscape Composer
De los dos primeros hay que decir que integran en un entorno amigable casi todos los
elementos relacionados con el desarrollo de pginas Web, adems de aportar soluciones
a la gestin y el mantenimiento de sitios Web grandes y complejos, y la interaccin con
bases de datos. El problema en su uso es que no resultan fciles de manejar y requieren
ciertos conocimientos y son de pago.
El tercer caso es el editor de pginas Web que proporciona el navegador Netscape. No
es ms que un pequeo editor de pginas sin ms posibilidades, pero lo fcil de su uso
hace que sea una buena herramienta para iniciarse en la creacin y en el mantenimiento
de portales Web. El precio a pagar es que algunas cosas se han de seguir realizando a
mano, como la conexin con bases de datos y la gestin de formularios.
http://www.infor.uva.es/~jvegas/cursos/buendia/pordocente/node21.html
Orientado a
objeto
Capaz de trabajar
en red
Multienhebrado
Interpretado
JAVASCRIPT
El lenguaje de programacin "JavaScript" fue creado por la compaa
Netscape hacia finales de 1995 como un medio para cubrir las
necesidades expuestas por muchos usuarios respecto a la
interactividad de las pginas Web y a las limitantes del lenguaje
HTML.
En teora el lenguaje est diseado para que pueda ser usuado por
cualquier tipo de desarrollador de pginas Web sin importar si tiene o
no conocimientos previos de programacin. En la prctica, esto no es
tan natural, sin embargo, con un poco de paciencia y tiempo
cualquier persona puede escribir aplicaciones en JavaScript que sean
funcionales en una pgina Web.
La mayora de nosotros hemos escuchado a cerca de Java, el
lenguaje de programacin para el World Wide Web (y otras
aplicaciones) desarrollado por Sun Microsystems, sin embargo, es
un hecho que este lenguaje no est al alcance de la mayora de las
personas ya que es "muy dificil" de aplicar e implica invertir mucho
tiempo en su aprendizaje. Fue por esto que Netscape decido
generar el lenguaje JavaScript que fu originalmente llamado
"LiveScript" hasta que se firmaron acuerdos con Sun que
permitieron hacer pblica la tecnologa empleada en su desarrollo.
Los acuerdos incluyen a otras 25 firmas de las ms importantes en el
desarrollo de herramientas para el Web por lo que, a partir de
Qu es JavaScript?
JavaScript es un lenguaje de programacin especializado para el
desarrollo de aplicaciones para servidores y clientes del Web. Se dice
que este lenguaje est diseado para personas no-programadoras y
para autores de pginas que utilicen HTML. Esta afirmacin es
debatible ya que, aunque es mucho ms sencillo que Java tiene su
complicacin y, si usted en un no programador es probable que no
pueda aprenderlo en las noches mientras se prepara para descansar.
La forma de trabajar con JavaScript es la siguiente:
Se escribe el programa directo en un documento HTML utilizando
algunas etiquetas especiales para que quede "incrustado" dentro
del mismo.
El navegador recibe el cdigo incrustado y lo interpreta para
realizar las acciones solicitadas en el mismo.
Esto significa que el programa JavaScript se ejecuta directo en la
computadora cliente lo que incrementa la velocidad del proceso de
forma dramtica.
Por otro lado existen dos tipos de lenguajes de programacin, los
"interpretados" (como JavaScript) y los "compilados" (como Java o
C). La diferencia principal entre ambos es que los lenguajes
compilados requieren de ser traducidos por un programa especial
llamado "compilador" para que puedan ser ejecutados por las
computadoras mientras que los lenguajes interpretados no requieren
traduccin, solo necesitan de un "interprete" (en este caso el
navegador Netscape) que los ejecute.
Esta diferencia, aunque sutl, es muy importante ya que simplifica el
uso de JavaScript al ser el navegador un interprete de este lenguaje
(si es compatible, como el Netscape o el IE de Microsoft).
Adems una aplicacin JavaScript se puede escribir en cualquier
editor de textos (como los documentos HTML) o directo en un
documento HTML ya que el interprete lo reconoce y lo ejecuta sin
importar nada ms.
Aunque las funciones y acciones definidas por el cdigo JavaScript
se encuentran en la parte superior de los documentos HTML es
posible utilizarlas desde cualquier punto del mismo gracias a algunos
<receta>
...
<necesitamos>
<ingrediente>2 cucharadas de azucar</ingrediente>
<ingrediente>3 manzanas</ingrediente>
</necesitamos>
...
</receta>
Bien, esta puede ser una primera defincin de Servicio Web. Pero,
quiz, lo que ahora ms interese es saber para qu sirve un Servicio
Web? La respuesta puede ser otra pregunta: Para que sirve en
programacin una rutina? Todos sabemos que una rutina es como
una caja negra, que encierra cierto proceso o algoritmo, y que
cumple una funcin clara. Muchas rutinas y un guin central
componen un programa en lo que se llama "programacin
estructurada". Un Servicio Web viene a ser una rutina en Internet.
Pero, por qu se llama "Servicio Web" y no "Rutina en Internet"? Los
protocolos que soportan los servicios web se comunican normalmente
por el puerto 80, y basndose en HTTP, mtodos GET y PUT. Esto
hace que podamos acceder a ellos al igual que lo hacemos en una
pgina web. La diferencia entre una pgina web y un Servicio Web, es
que la pgina la visita cualquier individuo interesado, mienstras que
el servicio slo lo visitan programas que lo requieren.
De modo, que el conjunto de Servicios Web en Internet es una World
Wide Web paralela, de carcter no humano, sino ciberntico. Vamos,
que los ordenadores ya hablan slos a travs de Internet.
6.- EL PROYECTO:
A programar se aprende con una pequea base terica, que ya la
tenemos, y sobretodo jugando y practicando con las herramientas de
programacin. De modo, que nos planteamos un proyecto
relativamente sencillo para ver con ms claridad como se crea un
Servicio Web. Se trata de ofrecer la posibilidad de traducir un texto
del Ingls al Castellano. Esto sera una versin muy "light" del
Servicio Web que ofrece Babelfish de Altavista.
Hemos escogido PHP como lenguaje de programacin porque es una
preferencia entre muchos programadores Linux, y adems es muy
claro e intuitivo. El Servicio Web lo vamos a desarrollar paso a paso,
porque requiere varias etapas:
6.1.6.2.6.3.6.4.6.5.-
$more i2e.dict
/*
/*
/* se
fclose ($fp);
// Se define una rutina que sepa traducir palabras sueltas del
Castellano al Ingls
function palabra_espanol2ingles($espanol) {
global $espanol2ingles;
if ($espanol2ingles[$espanol] != '') {
return $espanol2ingles[$espanol];
} else {
return $espanol;
}
if ($ingles2espanol[$ingles] != '') {
return $ingles2espanol[$ingles];
} else {
return $ingles;
}
/*
/*
/* se
}
fclose ($fp);
if ($ingles2espanol[$ingles] != '') {
return $ingles2espanol[$ingles];
} else {
return $ingles;
}
/*
/*
/* se
if ($ingles2espanol[$ingles] != '') {
return $ingles2espanol[$ingles];
} else {
return $ingles;
}
?>
/*
/*
/*
}
fclose ($fp);
if ($ingles2espanol[$ingles] != '') {
return $ingles2espanol[$ingles];
} else {
return $ingles;
}
cargadiccionario("./i2edict-20010903/i2e.dict");
preservarlos
$linea
$linea
$linea
$linea
$linea
=
=
=
=
=
eregi_replace("\.",
eregi_replace("\,",
eregi_replace("\;",
eregi_replace("\(",
eregi_replace("\)",
"
"
"
"
"
return $lineas_traducidas;
}
?>
<value>
<string>rbol</string>
</value>
</param>
</params>
</methodResponse>
<?
include_once("./class.remotetest.php");
RemoteClassRegistry::addUrl('DEFAULT_URL',
'http://www.midominio.com/xcs.php');
$test = new Test(42);
print $test->ingles2espanol('tree');
?>
Este sencillo cdigo invoca la creacin de un objeto remoto de tipo
"Test", y luego ejecuta su funcin "ingles2espanol" con el parmetro
de ejemplo "tree". El resultado, como podemos imaginar es "rbol".
De igual modo, podemos probar el sistema con un texto ms largo.
La potencia de este esquema de programacin (los Servicios Web)
est en colocar el PHP del cliente en un servidor distinto al PHP del
Servicio Web.
Ahora nos queda claro que la rutina de traduccin slo reside en un
servidor de Internet, y otros pueden invocar la funcin tantas veces
como quieran desde cualquier punto de Internet.
Hay un detalle que an no hemos comentado. Para que PHP pueda
trabajar con el protocolo XML-RPC, hay que compilarlo con unas
determinadas funciones especiales. Vemos a continuacin los pasos
en la instalacin de PHP, para que todo funcione bien.
Hay algunas opciones imprescindibles (with-expat-dir, --withxmlrpc, ...) para disponer de soporte XML-RPC en PHP. Otras van en
funcin de nuestros proyectos y sus requisitos.
2.9"
);
=>
=>
=>
=>
=>
=>
=>
=>
=>
=>
$key,
$Query,
$startPage,
10,
false,
'',
false,
'',
'',
''
Array
(
[documentFiltering] => false
[estimatedTotalResultsCount] => 77400
[directoryCategories] =>
[searchTime] => 0.194757
[resultElements] => Array
(
[0] => Array
(
[cachedSize] => 28k
[hostName] =>
[snippet] => Programas y Aplicaciones de GNU/Linux
[directoryCategory] => Array
(
[specialEncoding] =>
[fullViewableName] =>
)
[relatedInformationPresent] => true
[directoryTitle] =>
[summary] =>
[URL] =>
http://linux.bankhacker.com/software/Programacion/
[title] => Linux Programacion
)
[1] => Array
(
[cachedSize] => 9k
[hostName] =>
[snippet] => Hosting Linux y Programacin
[directoryCategory] => Array
(
[specialEncoding] =>
[fullViewableName] =>
)
[relatedInformationPresent] => true
[directoryTitle] =>
[summary] =>
[URL] => http://linux.bankhacker.com/
[title] => Software Linux: Programas y
Aplicaciones de GNU/Linux
)
...
)
[endIndex] => 10
[searchTips] =>
[searchComments] =>
[startIndex] => 1
[estimateIsExact] => false
[searchQuery] => linux+programacin
)
HeadParser
SOAP
SOAP::Lite
URI
Math::Random
export HTTP_proxy="http://www.miproxy.com:3128"
setenv HTTP_proxy "http://www.miproxy.com:3128"
$result->{resultElements}->[0]->{title};
"\n";
$result->{resultElements}->[0]->{URL};
"\n";
1;
-i
-i
-i
-i
-i
python2-2.2.1-1.i386.rpm
python2-tkinter-2.2.1-1.i386.rpm
python2-devel-2.2.1-1.i386.rpm
python2-tools-2.2.1-1.i386.rpm
python2-docs-2.2.1-1.i386.rpm
sistema.
# Instalamos expat, el parser XML de Linux:
wget http://www.python.org/ftp/python/2.2/rpms-62/expat-1.95.22.i386.rpm
rpm -i expat-1.95.2-2.i386.rpm
wget http://www.python.org/ftp/python/2.2/rpms-62/expat-devel-1.95.22.i386.rpm
rpm -i expat-devel-1.95.2-2.i386.rpm
# Para arreglar el problema de dependencias, reconstruimos el paquete
desde el fuente del siguiente modo:
wget http://www.python.org/ftp/python/2.2.1/rpms/python2-2.2.12.src.rpm
rpm --rebuild python2-2.2.1-2.src.rpm
# Reinstalamos los paquetes generados:
rpm
rpm
rpm
rpm
-i
-i
-i
-i
/usr/src/redhat/RPMS/i386/python2-2.2.1-2.i386.rpm
/usr/src/redhat/RPMS/i386/python2-devel-2.2.1-2.i386.rpm
/usr/src/redhat/RPMS/i386/python2-docs-2.2.1-2.i386.rpm
/usr/src/redhat/RPMS/i386/python2-tools-2.2.1-2.i386.rpm
require_once('nusoap-0.6.1/nusoap.php');
?>
15.- CONCLUSIONES:
Los Servicios Web pueden ser muy tiles en ciertos casos concretos
de programacin. Los expertos de marketing de empresas de
software como Microsoft anuncian a bombo y platillo una revolucin
dabido a la aparicin de SOAP, WSDL, UDDI, etc. Sin embargo, no
conviene creerse todo lo que cuentan. Hay que tener en cuenta que
les interesa que sus clientes actualicen sus herramientas de
desarrollo a la versin .NET ...
La nica revolucin que podemos vivir en relacin a los Servicios Web
es la de ver como los servidores de Internet hablan entre ellos, y
cada da son ms independientes del programador. Y eso es algo que
http://web-services.bankhacker.com/
Qu son los servicios Web XML?
14 de enero de 2002
Los servicios Web XML permiten que las aplicaciones compartan informacin.
Los servicios Web XML son unidades de cdigo discretas, cada una de las cuales se encarga de un
conjunto limitado de tareas.
Estn basados en XML, el lenguaje universal del intercambio de informacin en Internet y pueden
utilizarse en cualquier plataforma o sistema operativo, independientemente del lenguaje de
programacin utilizado.
.NET es la plataforma de Microsoft para la creacin de servicios Web XML.
Los servicios Web XML permiten que las aplicaciones compartan informacin y que adems invoquen
funciones de otras aplicaciones independientemente de cmo se hayan creado las aplicaciones, cul
sea el sistema operativo o la plataforma en que se ejecutan y cules los dispositivos utilizados para
obtener acceso a ellas. Aunque los servicios Web XML son independientes entre s, pueden vincularse
y formar un grupo de colaboracin para realizar una tarea determinada.
http://www.microsoft.com/latam/net/basics/xmlservices
.asp
5.6 Tecnologas subyacentes.
5.6.1 SOAP
SOAP y WebServices.
SOAP es un protocolo elaborado para facilitar la llamada remota de funciones a travs
de Internet, permitiendo que dos programas se comuniquen de una manera muy similar
tcnicamente a la invocacin de pginas Web.
El protocolo SOAP tiene diversas ventajas sobre otras maneras de llamar funciones de
manera remota como DCOM, CORBA o directamente en TCP/IP:
Las solicitudes SOAP se pueden hacer en tres estndares: GET, POST y SOAP. Los
estndares GET y POST son idnticos a las solicitudes hechas por navegadores de
Internet. SOAP es un estndar similar a POST, pero las solicitudes se hacen en XML y
permiten recursos ms sofisticados, como pasar estructuras y arreglos ("arrays").
Independientemente de cmo se haga la solicitud, las respuestas siempre son en XML.
XML describe perfectamente los datos en tiempo de ejecucin y evita los problemas
ocasionados por cambios inadvertidos en las funciones, ya que los objetos llamados
tienen la posibilidad de validar siempre los argumentos de las funciones, haciendo que
el protocolo sea muy slido.
As mismo, SOAP define un estndar llamado WSDL, que describe perfectamente los
objetos y mtodos disponibles a travs de pginas XML accesibles por la Web. La idea
es la siguiente: quien publica un servicio, crea tambin estas pginas. Quien quiera
llamar el servicio, puede utilizar estas pginas como "documentacin" de la llamada y
tambin utilizarlas antes de llamar las funciones para verificar si cambi algo.
SOAP se puede implementar fcilmente en casi cualquier ambiente de programacin.
Actualmente, existen diversos paquetes de desarrollo SOAP para diversos sistemas
operativos y lenguajes de alto nivel. Microsoft tiene un paquete para Visual Studio 6 en
http://msdn.microsoft.com/soap/default.asp.
SOAP es una parte importante de la arquitectura .NET de Microsoft y cuenta con
amplio soporte en Visual Studio.NET. WebService es un conjunto de mtodos
WebMethods asociados lgicamente y llamados a travs de SOAP. WebMethods son
funciones llamadas en forma remota a travs de SOAP. Cada WebService tiene dos
archivos asociados: uno con extensin "asmx" y otro con extensin "cs", si usted est
utilizando el lenguaje C#.
En la arquitectura .NET, WebServices siempre se implementa en una clase derivada de
"System.Web.Services.WebService". En esta clase agregamos las funciones (mtodos)
que sern llamadas mediante SOAP. La diferencia entre WebMethod y un mtodo
comn, es la presencia de un "atributo WebMethod", una especie de poltica de
compilacin. La pgina SDL es generada automticamente por las herramientas de
programacin.
Desde el punto de vista del programador, WebService es una pgina ASP.NET
"glorificada", que mapea los datos solicitados por la Web automticamente a mtodos
de un lenguaje de alto nivel.
Podemos tomar la descripcin del servicio como XML, a travs del modelo "WSDL".
Esta es la manera que utilizar Visual Studio.NET para crear automticamente una clase
"proxy" que llamar el WebService:
Haga clic con el botn derecho del mouse sobre el proyecto y pida "Add Web
Reference..." (Agregar referencia Web..."):
Haga clic en "Add Reference" (Agregar referencia). Visual Studio.NET crear una clase
"proxy" en el proyecto. Esta clase tiene la misma sintaxis de una clase .NET, pero en
realidad est invocando el WebService.
Vea el proyecto con una "Web Reference" (Referencia Web):
Observe que creamos un objeto tipo proxy y llamamos sus mtodos para utilizarlo. El
objeto Cuotas usado para llamar el WebService funciona de manera muy similar a un
navegador de Internet, pero sin interpretar documentos HTML. ste puede almacenar
cookies, realizar autenticacin y encriptacin, tener un nombre como "user agent"
(agente de usuario) y usar un servidor de proxy.
http://www.microsoft.com/spanish/msdn/comunidad/mt
j.net/voices/art51.asp
5.6.2 WSDL
Resumen
WSDL es un formato XML que describe los servicios de red como un
conjunto de puntos finales que procesan mensajes contenedores de
informacin orientada tanto a documentos como a procedimientos. Las
operaciones y los mensajes se describen de forma abstracta y despus se
enlazan a un protocolo de red y a un formato de mensaje concreto para
Calificar
Mi Panorama SOS
Escribe para
Nosostros
Esta versin del lenguaje WSDL es un primer paso que no incluye un marco de trabajo para describir la
composicin y organizacin de los puntos finales. Un marco de trabajo completo que describa tales
contratos debe incluir medios para componer servicios y medios para expresar el comportamiento de los
servicios, es decir, reglas de ordenacin para enviar y recibir mensajes. La composicin de servicios debe
ser de escritura segura pero tambin debe permitir pasar referencias, siendo las referencias del servicio
intercambiadas y enlazadas en tiempo de ejecucin. Este ltimo factor es clave para la negociacin de
contratos en tiempo de ejecucin y la captura del comportamiento de servicios de referencia y de
intermediarios.
Los autores de la especificacin WSDL desean publicar versiones revisadas de WSDL y/o documentos
adicionales que incluyan (1) un marco de trabajo para componer servicios y (2) un marco de trabajo para
describir el comportamiento de los servicios.
Estado
Este borrador representa la opinin actual respecto a las descripciones de servicios dentro de Ariba, IBM
y Microsoft. Consolida, adems, los conceptos encontrados en NASSL, SCL y SDL (propuestas anteriores
en este espacio).
Tabla de contenido
1 Introduccin
1.1 Ejemplo de documento WSDL
1.2 Convenciones de notacin
2 Definicin de servicio
2.1 Estructura del documento
2.1.1 Nomenclatura y vinculacin de documentos
2.1.2 Estilo de creacin
2.1.3 Extensibilidad y enlace del lenguaje
2.1.4 Documentacin
2.2 Tipos
2.3 Mensajes
2.3.1 Partes del mensaje
2.3.2 Mensajes abstractos frente a mensajes concretos
2.4 Tipos de puertos
2.4.1 Operacin unidireccional
2.4.2 Operacin de peticin-respuesta.
2.4.3 Operacin de solicitud-respuesta
2.4.4 Operacin de notificacin
2.4.5 Nombres de los elementos de una operacin
2.4.6 Orden de los parmetros de una operacin
2.5 Enlaces
2.6 Puertos
2.7 Servicios
3 Enlace SOAP
3.1 Ejemplos de SOAP
3.2 Extensin de WSDL con el enlace SOAP
3.3 soap:binding
3.4 soap:operation
3.5 soap:body
3.6 soap:fault
3.7 soap:header
3.8 soap:address
4 Enlace HTTP GET & POST
4.1 Ejemplos de HTTP GET/POST
4.2 Extensin de WSDL con el enlace HTTP GET/POST
4.3 http:address
4.4 http:binding
4.5 http:operation
4.6 http:urlEncoded
4.7 http:urlReplacement
5 Enlace MIME
5.1 Ejemplo de enlace MIME
5.2 Extensin de WSDL con el enlace MIME
5.3 mime:content
5.4 mime:multipartRelated
5.5 soap:body
5.6 mime:mimeXml
6 Referencias
A 1 Notas acerca de los URI
A 1.1 Ubicaciones de los espacios de nombres y esquemas XML
A 1.2 URI relativos
A 1.3 Generacin de URI
A 2 Ejemplos de formato de conexin para WSDL
A 2.1 Ejemplo 1
A 3 Ubicacin de elementos de extensibilidad
A 4 Esquemas
A 4.1 Esquema WSDL
A 4.2 Esquema del enlace SOAP
1. Introduccin
Dado que los protocolos de comunicaciones y los formatos de mensajes estn estandarizados en la
comunidad del Web, cada da aumenta la posibilidad e importancia de describir las comunicaciones de
forma estructurada. WSDL afronta esta necesidad definiendo una gramtica XML que describe los
servicios de red como colecciones de puntos finales de comunicacin capaces de intercambiar mensajes.
Las definiciones de servicio de WSDL proporcionan documentacin para sistemas distribuidos y sirven
como frmula para automatizar los detalles que toman parte en la comunicacin entre aplicaciones.
Los documentos WSDL definen los servicios como colecciones de puntos finales de red o puertos. En
WSDL, la definicin abstracta de puntos finales y de mensajes se separa de la instalacin concreta de red
o de los enlaces del formato de datos. Esto permite la reutilizacin de definiciones abstractas: mensajes,
que son descripciones abstractas de los datos que se estn intercambiando y tipos de puertos, que son
colecciones abstractas de operaciones. Las especificaciones concretas del protocolo y del formato de
datos para un tipo de puerto determinado constituyen un enlace reutilizable. Un puerto se define por la
asociacin de una direccin de red y un enlace reutilizable; una coleccin de puertos define un servicio.
Por esta razn, un documento WSDL utiliza los siguientes elementos en la definicin de servicios de red:
Types: contenedor de definiciones del tipo de datos que utiliza algn sistema de tipos (por
ejemplo XSD).
Port Type: conjunto abstracto de operaciones admitidas por uno o ms puntos finales.
Binding: especificacin del protocolo y del formato de datos para un tipo de puerto
determinado.
Port: punto final nico que se define como la combinacin de un enlace y una direccin de red.
Estos elementos se describen de forma detallada en la seccin 2. Es importante observar que WSDL no
introduce un nuevo lenguaje de definicin de tipos. WSDL reconoce la necesidad de disponer de
diferentes sistemas de tipos para describir los formatos de mensaje y admite como sistema de tipos
cannico la especificacin de los esquemas XML (XSD) [11]. Sin embargo, puesto que no es razonable
esperar una nica gramtica del sistema de tipos que se utilice para describir todos los formatos de
mensajes presentes y futuros, WSDL permite el uso de otros lenguajes de definicin de tipos mediante la
extensibilidad.
Asimismo, WSDL define los mecanismos de enlace comn. stos se utilizan para adjuntar un protocolo,
un formato de datos o una estructura especfica a un mensaje abstracto, una operacin o un punto final
de red. Permite la reutilizacin de definiciones abstractas.
Adems del marco de definicin de servicio principal, esta especificacin introduce extensiones de
enlace especficas para los siguientes protocolos y formatos de mensaje:
Aunque se han definido en este documento, las extensiones de lenguaje anteriores estn en una capa
superior respecto al marco de definicin de servicio principal. Nada impide el uso de otras extensiones de
enlace con WSDL.
1.1 Ejemplo de documento WSDL
El siguiente ejemplo muestra la definicin mediante WSDL de un servicio simple que proporciona
cotizaciones de valores. El servicio admite una nica operacin llamada GetLastTradePrice, que se instala
utilizando el protocolo SOAP 1.1 sobre HTTP. La solicitud toma un smbolo de comprobacin de tipo string
y devuelve el precio como un valor de tipo float. Se puede encontrar una descripcin detallada de los
elementos utilizados en esta definicin en la seccin 2 (lenguaje principal) y la seccin 3 (enlace SOAP).
<?xml version="1.0"?>
<definitions name="StockQuote"
targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl"
xmlns:xsd1="http://example.com/stockquote.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="http://example.com/stockquote.xsd"
xmlns="http://www.w3.org/1999/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="TradePrice">
<complexType>
<all>
<element name="price" type="float"/>
</all>
</complexType>
</element>
</schema>
</types>
<message name="GetLastTradePriceInput">
<part name="body" element="xsd1:TradePrice"/>
</message>
<message name="GetLastTradePriceOutput">
<part name="body" element="xsd1:TradePriceResult"/>
</message>
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/>
</operation>
</portType>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"
namespace="http://example.com/stockquote.xsd"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="literal"
namespace="http://example.com/stockquote.xsd"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="StockQuoteService">
<documentation>Mi primer servicio</documentation>
<port name="StockQuotePort" binding="tns:StockQuoteBinding">
<soap:address location="http://example.com/stockquote"/>
</port>
</service>
</definitions>
1.2 Convenciones de notacin
1. Las palabras clave "MUST" ("DEBE"), "MUST NOT" ("NO DEBE"), "REQUIRED" ("SE REQUIERE"),
"SHALL" ("DEBER"), "SHALL NOT" ("NO PODR"), "SHOULD" ("DEBERA"), "SHOULD NOT" ("NO
DEBERA"), "RECOMMENDED" ("SE RECOMIENDA"), "MAY" ("PUEDE") y "OPTIONAL" ("OPCIONAL") que
aparecen en este documento se deben interpretar como se explica en RFC-2119 [2].
2. Los siguientes prefijos de los espacios de nombres se utilizan a lo largo de todo este documento:
prefijo
definicin
wsdl
http://schemas.xmlsoap.org/wsdl/
Espacio de nombres de
WSDL para el marco WSDL.
http
http://schemas.xmlsoap.org/wsdl/http/
Espacio de nombres de
WSDL para el enlace HTTP
GET & POST.
mime
http://schemas.xmlsoap.org/wsdl/mime/
Espacio de nombres de
WSDL para el enlace MIME.
xsi
http://www.w3.org/1999/XMLSchemainstance
Espacio de nombres de
instancia como se define en
XSD [11].
xsd
http://www.w3.org/1999/XMLSchema (en
ingls)
Espacio de nombres de
esquema como se define en
XSD [11].
(varios)
(varios)
tns
(otros)
3. Esta especificacin utiliza una sintaxis informal para describir la gramtica XML de los documentos
WSDL:
La sintaxis aparece como una instancia de XML, pero los valores indican tipos de datos en lugar
de valores.
Los caracteres comodn se agregan a los elementos y atributos de la siguiente forma: "?" (0 o
1), "*" (0 o ms), "+" (1 o ms).
Los nombres de elementos que acaban en "..." (tales como <element.../> o <element...>)
indican que los elementos/atributos irrelevantes en el contexto se omiten.
<-- extensibility element --> es un marcador de posicin para elementos de "otros" espacios de
nombres (como ##other en XSD).
Los prefijos del espacio de nombres de XML (definidos anteriormente) se utilizan para indicar el
espacio de nombres del elemento que se est definiendo.
Los ejemplos que comienzan con <?xml contienen suficiente informacin para ajustarse a esta
especificacin; otros ejemplos son fragmentos y requieren la especificacin de informacin adicional
para poder ajustarse a ella.
Los esquemas XSD se ofrecen como una definicin formal de la gramtica WSDL:
2. Definicin de servicio
Esta seccin describe los elementos principales del lenguaje WSDL. Las extensiones de enlace para SOAP,
HTTP y MIME se incluyen en las secciones 3, 4 y 5.
2.1 Estructura del documento WSDL
--> *
<wsdl:message name="nmtoken> *
<wsdl:documentation.../>?
<part name="nmtoken" element="qname"? type="qname"?/> *
</wsdl:message>
<wsdl:portType name="nmtoken">*
<wsdl:documentation.../>?
<wsdl:operation name="nmtoken">*
<wsdl:documentation.../> ?
<wsdl:input name="nmtoken"? message="qname">?
<wsdl:documentation.../> ?
</wsdl:input>
<wsdl:output name="nmtoken"? message="qname">?
<wsdl:documentation.../> ?
</wsdl:output>
<wsdl:fault name="nmtoken" message="qname"> *
<wsdl:documentation.../> ?
</wsdl:fault>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="nmtoken" type="qname">*
<wsdl:documentation.../>?
<-- extensibility element --> *
<wsdl:operation name="nmtoken">*
<wsdl:documentation.../> ?
<-- extensibility element --> *
<wsdl:input name="nmtoken"?> ?
<wsdl:documentation.../> ?
<-- extensibility element -->
</wsdl:input>
<wsdl:output name="nmtoken"?> ?
<wsdl:documentation.../> ?
<-- extensibility element --> *
</wsdl:output>
<wsdl:fault name="nmtoken"> *
<wsdl:documentation.../> ?
<-- extensibility element --> *
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="nmtoken"> *
<wsdl:documentation.../>?
<wsdl:port name="nmtoken" binding="qname"> *
<wsdl:documentation.../> ?
<-- extensibility element -->
</wsdl:port>
<-- extensibility element -->
</wsdl:service>
--> *
</wsdl:definitions>
Los servicios se definen utilizando cinco elementos principales:
types, que proporciona definiciones del tipo de datos utilizado para describir el intercambio de
mensajes.
message, que representa una definicin abstracta de los datos que se estn transmitiendo. Un
mensaje se compone de partes lgicas, cada una de las cuales est asociada a una definicin dentro
de algn sistema de tipos.
binding, que determina las especificaciones del protocolo concreto y del formato de datos para
las operaciones y mensajes definidos por un determinado portType.
port, que especifica la direccin para un enlace, definiendo as un nico punto final de
comunicacin.
Estos elementos se describen detalladamente en las secciones 2.2 a 2.7. En el resto de esta seccin se
describen las reglas introducidas por WSDL para nombrar documentos, hacer referencia a definiciones de
documentos, utilizar extensiones de lenguaje y agregar documentacin contextual.
2.1.1 Nomenclatura y vinculacin de documentos
Se puede asignar a los documentos WSDL un atributo opcional name de tipo NCNAME que agilice la
documentacin. Opcionalmente, se puede especificar un atributo targetNamespace de tipo URI. El URI
NO PUEDE (MAY NOT) ser un URI relativo.
WSDL permite la asociacin de los atributos namespace y location de un documento utilizando una
instruccin import:
<definitions...>
<import namespace="uri" location="uri"/> *
</definitions>
La resolucin de QNames en WSDL es similar a la resolucin de QNames descrita en la especificacin de
esquemas XML [11].
Al utilizar un QName (en ingls) se hace referencia a una definicin de WSDL. Se puede hacer referencia
a los siguientes tipos de definiciones que contiene un documento WSDL:
Cada tipo de definicin de WSDL enumerada anteriormente tiene su propio mbito de nombre (por
ejemplo, los nombres de puerto y los nombres de mensaje nunca entran en conflicto). Los nombres,
dentro de un mbito de nombre, DEBEN (MUST) ser nicos en un documento WSDL.
2.1.2 Estilo de creacin
El uso del elemento import permite separar los diferentes elementos de una definicin de servicio en
documentos independientes, los cuales podrn ser importados llegado el caso. Esta tcnica ayuda a
escribir definiciones de servicio ms claras, separando las definiciones en funcin del nivel de abstraccin.
Tambin maximiza la capacidad de reutilizacin de todo tipo de definiciones de servicio. En consecuencia,
los documentos WSDL estructurados de este modo son ms fciles de utilizar y mantener. El ejemplo 2,
que aparece a continuacin, muestra cmo utilizar este estilo de creacin para definir el servicio
presentado en el Ejemplo 1. Aqu se separan las definiciones en tres documentos: definiciones del tipo de
datos, definiciones abstractas y enlaces especficos del servicio. Evidentemente, el uso de este
mecanismo no se limita a las definiciones presentadas de forma explcita en el ejemplo, que utiliza slo
elementos del lenguaje definidos en esta especificacin. Tambin se pueden codificar y reutilizar, de
manera similar, otros tipos de definiciones basadas en extensiones de lenguaje adicionales.
http://example.com/stockquote/stockquote.xsd
<?xml version="1.0"?>
<schema targetNamespace="http://example.com/stockquote/schemas"
xmlns="http://www.w3.org/1999/XMLSchema">
<element name="GetLastTradePrice">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="GetLastTradePriceResult">
<complexType>
<all>
<element name="result" type="float"/>
</all>
</complexType>
</element>
</schema>
http://example.com/stockquote/stockquote.wsdl
<?xml version="1.0"?>
<definitions name="StockQuote"
targetNamespace="http://example.com/stockquote/definitions"
xmlns:tns="http://example.com/stockquote/definitions"
xmlns:xsd1="http://example.com/stockquote/schemas"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<import namespace="http://example.com/stockquote/schemas"
location="http://example.com/stockquote/stockquote.xsd"/>
<message name="GetLastTradePriceRequest">
<part name="body"element="xsd1:GetLastTradePrice"/>
</message>
<message name="GetLastTradePriceResponse">
<part name="body"element="xsd1:GetLastTradePriceResult"/>
</message>
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceRequest"/>
<output message="tns:GetLastTradePriceResponse"/>
</operation>
</portType>
</definitions>
http://example.com/stockquote/stockquoteservice.wsdl
<?xml version="1.0"?>
<definitions name="StockQuote"
targetNamespace="http://example.com/stockquote/service"
xmlns:tns="http://example.com/stockquote/service"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<import namespace="http://example.com/stockquote/definitions"
location="http://example.com/stockquote/stockquote.wsdl"/>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="document"/>
<operation name="GetLastTradePrice">
<soap:operation soapAction="http://my.org/GetLastTradePrice"/>
</operation>>
</binding>
<service name="StockQuoteService">
<documentation>Mi primer servicio</documentation>
<port name="StockQuotePort" binding="tns:StockQuoteBinding">
<soap:address location="http://my.org/stockquote"/>
</port>
</service>
</definitions>
2.1.3 Extensibilidad y enlace del lenguaje
En WSDL el trmino enlace hace referencia al proceso que asocia informacin sobre un protocolo o
formato de datos a una entidad abstracta, como por ejemplo un mensaje, operacin o portType. WSDL
admite elementos que representan una tecnologa especfica (denominados elementos de
extensibilidad en este documento) bajo varios elementos definidos por WSDL. Estos puntos de
extensibilidad se utilizan normalmente con el fin de especificar informacin de enlace para un protocolo o
formato de mensaje determinado, pero no se limitan a dicho uso. Los elementos de extensibilidad DEBEN
(MUST) utilizar un espacio de nombres de XML distinto al de WSDL. Las ubicaciones especficas del
documento en que pueden aparecer los elementos de extensibilidad se describen de forma detallada en
el Apndice A3.
Los elementos de extensibilidad se utilizan normalmente para determinar algn enlace especfico de una
tecnologa. Con el propsito de distinguir si la semntica del enlace especfico de una tecnologa es
necesaria para la comunicacin o si, por el contrario, es opcional, los elementos de extensibilidad PUEDEN
(MAY) colocar un atributo wsdl:required de tipo booleano sobre el elemento. El valor predeterminado
para required es false. El atributo required se define en el espacio de nombres
"http://schemas.xmlsoap.org/wsdl/".
<definitions...>
<types>
<xsd:schema.../>*
</types>
</definitions>
El sistema de tipos de XSD se puede utilizar para definir los tipos en un mensaje, independientemente de
si el formato de conexin resultante es XML o si, por el contrario, el esquema XSD resultante valida el
particular formato de conexin. Esto es especialmente interesante si hay varios enlaces para el mismo
mensaje o si slo hay un enlace que no pertenece a un sistema de tipos de uso generalizado. En estos
casos, el mtodo recomendado para codificar tipos abstractos utilizando XSD es el siguiente:
Sin embargo, puesto que no es razonable esperar una nica gramtica del sistema de tipos que se utilice
para describir todos los tipos abstractos presentes y futuros, WSDL permite la agregacin de sistemas de
tipos mediante elementos de extensibilidad. Un elemento de extensibilidad puede aparecer bajo el
elemento types para identificar el sistema de definicin de tipos que se est utilizando y para
proporcionar un elemento XML contenedor de las definiciones de tipos. La funcin de este elemento es
<definitions...>
<types>
<-- type-system extensibility element --> *
</types>
</definitions>
2.3 Mensajes
Los mensajes se componen de una o ms partes lgicas. Cada parte est asociada a un tipo procedente
de algn sistema de tipos que utiliza un atributo de escritura de mensajes. El conjunto de atributos de
escritura de mensajes es extensible. WSDL define varios atributos de este tipo para su uso con XSD:
type. Hace referencia a un tipo simpleType o complexType de XSD que utiliza un QName.
Se pueden definir otros atributos de escritura de mensajes siempre que utilicen un espacio de nombres
distinto al de WSDL. Los elementos de extensibilidad del enlace tambin pueden utilizar atributos de
escritura de mensajes.
La sintaxis para definir un mensaje se muestra a continuacin. Los atributos de escritura de mensajes
(que pueden variar segn el sistema de tipos utilizado) aparecen en negrita.
<definitions...>
<message name="nmtoken"> *
<part name="nmtoken"? element="qname" type="qname"?/> *
</message>
</definitions>
El atributo name de message proporciona un nombre nico entre todos los mensajes definidos en el
documento WSDL adjunto.
El atributo name de part proporciona un nombre nico entre todas las partes del mensaje adjunto.
2.3.1 Partes del mensaje
Las partes de un mensaje son un mecanismo flexible para describir su contenido abstracto y lgico. Un
enlace puede hacer referencia al nombre de una parte, con el fin de precisar informacin especfica de
enlaces sobre dicha parte. Por ejemplo, si se define un mensaje para su uso con RPC, una parte PUEDE
(MAY) representar un parmetro del mensaje. Sin embargo, los enlaces deben inspeccionarse para
determinar el significado real de la parte.
Los elementos de varias partes se utilizan cuando el mensaje tiene distintas unidades lgicas. Por
ejemplo, el siguiente mensaje consta de una orden de compra (PO, Purchase Order) y un cliente
(Customer).
<definitions...>
<types>
<schema...>
<element name="PO" type="tns:POType"/>
<complexType name="POType">
<element name="id" type="string/>
<element name="name" type="string"/>
<element name="items">
<complexType>
<element name="item" type="tns:Item" minOccurs="0"
maxOccurs="unbounded"/>
</complexType>
</element>
</complexType>
<complexType name="Item">
<element name="quantity" type="int"/>
<element name="product" type="string"/>
</complexType>
<element name="Customer" type="tns:CustomerType"/>
<complexType name="CustomerType">
<element name="name" type="string"/>
</complexType>
</schema>
</types>
<message name="PO">
<part name="po" element="tns:PO"/>
<part name="customer" element="tns:Customer"/>
</message>
</definitions>
Sin embargo, si los contenidos del mensaje son suficientemente complejos, se podr utilizar una sintaxis
alternativa para especificar la complicada estructura del mensaje utilizando directamente el sistema de
tipos. En el siguiente ejemplo, el cuerpo est formado por una orden de compra o por un conjunto de
clientes.
<definitions...>
<types>
<schema...>
<complexType name="POType">
<element name="id" type="string/>
<element name="name" type="string"/>
<element name="items">
<complexType>
<element name="item" type="tns:Item" minOccurs="0"
maxOccurs="unbounded"/>
</complexType>
</element>
</complexType>
<complexType name="Item">
<element name="quantity" type="int"/>
<element name="product" type="string"/>
</complexType>
<complexType name="CustomerType">
<element name="name" type="string"/>
</complexType>
<complexType name="Composite">
<choice>
<element name="PO" minOccurs="1" maxOccurs="1"
type="tns:POType"/>
<element name="Customer" minOccurs="0" maxOccurs="unbounded"
type="tns:CustomerType"/>
</choice>
</complexType>
</schema>
</types>
<message name="PO">
<part name="composite" type="tns:Composite"/>
</message>
</definitions>
2.3.2 Mensajes abstractos frente a mensajes concretos
Las definiciones de los mensajes siempre se consideran como definiciones abstractas del contenido de los
mismos. Los enlaces de mensajes describen cmo el contenido abstracto se asigna a un formato
concreto. Sin embargo, en algunos casos, la definicin abstracta puede coincidir parcial o totalmente con
la representacin concreta para uno o ms enlaces, por lo que esos enlaces ofrecern una informacin de
asignacin escasa o nula. En cambio, otros enlaces de la misma definicin de mensaje pueden requerir
una amplia informacin de asignacin. Por esta razn, hasta que los enlaces hayan sido inspeccionados
no se podr determinar el "nivel de abstraccin" del mensaje.
2.4 Tipos de puertos
Un tipo de puerto es un conjunto de operaciones abstractas y de mensajes abstractos que recibe un
nombre.
<wsdl:definitions...>
<wsdl:portType name="nmtoken">
<wsdl:operation name="nmtoken".../> *
</wsdl:portType>
</wsdl:definitions>
El atributo name de portType proporciona un nombre nico entre todos los tipos de puerto definidos en
el documento WSDL adjunto.
WSDL tiene cuatro primitivas de transmisin que los puntos finales de red pueden admitir:
WSDL hace referencia a estas primitivas como operations. Aunque las operaciones de peticin/respuesta
y solicitud/respuesta se pueden modelar de forma abstracta utilizando dos mensajes unidireccionales,
resulta til modelarlas como tipos de operaciones primitivas debido a que:
Algunos puntos finales slo pueden recibir mensajes si son el resultado de una operacin de
peticin-respuesta sincrnica.
Un flujo simple puede derivarse algortmicamente desde estas primitivas cuando se desee en la
definicin del flujo.
Las operaciones hacen referencia a los mensajes implicados utilizando el atributo message de tipo
QName. Este atributo sigue las reglas definidas por WSDL para la vinculacin (ver seccin 2.1.1).
2.4.1 Operacin unidireccional
La gramtica para operaciones unidireccionales se muestra a continuacin:
<wsdl:definitions...> <wsdl:portType...> *
<wsdl:operation name="nmtoken">
<wsdl:input name="nmtoken"? message="qname"/>
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
El elemento input especifica el formato de mensaje abstracto para la operacin unidireccional.
2.4.2 Operacin de peticin-respuesta
La gramtica para operaciones de peticin-respuesta se muestra a continuacin:
<wsdl:definitions...>
<wsdl:portType...> *
<wsdl:operation name="nmtoken" parameterOrder="nmtokens">
<wsdl:input name="nmtoken"? message="qname"/>
<wsdl:output name="nmtoken"? message="qname"/>
<wsdl:fault name="nmtoken" message="qname"/>*
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
Los elementos input y output especifican el formato de mensaje abstracto para la peticin y la respuesta,
respectivamente. Los elementos fault opcionales especifican el formato de mensaje abstracto para
cualquier mensaje de error que pueda producirse como resultado de la operacin (adems de los
especficos del protocolo).
<wsdl:definitions...>
<wsdl:portType...> *
<wsdl:operation name="nmtoken" parameterOrder="nmtokens">
<wsdl:output name="nmtoken"? message="qname"/>
<wsdl:input name="nmtoken"? message="qname"/>
<wsdl:fault name="nmtoken" message="qname"/>*
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
Los elementos input y output especifican el formato de mensaje abstracto para la solicitud y la respuesta
requeridas, respectivamente. Los elementos fault opcionales especifican el formato de mensaje abstracto
para cualquier mensaje de error que pueda producirse como resultado de la operacin (adems de los
especficos del protocolo).
<wsdl:definitions...>
<wsdl:portType...> *
<wsdl:operation name="nmtoken">
<wsdl:output name="nmtoken"? message="qname"/>
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
El elemento output especifica el formato de mensaje abstracto para la operacin de notificacin.
2.4.5 Nombres de los elementos de una operacin
El atributo name de los elementos input y output proporciona un nombre nico entre todos los
elementos de entrada y salida dentro del tipo de puerto adjunto.
Para evitar tener que nombrar cada elemento de entrada y salida de una operacin, WSDL proporciona
algunos valores predeterminados basados en el nombre de la operacin. Si no se especifica el atributo de
nombre en un mensaje unidireccional o de notificacin, se establecer como valor predeterminado el
nombre de la operacin. Si el atributo de nombre no se especifica en los mensajes entrantes o salientes
de una operacin de peticin-respuesta o solicitud-respuesta, se establecer como valor predeterminado
el nombre de la operacin, adjuntando "Peticin"/"Solicitud" o "Respuesta", respectivamente.
Se debe asignar un nombre a cada elemento de error para permitir a los enlaces especificar el formato
concreto del mensaje de error. El nombre del elemento de error es nico dentro del conjunto de errores
definidos para la operacin.
2.4.6 Orden de los parmetros de una operacin
Las operaciones no especifican si deben o no utilizarse con enlaces de tipo RPC. Sin embargo, cuando se
utiliza una operacin con un enlace RPC, conviene ser capaz de capturar la firma de la funcin de RPC
original. Por esta razn, las operaciones de peticin-respuesta o solicitud-respuesta PUEDEN (MAY)
especificar una lista de nombres de parmetros mediante el atributo parameterOrder (de tipo
nmtokens). El valor del atributo es una lista de nombres de las distintas partes del mensaje separados
por un solo espacio. Las partes designadas DEBEN (MUST) seguir las reglas que se especifican a
continuacin:
El orden en que se asignan nombres a las partes refleja el orden de los parmetros en la firma
de RPC
Observe que esta informacin sirve de "sugerencia" y puede obviarse sin problema si no se est
interesado en el tema de las firmas de RPC. Adems, no se requiere estar presente, incluso si la
operacin se va a utilizar con un enlace de tipo RPC.
2.5 Enlaces
Los enlaces determinan el formato de mensaje y los detalles de protocolo de las operaciones y mensajes
definidos por un portType determinado. Puede haber un nmero indeterminado de enlaces para un
portType concreto. La gramtica para enlaces se muestra a continuacin:
<wsdl:definitions...>
<wsdl:binding name="nmtoken" type="qname"> *
<-- extensibility element (1) --> *
<wsdl:operation name="nmtoken"> *
<-- extensibility element (2) --> *
<wsdl:input name="nmtoken"?> ?
<-- extensibility element (3) -->
</wsdl:input>
<wsdl:output name="nmtoken"?> ?
<-- extensibility element (4) --> *
</wsdl:output>
<wsdl:fault name="nmtoken"> *
<-- extensibility element (5) --> *
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
</wsdl:definitions>
El atributo name proporciona un nombre nico entre todos los enlaces definidos en el documento WSDL
adjunto.
Los enlaces hacen referencia al portType que enlazan utilizando el atributo type. Este valor QName sigue
las reglas de vinculacin definidas por WSDL (ver seccin 2.1.1).
Las operaciones de enlace y los elementos de entrada, salida y error se correlacionan con los elementos
portType correspondientes utilizando el atributo name de cada elemento y se comportan exactamente
igual que en portType (ver seccin 2.4.5).
Los elementos de extensibilidad del enlace se utilizan para especificar la gramtica concreta para los
mensajes entrantes (3), salientes (4) y de error (5). Tambin es necesario suministrar informacin de
enlace por operacin (2) as como informacin por enlace (1).
<wsdl:definitions...>
<wsdl:service...> *
<wsdl:port name="nmtoken" binding="qname"> *
<-- extensibility element (1) -->
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
El atributo name proporciona un nombre nico entre todos los puertos definidos en el documento WSDL
adjunto.
El atributo binding (de tipo QName) hace referencia al enlace que utiliza las reglas de vinculacin
definidas por WSDL (ver seccin 2.1.1).
Los elementos de extensibilidad del enlace (1) suelen especificar la informacin de direccin para el
puerto.
Un puerto NO PUEDE (MAY NOT) especificar ningn tipo de informacin de enlace distinta a la
informacin de direccin.
2.7 Servicios
Un servicio agrupa un conjunto de puertos relacionados:
<wsdl:definitions...>
<wsdl:service name="nmtoken"> *
<wsdl:port.../>*
</wsdl:service>
</wsdl:definitions>
El atributo name proporciona un nombre nico entre todos los servicios definidos en el documento WSDL
adjunto.
Ningn puerto se comunica con los otros (por ejemplo, la salida de un puerto no es la entrada
de otro).
Si un servicio tiene varios puertos del mismo tipo, pero emplean enlaces o direcciones distintas,
los puertos sern alternativas. Cada puerto presenta un comportamiento semnticamente
equivalente (dentro de las limitaciones de transporte y formato de mensaje impuestas por cada
enlace). Esto permite a un cliente de un documento WSDL elegir determinados puertos con los que
comunicarse basndose en ciertos criterios (protocolo, distancia, etc.).
Podemos determinar los tipos de puertos de un servicio mediante el examen de los mismos. Esto
permite a un consumidor de un documento WSDL determinar si desea comunicarse con un servicio
en particular, basndose en si admite o no distintos tipos de puertos. Esto resulta til si existe
alguna relacin implcita entre las operaciones de los tipos de puertos y si todo el conjunto de tipos
de puertos debe estar presente para cumplir una tarea determinada.
3. Enlace SOAP
WSDL incluye un enlace para los puntos finales de red de SOAP 1.1 que admite la siguiente informacin
especfica de protocolo:
Una lista de definiciones de encabezados que se transmiten como parte del sobre de SOAP
Esta gramtica de enlaces ha dejado de ser una especificacin exhaustiva dada la evolucin del conjunto
de enlaces SOAP. Nada impide que algunos enlaces SOAP adicionales deriven de partes de esta
gramtica. Por ejemplo:
Los enlaces SOAP que no utilizan un esquema de direccionamiento de URI pueden sustituir otro
esquema de direccionamiento reemplazando el elemento soap:address definido en la seccin 3.8.
Los enlaces SOAP que no requieren SOAPAction omiten el atributo soapAction definido en la
seccin 3.4.
Ejemplo 3. Enlace SOAP de operacin unidireccional sobre SMTP que utiliza un encabezado de
SOAP
<?xml version="1.0"?>
<definitions name="StockQuote"
targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl"
xmlns:xsd1="http://example.com/stockquote.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<message name="SubscribeToQuotes">
<part name="body" element="xsd1:SubscribeToQuotes"/>
</message>
<portType name="StockQuotePortType">
<operation name="SubscribeToQuotes">
<input message="tns:SubscribeToQuotes"/>
</operation>
</portType>
<binding name="StockQuoteSoap" type="tns:StockQuotePortType">
<soap:binding style="document" transport="http://example.com/smtp"/>
<operation name="SubscribeToQuotes">
<input message="tns:SubscribeToQuotes">
<soap:header element="xsd1:SubscriptionHeader"/>
</input>
</operation>
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort" binding="tns:StockQuoteSoap">
<soap:address location="mailto://subscribe@example.com"/>
</port>
</service>
<types>
<schema targetNamespace="http://example.com/stockquote.xsd"
xmlns="http://www.w3.org/1999/XMLSchema">
<element name="SubscribeToQuotes">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="SubscriptionHeader" type="uriReference"/>
</schema>
</types>
</definitions>
Este ejemplo muestra como una peticin GetLastTradePrice de SOAP 1.1 se puede enviar a un servicio
StockQuote mediante el enlace HTTP de SOAP 1.1. La peticin toma un smbolo de comprobacin de tipo
string, una hora de tipo timeInstant y devuelve el precio como un valor float en la respuesta de SOAP.
<?xml version="1.0"?>
<definitions name="StockQuote"
targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl"
xmlns:xsd1="http://example.com/stockquote.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<message name="GetLastTradePriceRequest">
<part name="tickerSymbol" element="xsd:string"/>
<part name="time" element="xsd:timeInstant"/>
</message>
<message name="GetLastTradePriceResponse">
<part name="result" type="xsd:float"/>
</message>
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceRequest"/>
<output message="tns:GetLastTradePriceResponse"/>
</operation>
</portType>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="encoded"
namespace="http://example.com/stockquote"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded"
namespace="http://example.com/stockquote"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>>
</binding>
<service name="StockQuoteService">
<documentation>Mi primer servicio</documentation>
<port name="StockQuotePort" binding="tns:StockQuoteBinding">
<soap:address location="http://example.com/stockquote"/>
</port>
</service>
</definitions>
3.2 Extensin de WSDL con el enlace SOAP
El enlace SOAP extiende WSDL con los siguientes elementos de extensin:
<definitions...>
<binding...>
<soap:binding style="rpc|document" transport="uri">
<operation...>
<soap:operation soapAction="uri"? style="rpc|document"?>?
<input>
<soap:body parts="nmtokens"? use="literal|encoded"
encodingStyle="uri-list"? namespace="uri"?>
<soap:header element="qname" fault="qname"?>*
</input>
<output>
<soap:body parts="nmtokens"? use="literal|encoded"
encodingStyle="uri-list"? namespace="uri"?>
<soap:header element="qname" fault="qname"?>*
</output>
<fault>*
<soap:fault name="nmtoken" use="literal|encoded"
encodingStyle="uri-list"? namespace="uri"?>
</fault>
</operation>
</binding>
<port...>
<soap:address location="uri"/>
</port>
</definitions>
Cada elemento de extensin del enlace SOAP se trata en secciones posteriores.
3.3 soap:binding
El objetivo del elemento de enlace SOAP es indicar que el enlace est vinculado al formato de protocolo
SOAP: sobre, encabezado y cuerpo. Este elemento no hace ninguna referencia a la codificacin o formato
del mensaje (por ejemplo, que sigue necesariamente la seccin 5 de la especificacin de SOAP 1.1).
El elemento soap:binding DEBE (MUST) estar presente cuando se utilice el enlace SOAP.
<definitions...>
<binding...>
<soap:binding transport="uri"? style="rpc|document"?>
</binding>
</definitions>
La valor del atributo style es el predeterminado para el atributo style de cada operacin incluida. Si se
omite el atributo style, se considerar como tal al elemento "document".Consulte la seccin 3.4 para
obtener ms informacin sobre la semntica de style.
El valor del atributo requerido transport indica a qu transporte de SOAP corresponde este enlace. El
valor de URI http://schemas.xmlsoap.org/soap/http corresponde al enlace HTTP en la
especificacin de SOAP. Se pueden utilizar otros URI para indicar otros transportes (tales como SMTP,
FTP, etc.).
3.4 soap:operation
El elemento soap:operation ofrece informacin de la operacin en conjunto.
<definitions...>
<binding...>
<operation...>
<soap:operation soapAction="uri"? style="rpc|document"?>
</operation>
</binding>
</definitions>
El atributo style indica si la operacin est orientada a RPC (mensajes que contienen parmetros y
valores de retorno) u orientada a documento (mensaje que contiene documentos). Esta informacin
puede utilizarse para seleccionar un modelo de programacin adecuado. Si no se especifica el atributo, se
establecer como valor predeterminado el especificado en el elemento soap:binding. Si el elemento
soap:binding no especifica un estilo, se considerar como tal al elemento "document".
El atributo soapAction especifica el valor del encabezado de SOAPAction para esta operacin. Este valor
de URI debera utilizarse directamente como valor del encabezado de SOAPAction; al hacer la peticin, no
se debe intentar convertir un valor relativo de URI en valor absoluto. Dicho valor se requiere para el
enlace de protocolo HTTP de SOAP (no tiene un valor predeterminado). Para otros enlaces de protocolo
SOAP, tal valor NO PUEDE (MAY NOT) haberse especificado y el elemento soap:operation PUEDE (MAY)
omitirse.
3.5 soap:body
El elemento soap:body especifica cmo aparecen las partes de un mensaje en el elemento SOAP Body.
Las partes de un mensaje pueden ser definiciones abstractas de tipos o bien definiciones concretas de
esquemas. En el caso de las definiciones abstractas, los tipos aparecen en serie conforme a un conjunto
de reglas definidas por un estilo de codificacin. Cada estilo de codificacin se identifica mediante una
lista de URI, como ocurre en la especificacin de SOAP. Puesto que algunos estilos de codificacin, tales
como la codificacin SOAP (http://schemas.xmlsoap.org/soap/encoding/), admiten variaciones en el
formato de los mensajes para un conjunto determinado de tipos abstractos, estar en manos del lector
del mensaje comprender todas las variaciones de formato: "el lector acta correctamente". Para evitar
tener que admitir todas las variaciones, se puede definir un mensaje de forma concreta y despus indicar,
a ttulo informativo, su estilo de codificacin original (si existe). En este caso, el creador del mensaje
debe ajustarse exactamente al esquema especificado: "el escritor acta correctamente".
El elemento soap:body se utiliza para definir tanto mensajes orientados a RPC como mensajes orientados
a documento. Si el estilo de la operacin padre es "rpc", cada parte es un parmetro o valor de retorno y
aparece dentro de un elemento empaquetador en Body (ver seccin 7.1 de la especificacin de SOAP). Si
el estilo es "document", cada parte es un documento y aparece directamente dentro de Body. Se utilizan
los mismos mecanismos para definir los contenidos de estos dos elementos (Body o elemento
empaquetador).
<definitions...>
<binding...>
<operation...>
<input>
<soap:body parts="nmtokens"? use="literal|encoded"?
encodingStyle="uri-list"? namespace="uri"?>
</input>
<output>
<soap:body parts="nmtokens"? use="literal|encoded"?
encodingStyle="uri-list"? namespace="uri"?>
</output>
</operation>
</binding>
</definitions>
El atributo opcional parts de tipo nmtokens indica qu partes aparecen en algn lugar dentro de la
porcin SOAP Body del mensaje (otras partes del mensaje pueden aparecer en otras porciones del
mensaje, como por ejemplo cuando SOAP se utiliza junto con el enlace MIME multiparte/relacionado). Si
se omite el atributo parts, se considerar que todas las partes definidas por el mensaje se incluyen en la
porcin SOAP Body.
El atributo requerido use indica si las partes del mensaje se codifican utilizando reglas de codificacin o
si, por el contrario, las partes han definido el esquema concreto del mensaje.
Si el valor del atributo use es encoded, entonces cada parte del mensaje hace referencia a un tipo
abstracto utilizando el atributo type. Estos tipos abstractos se utilizan para producir un mensaje concreto
aplicando una codificacin determinada por el atributo encodingStyle. Las partes names, types y el
valor del atributo namespace son entradas para la codificacin, aunque el atributo namespace slo se
refiere al contenido no definido explcitamente por los tipos abstractos. Si el estilo de codificacin
mencionado admite variaciones en su formato (como ocurre con la codificacin SOAP), entonces, todas
las variaciones DEBEN (MUST) ser admitidas ("el lector acta correctamente").
Si el valor del atributo use es literal, entonces cada parte hace referencia a un esquema concreto
utilizando el atributo element para partes simples o el atributo type para partes compuestas (ver
seccin 2.3.1). El valor del atributo encodingStyle PUEDE (MAY) utilizarse para indicar que el formato
concreto deriva del uso de una determinada codificacin (como por ejemplo la codificacin SOAP), pero
que slo se admite la variacin especificada ("el escritor acta correctamente").
El valor del atributo encodingStyle es una lista de URI, separados por un solo espacio. Los URI
representan codificaciones que se emplean en el mensaje, en orden de mayor a menor grado de
restriccin (exactamente igual que el atributo encodingStyle definido en la especificacin de SOAP).
3.6 soap:fault
El elemento soap:fault especifica el contenido del elemento SOAP Fault Details. Se crea segn el modelo
del elemento soap:body (ver seccin 3.5).
<definitions...>
<binding...>
<operation...>
<fault>*
<soap:fault name="nmtoken" use="literal|encoded"
encodingStyle="uri-list"? namespace="uri"?>
</fault>
</operation>
</binding>
</definitions>
El atributo name relaciona soap:fault con el elemento wsdl:fault definido para la operacin.
El mensaje de error DEBE (MUST) tener una nica parte. Los atributos use, encodingStyle y
namespace se utilizan del mismo modo que con soap:body (ver seccin 3.5).
3.7 soap:header
El elemento soap:header permite definir los encabezados que se transmitirn dentro del elemento Header
del sobre de SOAP. No es necesario hacer una lista exhaustiva de todos los encabezados en esta seccin.
Puede ser comn el que otras especificaciones del documento WSDL provoquen la agregacin de
encabezados a la carga real, por lo que no se requiere hacer una lista de todos esos encabezados aqu.
<definitions...>
<binding...>
<operation...>
<input>
<soap:header element="qname" fault="qname"?>*
</input>
<output>
<soap:header element="qname" fault="qname"?>*
</output>
</operation>
</binding>
</definitions>
El atributo element (de tipo QName) hace referencia al esquema concreto del elemento header. El
esquema para un encabezado NO PUEDE (MAY NOT) incluir definiciones de los atributos soap:actor y
soap:mustUnderstand.
El atributo opcional fault (similar al atributo element) permite la especificacin del esquema concreto
para el encabezado en caso de error relativo al mismo. La especificacin de SOAP establece que los
errores referentes a los encabezados deben devolverse en encabezados y que este mecanismo permite la
especificacin del esquema para tales encabezados.
3.8 soap:address
El enlace de direccin SOAP se utiliza para asignar una direccin a un puerto (un URI). Un puerto que
utilice el enlace SOAP DEBE (MUST) especificar una direccin exacta.
<definitions...>
<port...>
<binding...>
<soap:address location="uri"/>
</binding>
</port>
</definitions>
4. Enlace HTTP GET & POST
WSDL incluye un enlace para los verbos GET y POST de HTTP 1.1 con el fin de describir la interaccin
entre un explorador Web y un sitio Web. Esto permite que otras aplicaciones distintas de los exploradores
Web puedan interactuar con el sitio. Se debe determinar la siguiente informacin especfica de protocolo:
Una direccin relativa para cada operacin (relativa a la direccin base definida por el puerto)
El siguiente ejemplo muestra tres puertos enlazados de forma distinta para un tipo de puerto
determinado.
Si los valores que se pasan son part1=1, part2=2, part3=3, el formato de solicitud para cada puerto ser
el siguiente:
<definitions...>
<message name="m1">
<part name="part1" type="xsd:string"/>
<part name="part2" type="xsd:int"/>
<part name="part3" type="xsd:string"/>
</message>
<message name="m2">
<part name="image" type="xsd:binary"/>
</message>
<portType name="pt1">
<operation name="o1">
<input message="tns:m1"/>
<output message="tns:m2"/>
</operation>
</portType>
<service name="service1">
<port name="port1" binding="tns:b1">
<http:address location="http://example.com/"/>
</port>
<port name="port2" binding="tns:b1">
<http:address location="http://example.com/"/>
</port>
<port name="port3" binding="tns:b1">
<http:address location="http://example.com/"/>
</port>
</service>
<binding name="b1" type="pt1">
<http:binding verb="GET"/>
<operation name="o1">
<http:operation location="o1/A(part1)B(part2)/(part3)"/>
<input>
<http:urlReplacement/>
</input>
<output>
<mime:content type="image/gif"/>
<mime:content type="image/jpeg"/>
</output>
</operation>
</binding>
<binding name="b2" type="pt1">
<http:binding verb="GET"/>
<operation name="o1">
<http:operation location="o1"/>
<input>
<http:urlEncoded/>
</input>
<output>
<mime:content type="image/gif"/>
<mime:content type="image/jpeg"/>
</output>
</operation>
</binding>
<binding name="b3" type="pt1">
<http:binding verb="POST"/>
<operation name="o1">
<http:operation location="o1"/>
<input>
<mime:content type="application/x-www-form-urlencoded"/>
</input>
<output>
<mime:content type="image/gif"/>
<mime:content type="image/jpeg"/>
</output>
</operation>
</binding>
</definitions>
4.2 Extensin de WSDL con el enlace HTTP GET/POST
El enlace HTTP GET/POST extiende WSDL con los siguientes elementos de extensin:
<definitions...>
<binding...>
<http:binding verb="nmtoken"/>
<operation...>
<http:operation location="uri"/>
<input...>
<-- mime elements -->
</input>
<output...>
<-- mime elements -->
</output>
</operation>
</binding>
<port...>
<http:address location="uri"/>
</port>
</definitions>
Estos elementos se tratan en secciones posteriores.
4.3 http:address
El atributo location especifica el URI base para el puerto. El valor del atributo se combina con los valores
del atributo location del elemento de enlace http:operation. Para obtener ms detalles consulte la seccin
4.5.
4.4 http:binding
El elemento http:binding indica que este enlace utiliza el protocolo HTTP.
<definitions...>
<binding...>
<http:binding verb="nmtoken"/>
</binding>
</definitions>
El valor del atributo requerido verb indica el verbo de HTTP. Algunos valores comunes son GET o POST,
pero se pueden utilizar otros. Observe que los verbos de HTTP distinguen entre maysculas y minsculas.
4.5 http:operation
El atributo location especifica un URI relativo para la operacin. Este URI se combina con el URI
especificado en el elemento http:address para formar el URI completo de la solicitud HTTP. El valor de
URI DEBE (MUST) ser un URI relativo.
<definitions...>
<binding...>
<operation...>
<http:operation location="uri"/>
</operation>
</binding>
</definitions>
4.6 http:urlEncoded
El elemento urlEncoded indica que todas las partes de un mensaje estn codificadas en el URI de la
solicitud HTTP, utilizando las reglas de codificacin URI estndar (nombre1=valor&nombre2=valor...). Los
nombres de los parmetros corresponden a los nombres de las partes del mensaje. Cada valor ofrecido
por una parte se codifica mediante un par nombre=valor. Puede utilizarse con GET para especificar la
codificacin URL o con POST para especificar un FORM-POST. Para GET, el carcter "?" se adjunta
automticamente segn sea necesario.
<http:urlEncoded/>
Para obtener ms informacin sobre las reglas de los parmetros de codificacin URI, consulte [5], [6] y
[7].
4.7 http:urlReplacement
El elemento http:urlReplacement indica que todas las partes del mensaje se codifican en la solicitud
HTTP, utilizando un algoritmo de sustitucin:
La bsqueda tiene lugar antes de que el valor de http:operation se combine con el valor del
atributo location de http:address.
Hay un patrn de bsqueda para cada parte del mensaje. La cadena de patrn de bsqueda es
el nombre de cada parte del mensaje, que debe ir entre parntesis "(" y ")".
Las coincidencias se realizan antes de que se sustituya cualquier valor (los valores reemplazados
no desencadenarn coincidencias adicionales).
Las partes del mensaje NO PUEDEN (MAY NOT) tener valores repetitivos.
<http:urlReplacement/>
5. Enlace MIME
WSDL incluye un mtodo para enlazar tipos abstractos a mensajes concretos en formato MIME. Se
definen algunos enlaces para los siguientes tipos MIME:
multipart/related
text/xml
El amplio conjunto de tipos MIME definidos est en continua evolucin, por lo que no compete a WSDL
definir exhaustivamente una gramtica XML para cada tipo MIME. Nada impide que se agreguen
gramticas adicionales para definir tipos MIME adicionales segn sea necesario. Si un tipo string de MIME
es suficiente para describir el contenido, se podr utilizar el elemento mime definido a continuacin.
5.1 Ejemplo de enlace MIME
Ejemplo 7. Utilizando multipart/related con SOAP
Este ejemplo describe cmo puede enviarse una solicitud GetCompanyInfo de SOAP 1.1 a un servicio
StockQuote mediante el enlace HTTP de SOAP 1.1. La solicitud toma un smbolo de comprobacin de tipo
string. La respuesta contiene varias partes codificadas en formato MIME multipart/related: un sobre de
SOAP que contiene la cotizacin de mercado actual como un float, cero o ms documentos sobre
mercadotecnia en formato HTML y un logotipo de empresa opcional en formato GIF o bien JPEG.
<definitions...>
<types>
<schema...>
<element name="GetCompanyInfo">
<complexType>
<all>
<element name="tickerSymbol " type="string"/>
</all>
</complexType>
</element>
<element name="GetCompanyInfoResult">
<complexType>
<all>
<element name="result" type="float"/>
</all>
</complexType>
</element>
<complexType name="ArrayOfBinary" base="soap:Array">
<all>
<element name="value" type="xsd:binary"/>
</all>
</complexType>
</schema>
</types>
<message name="m1">
<definitions...>
<binding...>
<operation...>
<input...>
<-- mime elements -->
</input>
<output...>
<-- mime elements
</output>
</operation>
</binding>
</definitions>
-->
Los elementos MIME aparecen bajo input y output para especificar el formato MIME. Si aparecen varios,
se considerarn como alternativas.
5.3 mime:content
Para evitar tener que definir un nuevo elemento para cada formato MIME, el elemento mime:content
puede utilizarse si no es necesario transmitir informacin adicional relativa a un formato distinto del tipo
string de MIME.
Si el formato devuelto es XML, pero no se conoce el esquema con anterioridad, el elemento mime
genrico puede utilizarse indicando text/xml:
<mime:content type="text/xml"/>
El comodn (*) puede utilizarse para especificar una familia de tipos mime, por ejemplo todos los tipos de
texto.
<mime:content type="text/*"/>
Los dos ejemplos siguientes especifican todos los tipos mime:
<mime:content type="*/*"/>
<mime:content/>
5.4 mime:multipartRelated
El tipo MIME multipart/related agrega un conjunto arbitrario de secciones MIME formateadas a un
mensaje, utilizando el tipo MIME "multipart/related". El elemento mime:multipartRelated describe el
formato concreto de tal mensaje:
<mime:multipartRelated>
<mime:part> *
<-- mime element -->
</mime:part>
</mime:multipartRelated>
El elemento mime:part describe cada parte de un mensaje multipart/related. Los elementos MIME
aparecen dentro de mime:part para especificar el tipo MIME concreto para cada parte. Si aparece ms
de un elemento MIME dentro de mime:part, se considerarn como alternativas.
5.5 soap:body
Cuando se utiliza el enlace MIME con las solicitudes SOAP, es lcito utilizar el elemento soap:body como
un elemento MIME. Esto indica que el tipo de contenido es "text/xml" y se adjunta un sobre de SOAP.
5.6 mime:mimeXml
Para especificar las cargas XML no compatibles con SOAP (es decir, no tienen un sobre de SOAP), pero
que tienen un esquema particular, el elemento mime:mimeXml puede utilizarse para especificar ese
esquema concreto. El atributo part hace referencia a una parte del mensaje, definiendo el mensaje
concreto del elemento XML raz. El atributo part PUEDE (MAY) omitirse si el mensaje tiene una nica
parte. El atributo part hace referencia a un esquema concreto utilizando el atributo element para partes
simples o type para partes compuestas (ver seccin 2.3.1).
<mime:mimeXml part="nmtoken"?/>
6. Referencias
[2] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, Harvard
University, Marzo 1997 (en ingls)
[4] T. Berners-Lee, R. Fielding, L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC
2396, MIT/LCS, U.C. Irvine, Xerox Corporation, Agosto 1998 (en ingls).
[10] W3C Working Draft "XML Schema Part 1: Structures" (en ingls). Trabajo en curso.
[11] W3C Working Draft "XML Schema Part 2: Datatypes" (en ingls). Trabajo en curso.
HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Body>
<m:GetLastTradePriceResponse xmlns:m="Some-URI">
<Price>34.5</Price>
</m:GetLastTradePriceResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
A 3. Ubicacin de elementos de extensibilidad
Los elementos de extensibilidad pueden aparecer en las siguientes ubicaciones de un documento WSDL:
Ubicacin
Significado
Posible uso
definitions
El elemento de
extensibilidad se
aplica al
documento WSDL
de forma general.
Introducir
informacin adicional
o definiciones en un
documento WSDL de
forma general.
definitions/types
El elemento de
extensibilidad es
un sistema de
tipos.
Especificar el
formato del mensaje
en un sistema de
tipos distinto de XSD.
definitions/service
El elemento de
extensibilidad se
aplica al servicio.
Introducir
informacin adicional
o definiciones para el
servicio.
definitions/service/port
El elemento de
extensibilidad se
aplica al puerto.
Especificar una
direccin para el
puerto.
definitions/binding
El elemento de
extensibilidad se
aplica al enlace de
forma general.
Ofrecer informacin
especfica de
protocolo relativa a
todas las operaciones
en el tipo de puerto
que est siendo
enlazado.
definitions/binding/operation
El elemento de
extensibilidad se
aplica a la
operacin de forma
general.
Ofrecer informacin
especfica de
protocolo relativa
tanto al mensaje
entrante como al
saliente.
definitions/binding/operation/input
El elemento de
extensibilidad se
aplica al mensaje
entrante para la
operacin.
Ofrecer detalles
sobre cmo a las
partes de un mensaje
abstracto se asigna el
protocolo concreto y
el formato de datos
del enlace.
Ofrecer informacin
adicional especfica
del protocolo para el
mensaje entrante.
definitions/binding/operation/output
El elemento de
extensibilidad se
aplica al mensaje
saliente de la
operacin.
Ofrecer detalles
sobre cmo a las
partes de un mensaje
abstracto se asigna el
protocolo concreto y
el formato de datos
del enlace.
Ofrecer informacin
adicional especfica de
protocolo para el
mensaje saliente.
definitions/binding/operation/fault
El elemento de
extensibilidad se
aplica al mensaje
de error de la
operacin.
Ofrecer detalles
sobre cmo a las
partes de un mensaje
abstracto se asigna el
protocolo concreto y
el formato de datos
del enlace.
Ofrecer informacin
adicional especfica de
protocolo para el
mensaje de error.
A 4. Esquemas
A 4.1 Esquema WSDL
<schema targetNamespace="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://www.w3.org/1999/XMLSchema"
elementFormDefault="qualified">
<element name="documentation" >
<complexType content="mixed">
<any minOccurs="0" maxOccurs="unbounded"/>
<anyAttribute/>
</complexType>
</element>
<complexType name="documented" abstract="true" content="elementOnly">
<element ref="wsdl:documentation"/>
</complexType>
<complexType name="openAtts" abstract="true" content="elementOnly">
<annotation>
<documentation>
Este tipo se extiende mediante tipos de componente
para permitir la agregacin de atributos pertenecientes a
otros espacios de nombres.
</documentation>
</annotation>
<element ref="wsdl:documentation"/>
<anyAttribute namespace="##other"/>
</complexType>
<element name="definitions" type="wsdl:definitionsType">
<key name="message">
<selector>message</selector>
<field>@name</field>
</key>
<key name="portType">
<selector>portType</selector>
<field>@name</field>
</key>
<key name="binding">
<selector>binding</selector>
<field>@name</field>
</key>
<key name="service">
<selector>service</selector>
<field>@name</field>
</key>
<key name="import">
<!-- Es demasiado restrictivo?-->
<selector>import</selector>
<field>@namespace</field>
</key>
<key name="port">
<selector>service/port</selector>
<field>@name</field>
</key>
</element>
<complexType name="definitionsType" base="wsdl:documented"
derivedBy="extension">
<element ref="wsdl:import" minOccurs="0" maxOccurs="unbounded"/>
<element ref="wsdl:types" minOccurs="0" maxOccurs="1"/>
<element ref="wsdl:message" minOccurs="0" maxOccurs="unbounded"/>
<element ref="wsdl:portType" minOccurs="0" maxOccurs="unbounded"/>
<element ref="wsdl:binding" minOccurs="0" maxOccurs="unbounded"/>
<element ref="wsdl:service" minOccurs="0" maxOccurs="unbounded"/>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded">
<annotation>
<documentation>para admitir elementos de
extensibilidad</documentation>
</annotation>
</any>
<attribute name="targetNamespace" type="uriReference" use="optional"/>
<attribute name="name" type="NMTOKEN" use="optional"/>
</complexType>
<element name="import" type="wsdl:importType" />
<complexType name="importType" base="wsdl:documented" derivedBy="extension"
>
<attribute name="namespace" type="uriReference" use="required"/>
<attribute name="location" type="uriReference" use="required"/>
</complexType>
<element name="types" type="wsdl:typesType"/>
<complexType name="typesType" base="wsdl:documented" derivedBy="extension" >
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</complexType>
<element name="message" type="wsdl:messageType">
<unique name="part">
<selector>part</selector>
<field>@name</field>
</unique>
</element>
<complexType name="messageType" base="wsdl:documented"
derivedBy="extension">
<element ref="wsdl:part" minOccurs="0" maxOccurs="unbounded"/>
<attribute name="name" type="NCName" use="required"/>
</complexType>
<element name="part" type="wsdl:partType"/>
<complexType name="partType" base="wsdl:openAtts" derivedBy="extension">
<attribute name="name" type="NMTOKEN" use="optional"/>
<attribute name="type" type="QName" use="optional"/>
<attribute name="element" type="QName" use="optional"/>
</complexType>
<element name="portType" type="wsdl:portTypeType">
<key name="operation">
<selector>operation</selector>
<field>@name</field>
</key>
</element>
<complexType name="portTypeType" base="wsdl:documented"
derivedBy="extension" content="elementOnly" >
<element ref="wsdl:operation" minOccurs="0" maxOccurs="unbounded"/>
<attribute name="name" type="NCName" use="required"/>
</complexType>
<element name="operation" type="wsdl:operationType">
<unique name="paramName">
<selector>input| output| fault</selector>
<field>@name</field>
</unique>
</element>
<complexType name="operationType" base="wsdl:documented"
derivedBy="extension" >
<choice minOccurs="1" maxOccurs="1">
<group ref="wsdl:one-way-operation"/>
<group ref="wsdl:request-response-operation"/>
<group ref="wsdl:solicit-response-operation"/>
<group ref="wsdl:notification-operation"/>
</choice>
<attribute name="name" type="NCName" use="required"/>
</complexType>
<group name="one-way-operation">
<sequence>
<element ref="wsdl:input" />
</sequence>
</group>
<group name="request-response-operation">
<sequence>
<element ref="wsdl:input"/>
<element ref="wsdl:output"/>
<element ref="wsdl:fault" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</group>
<group name="solicit-response-operation">
<sequence>
<element ref="wsdl:output"/>
<element ref="wsdl:input" />
<element ref="wsdl:fault" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</group>
<group name="notification-operation">
<sequence>
<element ref="wsdl:output"/>
</sequence>
</group>
<element name="input" type="wsdl:paramType"/>
<element name="output" type="wsdl:paramType"/>
<element name="fault" type="wsdl:faultType"/>
<complexType name="paramType" base="wsdl:documented" derivedBy="extension" >
<attribute name="name" type="NMTOKEN" use="optional"/>
<attribute name="message" type="QName" use="required"/>
</complexType>
<complexType name="faultType" base="wsdl:documented" derivedBy="extension" >
<attribute name="name" type="NMTOKEN" use="required"/>
<attribute name="message" type="QName" use="required"/>
</complexType>
<complexType name="startWithExtensionsType" base="wsdl:documented"
derivedBy="extension"
content="elementOnly" abstract="true">
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</complexType>
<element name="binding" type="wsdl:bindingType"/>
<complexType name="bindingType" base="wsdl:startWithExtensionsType"
derivedBy="extension"
content="elementOnly">
<element name="operation" type="wsdl:binding_operationType" minOccurs="0"
maxOccurs="unbounded"/>
<attribute name="name" type="NCName" use="required"/>
<attribute name="type" type="QName" use="required"/>
</complexType>
<complexType name="binding_operationType"
base="wsdl:startWithExtensionsType"
derivedBy="extension" content="elementOnly">
<element name="input" type="wsdl:startWithExtensionsType" minOccurs="0"
maxOccurs="1"/>
<element name="output" type="wsdl:startWithExtensionsType" minOccurs="0"
maxOccurs="1"/>
<element name="fault" minOccurs="0" maxOccurs="unbounded">
<complexType base="wsdl:startWithExtensionsType"
derivedBy="extension">
<attribute name="name" type="NMTOKEN" use="required"/>
</complexType>
</element>
<attribute name="name" type="NCName" use="required"/>
</complexType>
<element name="service" type="wsdl:serviceType"/>
<complexType name="serviceType" base="wsdl:documented" derivedBy="extension"
>
<element ref="wsdl:port" minOccurs="0" maxOccurs="unbounded"/>
<any namespace="##other" minOccurs="0" maxOccurs="1"/>
<attribute name="name" type="NCName" use="required"/>
</complexType>
<element name="port" type="wsdl:portType"/>
<complexType name="portType" base="wsdl:documented" derivedBy="extension">
<any namespace="##other" minOccurs="0" maxOccurs="1"/>
<attribute name="name" type="NCName" use="required"/>
<attribute name="binding" type="QName" use="required"/>
</complexType>
</schema>
A 4.2 Esquema del enlace SOAP
<schema targetNamespace="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://www.w3.org/1999/XMLSchema">
<element name="binding" type="soap:bindingType"/>
<complexType name="bindingType" content="empty">
<attribute name="transport" type="uriReference" use="optional"/>
<attribute name="style" type="soap:styleChoice" use="optional"/>
</complexType>
<simpleType name="styleChoice" base="string" derivedBy="restriction">
<enumeration value="rpc"/>
<enumeration value="document"/>
</simpleType>
<element name="operation" type="soap:operationType"/>
<complexType name="operationType" content="empty">
<attribute name="soapAction" type="uriReference" use="optional"/>
<attribute name="style" type="soap:styleChoice" use="optional"/>
</complexType>
<element name="body" type="soap:bodyType"/>
<complexType name="bodyType" content="empty">
<attribute name="encodingStyle" type="uriReference" use="optional"/>
<attribute name="parts" type="NMTOKENS" use="optional"/>
<attribute name="use" type="soap:useChoice" use="optional"/>
<attribute name="namespace" type="uriReference" use="optional"/>
</complexType>
<simpleType name="useChoice" base="string">
<enumeration value="literal"/>
<enumeration value="encoded"/>
</simpleType>
<element name="fault" type="soap:faultType"/>
<complexType name="faultType" base="soap:bodyType" derivedBy="restriction">
<attribute name="parts" type="NMTOKENS" use="prohibited"/>
</complexType>
<element name="header" type="soap:headerType"/>
<complexType name="headerType" content="empty">
<attribute name="element" type="QName" use="required"/>
<attribute name="fault" type="QName" use="optional"/>
</complexType>
<element name="address" type="soap:addressType"/>
<complexType name="addressType" content="empty">
<attribute name="location" type="uriReference" use="required"/>
</complexType>
</schema>
A 4.3 Esquema del enlace HTTP
<schema targetNamespace="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns="http://www.w3.org/1999/XMLSchema">
<element name="address" type="http:addressType"/>
<complexType name="addressType" content="empty">
<attribute name="location" type="uriReference" use="required"/>
</complexType>
<element name="binding" type="http:bindingType"/>
<complexType name="bindingType" content="empty">
<attribute name="verb" type="NMTOKEN" use="required"/>
</complexType>
<element name="operation" type="http:operationType"/>
<complexType name="operationType" content="empty">
<attribute name="location" type="uriReference" use="required"/>
</complexType>
<element name="urlEncoded">
<complexType content="empty"/>
</element>
<element name="urlReplacement">
<complexType content="empty"/>
</element>
</schema>
A 4.4 Esquema del enlace MIME
<schema targetNamespace="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns="http://www.w3.org/1999/XMLSchema">
<element name="content" type="mime:contentType"/>
<complexType name="contentType" content="empty">
<attribute name="type" type="string" use="optional"/>
<attribute name="part" type="NMTOKEN" use="optional"/>
</complexType>
<element name="multipartRelated" type="mime:multipartRelatedType"/>
<complexType name="multipartRelatedType" content="elementOnly">
<element ref="mime:part" minOccurs="0" maxOccurs="unbounded"/>
</complexType>
<element name="part" type="mime:partType"/>
<complexType name="partType" content="elementOnly">
<any namespace="targetNamespace" minOccurs="0" maxOccurs="unbounded"/>
<attribute name="name" type="NMTOKEN" use="required"/>
</complexType>
<element name="mimeXml" type="mime:mimeXmlType"/>
<complexType name="mimeXmlType" content="empty">
<attribute name="part" type="NMTOKEN" use="optional"/>
</complexType>
</schema>
http://www.microsoft.com/spanish/msdn/articulos/archivo/090201/voices/
wsdl.asp
5.6.3 UDDI
Las extensiones de servicio Web de Visual FoxPro le permiten publicar servidores COM de Visual FoxPro
como servicios Web para tener acceso a ellos desde cualquier lugar del Web. Estas extensiones
proporcionan capacidades de publicacin de servicios Web mediante varios objetos del kit de
herramientas.
Haga clic con el botn secundario del mouse (ratn) en el proyecto de servidor COM y
seleccione el elemento de men Generador.
2.
O bien
3.
O bien
4.
5.
O bien
Nombre
Descripcin
Cuadro combinado
Servidor COM
Cuadro combinado
Seleccionar clase
Botn Avanzadas
Botn Generar
Nombre
Descripcin
Cuadro combinado
Especifica la direccin URL para el archivo
Direccin URL de escucha de escucha ASP. Este cuadro combinado
ASP
contiene una lista de ubicaciones sugeridas
basndose en el conjunto de directorios
virtuales del servidor Web predeterminado.
Cuadro de texto Archivo
de escucha ASP
Casilla de verificacin
Si est activada, cuando haga clic en el
Secuencias de comandos botn Generar del cuadro de dilogo
de IntelliSense
Publicador de servicios Web se agregar
una entrada de IntelliSense para el servicio
Web.
Nombre de secuencias de Especifica el nombre descriptivo que
comandos de IntelliSense aparece en la lista de tipos de IntelliSense
(por ejemplo, LOCAL oWS AS).
Casilla de verificacin
Generar
automticamente
Casilla de verificacin
Generar con UTF-16
Nota El Asistente para publicacin de servicios Web de Visual FoxPro slo admite la generacin de
archivos WSDL que contienen un nico servicio y puerto (clase). Adems, se incluyen todos los mtodos
de la clase seleccionada. Si desea seleccionar varias clases o filtrar los mtodos especficos, debera
utilizar el asistente para SOAP Toolkit 2.0 incluido en el kit de herramientas.
http://msdn.microsoft.com/library/spa/default.asp?
url=/library/SPA/fox7help/html/fomscWebServicePublishing.asp
Julio de 2002
Jimco
Resumen: en este artculo se explica el modo de consumir servicios XML Web Services de
Microsoft .NET con FrontPage. (8 pginas.)
Descargue el archivo de muestra FPWebSvc.exe en MSDN Code Center (en ingls).
Contenido
XML Web Services
Requisitos para el consumo de servicios Web
Preparacin de servicios Web para su uso
Los Servicios de Internet Information Server (IIS) de Microsoft, el servidor Web que integra el
sistema operativo Windows 2000 Server
Si instala IIS tras instalar .NET Framework SDK, tambin deber instalar la compatibilidad ASP.NET. Para
ello, ejecute Aspnet_regiis.exe en el directorio de .NET Framework. Si desea obtener ms informacin,
consulte Microsoft Knowledge Base (en ingls).
2.
3.
4.
5.
6.
7.
Haga clic en Inicio, Todos los programas, Accesorios y, a continuacin, en Smbolo del
sistema para abrir una ventana de interfaz de comandos.
Cambie al directorio que contiene la utilidad WSDL.exe.
En la lnea de comandos, escriba lo siguiente y presione INTRO:
moveremos a la ubicacin correcta. Puede cerrar la ventana de la lnea de comandos. Pasaremos a crear
la interfaz necesaria para interactuar con el servicio Web EightBall.
Haga clic en Inicio, Configuracin y, a continuacin, en Panel de control para abrir este
ltimo.
2.
3.
4.
5.
6.
7.
8.
Ahora que su sitio Web es una raz de aplicacin, podemos continuar con la creacin de la interfaz de
usuario de ASP.NET.
Vamos a utilizar tres controles de formulario Web de ASP.NET en nuestra interfaz. Usaremos el control
TextBox para escribir nuestra pregunta al servicio Web EightBall, Button para iniciar la solicitud a dicho
servicio y Label para ver la respuesta recibida del propio servicio. Todos estos controles se incluirn en
un formulario de ASP.NET.
Gracias a Microsoft Visual Studio .NET, el diseo de un formulario Web resulta bastante sencillo. Basta
con arrastrar y colocar los elementos del formulario deseados y configurar las propiedades de dichos
elementos en la interfaz de usuario. En nuestro caso, no vamos a utilizar Visual Studio .NET, por lo que
deberemos codificar manualmente los elementos de nuestro formulario.
Creacin del formulario Web
El primer paso consiste en crear el cdigo del propio formulario Web. Si est familiarizado con el cdigo
de los formularios de lenguaje de marcado de hipertexto (HTML), este cdigo le resultar bastante
familiar. Abra la pgina principal del sitio 8Ball y cambie a la vista HTML. Escriba el siguiente cdigo entre
las etiquetas <body> existentes:
<form runat="server">
</form>
Se trata de un cdigo exactamente igual al de un formulario HTML salvo por la presencia del atributo
runat. El valor de este atributo es server, lo que indica que este formulario es un control de servidor de
ASP.NET. Estamos frente a un excelente ejemplo de simplicidad de ASP.NET. Para convertir un elemento
HTML en un control de servidor ASP.NET, es suficiente con agregar el atributo runat y definir su valor
como server.
Llegados a este punto, debera guardar esta pgina. Gurdela como 8ball.aspx.
Adicin de controles de formulario Web de ASP.NET
Una vez creado el formulario, debemos agregarle los controles de formulario Web de ASP.NET.
En primer lugar, agregaremos el control TextBox. En este cuadro, el usuario de la pgina Web escribir
una pregunta al servicio Web EightBall. Para agregar el control TextBox, agregue el siguiente cdigo
entre las etiquetas de apertura y cierre <form> agregadas anteriormente:
<form runat="server">
<asp:TextBox id="tbQuestion" runat="server"/>
<asp:Button id="btnGo" runat="server"
Text="Submit Question" onClick="getAnswer"/><br><br>
<asp:Label id="lblAnswer" runat="server"/>
</form>
Probablemente se haya percatado de que estos controles no aparecen en la vista normal de FrontPage.
Se trata de un hecho normal que se debe a la presencia de controles de formulario Web de ASP.NET.
FrontPage no puede procesarlos.
Llamada a la funcin Ask del servicio Web EightBall y paso de la pregunta realizada.
Definicin del texto del control Label para que muestre la respuesta recibida del servicio Web.
Para crear este procedimiento, es necesario agregar el siguiente cdigo a la pgina inmediatamente
despus de la etiqueta de cierre </head>:
<script runat="server">
Sub getAnswer(sender as Object, e As System.EventArgs)
Dim clsEightBall As EightBallWS = New EightBallWS
Dim strAnswer As String
strAnswer = clsEightBall.Ask(tbQuestion.Text)
lblAnswer.Text = strAnswer
End Sub
</script>
Analicemos brevemente este cdigo.
<script> es una etiqueta de secuencia de comandos bsica. No obstante, le hemos agregado
runat="server" para que se procese en el servidor. A continuacin definimos el procedimiento
getAnswer, el cual incluye dos parmetros: sender y e. Se trata de la firma necesaria para los
controladores de eventos de Microsoft .NET.
A continuacin creamos una instancia de la clase de proxy cliente. Cmo sabemos que la clase se llama
EightBallWS? Si utiliza el Bloc de notas para examinar el archivo de cdigo fuente de Visual Basic que se
strAnswer = clsEightBall.Ask(tbQuestion.Text)
Le enviamos la pregunta pasando la propiedad Text del control de formulario Web TextBox (tbQuestion)
que creamos anteriormente. Ya sabemos que la operacin Ask del servicio Web nos devuelve la respuesta
como una cadena. Por tanto, tras ejecutar la lnea anterior, strAnswer contendr una cadena formada
por la respuesta a nuestra pregunta procedente del servicio Web.
Lo nico que queda por hacer es mostrar la respuesta devuelta. Para ello, asignamos la propiedad Text
del control Label al valor contenido en strAnswer.
lblAnswer.Text = strAnswer
Guarde la pgina ahora. Asegrese de que lo hace como 8ball.aspx.
2.
Conclusin
En este artculo, se ha creado un formulario Web de ASP.NET muy sencillo para consumir un servicio Web
simple utilizando Microsoft FrontPage. Se han puesto de relieve las ventajas que aporta la arquitectura de
los XML Web Services y se ha descrito el modo de obtener informacin especfica sobre un servicio Web
determinado revisando su punto de acceso.
El consumo de un servicio Web simple (como el servicio Web EightBall) es bastante sencillo. Para
consumir un servicio Web complejo, utilice Microsoft Visual Studio .NET, ya que podr hacer uso de un
eficaz conjunto de herramientas para el consumo de servicios Web y el diseo de formularios Web de
ASP.NET en un entorno del tipo "lo que se ve es lo que se obtiene" (WYSIWYG).
ANEXOS:
Qu es el ASP?
Al navegar ms de alguna vez nos hemos topado con alguna pgina que tiene
archivos con extensin ".asp" y nos hemos preguntado que significa ste tipo de
archivos.
Microsoft introdujo esta tecnologa llamada Active Server Pages en diciembre de
1996, por lo que no es nada nueva. Es parte del Internet Information Server (IIS)
desde la versin 3.0 y es una tecnologa de pginas activas que permite el uso de
diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar
pginas generadas dinmicamente.
Traduciendo la definicin de Microsoft: "Las Active Server Pages son un ambiente de
aplicacin abierto y gratuito en el que se puede combinar cdigo HTML, scripts y
componentes ActiveX del servidor para crear soluciones dinmicas y poderosas para
el web".
El principio de la tecnologa ASP es el VBScript, pero existe otra diversidad de
lenguajes de programacin que pueden ser utilizados como lo es Perl, JScript, etc.
El ASP es una tecnologa dinmica funcionando del lado del servidor, lo que significa
que cuando el usuario solicita un documento ASP, las instrucciones de programacin
dentro del script son ejecutadas para enviar al navegador nicamente el cdigo HTML
resultante. La ventaja principal de las tecnologas dependientes del servidor radica en
la seguridad que tiene el programador sobre su cdigo, ya que ste se encuentra
nicamente en los archivos del servidor que al ser solicitado a travs del web, es
ejecutado, por lo que los usuario no tienen acceso ms que a la pgina resultante en
su navegador.
Para explicar mejor el funcionamiento del ASP se presenta la siguiente grfica:
Para insertar instrucciones ASP dentro del cdigo HTML se incluye encerrado entre "<
% %>". Estos comandos son los que procesa el servidor antes de enviar la pgina al
navegador.
A continuacin tenemos un ejemplo del cdigo ASP en el servidor y los resultados
HTML que sern vistos en el navegador:
Cdigo ASP
<P>
<% For I = 1 To 5 Step 1 %>
<FONT SIZE="<%= I %>">Maestros
del Web!</FONT><BR>
<% Next %>
</P>
Cdigo HTML
<P>
<FONT SIZE="1">Maestros del Web!
</FONT><BR>
<FONT SIZE="2">Maestros del Web!
</FONT><BR>
<FONT SIZE="3">Maestros del Web!
</FONT><BR>
<FONT SIZE="4">Maestros del Web!
</FONT><BR>
<FONT SIZE="5">Maestros del Web!
</FONT><BR>
</P>
Resultado en el
Navegador
Maestros del Web!
Maestros del
Web!
El ejemplo anterior crea un ciclo que se repite 5 veces y aumenta el tamao del tipo de
letra en una frase establecida.
El desarrollo que se ha venido dando a lo que es ASP ha sido bastante amplio. Entre
sus funciones principales estn el acceso a base de datos, envi de correo electrnico,
creacin dinmica de grficos y otros. Bsicamente, muchas cosas que podemos
realizar por medio de CGI pueden ser realizadas con esta tecnologa. Esto debido a
que el ASP es tan eficiente con escribir cdigo directamente a la interfase de
aplicacin del servidor, con la ventaja de que es ms eficiente que el CGI que depende
Cuando guardas un documento de Word, obtienes un nico fichero. En cambio, al guardar como pgina
Web, obtienes un fichero principal pero tambin otros adicionales de forma automtica, sin que tengas
que hacer nada. Por ejemplo, las imgenes se graban aparte, de ordinario en formato gif. As el
documento principal no incluye las imgenes, sino slo la llamada a esos ficheros. Son imgenes
incrustadas en tu pgina. Naturalmente al enviar la pgina Web a tu proveedor de Internet debes remitir
tanto el fichero principal como los dems que se han creado (en el ejemplo expuesto, ficheros de
imgenes).
Marcadores
Cuando el documento no es breve, sino que ocupa unas cuantas pantallas, se necesita moverse con
agilidad de una parte a otra del mismo. Esto se hace mediante los marcadores. As, en este documento,
debajo del titular, aparece un a modo de ndice, con vietas, sealando los distintos apartados del
documento. Haciendo clic en cualquiera de los tems de esos mens, sale en pantalla la parte del
documento solicitada. De la misma manera, el botn ARRIBA es un marcador que lleva a principio del
documento. Un marcador es un botn, una llamada que lleva a otra parte del documento.
Entendido lo que es un marcador y cmo se utiliza, veamos la forma de crearlo. Un marcador se crea en
dos fases. Describiremos la creacin del marcador de este epgrafe. Primero crearemos la seal o
banderola en el punto de destino.
Se lleva el cursor a donde dice PGINAS WEB CON WORD O POWER POINT en el texto, como ttulo
de este epgrafe (la parte que est sin subrayar y sin vietas, debajo del botn ARRIBA). Concretamente
delante de la P. Solicitas Insertar marcador, le pones como nombre Word y das a Aceptar.
Pero desde dnde quiero que me enven a ese punto? Desde arriba, desde el ndice, donde dice lo
mismo (PGINAS WEB CON WORD O POWER POINT) pero con vietas y subrayado, debajo del ttulo
del documento. Pues bien: selecciono con el ratn todo este texto y pido Insertar - hipervnculo. Ah
solicitas marcador y, de los que te ofrece la pantalla, eliges Word. Has asociado a toda esa lnea de texto
del ndice, en cualquier punto en el que se haga clic, un marcador que remite al punto deseado: el titulo
del epgrafe en el cuerpo del documento.
Nos hemos extendido en cmo crear una pgina Web con Word. Si el lector maneja mejor el Power Point,
puede crearla con l. Power Point tiene ms facilidad de manejar algunos tipos de grficos. En cambio no
dispone de los temas. El Power Point por su naturaleza se presta a emplearse cuando el documento
ocupa una pantalla y no ms. Una vez creado el documento se graba en Archivo Guardar como
pgina Web. Son vlidos los mismos comentarios que se han realizado respecto al Word, en particular
los referentes a que las imgenes se graban en fichero aparte.
NOTA: Mientras no mejore la velocidad de Internet una pgina Web no debe ocupar ms de 150 Kb
incluidas las imgenes. De lo contrario, la mayora de los visitantes se cansarn de la espera y detendrn
la carga de la pgina, para ir a visitar otra.
Observa que estamos en Vista Pgina, y que debajo hay 3 pestaas: Normal, HTML y Vista previa.
Vista Pgina - pestaa Normal es el lugar donde se trabaja una pgina Web. La pestaa HTML es para
usuarios muy avanzados. Vista previa pretende mostrar la pgina tal como se visualizar desde el
navegador (Internet Explorer o similar). El motivo es que en Normal aparecen smbolos (en la imagen
puedes apreciar bastantes) que son cdigos que luego no se vern desde el Internet Explorer. De todos
modos la visualizacin desde la pestaa Vista previa no es exacta. Es posible que alguno de los tipos de
letra programados desde el Front Page, no tengan correspondencia al ser ledos desde el Internet
Explorer, puede suceder lo mismo con colores especiales.. Para ver exactamente el resultado, es
necesario utilizar el icono de Vista Previa que pregunta cul es tu navegador y exige haber grabado la
pgina que deseas ver. La pestaa Vista previa es una buena orientacin, nada ms. Es conveniente dar
a Ver Barra de Vistas, para eliminar el marco de la izquierda y disponer de la pantalla completa.
Sigamos con la pestaa Normal. Mira a continuacin la barra de herramientas ampliada para apreciar
mejor los iconos que ms nos interesan.
En Herramientas Personalizar Comandos puedes aadir a las barras (de herramientas, de formato,
etc.) los iconos que desees: los de mayor uso, para una utilizacin ms rpida del programa.
Para crear una pgina Web puedes hacer clic en el icono izquierdo de la barra de herramientas: Nueva
pgina. Es ms correcto hacer clic en Archivo Nuevo Web, o bien en la flecha a la derecha de Nueva
pgina y solicitar Web. Ah sealas el tipo de Web (lo que puede habilitar el asistente correspondiente) y
su ubicacin. Si pides acto seguido la Lista de Carpetas, observars que se ha creado la pgina index y
las carpetas images y _private. Si lo deseas, cambia el nombre de la Web. El nombre de la pgina index
no lo cambies. Cuando construyamos sitios Web compuestos de varias pginas, te recordaremos que es
necesario que la pgina inicial se titule index. Se recomienda poner los nombres en minsculas y no se
permiten caracteres que no sean lcitos para nombre de ficheros.
Te recomendamos que comiences por elegir un Tema de Formato. Son parecidos a los sealados en el
Word, pero ms completos: varios niveles de vietas, la lnea horizontal sale mejor y tiene propuestas
para los botones.
Cuando escribas, observars que la tecla Intro cambia de prrafo dando un salto de dos lneas, mientras
que Shift + Intro slo salta una lnea.
Front page es ms limitado que Word a la hora de tratar el texto: tiene bastantes menos posibilidades.
As, no admite la justificacin a ambos lados, derecha e izquierda, a la vez, no funciona el tabulador, etc.
Dispones de Insertar Lnea horizontal para facilitar la claridad de tu Web.
En Estilo se llama Encabezado a 6 niveles de ttulos, desde el mayor al ms pequeo. No lo confundas
con cabeceras y pies.
Cuando necesitas vietas anidadas (o en ms de un nivel) la solucin ofrecida por Temas es interesante.
Una vez que has escrito lneas en el primer nivel de vietas, un doble clic en el icono de aumentar la
sangra pasa al nivel siguiente de vietas. Vuelves a la situacin anterior con un doble clic en disminuir
sangra. Con listas numeradas existe la misma opcin.
Nivel 1
Nivel 1
o
o
Nivel 2
Nivel 2
Nivel 3
Nivel 3
Nivel 2
Nivel 1
En el apartado Vietas y numeracin del men de Formato existe otra opcin interesante que es: Habilitar
esquemas contrables. Consiste en que las vietas de segundo nivel, pueden ser desplegadas o
replegadas por el usuario con un doble clic.
Ten cuidado con los subrayados, pues la cultura de Internet lleva a esperar de ellos un vnculo. S
restrictivo.
Hemos comentado unos cuantos detalles de Formato para que contaras con algunos elementos al crear
tu primera Web. Han sido, sobretodo, aspectos relacionados con Formato - Temas. Damos como sabidas
las posibilidades de formato del Word, que en buena parte se reiteran en el Front Page. En el prximo
epgrafe ampliaremos posibilidades de Formato especficas de este programa.
Guardar un documento es elemental, como en cualquier programa Windows. El propio Front Page ha ido
guardando las modificaciones ms importantes que has creado, para remediar un posible olvido, fallo
elctrico, etc. Te recuerdo que las imgenes se guardan aparte. No es como en el Word. Aqu el fichero de
la pgina Web slo guarda, adems del texto, el nombre de las imgenes y su ubicacin, para luego
cargarlas. Por eso al Guardar, sale un cuadro de dilogo que pregunta dnde se guarda cada imagen. Te
recomendamos que las guardes en la carpeta images de esta pgina Web. (Atencin: una vez
guardadas, no las cambies de ubicacin).
Posteriormente es elemental abrir pginas Web existentes (para continuar su elaboracin por ejemplo).
Puede interesarte la opcin Herramientas Opciones Abrir automticamente el Web ms reciente
al iniciar Front Page.
Hipervnculos
As como los libros son secuenciales: una letra y otra y una pgina y as hasta el final; los documentos
multimedia no: son hipertextos. El visitante va a navegar por los apartados que ms inters le ofrecen, se
detiene en un punto, vuelve atrs: navega.
Como consecuencia, documentos como pginas Web no constan de un nico fichero secuencial, sino que
estn ramificados. La pgina Web del CPR ofrece en una pantalla los datos bsicos del mismo, en otra
las actividades previstas para el curso, hemos incluido el fichero de biblioteca, para que se pueda
consultar sin necesidad de ir hasta el CPR, los datos de los asesores, los Centros de la zona y otras
informaciones relevantes. Hay que organizar las posibilidades de navegacin de una pantalla a otra. Ha
de plantearse una navegacin clara, sin confusiones, sabiendo en todo momento dnde estamos. Hay
referencias cruzadas. As, desde las actividades hay que facilitar el acceso al formulario que permite
inscribirse por Internet; o al relacionar a los asesores, viene bien dejar una llamada a las actividades que
cada uno lleva.
Cuando se va a crear una pgina Web es importante pensar los contenidos y su estructura, dedicando
una pgina a cada tema que tenga cierta entidad o cierta unidad, y estableciendo los vnculos
correspondientes entre pginas. Hablando con ms propiedad, nos estamos refiriendo a un sitio Web,
que estar compuesto de varias pginas Web.
Suponiendo que ya sabes crear las pginas aisladas, se trata ahora de estudiar cmo se crean los
vnculos, los botones, que llevan de una a otra.
Vers que es muy fcil. Seleccionas las palabras de texto o la imagen a las que vas a asociar el
hipervnculo y solicitas Insertar Hipervnculo o ms sencillamente su icono
pantalla:
. Obtienes la siguiente
Como estars en la carpeta adecuada, en pantalla salen las pginas de tu sitio Web, y con hacer doble
clic en la que te interese has creado el vnculo. Ya est. Lo que has hecho con el doble clic es poner en la
casilla Direccin URL el nombre del fichero de la pgina de destino. (sin http://).
Si quieres, puedes grabar ya la pgina. Al abrirla desde un navegador (Internet Explorer) los vnculos
salen subrayados y en color distinto (si eran vnculos asociados a unas palabras). En cualquier caso, el
puntero del ratn toma forma de mano al pasar por encima. Adems, si detienes el ratn, puedes ver la
direccin de destino a la que remite.
La pgina con la que se abre tu sitio Web ha de llamarse index.
Los vnculos pueden probarse en Vista previa. Tambin en Vista normal apretando la tecla Ctrl a la vez
que se hace clic con el ratn.
Los vnculos tienen cierta variedad, cierta riqueza que pasamos a comentar.
Puedes crear un vnculo a un sitio Web externo al tuyo, es decir, crear en tu pgina un enlace, por
ejemplo al PNTIC. Eso es crear un hipervnculo externo. Para eso, en la casilla Direccin URL has de
poner su direccin completa (comenzando por http://). En la pantalla mostrada inmediatamente arriba
hemos resaltado unos iconos. El primero de ellos permite navegar por la red, de forma que cuando visites
la pgina que deseas, su direccin pasa a la casilla Direccin URL del cuadro de dilogo de creacin de
hipervnculos. No tienes que teclearla y adems has comprobado que es correcta.
Puedes crear vnculos a pginas Web que estn grabadas en tu ordenador, pero que no pertenezcan al
sitio Web que ests creando. Puedes buscarlas con el siguiente icono, que es una especie de Explorador
del Windows para este caso.
Marcadores
Ya se han explicado desde el Word, y funcionan en Front Page exactamente igual. Por ejemplo, veamos
el marcador del prximo epgrafe. Hemos ido al ttulo del epgrafe posicionando el cursor delante de la I
de Imgenes. Luego se solicita Insertar marcador, y le hemos puesto el nombre Imgenes. As se crea
el destino del marcador, con ese nombre. A continuacin vas al quinto tem del principio, a la quinta vieta,
seleccionas todo el texto IMGENES y das a Insertar Hipervnculo. Eliges marcador y, de entre los
que ofrece, Imgenes. Ya est creado. Cada vez que arriba hagas clic en IMGENES, el cursor se
desplaza al epgrafe Imgenes del cuerpo del documento.
En el cuadro de dilogo Crear Hipervnculo (arriba expuesto) se ve la casilla MARCADOR debajo de
Direccin URL. Esto quiere decir que cuando creo un vnculo, a una determinada pgina, puedo aadir un
marcador, de forma que el salto sea a determinado punto de esa pgina de destino.
En resumen, un marcador puede crearse para moverse dentro de la propia pgina. En este caso, en
Direccin URL sale como direccin: #Imgenes por ejemplo. Y tambin puede crearse para, al ejecutarse
un vnculo a otra pgina, ir concretamente a un punto de la misma.
Imgenes
Al trabajar con imgenes en un sitio web es importante saber que los archivos que se manejan en Internet
son de dos clases: los .jpeg y los .gif.
Los primeros se utilizan para fotografas, las cuales al utilizar este formato comprimido, ocupan menos al
costo de bajar un poco la calidad.
El formato .gif, se utiliza para ttulos, logotipos, y grficos con menos de 256 colores. Tambin se pueden
usar para fotos pero la calidad ser peor.
Si el fichero no es de fotografa, sino que utiliza colores planos, entonces suele manejar pocos colores. Si
no llega a 256 colores, Front Page guardar la imagen en formato GIF. En cambio los ficheros de fotos los
guarda en formato JPEG, que realiza cierta compresin de la imagen. La cuestin es que un fichero de
fotografa ocupa muchsimo espacio (una pantalla viene a ser 15 Mb) y es necesario reducirlo, aunque
sea a costa de un poco de calidad. El ordenador pregunta la razn de compresin que, por defecto, es de
un 75 %.
La forma de insertar imgenes est en el men Insertar Imgenes, que tiene dos opciones: en
Imgenes ofrece los clip art instalados con el Office 2000. En Desde Archivo, podemos buscar cualquier
fichero de imgenes, por ejemplo en los CD comerciales con miles de imgenes, o tambin los que aporta
el disco 2 del Office 2000, que no se instalan en el disco duro del ordenador.
Cuando se insertan imgenes de un CD ROM, o de un programa como el Office, el Front Page
nicamente crea el vnculo correspondiente a esa imagen en su ubicacin actual. Al enviar la pgina al
proveedor que nos la aloja, no tendr ese CD ROM, y no aparecer la imagen. La solucin es empezar
por copiar la imagen a la carpeta en la que estamos trabajando la pgina web e insertarla desde ah.
Otra forma de insertar una imagen es crearla y organizarla en otro programa y despus cortar y pegarla
en el Front Page. Y es que Front Page dispone de escasas posibilidades para tratamiento de imgenes
individuales. El propio Word dispone de los letreros tipo Word Art, las autoformas, los grficos; todos estos
elementos se pueden cortar y pegar despus en Front Page. No digamos si utilizas un programa de
diseo.
Si se trabaja con un escner, se puede cargar la imagen directamente desde el Front Page (tambin
podras hacerlo pasando previamente por otro programa). Se trabaja desde Insertar Imagen Escner
Origen. En este punto seleccionas cul es tu dispositivo y das a Adquirir.
Propiedades de imagen
Accedes a ellas desde Formato Propiedades, o haciendo clic con el botn derecho en la imagen.
En la pestaa General, Origen de la imagen es de dnde la has tomado, el nombre y ubicacin del fichero
de origen. Este campo lo rellena Front Page l slo cuando insertas la imagen, y no debes tocarlo.
Te ofrece guardarla como GIF o JPEG, de lo que hablamos ms arriba.
Las Representaciones alternativas consisten en que si la imagen es grande y va a tardar en cargarse,
se puede ofrecer un bosquejo suyo en baja resolucin o un breve texto, en el mismo lugar que la posterior
imagen.
En Apariencia puedes determinar la alineacin y tamao exacto de la imagen, en caso de que no te
baste modificarla con el ratn.
Debajo de la referencia a los formatos GIF y JPEG se encuentran las casillas Entrelazado y Barridos
progresivos. Se refieren tambin a que a la hora de cargar la imagen puede hacerse mediante un efecto,
por el que la imagen va apareciendo como borrosa, por lneas, hasta su carga completa. Puede ser ms
til en imgenes de cierto volumen, que tarden en cargarse.
No confundas estas propiedades con las de pgina, que se encuentran en Archivo Propiedades.
Te mostramos a continuacin la barra de herramientas de imgenes:
La posibilidad de aadir texto a una imagen slo existe en el formato GIF, igual que la de establecer un
color como transparente. Pasar a miniatura consiste en que se carga una miniatura de la imagen,
considerando que la carga completa va a ser lenta y puede no ser indispensable para el visitante. Si ste
desea la imagen completa, simplemente hace clic en la miniatura. Ver el plano de acceso al CPR en su
pgina Web.
Ubicacin
Mapas de imgenes
Es algo que rebasa el propsito de este curso y que nos limitamos a describir. Imagina que tienes en una
pantalla el mapa de Espaa, con las autonomas dibujadas. Quieres unos vnculos de forma que si haces
clic en la autonoma de Madrid, te lleva a una pgina sobre ella, si das en la de Galicia o Andaluca, o en
cualquier otra, te llevarn a su pgina respectiva. Es decir, se trata de, a partir de una imagen, crear en
ella unas zonas activas, cada una con un vnculo. Estas zonas pueden ser rectangulares, o tambin
poligonales.
Tablas
Las tablas permiten bastante juego a la hora de situar textos por la pantalla, son la manera de saltarse las
limitaciones que el lenguaje HTML tiene con la ubicacin de los textos.
El 90 % de las posibilidades y manejo de las tablas en Front Page coincide con el modo de usar tablas en
Word, y no lo vamos a reiterar.
Una diferencia pequea pero importante es que una celda se selecciona presionando la tecla Alt mientras
se hace clic con el ratn. (O en Tabla Seleccionar Celda).
Observa las Propiedades de tabla que se obtienen en el men contextual (clic con el botn derecho), o
en Tabla Propiedades Tabla.
Especificar ancho en porcentaje facilita que la tabla se ajuste a la ventana en caso, por ejemplo, de
utilizar marcos.
Para eliminar los bordes, pon en Tamao un 0.
Distinguir un borde claro y otro oscuro proporciona un interesante efecto 3D.
Se puede poner una imagen de fondo a la tabla.
Observa Tabla Insertar Ttulo y en su men contextual las Propiedades de ttulo, que permiten
situarlo tambin debajo de la tabla.
Reproducimos ahora el cuadro de dilogo de Propiedades de celda que se obtiene en su men
contextual.
Por defecto, una celda ocupa una fila y una columna, pero se puede determinar otra cosa, lo cual
desplazar la columna o fila correspondiente, y quedar una tabla no rectangular.
Algunas opciones son idnticas a las de Propiedades de Tabla, slo que aplicadas a la celda
seleccionada.
No ajustar afecta al ancho de la celda cuando se rellene. En efecto, lo habitual es que, si el texto de la
celda excede de su ancho, entonces este texto crea una nueva lnea dentro de la misma celda, que ve
incrementada su altura. Pues bien, la opcin No ajustar va aumentando el ancho de celda a medida que
se teclea, sin pasar a otra lnea.
Tambin existe Tabla Autoajustar que ajusta el ancho de una columna al de la celda que tiene el texto
ms extenso.
La barra de herramientas de Tablas es parecida a la del Word.
Insercin de componentes
Comentarios
Se trata de incluir en la pgina Web comentarios que no salgan, no estn accesibles, al visitante. Se
consiguen en Insertar Comentarios. Slo se ven en Vista Normal, no as en Vista Pgina. El objetivo
es hacerte anotaciones que te recuerden asuntos pendientes. Por ejemplo, en una Web ms importante,
creada por un equipo de personas, las anotaciones para que los dems estn al tanto de los detalles a
tener en cuenta, suelen ser interesantes.
Contadores de visitas
Son para contar el nmero de visitantes. Los podemos poner en la pgina principal (index), que es por
donde los visitantes suelen acceder a nuestro sitio Web. Tambin se pueden poner en otras pginas, y as
sabremos cules son los asuntos que ms interesan a nuestros visitantes.
Se crean en Insertar Componente Contador de visitas a la pgina.
Restablecer pone el contador en el nmero que le digamos, por ejemplo a 1 de enero lo podemos poner
a cero.
Nmero fijo de dgitos quiere decir que saldrn los ceros a la izquierda de las cifras significativas.
Administrador de titulares
El nombre no indica bien de qu se trata. Consiste en crear una sucesin de imgenes. Cada ciertos
segundos se van sustituyendo. Se puede asignar un vnculo a ese espacio de la pantalla.
Fecha y hora
Los internautas agradecen saber si nuestras pginas estn actualizadas, o, por el contrario, su
informacin lleva ya mucho tiempo y, presumiblemente, se ha descuidado el mantenimiento del sitio Web.
Al Insertar - Fecha y Hora aparece la fecha de la ltima modificacin. Automticamente, cuando
actualicemos la pgina, se cambiar la fecha por la de este da.
Marquesina
Ofrece marquesinas de posibilidades muy limitadas.
Puede ser til mirar Estilo Formato Fuente , Borde, etc. Prueba con las diversas opciones, por
ejemplo con Comportamiento Alternar.
Botones activables
El objetivo es crear vnculos ms estticos que los que meramente contienen texto. Puedes crear algn
efecto, cuando el puntero del ratn pasa por encima. En Personalizado se puede aadir sonido o alguna
imagen. Naturalmente se puede indicar un vnculo.
Otros componentes
Se dispone de ms componentes que vemos menos aplicables:
Se puede insertar una hoja de clculo Excel en la pgina Web. As por ejemplo, un banco puede ofrecer el
clculo de una hipoteca. Podramos decir que es una hoja mixta, en la que el banco puede crear la hoja
con su formato, sus titulares, sus frmulas, y despus el visitante, partiendo de esos datos, completa su
caso personal y obtiene los resultados que necesita.
Imagen programada o Inclusin programada de pgina. Deseo que una determinada imagen, o una
pgina entera, entre en vigor a las cero horas del 1 de enero. La creo ahora y la envo a mi proveedor de
Internet como imagen programada, indicando en qu momento debe hacerse pblica.
Existen otros componentes, pero el lector apreciar que corresponden a un curso de otro nivel.
Formularios
Un sitio Web puede generar correspondencia hacia su propia entidad. En el sitio Web del CPR hay un
formulario de Solicitudes para inscribirse a cursos por va telemtica. Es frecuente en la red. Por ejemplo
si deseas un proveedor de Internet gratuito, tendrs que darte de alta, y solicitar tus datos mediante un
formulario.
En Archivo Nuevo Pgina puedes cargar plantillas de formularios. Por ejemplo el llamado
Comentarios. En Vista Previa puedes observar sus posibilidades.
El formulario es algo tpico de Access, aunque tambin se puede crear en Word. De todas maneras
vamos a tratarlo aqu, ya que nos parece un captulo menos conocido que el de las tablas.
Antes de ponerte a insertar campos de formulario, son precisas unas ideas generales:
1.
Cuando insertas el primer campo de tu formulario, Front Page aade los botones Enviar y
Restablecer. En los sucesivos campos no. La idea es que todo formulario debe tener un botn
Enviar, y as lo prev ya desde el principio. Estudiaremos ms abajo este tipo de botones.
En cuanto al botn Restablecer, su accin es borrar todos los campos del formulario, para el
caso de que hayas introducido errores y quieras volver a empezar.
2.
Formulario es, propiamente, lo que aparece cerrado entre un marco de lnea discontinua. Por
eso podramos tener en la misma pgina varios formularios. Observa el formulario siguiente, en
el que se han descrito los principales tipos de campos:
3.
Cuadro de texto
Rectngulo vaco. El visitante de la Web puede rellenar el l campos de escritura libre, como sus
apellidos.
Cuadro de texto con desplazamiento
Cuando la respuesta es ms larga se pueden usar estos campos que llevan barras de
desplazamiento.
Casilla de verificacin
El visitante de la Web la activar o no. Cuando hay varias, cosa frecuente, puede activarse una,
o varias o ninguna. Por ejemplo: un texto puede estar subrayado, en negrita y/o en cursiva.
Puede tener todas estas propiedades, o una o ninguna.
Botn de opcin
Parecido, pero aqu ha de elegirse uno y slo uno. Por ejemplo, sexo: hombre o mujer.
Men desplegable
En el formulario de solicitud de inscripcin en curso, de la pgina Web del CPR hay varios
campos de men desplegable. As, en el tipo de Centro del profesor, las respuestas son: Pblico,
Privado y Concertado. Tambin son cerradas las respuestas sobre si el profesor es de Primaria o
de Secundaria. En ejemplos de este tipo es preferible introducir previamente todo el elenco de
respuestas, y que el visitante slo tenga que elegir una, sin darle opcin a escribir. De otra forma
se recibirn respuestas variadas: profesor de ESO, profesor de Secundaria, Secundaria, etc.
Los valores se introducen de la siguiente manera: se hace clic con el botn derecho en el campo,
y se elige Propiedades de Campo de Formulario. Ah vas dando a Agregar introduciendo todas
las posibles opciones.
Botn de comando
Despus de crearlo, haces clic con el botn derecho y eliges: Propiedades de Campo de
Formulario.
En Valor/Etiqueta pondrs el texto que quieras. Por ejemplo, para un botn de tipo Restablecer
puedes preferir el texto Borrar.
En Tipo de botn, ya te hemos hablado de los tipos Enviar y Restablecer. En el caso del botn
Enviar, habr que sealar nuestra direccin de correo electrnico. Esto se hace en Propiedades
de Formulario y lo explicamos al terminar los campos de formulario.+
Imagen
Sirve para que un botn lleve una imagen en lugar de un texto.
Falta decir que los campos suelen llevar antes o despus etiquetas, que sealan lo que esperamos que el
usuario teclee en ellos. Estas etiquetas se teclean directamente en el formulario, delante o detrs de los
campos.
La principal es borrar donde dice Nombre de Archivo y rellenar, en su lugar, la Direccin de correo
electrnico.
Haz clic en el botn Opciones, y en la pestaa Resultados por Correo electrnico.
Puede ser interesante que con el formulario te remitan los nombres de los campos, y que vaya rellena por
ti, por el creador de la pgina Web, el asunto. De esta manera, cuando recibas los correos, enseguida
sabrs a qu se refieren.
Cuando un usuario te enva un formulario relleno, si todo ha ido bien, recibir al instante un acuse de
recibo educado. Pero puede suceder que t quieras disear esa contestacin. Puedes hacer una pgina
Web para ello y poner en Pgina de Confirmacin su direccin URL.
Una cuestin esttica es alinear esos letreros y campos. La manera seria, aunque algo pesada, de
hacerlo es mediante una tabla. Se crea dentro del formulario una tabla, por ejemplo de dos columnas. As,
en la columna de la izquierda, por ejemplo, pones los letreros y etiquetas, y en la de la derecha los
campos. Otra forma ms primitiva consiste en elegir el estilo Con formato, que lleva consigo un tipo de
letra feo, pero que facilita los ajustes, ya que todas las letras, espacios y signos de puntuacin tienen la
misma anchura.
Las pginas Web profesionales no manipulan a mano los formularios recibidos, sino que los insertan
directamente en ficheros, bases de datos, etc. Nosotros nos conformaremos con imprimirlos.
Marcos
Son unos elementos que facilitan la navegacin. En la pgina Web del CPR puedes ver un marco. Te
ofrece vnculos a las distintas pginas. Lo caracterstico es que en cualquier pgina en que ests, tienes
el marco a la vista, por lo que navegas con rapidez a donde quieres. Slo los usaremos en este sentido,
aunque tambin se emplean para mejorar la esttica, de forma semejante a las tablas pero con ms
potencia.
Para crear un marco es necesario hacerlo con una plantilla. Archivo Nuevo Pgina Pginas de
marcos. Eliges uno cualquiera viendo en Vista previa su resultado.
Al abrir la plantilla aparecen dos botones:
Establecer pgina inicial consiste en sealar qu pgina Web ir en ese marco cuando
arranque, poniendo su direccin URL.
Nueva pgina significa que abres una pgina en blanco para disearla ahora, y ser la que luego
aparecer en el marco.
El reborde azul corresponde al rea activa del marco. En el men de marco puedes eliminar esa rea, o
dividirla en dos (filas o columnas).
Es elemental modificar las dimensiones de cualquiera de las reas con el ratn.
Para un caso como el del sitio Web del CPR, la pgina del marco debe ser la inicial, o sea, index. Luego
vinculas a las distintas partes del marco las pginas iniciales correspondientes, como hemos dicho. Les
podras llamar ndice1, ndice2, etc.
Hay que guardar la pgina de marcos en Archivo Guardar como. Ya hemos dicho que le llames index.
Tambin hay que guardar las pginas que hayas ubicado en cada rea, porque han sufrido una
modificacin. Para ello, las activas y pides Marcos Guardar pgina como. Si no lo haces, al cerrar la
pgina completa del marco te pregunta si deseas guardar las pginas de cada rea, y contestas que s.
El ltimo paso es cmo crear hipervnculos a marcos de destino. En la pgina Web del CPR, cuando
pides Actividades, o Centros, queremos que esos contenidos no salgan a pantalla completa, sino en uno
de los marcos (el rea ms grande) permaneciendo visible la relacin de vnculos en otro marco.
Abre el cuadro de dilogo Marco de Destino y puedes elegir el marco que desees. El significado de El
mismo es el mismo marco en que estaba el vnculo. Toda la pgina se explica por s mismo. Pgina
nueva es abrir una pgina nueva, de manera que tendras dos Internet Explorer abiertos con dos pginas:
la del marco y la nueva con el destino del vnculo.
Haciendo clic con el botn derecho en un marco y pidiendo propiedades de marco, puedes poner un
ttulo al marco, que es el que luego debes poner en el cuadro de texto Destino, en caso de que el marco
de destino no sea ninguno de los tres del prrafo anterior.
Muchas veces todos los vnculos de un marco tienen como destino otro marco fijo. En este caso se puede
predeterminar. Haciendo clic con el botn derecho en el marco donde estn los vnculos, pide
Propiedades de pgina. En la pestaa General, cuadro de texto: Marco de destino predeterminado,
sealas adonde irn los vnculos.
Los marcos se eliminan en Marco Eliminar marco.
Teniendo la Web en el Front Page, solicita Archivo Publicar Web. En nuestro caso la direccin es:
http://centros5.pntic.mec.es/~majadaho/public. Es normal que tarde unos minutos en ser enviada por
completo.
Otra solucin es hacer FTP con un programa del estilo del CUTE. Conectas con el ordenador del PNTIC
(centros5.pntic.mec.es) pones en la ventana de la izquierda la carpeta en la que est tu Web, y en la
derecha ~majadaho/public, y mueves los ficheros como si estuvieras en el explorador del Windows.
En ambos casos pide contrasea.
A veces el proveedor de Internet que aloja nuestra pgina trabaja con sistemas operativos que distinguen
las maysculas de las minsculas, y que no admiten ms de ocho caracteres en la denominacin de los
ficheros. Esto puede suponer que vnculos o imgenes que no daban problemas en tu ordenador, no
funcionen o no se vean al remitirlos al proveedor. As: puedes tener un fichero llamado Fichero.htm y un
vnculo a l que diga fichero.htm. Cuando lo enves al proveedor, no funcionar.
Algunos comentarios
A la izquierda del Front Page tenemos las distintas opciones de Vistas (Informes, Exploracin, etc.). En
nuestra opinin se trata de una superestructura demasiado pesada para una Web sencilla como las
nuestras. Una Web compleja, por ejemplo de comercio electrnico, con catlogos, etc.; una Web que sea
desarrollada por un equipo de diseadores, s merece cuidar el orden y pulcritud en el trabajo, pero para
nosotros es una carga ms que una ayuda.
Queremos que distingas la Vista Carpetas de la Lista de Carpetas. La primera es un tem ms de los
sealados en el prrafo anterior. La Lista de carpetas en cambio s nos parece muy til. Ya dijimos que es
aqu, y no en el Explorador del Windows, donde deben realizarse los cambios de nombres, movimiento de
ficheros, etc.
Pero tambin podemos hacer que desaparezca esta franja de vistas, y poner y quitar la lista de carpetas.
A veces, el deseo de disponer de mayor espacio en pantalla puede llevar a quitar de la misma los
elementos citados. Ambas opciones se encuentran en el men Ver.
Hablamos en su momento de los Informes de vnculos rotos. Otro informe interesante es el de pginas
lentas. Se encuentra en Ver Informes. Como orientacin, una pgina no puede tardar en cargarse con
un MODEM de 56.000 bps ms de 20 25 seg. Cuando tienes una pgina cualquiera en pantalla, a la
derecha de la lnea de estado (abajo) da esta informacin referida a la pantalla actual.
En el mercado existen unos cuantos programas para hacer ms vistosas las pginas Web. Son
programas para realizar efectos, transiciones, marquesinas, etc. Un ejemplo es el Anfy.
http://www.programacion.com/tutorial/frontpage/
Como creador de pginas Web lo ms seguro es que tengas que realizar las dos partes necesarias en el
uso de CGIs: La parte que ven los usuarios, es decir el documento HTML con los formularios necesarios;
y la parte escondida para ellos, los programas CGI, que se ejecutarn en el ordenador donde est el
servidor cuando sea necesario dar una respuesta al usuario.
Hasta ahora los CGIs eran la nica manera de ofrecer funciones avanzadas a una pgina Web como las
comentadas antes. Sin embargo el WWW va evolucionando y ya han surgido alternativas. Las que tienen
ms xito actualmente son:
Applets Java
Lenguajes de script de los navegadores: JavaScript, VBScript y pronto ECMAScript
(estandarizado por el W3C)
Lenguajes de script para servidores como PHP, ASP y 'JavaScript Liveware' de Netscape.
Ciertos controles ActiveX que slo funcionan en navegadores y servidores Web de Microsoft.
NOTA: Este es un tutorial del interfaz que trata el uso del CGI en servidores Web Unix. La gran mayora
de los servidores que hay en el mundo son de este tipo, an as todo lo que se cuenta puede ser
extendido con ligeras variaciones a servidores en otras plataformas, como pueden ser las de Windows
NT.
El problema de los dos primeros es que son tecnologas propietarias, y por tanto hay que pagar a la
compaa correspondiente (o a un tercero) para poder usarlos.
Los applets Java, si son una buena alternativa a los CGIs, pero las diferencias entre un sistema y otro son
muchas, y por tanto no puede sustituirle siempre.
Qu es un programa CGI?
Empecemos por el principio. El interfaz CGI consiste en un conjunto de normas que permiten a una
pgina Web comunicarse y ejecutar con programas externos a la pgina. Estos programas deben a su
vez seguir tambin una serie de normas. A los programas que cumplen estas reglas, impuestas por el
interfaz CGI, se les llama programas CGI, scripts CGI o simplemente CGI's, y pueden estar escritos en
cualquier lenguaje, tanto interpretados como compilados, siendo los ms usados los siguientes:
Perl
Este lenguaje interpretado es el ms usado a la hora de hacer CGI's debido a las grandes
facilidades que ofrece en el tratamiento de texto. Suele estar presentes en todas las plataformas
tipo Unix, como Linux.
Bash (sh) o cualquier otra shell de Unix
Son usados por su increble sencillez y facilidad de aprendizaje. Sin embargo tienen fallos de
seguridad y no es aconsejable usarlos excepto para CGI's muy sencillos.
C o C++
Son tambin muy usados. Ofrecen la ventaja de que son lenguajes mucho ms potentes, pero
tienen otros inconvenientes: son ms difciles de aprender, es necesario compilarlos y sobre todo
porque lleva ms tiempo hacer un programa usndolos que usando por ejemplo Perl.
A partir de ahora hablaremos de CGI's para referirnos a este tipo de programas. Su principal caracterstica
ser que se ejecutan en el ordenador donde est el servidor Web, y nunca en el del navegante que visita
la pgina.
La siguiente pregunta bsica es qu limitaciones tiene un CGI? Como he mencionado antes usando
CGI's se puede dotar a una pgina Web de una interactividad que sera impensable con ningn otro
mtodo. Sin embargo no es posible ejecutar cualquier programa desde una pgina Web. Por ejemplo no
puedes entrar en la pgina de Microsoft y ejecutar all mismo la ltima versin de por ejemplo el MS-Word
o ir a un servidor Unix cualquiera y ejecutar el interfaz grfico X-Window.
El propio interfaz CGI's impone severas limitaciones, que se derivan por el propio funcionamiento del
sistema:
En una pgina Web se incluye la direccin URL de un CGI. En principio puede introducirse una
direccin de un CGI, en cualquier lugar donde puede introducirse una direccin de una pgina
Web.
Como consecuencia de una accin del usuario el navegador enva al servidor Web una peticin
de acceso a esa direccin (junto con informacin adicional).
El servidor se da cuenta de que la direccin es un programa CGI y lo ejecuta, usando como
entrada al programa la informacin adicional enviada por el navegador.
Al ejecutar un CGI desde una pgina se le puede mandar toda la informacin que se quiera, por
ejemplo la informacin que el usuario ha introducido en un formulario.
El CGI procesar esta informacin y devolver en general una pgina en formato HTML que crea
sobre la marcha con los resultados obtenidos o bien una direccin de una pgina ya existente o
bien una imagen. Tambin es posible devolver otros tipos de datos pero son menos usados y no
entraremos en ellos.
El servidor recibe la respuesta del CGI y se la enva al navegador, quien la formatea
adecuadamente y la muestra al usuario.
En resumen, debe quedar claro que el CGI recibe unos datos, los procesa y devuelve otros datos. El
usuario no puede interacturar directamente con el programa CGI. Para obtener ese efecto hay que usar
apropiadamente el lenguaje HTML y hacer sucesivas llamadas a uno o varios CGI's.
Lo ltimo que nos queda por decir de los programas CGIs es respecto a su forma de interactuar con el
servidor Web. Es muy sencillo, toma los datos de entrada por la entrada estndar (como si hubiera un
usuario escribindolos en un teclado) y enva los datos de salida por la salida estndar (como si los
mandramos a una pantalla). Gracias a esta sencillez cualquiera que haya programado en un lenguaje de
programacin puede realizar un CGI sin tener que aprender muchas cosas nuevas.
JavaScript tiene caractersticas similares a Java, pero es un lenguaje interpretado (no necesita ser
compilado) y se introduce junto con el cdigo HTML. Tambin se ejecuta en el ordenador del usuario.
Si queremos realizar algo sencillo que puede ser hecho con JavaScript o incluso Java, es preferible
usarlos antes que acudir a un CGI, pero esto no ser posible siempre. Por ejemplo, cuando necesitemos
acceder a una base de datos o a cualquier otra fuente de datos del servidor los CGIs sern nuestra nica
solucin.
Usando la etiqueta A:
<a http="direccion_del_CGI">Texto</a>
Usando la etiqueta IMG:
<img src="direccion_del_CGI">
Usando un formulario (este mtodo se tratar ms adelante en detalle):
<form action="direccion_del_CGI" >
<!-- Elementos del formulario -->
</form>
El primer mtodo slo sirve para scripts sencillos y se us en su da para crear mapas de imgenes
situados en el servidor. Hoy en da no es muy usado.
El segundo mtodo suele servir para invocar un CGI que da como respuesta una imagen.
Un ejemplo de este tipo de uso son los contadores. En ellos, cuando el navegador llega a esta lnea del
cdigo HTML pide al servidor que le mande un archivo con el nombre direccion_del_CGI. El servidor
se dar cuenta que en realidad lo que debe hacer es ejecutar el programa de ese nombre. Este programa,
que ser un script CGI, busca en una base de datos (que puede ser ms o menos complicada), cuantos
accesos ha habido hasta ahora y enva al navegador la imagen adecuada. La imagen ser (como habrs
adivinado ya) un nmero correspondiente al nmero de visitas recibidas, incluida la tuya.
El tercer mtodo es sin duda el ms verstil y usado de todos, y en al que prestaremos mayor atencin de
ahora en adelante. Su funcin es procesar los datos provenientes de un formulario.
Un ejemplo simple
Vamos a entrar en materia creando un CGI simple, cuya funcin ser dar la hora actual cuando el usuario
lo pida.
El cdigo HTML que se incluir en la pgina ser el siguiente:
<a href="http://www.unsitio.es/cgi-bin/fecha">
Dime la fecha
</a>
Cuando el navegante pulse sobre el texto Dime la fecha se enviar una peticin al servidor y se ejecutar
el CGI, tal y como hemos visto antes.
El programa necesario para generar la fecha es muy sencillo, as que hemos elegido como lenguaje de
programacin bash:
#!/bin/bash
echo Content-type: text/plain
echo
/bin/date
La primera lnea simplemente dice que se debe usar el intrprete de bash para ejecutar este programa, es
necesario indicarlo siempre que programemos en bash.
Las dos lneas siguientes usan el comando echo cuya funcin es mandar el texto a continuacin por la
entrada estndar. En el caso de los CGIs todo lo que vaya por la entrada estndar ser recogido por el
servidor Web y mandado al navegador. El estndar CGI establece que la primera lnea que se enve debe
ser de la forma:
Content-type: Tipo Mime
En este caso el tipo Mime es text/plain para indicar que todo lo que vamos a enviar al navegador ser
texto. La lnea siguiente a esta debe estar en blanco, lo que conseguimos con otra llamada al comando
echo.
La ltima lnea del programa es la que realmente realiza toda la funcionalidad. Llama al programa de Unix
/bin/date que devuelve la fecha actual por la entrada estndar. Entonces es mandada al Navegador
que la muestra por pantalla.
Introduccin
Un CGI recibir algn tipo de informacin del navegador a travs del servidor. Despus de procesarla
devolver algn otro tipo de datos. Pero la salida de estos datos debe seguir una serie de normas.
Como hemos adelantado en el ejemplo, la primera lnea debe indicar el tipo de respuesta que estamos
dando. Los tres posibles mtodos son: Content-type, Location y Status. El ms popular es el
primero, as que ser el que veremos. La forma de usarlo ser indicando el tipo mime de los datos que
estamos enviando. Los ms comunes son:
Content-type: text/html
Documento HTML
Content-type: text/plain
Texto
Content-type: image/gif
Imagen con formato GIF
Content-type: image/jpeg
Imagen con formato JPEG
Content-type: video/mpeg
Vdeo en formato MPEG
La lnea con el tipo MIME, debe ir seguida obligatoriamente de una lnea en blanco. La forma de enviar
esta lnea en blanco depender del lenguaje que estemos usando.
Como vemos el nombre del CGI va separado de los argumentos por una interrogacin. Despus de sta
podemos poner tantos argumentos como queramos separados por el smbolo +. La forma de recoger
estos argumentos desde el cdigo del programa CGI, ser la misma que use el lenguaje de programacin
que estemos usando para recoger los argumentos que se pasan por la lnea de comando.
Hay otra forma adicional para pasar argumentos. En general se usa para pasar datos que no varan en las
distintas invocaciones del CGI. El mtodo consiste en usar el smbolo / siguiendo al nombre del CGI y
antes de la interrogacin que indica el comienzo de los argumentos. El texto que haya entre estos dos
smbolos ser pasada al CGI. Un ejemplo (genrico) de una llamada al CGI usando este mecanismo
sera:
/cgi-bin/cgi/informacion_extra?arg1+arg2+arg3
El programa CGI podr acceder a la informacin pasada de esta forma a travs de la variable de entorno
PATH_INFO. El CGI debe acceder a esta varible para obtener los datos pasados. Cmo hacer esto
depender del lenguaje de programacin.
Debido a esta codificacin lo primero que debe hacer todo CGI ser llevar a cabo una decodificacin.
GET y POST
Los dos mtodos para mandar la informacin asociada a un formulario son GET y POST. Cual usar el
navegador se indicar en el cdigo HTML con el atributo METHOD.
Si usamos GET todos los datos se almacenarn en la variable de entorno QUERY_STRING, y el
programa CGI debe leerlos de ah. El problema es que esta variable suele tener una longitud limitada. En
ocasiones esta limitacin es de 256 caracteres, lo que limita su uso a formularios muy sencillos. Cabe
decir que en los casos de la seccin anterior en los que invocbamos a un CGI con la etiqueta A,
estbamos usando este mtodo.
Si usamos POST el CGI recibir los datos por la entrada estndar, y por tanto no hay limitacin en el
tamao de los mismos. Si es necesario conocer dicho tamao para procesar los datos puede obtenerse
leyendo la variable de entorno CONTENT_LENGTH. ste es el mtodo ms seguro de usar y por tanto el
ms utilizado.
Variables de un CGI
Como hemos visto, es habitual que un CGI deje informacin en una variable de entorno. Existen una serie
de variables extra donde se almacena informacin de gran utilidad, como la direccin IP del navegante, el
navegador que usa, etc. Las ms importantes estn resumidas en la siguiente tabla:
Variable
SERVER_NAME
SERVER_SOFTWARE
GATEWAY_INTERFACE
SERVER_PROTOCOL
SERVER_PORT
REQUEST_METHOD
HTTP_ACCEPT
HTTP_USER_AGENT
HTTP_REFERER
PATH_INFO
PATH_TRANSLATED
SCRIPT_NAME
Significado
Direccin IP del host donde est el CGI.
Tipo de servidor Web que se est usando.
Versin del interfaz CGI.
Versin del protocolo HTTP.
El puerto TCP que se est usando. En la mayora de
servidores Web es el 80.
Mtodo de envo de informacin: POST o GET.
Lista de los tipos MIME (content-types) que acepta
el navegador.
El navegador usado por el usuario.
Direccin URL del documento HTML donde estaba el
formulario.
Informacin extra (visto antes)
La variable PATH_INFO adaptada al sistema
especfico donde est el CGI.
Nombre del CGI.
QUERY_STRING
REMOTE_HOST
REMOTE_ADDR
REMOTE_USER
REMOTE_IDENT
CONTENT_TYPE
CONTENT_LENGTH
Para saber ms
Con lo explicado en este documento ya conoces las bases de la creacin de CGIs y lo que puedes lograr
con ellos. Si quieres aprender ms y hacer algn CGI complejo, el siguiente paso a seguir es elegir un
lenguaje (Perl o C son dos buenas elecciones) y leer un tutorial o un libro dedicado especficamente a la
creacin de CGIs con ese lenguaje. Adems es muy aconsejable leer el cdigo de varios CGIs hechos por
expertos, especialmente para aprender las tcnicas ms comunes, as como aspectos de seguridad en
CGIs.
Existe una serie de programadores que han puesto a disposicin de todo el mundo los scripts CGI que
han hecho. Podemos usar estos CGIs de dos formas: copindolo al ordenador donde est nuestro
servidor Web (si nos dejan) o usarlo desde el servidor donde lo han puesto los propios autores. En este
ltimo caso nos lo dirn explcitamente. Una direccin donde puede obtenerse un listado de estos CGIs
es:
http://www.cgi-resources.com/Programs_and_Scripts/
Tanto si vamos a usar estos CGIs como si queremos escribir los nuestros propios es muy apropiado coger
alguno de estos programillas de uso gratuito para ver como estn programados. Se puede aprender
mucho viendo el cdigo de programadores experimentados.
http://www.programacion.com/tutorial/cgi/
La programacin web de las pginas ofertadas se realiza en los siguientes
lenguajes:
HTML: HyperText Markup Language. El primero de los lenguajes de
programacin web. Se escribe el cdigo caracter a caracter para lograr
que las pginas ocupen el menor tamao posible y sean rpidas a la
hora de cargar.
CSS: Cascading Style Sheets. Hojas de Estilo en cascada. Lenguaje que
se encarga de especificar al navegador como debe de presentar el
documento al usuario. Las hojas de estilos sern todas validadas.
JavaScript: Un viejo conocido lenguaje de programacin web de script
del lado del cliente que permite aadir una serie de efectos dinmicos
a las webs.
PHP: Lenguaje dinmico del lado del servidor. PHP es, con ASP y JSP,
uno de los grandes conocidos de hoy en da en lo que a programacin
web se refiere. Estos lenguajes permiten hacer prcticamente todo lo
que sea posible desde el lado del servidor. Las pginas se generan
automticamente y son enviadas al cliente, lo que da una gran
cantidad de posibilidades con respecto a la programacin. El soporte de
servidores para este tipo de lenguajes suele ser algo ms caro que el
habitual, no son muchas las empresas que dejan usar PHP de forma
gratuita.
MySQL: Las bases de datos son algo indespensable en determinados
sitios, MySQL es, hasta hoy, el perfecto compaero (aunque no el nico)
de PHP para generar sites dinmicos con grandes volmenes de
informacin y acceso a bases de datos. La integracin de las bases de
datos en la programacin web actual, junto con los lenguajes de
programacin web dinmicos, dan infinitas posibilidades en el
desarrollo de cualquier sitio web. El soporte de MySQL en servidores
suele ser ms caro que el soporte de PHP.
Scripts PHP: Puedes encontrar scripts interesantes para tu web en PHP,
todos ellos bajo la licencia GNU GENERAL PUBLIC LICENSE (GPL),
tambin encontrars el "Tribuna Libre", un shoutbox o tagboard con el
que tus visitantes pueden dejar mensajes en tu web., es muy fcil de
instalar y configurar y no requiere base de datos, aunque tambin est
disponible una versin que usa MySQL.
Curso de Flash
Unidad 1.
Introduccin a Flash 5
Qu es FLASH?
Flash 5 es una
potente
herramienta
creada por
Macromedia que
ha superado las
mejores
expectativas de
sus creadores.
Inicialmente
Macromedia
Flash fue creado
con el objeto de
realizar
animaciones
vistosas para la
web, as como
para crear GIFs
animados.
Los motivos
que han
convertido a
Flash 5 en el
programa elegido
por la mayora de
los diseadores
web profesionales
y aficionados son
varios. Veamos
pues, porqu es
interesante Flash
5:
Adems, el Javascript no sirve para crear pginas web, tan slo las complementa,
por lo que su uso general suele estar enfocado a pequeas "ayudas" en la
interactividad de la web, como por ejemplo realizar comprobaciones en los
formularios, efectos en la barra de estado... ).
Debemos destacar adems, que Flash puede trabajar conjuntamente con
javascript y ejecutar cdigos y funciones Javascript sin problemas, por lo que
Javascript se convierte en una ayuda para todos los usuarios de Flash 5
Para ver unos ejemplos de usos de Javascript y sus cdigos, visita nuestra
Pgina Avanzada
El Eterno Debate
Y ante todo esto Qu nos ofrece Flash? Pues Flash es, con diferencia, la
herramienta ms potente del mercado para crear contenido multimedia para la
web. Presenta 2 inconvenientes importantes.
El primero es la compatibilidad con FLASH. Al igual que algunos navegadores
no soportan javascript o no pueden ver contenidos DHTML (o incluso CSS), para
poder ver FLASH se requiere un PLUGIN especial de la casa Macromedia. Un
PLUGIN es un programita especial que permite a tu navegador identificar las
pelculas FLASH y descargarlas y visualizarlas correctamente.
Este PLUGIN es gratuito. Te har falta para seguir este curso, sino lo tienes
puedes descargarlo AQU. Por suerte, cada vez ms navegadores lo llevan
incorporado y cada vez ms gente sabe lo que es y no se asusta cuando se le
ofrece. As que cada vez ms gente lo tiene.
El segundo
problema es el
tamao que
ocupan las
pelculas y su
tiempo de
descarga.
Mientras que
una pgina
HTML puede
ocupar unos 10
KB como media,
una animacin
Flash ocupa
mucho ms.
Evidentement
e depende del
contenido que
tenga, pero
suelen superar
los 100 KB con
facilidad, y si
adems
incorpora
sonidos es fcil
que la cifra se
dispare. Al
ocupar ms
tiempo, el tiempo
que tarda en
estar visible el
contenido Flash
es mayor y no
todos los
visitantes estn
dispuestos a
esperar...
simplemente, se
irn a otra
pgina.
Por otra parte,
las conexiones
de banda ancha
son cada vez
ms numerosas,
lo que ellimina el
problema del
tiempo de
descarga, pero
el da en el que
todo el mundo
se conecte a
internet a alta
velocidad an
est lejos, as
que el debate
seguir abierto
mucho tiempo.
Aqu teneis
algunas pginas
interesantes
hechas con
FLASH 5
Real
Desig
English
Eye4
n
Institut
u
Malag
e
a
Todos estos
temas, se
tratarn en
profudidad en el
tema final.
Optimizacin de
pelculas.
Unidad 2.
Comenzando
Una de las caractersticas principales de
Flash 5 es su sencillez, esta sencillez en su
utilizacin permite crear animaciones de un
modo efectivo y rpido.
Pongamonos en situacin, supongamos
que queremos crear una animacin en la que
una pelota realice un movimiento de "bote",
es decir, que baje y suba. Puede parecer un
trabajo de horas, pero nada ms lejos de la
realidad. Veamos cmo Flash nos lo pone
fcil
Realizando la Animacin
En este apartado no pretendemos ensear cmo crear una animacin Flash (pues
eso se ver ms adelante), el objetivo es que entedamos cmo crea Flash las
animaciones y de que modo nos facilita el trabajo.
A primera vista, lo lgico parece ser dibujar la pelota en cada instante del
movimiento, de modo que cuantos ms instantes dibujemos, ms real parecer el
movimiento. Pues bien, con Flash bastar con crear 3 fotogramas: en el primero
dibujaremo la pelota en el instante inicial (arriba del todo), en el segundo se dibujar la
pelota en el momento de tocar el suelo y en el tercero la pelota volver a estar arriba
(en realidad este tercer fotograma no har falta crearlo, pues bastar con copiar el
primero). Por tanto, vemos que el trabajo ms largo (dibujar los objetos) ya est hecho.
Ahora, se determina el tiempo que durar cada movimiento (es decir, el tiempo que
transcurre entre los instantes en los que la pelota est arriba y abajo) y por ltimo se le
indica a Flash que cree una animacin de movimiento entre estos fotogramas. Fcil
verdad?
Observa como ha quedado:
Unidad 3.
El Entorno de Trabajo
La Interfaz de Flash 5
Flash 5 cuenta con un entorno o interfaz de trabajo de lo ms manejable e
intuitiva. Adems, tiene la ventaja de que es similar a la de otros programas de
Macromedia (Dreamweaver, Freehand, Director...), todo esto hace ms fcil
aprender Flash y ms rpido su manejo y dominio. Esto es lo que nos
encontraremos al abrir Flash 5 por primera vez:
A lo
largo de
todo el
curso
trabajare
mos con
la
versin
inglesa
de Flash
5. El
motivo
es que
es la
versin
ms
extendid
ay
cuenta
con una
versin
gratuita
de 30
das de
uso. La
versin
espaola
no, de
ah su
escaso
nmero
de
usuarios.
Para
facilitar
el
aprendiz
aje
daremos
las
traduccio
nes de
todas las
palabras
que sean
necesari
as para
la
correcta
compren
sin de
las
explicaci
ones.
En la
imagen
se puede
ver la
interfaz
que nos
encontre
mos la
primera
vez que
abramos
el
programa
Flash.
Flash
recordar
nuestras
preferenc
ias y
abrir el
programa
tal y
como lo
dejamos
la ltima
vez que
lo
utilizamo
s.
En
esta
imagen
faltan
algunos
mens.
Todos se
irn
viendo a
lo largo
de este
curso
aunque
no
aparezca
n en esta
imagen,
que slo
pretende
mostrar
las
partes
principale
s de la
interfaz
de Flash.
Veamos
cules
son:
La Barra de Mens
La Barra de Mens
tiene como propsito facilitar el acceso a las distintas utilidades del programa. Es
similar a la de cualquier otro programa de diseo web o grfico, aunque tiene
algunas particularidades. Veamos los principales Submens a los que se puede
acceder:
File (Archivo): Permite crear nuevos archivos, abrirlos, guardarlos... Destaca la
potencia de la utilidad Importar que inserta en la pelcula actual casi todo tipo de
archivos (sonidos, vdeo, imgenes e incluso otras pelculas Flash), o la de
Publish Settings (Configuracin de Publicacin) desde donde se pueden
modificar las caractersticas de la publicacin. Tambin permite configurar la
impresin de las pginas, imprimirlas...
Edit (Edicin): Es el clsico Men que te permite Cortar, Copiar, Pegar... tanto
objetos o dibujos como fotogramas. Tambin permite personalizar algunas de las
opciones ms comunes del programa.
View (Ver): Adems de los tpicos Zooms, te permite moverte por los
fotogramas y por las escenas. Tambin incluye la posibilidad de crear una
cuadrcula yunas guas. Esto se puede seleccionar desde los Submens Grid
(cuadrcula) y Guides (guas) desde donde tambin se pueden configurar sus
opciones.
Insert (Insertar): Te permite insertar objetos en la pelcula, as como nuevos
fotogramas, capas, acciones, escenas...
La Lnea de Tiempo
La Lnea de
Tiempo representa
una forma de ver
los fotogramas de
modo simplificado.
Consta de 2 partes.
1) Los
Fotogramas
(frames) que
vienen delimitados
por lneas verticales
(formando
rectngulos)
2) Los Nmeros
de Fotograma que
permiten saber qu
nmero tiene
asignado cada
fotograma, cunto
dura o cundo
aparecer en la
pelcula.
Adems, en la
parte inferior hay
herramientas para
trabajar con Papel
cebolla e
informacin sobre el
Nmero de
Frotograma actual
(1 en la imagen), la
Velocidad de los
Fotogramas (12.0
en la imagen) y el
Tiempo de
pelculatranscurrido
(0.0s en la imagen
Las Capas
El concepto de Capa (Layer) es fundamental
para manejar Flash de forma eficiente. Dada la
importancia de estas, se le dedicar un tema
completo. An as, veamos a grandes rasgos qu son
las capas.
Una Capa se puede definir como una pelcula
independiente de un nico nivel. Es decir, una capa
contiene su propia Lnea de Tiempo (con infinitos
fotogramas).
Los objetos que estn en una determinada capa
comparten fotograma y por tanto, pueden "mezclarse"
entre s. Esto es interesante a menudo, pero otras
veces es conveniente separar los objetos de modo
que no interfieran entre s. Para ello, crearemos tantas
capas como sea necesario. El uso de mltiples capas
adems, da lugar a pelculas bien ordenadas y de fcil
manejo (es conveniente colocar los sonidos en una
capa independiente llamada "Sonidos", por ejemplo).
Las ventajas y desventajas de usar capas se ver en
el Tema 8.
El rea de Trabajo
El rea de trabajo
consta de numerosas
partes, vemoslas:
La parte ms
importante es el
Escenario, sobre el
escenario dibujaremos y
colocaremos los
diferentes elementos de
la pelcula que estemos
realizando. El escenario
tiene unas propiedades
muy importantes, ya que
coinciden con las
Propiedades de la
Pelcula. Para acceder
a ellas, hagamos clic
con el botn derecho
sobre cualquier parte del
escenario en la que no
haya ningn objeto:
Frame Rate
(Velocidad del
Fotograma): O nmero
de fotogramas por
segundo que
aparecern en la
pelcula.
Dimensions
(Dimensiones):
Determinan el tamao
de la pelcula. El tamao
mnimo es de 18 x 18 px
(pxeles) y el mximo de
2880 x 2880 px.
Backgrouond Color
(Color de Fondo): El
color aqu seleccionado
ser el color de fondo de
toda la pelcula.
Ruler Units
(Unidades de Regla):
Unidad que se emplear
para medir las
cantidades.
Para practicar estas operaciones te aconsejamos realizar Ejercicio Cambiar
Propiedades de la Pelcula
Los Paneles
Los Paneles (Panels) son conjuntos de comandos agrupados segn su
funcin. (por ejemplo, todo lo que haga referencia al texto, ir en el Panel
"Carcter"). Su misin, simplificar y facilitar el uso de los comandos.
Todos ellos se estudiarn en profundidad a lo largo del curso. An as, vamos a
nombrarlos y a resumir sus funciones.
Unidad 4.
Dibujar y Colorear
El Dibujo en Flash 5
Cuando se disea una pgina web o una animacin el diseador pasa por
muchas fases. Tras la fase de "Qu quiero crear y cmo va a ser" viene
(normalmente) la fase de diseo grfico. Llevar lo que ha producido tu imaginacin
al papel (en este caso al papel de Flash).
No conviene engaarnos, Flash no es un programa de diseo grfico, pero su
potencia es casi tan grande como la de stos programas. Vamos a ver cmo
emplear cada herramienta de dibujo para sacarle el mximo partido.
Enderezar (Straighten):
Realiza la labor inversa. Convierte los
trazos redondeados en ms rectilineos.
Girar (Rotate):
Escalar (Scale):
las proporciones.
El Panel Mezclador
El Panel Mezclador, como su nombre indica se usa para fabricar nuestros
propios colores y para seleccionar los que ms nos gusten.
Para seleccionar un color determinado,
bastar con hacer clic en las pestaas que se
encuentran junto a los iconos de las
Herramientas de Lpiz y de Bote de Pintura.
(Si queremos modificar el color de un borde,
pulsaremos sobre la pestaa que est junto
Herramienta Lpiz y si queremos modificar un
relleno, haremos clic en la pestaa que est
junto a la Herramienta Bote de Pintura.) Al
hacerlo aparecer un Panel con multitud de
colores para que seleccionemo el que ms nos
gusta. Tambin permite introducir el cdigo del
color segn el standard que establece el HTML.
Para aprender a crear un color transparente
(semi-transparente), realiza el Ejercicio Crear
Color Transparente
El Panel Relleno
El Panel Relleno sirve para seleccionar el tipo de relleno que aplicars a los
objetos creados (mediante la Herramienta Bote de Pintura). Por algn motivo, no
est colocada junto a los Paneles de dibujo, por lo que es relativamente difcil de
encontrar. Se puede acceder a ella desde Window --> Panels --> Fill
Se pueden crear diferentes tipos de
Rellenos
Slido: Consiste en un relleno formado por un
solo color.
Degradado Lineal: Es un tipo especial de
relleno, de modo que un color se degrada hasta
convertirse en otro. Puede ir de arriba abajo o de
un lado al otro
Degradado Radial: Es igual que el anterior,
pero los degradados tiene forma circular.
Bitmap: Permite colocar como relleno alguna
imagen existente en la pelcula (O ajena a ella si
antes se "importa")
Ejercicios del Tema 4
Unidad 5.
Comenzando
Flash abarca todo aquello que nos pueda hacer falta a la hora de crear una
animacin, y por tanto, tambin todo aquello relativo a los textos. Sin embargo, Flash
fue concebido para crear animaciones grficas, de modo que tratar cualquier texto
como si de un objeto ms se tratase, listo para ser animado a nuestro gusto. Esto nos
permitir posteriormente animar textos y crear espectaculares animaciones con muy
poco esfuerzo. Flash distigue entre 3 tipos de texto, texto esttico o normal, texto
dinmico y texto de entrada (para que el usuario introduzca sus datos, por ejemplo),
tambin se puede crear texto que soporte formato HTML ...
Caracteres
Para poder escribir, deberemos hacer clic en la Herramienta Texto y posteriormente
en el punto del escenario en el que queramos empezar a escribir
Para saber ms acerca de la Cmo escribir textos visita nuestra Pgina Avanzada
Prrafos
Un Prrafo (Paragraph) no es ms que un conjunto de caracteres con
propiedades comunes a todos ellos. Estos prrafos admiten ciertas opciones que nos
permiten trabajar con bloques de texto.
Alineacin: Distribuye las lneas que forman los prrafos del modo que nosotros
decidamos.
A la Izquierda:
Todas las lneas empezarn tan a la izquierda como sea posible
(dentro del recuadro de texto que hayamos definido).
Centrar:
del Prrafo.
A la derecha:
Tipos de Textos
Como ya hemos comentado, Flash distingue entre diversos tipos de textos y les
da un tratamiento especial, segn el tipo que sean.
Todos los tipos de textos responden a las propiedades comentadas en los
puntos anteriores, y es en el Panel Text Options (Opciones de Texto) en lo que
se diferencian. Este Panel se encuentra en Window -> Panels -> Text Options
aunque por defecto tambin est disponible junto a la pestaa Character vista
anteriormente (esto ltimo se puede configurar, de modo que no lo podemos
asegurar)
Texto Esttico
El Texto Esttico se caracteriza por no presentar ningn cambio a lo largo de
la animacin. Es importante que no confundamos la palabra "esttico" con que el
texto no se mueva o malinterpretemos la frase "es el texto que no presenta
cambios a lo largo de la pelcula".
Lo que queremos decir es que no cambia el contenido del recuadro de texto,
es decir, que el texto puede estar animado (girar, cambiar de color...) y sin embargo
ser esttico. As, un recuadro de texto en el que pone "Aprende Flash 5" durante
toda la pelcula, es esttico, aunque dicho texto cambie de posicin, forma o color.
Sin embargo, si en ese mismo recuadro de texto pasa a poner "Con este Curso",
este recuadro de texto NO es esttico. Se insistir en este punto en los ejercicios
de evaluacin.
Estos textos slo tiene 2 propiedades extras:
Use Device Fonts (Usar Fuentes del Dispositivo): Esta opcin permite que la
pelcula Flash emplee las Fuentes que tenga instaladas el usuario que ve la
pelcula en su ordenador. Si dicho usuario dispone de las fuentes que hemos
utilizado en la pelcula, la ver exactamente como queremos que la vea, pero si no
las tiene, Flash emplear la fuente que ms se le parezca. Esto muchas veces
lleva a que el resultado final (el que ve el usuario) no se parezca al que
pretendiamos, por lo que suele ser conveniente mantener esta opcin sin
seleccionar, aunque esto conlleve un mayor tamao de la pelcula final.
Selectable (Seleccionable): Con esta opcin activada el usuario podr
seleccionar los textos que aparezcan en la pelcula (cortarlos, copiarlos...) Actvala
si lo crees conveniente.
Texto Dinmico
El Texto Dinmico en contraposicin al esttico si que puede cambiar su
contenido (adems de estar animado). Su uso es bastante ms complejo que el
del Texto Esttico, ya que cada recuadro de texto Dinmico puede ser una variable
modificable mediante ActionScript, esto quiere decir que los valores y propiedades
de este tipo de textos se pueden modificar mediante programacin, lo que nos
saca del objetivo de este curso. Un uso comn que suelen tener es el de
representar los textos introducidos mediante (Textos de Entrada).
Tienen multitud de propiedades, accesibles desde el Panel Text Options, se
puede decidir el nmero de lneas que van a tener, se puede introducir texto HTML,
se puede aadir fcilmente un borde al texto o dar nombre a la variable que
represente al texto Dinmico
Texto de Entrada
El Texto de Entrada tiene bsicamente las mismas propiedades que el Texto
Dinmico, junto con algunas propias de un tipo de texto orientado a la introduccin
de datos por parte de usuario, como por ejemplo el nmero mximo de lneas que
puede introducir en ese campo de texto o si queremos que lo que el usuario
escriba en dicho campo aparezca como asteriscos (password).
Evidentemente este tipo de texto se reflejar en nuestra pelcula como un
recuadro de texto SIN contenido, ya que lo deber introducir el usuario.
Como hemos mencionado antes, este tipo de texto se puede combinar con el
Texto Dinmico.
En esta animacin (avanzada) podeis ver cmo:
Y este es el resultado final:
Para aprender a cambiar el tipo de texto, te aconsejamos realizar Ejercicio
Cambiar tipo de texto
Flash permite crear animaciones de texto tan interactivas como las que pueden
crear con imgenes (ya hemos visto lo sencillo que es convertir un texto en un
enlace a otra pgina web). An as, crear animaciones con textos, que sobrepasen
a las que Flash incorpora por defecto (colores, transparencias, brillos, rotaciones,
movimientos o combinaciones de estos) puede resultar un trabajo de muchsimas
horas y mucha paciencia. Los resultados son increbles, pero puede resultar
recomendable en estos casos usar algunos programas diseados con este
objetivo. Entre otros destacan el Swish, el FlaX o el MiX-Fx, con ellos podrs crear
efectos de texto asombrosos en pocos minutos, aunque no podrs gozar del
entorno de Flash ni podrs emplear el resto de herramientas de que dispone Flash.
Podeis poner a prueba vuestros conocimientos realizando la:
Unidad 6.
Comenzando
Quin sera capaz de ver una pelcula muda? Y una animacin espectacular sin
sonido?
Hasta hace poco, los nicos sonidos que oamos en las pginas web eran los
famosos "midis", de escaso tamao y de escasa calidad. De hecho, eran slo
instrumentos musicales sin voz, de ah su pequeo tamao (y calidad). An as,
siempre exista algn creador de pginas web que se aventuraba a poner algn sonido
complejo (.wav o .mp3) en su pgina web, por desgracia, su carga es tan lenta, que la
mayora de los visitantes se iran de la pgina sin llegar a escucharla.
Hoy, gracias a las conexiones de banda ancha orientadas a contenido multimedia,
poner sonido a las pginas web es un poco ms fcil, qu aporta FLASH?
Flash nos permite insertar cualquier sonido que queramos en nuestras pelculas
(.wav, .aiff y .mp3) de forma fcil y muy efectiva, ya que es capaz de acelerar la
descarga del sonido siempre y cuando se descargue junto con nuestra pelcula.
Podemos dar a la pelcula efectos simples (el tpico "clic" al pulsar un botn), efectos
complejos (msica de fondo) e incluso podemos hacer que la animacin se desarrolle
conjuntamente con una msica (si bien esto ltimo necesitara que toda la pelcula
estuviera descargada previamente, para evitar "atascos" durante el desarrollo de la
animacin). En definitiva, Flash nos lo vuelve a poner fcil.
Importar Sonidos
Si alguna vez habeis intentado aadir un sonido a vuestra animacin Flash
probablemente os hayais llevado una gran decepcin, no conseguirlo. Esto se debe a
que no se tiene en cuenta que para poder emplear un objeto en nuestra pelcula, o bien
lo creamos nosotros (como llevamos haciendo hasta ahora) o bien lo conseguimos de
cualquier otro modo y lo insertamos en nuestra pelcula.
A esto ltimo se le llama "Importar" y se puede hacer con sonidos, grficos, e
incluso con otras pelculas Flash. Importar por tanto, no es ms que decirle a Flash que
aada un determinado archivo a nuestra pelcula, para que podamos usarlo cuando
queramos. En realidad, lo aade a nuestra Biblioteca, que es el Panel en el que estn
todos los objetos que participan en la pelcula (este Panel se ver ms adelante).
As pues si queremos manejar un sonido en nuestra pelcula, deberemos importarlo
previamente.
Una vez est importado, podremos usarlo con total libetad.
Panel Sonidos
Unidad 6.
Insertar un Sonido
Ahora que ya sabemos importar un sonido,
qu opciones podemos modificar y para que
sirve cada una. Veamos lo ms importante,
cmo insertarlos en nuestra pelcula.
Supongamos que queremos insertar un
sonido en un fotograma determinado, de modo
que cuando la pelcula Flash llegue a este
fotograma comience a reproducirse el sonido.
Para que un sonido se reproduzca al llegar a un
fotograma, deberemos seleccionar el fotograma
en el que queremos que empiece a reproducirse
el sonido. Una vez all, abriremos el Panel
Sonido (Window -> Panel -> Sound) e
insertaremos el sonido que queramos del modo
visto en el punto anterior. Otro modo ms rpido
an consistira en seleccionar dicho sonido en la
Biblioteca y arrastrarlo al fotograma en el que
queramos que se empiece a reproducir el sonido
(al fotograma, no a la lnea de tiempo).
De este modo insertamos un sonido, pero suena tal y cmo queremos que
suene? ... Depende de lo que busquemos.
Por defecto Flash entiende que quieres reproducir el sonido en su totalidad, sino
para que insertarlo entero?, de modo que Flash reproducir el sonido todas las veces
que le hayas indicado en Loops y el sonido sonar aunque el fotograma en el que est
no sea el que se est ejecutando en ese instante. Si quisiramos que el sonido pare
cuando entremos en otro fotograma, lo podemos hacer de 2 formas distintas, ambas
combinando las opciones que nos ofrece el Panel Sonido.
En esta animacin, vers como:
Editar Sonidos
Flash no fue creado como un editor de sonidos, por lo que lo que su potencia en
este campo es limitada. An as, los efectos que permite aplicar de un modo sencillo
suelen ser suficientes para cualquier animacin que queramos realizar. Son estos:
Left Channel (Canal Izquierdo): El Sonido tan slo se escuchar por el altavoz
izquierdo.
Right Channel (Canal Derecho): El Sonido tan slo se escuchar por el altavoz
derecho.
Fade Left To Right (Desvanecimiento de izquierda a derecha): El sonido se
reproduce inicialmente en el altavoz izquierdo para luego pasar al derecho.
Fade Right To Left (Desvanecimiento de derecha a izquierda): El sonido se
reproduce inicialmente en el altavoz derecho para luego pasar al izquierdo.
Fade In (Aumento Progresivo): El volumen de nuestro sonido aumenta
progresivamente.
Fade Out (Desvanecimiento): El volumen de nuestro sonido disminuye
progresivamente.
Custom (Personalizar): Esta opcin nos permite "editar" el sonido de un modo
rpido y sencillo. Desde este editor podemos decidir qu volumen tendr nuestro
sonido y en que altavoz. Podemos crear los efectos anteriores ajustndolos a nuestro
gusto y podemos crear efectos ms complejos a nuestra medida.
Esta es la apariencia del
Panel "Custom Sound"
(Personalizar Sonido). La
parte superior representa el
canal izquierdo y la parte
inferior el canal derecho.
Entre las 2 partes hay una
lnea de tiempo que nos
indica el tiempo de sonido
transcurrido en cada punto.
Las lneas grises
representan el volumen del
sonido y haciendo clic en
ellas podemos configurar
este volumen.
En el ejemplo, el canal
izquierdo se reproduce
normalmente (pues el
volumen est al mximo),
pero el canal derecho
empieza en silencio, para
poco a poco alcanzar el
volumen normal (este
efecto equivaldra a un
Fade In en el canal
izquierdo)
Mp3 o Wav?
Msica de Fondo
Sonido "Voz"
Por ltimo, comentar que Flash no puede importar sonidos en formato MIDI
(.mid). An as, si estamos empeados en que en nuestra animacin el sonido sea
un MIDI y no queremos o podemos conseguir un programa que convierta el sonido
MIDI a WAV o MP3 existe una forma de hacerlo consistente en el uso combinado
de Flash y Javascript.
Ejercicios del Tema 6
Unidad 7.
Seleccionar
Para poder trabajar con objetos, es fundamental saber seleccionar la parte del
objeto que queramos modificar (mover, girar, cambiar de color...). Podremos observar
que las partes de un objeto seleccionadas toman una apariencia con textura para
indicar que estn seleccionadas.
pegarlas ...
Adems de la Herramienta Flecha, tambin podemos usar la Herramienta Lazo,
ms til an si cabe. Nos permite seleccionar cualquier zona de cualquier forma (la
forma la determinamos nosotros) del objeto que sea. Al contrario que la Herramienta
Flecha, las reas seleccionadas no tienen porque ser rectngulares.
Seleccionar a partir de la Lnea de Tiempo: Si seleccionamos un determinado
fotograma en la lnea de tiempo, se seleccionan automticamente todos los objetos
que estn en dicho fotograma. Esto es til para modificar de un modo rpido todos los
elementos del fotograma.
Seleccionar Todo: La forma ms natural de seleccionar todo, consiste en hacer clic
en el men Edit -> Select All (Editar -> Seleccionar Todo)
Unidad 7.
Align:
Sita los objetos en una determinada posicin
del fotograma (si est seleccionado To Stage). Las distintas opciones afectan a
todos los elementos seleccionados y se emplean muy a menudo para situar los
objetos en determinados sitios predefinidos. Por ejemplo: Si quisieramos situar un
objeto en la esquina inferior izquierda, bastara pulsar el primer y el sexto botn
consecutivamente.
Distribute:
Sita los objetos en el escenario en funcin
de unos ejes imaginarios que pasan por cada uno de ellos, de modo que la
distribucin de los mismos sea uniforme. Por ejemplo, si tenemos 2 cuadrados y
pulsamos el primer botn de la izquierda. Cada uno de los 2 cuadrados se situar
en un extremo de la pelcula (uno arriba y otro abajo).
Match Size:
Hace coincidir los tamaos de los objetos. Si est
activo "To Stage" estirar los objetos hasta que coincidan con el ancho y el largo
de la pelcula. Sino est activo, la referencia sern el resto de objetos. Por ejemplo,
si tenemos 2 cuadrados distintos y la opcin "To Stage" no est activada, al hacer
clic en el primer botn de Match Size, el cuadrado ms estrecho pasar a tener la
anchura del cuadrado ms ancho. Si "To Stage" hubiera estado activo ambos
cuadrados hubieran pasado a tener el ancho del fotograma.
Space:
Para ver ejemplos de uso de estos comandos, podeis ver la animacin situada
arriba al principio del captulo.
Panel Info
Adems de controlar la posicin de los
objetos desde el Panel Align, tambin podemos
hacerlo, de un modo ms exacto (ms
matemtico) desde otro panel, el Panel Info.
A este Panel se puede acceder desde el
Men Windows -> Panels -> Info. Las
posibilidades de este Panel son limitadas, pero
si buscamos exactitud en las medidas o no nos
fiamos de las distribuciones de objetos que crea
Flash, debemos acudir a l.
Medidas del Objeto:
Aqu introduciremos un nmero que represente el
tamao de nuestro objeto en la medida seleccionada en el Movie Properties
(Propiedades de Pelcula). La W es la abreviatura de Width y la H de Height
(anchura y altura respectivamente)
Situacin del objeto:
Desde aqu controlamos la posicin del objeto en el
escenario. La X y la Y representan el eje de coordenadas (La X es el eje Horizontal
y la Y el eje vertical). Las medidas tambin van en funcin de las medidas elegidas
para la pelcula.
Color Actual: Indica el color actual en funcin de la cantidad de Rojo (R),
Verde (G), Azul (B) y efecto Alfa (A) que contenga
Este indicador puede ser engaoso, el motivo es que indica el color que tiene el
objeto por el que en ese momento pasamos el cursor del ratn. Por tanto,
podemos tener seleccionado un objeto (haciendo clic en l) y ver en el Panel Info
Los Grupos
Un Grupo no es ms que un conjunto de objetos. Si bien no cualquier conjunto
de objetos forman un grupo, ya que para crear un grupo, debemos indicarle a
Flash que as lo queremos. Para ello, basta seleccionar los objetos que queremos
que formen parte de un grupo y despus hacer clic en el Men Modify -> Group.
Tras hacer esto observaremos que desaparecen las texturas que indicaban que
los objetos estaban seleccionados y observamos que el grupo pasa a ser un
"todo", ya que resulta imposible seleccionar a uno de sus miembros sin que se
seleccionen a su vez los dems. Adems, aparece el rectngulo azul (por defecto)
que rodea al grupo, definindolo como tal.
Crear grupos es muy til, ya que nos permite, como ya hemos dicho, tratar al
conjunto de objetos como un todo y por tanto, podemos aplicar efectos al conjunto,
ahorrndonos la labor de hacerlo de objeto en objeto.
Por ejemplo, supongamos que tenemos un dibujo que representa un conjunto de
coches. Tras dibujarlos todos, nos damos cuenta de que queremos aumentar el
tamao de los coches. Podemos aumentar el tamao de los coches de uno en
uno, corriendo el riesgo de aumentar unos ms que otros y perdiendo las
proporciones entre ellos, o podemos formar un grupo con los coches y aumentar el
tamao del grupo, de modo que aumenten todos de tamao a la vez y en la misma
proporcin. De igual modo, podemos mover al grupo de posicin, hacer que gire...
Al crear un grupo, simplemente estamos dando unas propiedades comunes a un
conjunto de objetos y, en ningn caso perdemos nuestro objeto. En cualquier
momento podemos deshacer el grupo, mediante el Men Modify -> Ungroup.
Adems, Flash nos permite modificar los elementos de un grupo sin tener que
desagruparlo. Para ello, seleccionamos el Grupo de elementos y hacemos clic en
el Men Edit -> Edit Selected. Podremos editar los objetos que componen el
grupo por separado teniendo en cuenta que,como es lgico, los cambios
realizados afectarn al grupo adems de al elemento en cuestin.
Ejercicios del Tema 7
Unidad 8.
Capas
Supongamos
que tenemos 2
capas. En una de
ellas los fotogramas
de 1 al 10 contienen
el dibujo de una
portera de ftbol. En
la otra los
fotogramas del 1 al 5
contienen el dibujo
de un portero (del 5
en adelante estn
vacos).
Pues bien, esta
pelcula nos
mostrar
inicialmente (durante
el tiempo que duren
los primeros 5
fotogramas) la
portera con el
portero, para
despus (durante los
fotogramas del 5 al
10) mostrar la
portera sin portero.
De este modo la
portera es
independiente del
portero, y podemos
tratar estos objetos
con total libertad, ya
que no interfieren
entre ellos para
nada.
Otra razn para separar los objetos en capas, es que Flash nos obliga a colocar
cada animacin distinta en una capa. De lo contrario, todos los objetos que se
encuentren en dicha capa formarn parte de la animacin.Si queremos que un objeto
NO forme parte de una animacin, deberemos quitarlo de la capa en la que se produce
dicha animacin.
Siguiendo con el ejemplo del portero, si quisiramos crear un movimiento que haga
que el portero se desplace hacia un lado no hay ningn inconveniente, pero si la
portera estuviera en la misma capa que el portero, entonces AMBOS objetos se
moveran hacia dicho lado, con lo que resultara imposible que slo se moviera el
portero. La solucin es separar los objetos en 2 capas, como ya hemos hecho.
Las capas adems, tienen otras utilidades, nos permiten ordenar nuestra pelcula de
forma lgica, y nos ayudan en la edicin de dibujos (evitando que se "fundan" en uno
slo, o bloqueando el resto de capas de modo que slo podamos seleccionar la capa
que nos interese).
Cambiar Nombre: Para cambiar el nombre a una capa, basta con hacer doble clic
en el nombre actual.
Propiedades de Capa: Si hacemos doble clic en el icono
, podremos acceder a
un panel con las propiedades de la capa en la que hayamos hecho clic. Podremos
modificar todas las opciones que hemos comentado anteriormente y alguna ms de
menor importancia.
Unidad 8.
Capas
Tipos de Capas
Como habreis podido comprobar al ver las propiedades generales de una capa o
al hacer clic con el botn derecho del ratn sobre el icono de una capa cualquiera,
existen varios tipos de capas.
Capas normales
: Son las capas por defecto de Flash y tienen todas las
propiedades descritas en los puntos anteriores. Son las ms usadas y se emplean para
todo, colocar objetos, sonidos, acciones, ayudas...
Capas Gua (Guide Layers)
: Son capas especiales de contenido especfico. Se
emplean en las animaciones de movimiento de objetos y su nico fin es marcar la
trayectoria que debe seguir dicho objeto. Debido a que su misin es representar la
trayectoria de un objeto animado, su contenido suele ser una lnea (recta, curva o con
cualquier forma).
En esta imagen
podemos ver el
contenido de 2 capas. La
primera de ellas contiene
la bola azul y la segunda
contiene la lnea curva.
La segunda capa la
hemos definido como
Capa Gua, para que al
realizar la animacin de
movimiento (Esto lo
veremos en un tema
posterior) su contenido
NO se vea en la pelcula,
sino que sirva de
recorrido para la bola
azul.
Es Importante
recordad que el
contenido de las Capas
Gua no se ver en la
pelcula final. Su efecto
har que la pelota azul
se desplace de un
extremo de la lnea al
otro siguiendo esa ruta.
Bonito efecto verdad?
Capas Guiadas (Guided Layers) : Cuando definimos una capa como capa gua, es
necesario definir despus una capa guiada. Esto es, una capa que quedar afectada
por la gua definida en la Capa gua.
Si no definimos una capa guiada, la capa gua no tendr ningn efecto y si bien NO
se ver en la pelcula (por ser una capa gua) tampoco provocar ningn efecto en las
dems capas. En la imagen anterior, la bola azul se deber encontrar en una capa
Guiada, de lo contrario no seguir la ruta marcada por la capa gua.
Unidad 9.
Smbolos
Los Smbolos provienen de objetos que hemos creado utilizando las herramientas que nos propo
Estos objetos al ser transformados en smbolos, son incluidos en una biblioteca en el momento en
que sean utilizados en varias ocasiones, ya sea en la misma o en otra pelcula.
Una vez hecho esto nos aparecer una ventana como la anterior.
Introducimos el nombre del smbolo que vamos a crear.
Esto al principio y mientras tengamos poco smbolos no ser muy importante,
pero ms adelante nos servir para hacer referencia al objeto.
Slo nos queda seleccionar el tipo de smbolo o comportamiento
(Behavior) en que queremos convertir nuestro objeto. Podemos elegir entre Clip
(pelcula), Botn y Grfico. Sus caractersticas y las diferencias entre ellos las
veremos en temas posteriores.
Bastar con pulsar OK para tener nuestro smbolo creado.
Las Bibliotecas
En Flash 5
podemos encontrar
dos tipos de
bibliotecas, las
bibliotecas comunes y
de ejemplos y
aquellas asociadas a
las pelculas que
hemos creado. Todas
ellas las tenemos a
nuestra disposicin
para utilizar los
smbolos que
contienen.
Para acceder a las
bibliotecas comunes
que nos ofrece Flash
simplemente tenemos
que ir a la Barra de
Mens, Window ->
Common Libraries y
seleccionar alguna de
las que se nos
ofrecen. Las hay de
todo tipo de smbolos:
botones, clips o
grficos.
Para acceder a los
ejemplos de pelculas
completas de Flash 5
debemos acceder a
Help -> Samples.
Para acceder a la
lbrera de smbolos
de la pelcula que
estamos creando de
nuevo vamos a la
Barra de Mens,
Window -> Library o
bien pulsan a la vez
Control y L. En esta
biblioteca aparecern
todos los smbolos
que hemos creado
hasta el momento.
Podemos
comprobar como el
nuevo smbolo que
hemos creado en el
ejercicio anterior
(Ejercicio Crear
Smbolo) se ha
aadido a nuestra
biblioteca accediendo
a ella como acabamos
de indicar.
Los smbolos
contenidos en las
bibliotecas estn
identificados por su
nombre y por un icono
que representa el tipo
de smbolo que
representan:
Clip
Botn
Grfico
Para utilizar un smbolo de una biblioteca basta con pulsar en el nombre de
dicho smbolo y arrastrarlo a cualquier lugar del rea de trabajo. Observa cmo
podemos hacerlo.
Hemos visto anteriormente que podemos modificar una instancia de un smbolo sin modificar el smbol
embargo, al no tratarse de un grfico vectorial (veremos que significa esto ms adelante), no podemos mod
herramientas de dibujo de Flash 5, pero s mediante los paneles de propiedades y efectos de instancia,
"externa" de la instancia.
As, estos paneles no nos permiten modificar la estructura bsica de la instancia, pero s otras propieda
la instancia tenga ms brillo, pero no transformar una estrella en un crculo).
Tipo de Smbolo (Behavior) o Comportamiento de la instancia. Por defecto se nos muestra el tipo al qu
pero nosotros podemos cambiarlo para que cambie su comportamiento, aunque pueda seguir manteniendo
Nombre de la Instancia seleccionada (Name). Puesto que pueden haber muchas instancias del mism
importante ya que pueden haber varias instancia con el mismo aspecto pero con distintas acciones asignad
Iconos de
manipulacin de
Instancia.
Sustitucin
de un smbolos
por otro (Swap
Symbol).
Aparecer un
panel con los
smbolos
asociados al
documento y una
presentacin
preliminar de la
apariencia de
cada uno. Aqu
deberemos
hacer doble click
sobre un objeto.
Automticament
e, el objeto
seleccionado en
el escenario se
convertir en
aquel sobre el
que acabamos
de hacer doble
click.
Editar la
instancia
seleccionada.
Esta es
normalmente la
finalidad ltima
de crear una
instancia.
Duplicar
Smbolo. Aade
a nuestra
biblioteca de
documento un
smbolo idntico
al seleccionado.
Al pulsarlo
aparece un panel
en el que se nos
pide introducir el
nombre de la
nueva instancia
que deber ser
diferente al de la
instancia de la
que proviene la
copia.
Acciones
asociadas a la
instancia. En las
pelcula de
complejidad
elevada se
asignan acciones
ActionScript a los
smbolos. Este
panel nos las
muestra y nos
permite
modificarlas.
Tint (Tinte). Esta opcin permite cambiar el color de la instancia, pero puesto
que, como dijimos, no podemos modificar la instancia internamente, al variar el
color en la pestaa Tint Color o bien mediante los valores RGB (cantidad de rojo,
verde y azul), se cambiar el color de todo la instancia como si lo estuviramos
tiendo o poniendo una capa imaginaria de un color determinado. El grosor o
intensidad de esta "capa" la podemos modificar en porcentaje mediante la primera
pestaa que aparece a la derecha.
Sobre el pez superior. Hemos aplicado un efecto Alpha del 65 % y hemos reducido al 45 % la cantidad de verde
a la vez que hemos multiplicado la cantidad de azul por 111, obteniendo el tinte rosa translucido que se observa
Unidad 10.
Grficos
Qu es un grfico?
Los Grficos son smbolos que nos permiten representar objetos estticos y
animaciones sencillas.
En caso de que utilicemos un smbolo grfico para realizar una animacin,
debemos tener en cuenta que sta estar ligada a la lnea de tiempo de la pelcula
en la que se encuentre. Es decir, la animacin se reproducir siempre y cuando la
pelcula original tambin se est reproduciendo. Esto hace que, pese a tener su
propia lnea de tiempo, no puedan contener sonidos, controles ni otros smbolos
grficos.
As pues, normalmente utilizaremos los grficos para imgenes estticas o
para cuando nos convenga que una animacin se reproduzca slo cuando
determinado frame de la lnea de tiempo de la pelcula est en marcha, ya que
para los casos que hemos comentado anteriormente en los que un grfico no nos
es til, Flash nos ofrece otro tipo de smbolos como veremos en temas posteriores.
Tipos de Grficos
Los grficos pueden ser:
ESTO ES UN
GRFICO
ESTTICO
ESTO ES
UNA ANIMACIN
).
Ahora vamos a crear la animacin del grfico. Puesto que todava no hemos
visto a fondo las animaciones, la vamos a realizar de una forma que quiz no
sera la ms apropiada la mayora de las veces, pero nos servir para este
ejemplo. Para ello selecciona nuestro grfico y pulsa el botn derecho del ratn.
Se desplegar un men, en el que seleccionaremos la opcin Edit para modificar
el grfico y acceder a su lnea de tiempos. Comprueba que ests en la lnea de
tiempos del grfico (arriba de la lnea de tiempos encontrars un cuadro blanco
con el nombre de nuestro grfico).
Y bien? Nada. Nada en absoluto. El valo sigue tal cual. Por qu? La
respuesta est en las caractersticas de los grficos que habamos explicado: la
lnea de tiempos del grfico est ligada a la de la pelcula.
En este caso la lnea de tiempos de la pelcula tena un solo frame, mientras
que la del grfico tena 4, por tanto, no le hemos dado tiempo al grfico a
desarrollar su animacin; slo ha reproducido un frame, el primero.
Cmo podemos solucionarlo?
Muy sencillo. Basta con recordar lo que hemos comentado. Cierra la ventana
del reproductor de Flash, selecciona el fotograma 5 de la pelcula principal y
pulsa F6. Ahora tenemos 5 fotogramas en la pelcula principal.
Pulsa de nuevo Control + Intro.
Ahora si que se ve la animacin.
Guarda este archivo porque lo utilizaremos ms adelante.
Los grficos de tipo Mapa de Bits pueden crearse con muchos programas.
Si deseas que en tus pelculas hayan mapas de bits lo ms seguro es que
prefieras crearlo y hacerlos ms espectaculares en otro programa ms apropiado
que Flash para el manejo de Bitmaps: Photoshop, Fireworks o Photopaint.
Flash 5 permite importar mapas de bits de otros programas, cuando han sido
guardados en formatos grfico GIF, JPG, TIFF y muchos ms. Tambin nos
permite modificarlos en cierto modo. Podemos cambiarle el tamao y convertirlo en
un smbolo para aprovechar las opciones que nos ofrece Flash aunque, teniendo
en cuenta qu es un bitmap, no podremos modificarlo "internamente" pero
podremos usarlo como un smbolo ms.
Aqu tienes una muestra de como hacerlo.
importar. Por
ejemplo FH9
del Freehand 9.
Pulsamos
Abrir, y ya
tenemos
nuestro archivo
vectorial.
Este archivo
s lo podremos
modificar
internamente
ya que Flash es
capaz de hacer
grficos de
este tipo.
Concretame
nte, el
Freehand
pertenece
tambin a
Macromedia, al
igual que Flash,
con lo que la
compatibilidad
en este caso es
total.
Unidad 11.
Clips de Pelcula.
Qu es un Clip de Pelcula?
Un Clip de Pelcula o simplemente Clip, es una pelcula en si misma, como
cualquiera de las que podamos haber creado hasta el momento en este curso, pero
que est incluida dentro de otra pelcula y, a su vez puede contener tambin pelculas
insertadas en l.
Al igual que los otros tipos de smbolos de Flash, los clips de pelcula tienen su
propia lnea de tiempo. Sin embargo, y a diferencia de los Grficos (como veremos a
continuacin), esta lnea temporal no est ligada a la lnea de tiempos del documento
que lo contiene, de tal forma que su ejecucin es independiente.
Este tipo de smbolos puede contener cualquier otro tipo de smbolo: grfico, clip o
botn, as como cualquier objeto creado con Flash, ya que un clip es realmente una
pelcula.
Otra de las ventajas de los Clips la encontramos cuando realizamos pelculas de
gran complejidad y tamao, en la que intervienen un nmero muy elevado de
fotogramas, debido a que en la vista general del documento, nosotros slo veremos un
fotograma por clip, el cual puede estar compuesto por muchos frames, lo que nos
permitir tener una mejor visin de cmo se desarrolla nuestra animacin, y una barra
de tiempos ms clara y "limpia".
Los Clips son una de las herramientas que dan mayor potencia a Flash 5,
permitindonos crear pelculas de gran complejidad y multiplicar los efectos visuales,
ya que se pueden crear mltiples movimientos independientes entre s y crear
conexiones entre los diferentes Clips de un documento.
Todas aquellas cosas que no podamos hacer con un smbolo de tipo Grfico, lo
podemos hacer con un Clip, adems de poder realizar tambin todo aquello que nos
permita dicho smbolo. Por esto, normalmente se utilizan los clips para cualquier tipo
de animacin debido a su gran flexibilidad, dejando los grficos slo para imgenes
estticas.
Como vemos, la duracin del clip que hemos insertado es mucho mayor que la
pelcula nueva que lo contiene. Si el pez fuera un grfico ya hemos visto que si
intentramos reproducir la pelcula no ocurrira nada. Veamos qu sucede siendo en
Para ver cmo exportar e importar una pelcula completa como un slo movie
clip y poder usar esto para el desarrollo en programas como Swish, revisa nuestro
tema avanzado: Otros usos de los Movie Clips
Ejercicios del Tema 11
Unidad 12.
Botones.
Qu es un Botn?
Los smbolos de tipo Botn son los que aportan la mayor parte de la
interactividad de las pelculas Flash con aquel que la est visualizando. Un botn,
en Flash, es igual que cualquier botn de cualquier entorno informtico, sea web o
cualquier otro.
Son elementos que se prestan a que el usuario los presione, desencadenando
al hacerlo una serie de acciones. Tambin es habitual ver como este tipo de
elementos reaccionan cuando se les pasa el ratn por encima o cuando se les est
pulsando, por ejemplo.
Pues bien, para conseguir los efectos interactivos que acabamos de mencionar
en otros lenguajes orientados a la web, que es el caso que nos ocupa, debemos
crear programas relativamente grandes. Esto es un inconveniente bastante grande
ya que el uso de los botones es una prctica muy habitual en el diseo en Internet.
Sin embargo, en Flash no ocurre as. Su interfaz esta diseada de manera especial
para la creacin de botones, lo que nos permite crear todos estos efectos de una
manera muy sencilla.
Al igual que los otros smbolos de Flash 5, los botones tienen su propia lnea de
tiempos. Esta es independiente pero, sin embargo, esta formada nicamente por
cuatro fotogramas, uno para cada estado posible del botn.
Up (Reposo). Aspecto por defecto del botn, es decir, cuando el puntero del
ratn no est situado sobre l.
Over (Sobre). Aspecto del botn cuando situamos el puntero sobre l.
Down (Presionado). Apariencia que deseamos tenga nuestro botn mientras lo
mantengamos pulsado.
Hit (Zona activa). Aqu debemos indicar el rea real en la que queremos que
acte nuestro botn. Esto es importante sobre todo en botones compuestos slo
por texto como veremos ms adelante.
Parece que la limitacin de fotogramas podra implicar una limitacin en la
capacidad de espectacularidad y utilidad de estos smbolos, pero no es as.
Los botones pueden contener a su vez otros smbolos, como clips o grficos
(tambin de tipo Bitmap). La unin de las posibilidades de todos los smbolos dota
a los botones de gran espectacularidad
Creacin de un Botn
En la creacin de un botn podemos considerar dos fases. En la primera
vamos a convertir nuestro objeto a smbolo de tipo botn y posteriormente veremos
como completarlo internamente, lo que nos ayudar a entender mejor dicha
estructura.
Primeramente crearemos el objeto que representar el aspecto por defecto de
nuestro botn con las herramientas que nos ofrece Flash 5.
Seleccionaremos el objeto y accederemos al men Insert -> Convert to
Symbol, le daremos el comportamiento (Behavior) Button (botn) y asignaremos
un nombre a nuestro nuevo smbolo.
no los colores u
otras cosas) o
bien dibujar con
las herramientas
de dibujos de
Flash una nueva
figura, en cuya
superficie "se
sentir aludido"
nuestro botn.
Como
Este es un botn muy bsico, como veremos se pueden complicar mucho, pero
para empezar nos servir con este.
Si una vez creado el botn queremos observar sus distintos estados y todava
no hemos terminado la pelcula entera y por tanto no deseamos tener que
reproducirla toda podemos hacerlo accediendo a la librera de nuestra pelcula y
seleccionando el botn creado. Para ver lo que comentbamos bastar con pulsar
la tecla situada a la derecha de la vista previa del smbolo.
Los botones, como hemos visto, poseen un fotograma en el que indicamos la zona activa. En los
esto pareca poco til, ya que es comn pensar que obviamente la zona activa que queremos que teng
comprenden los lmites de dicho botn.
Veamos como esto no es siempre tan trivial. Aqu se muestran dos botones creados en Flash 5. Com
pasar el ratn por encima de uno y de otro.
Aunque parezcan iguales, la diferencia est en el momento en el que situamos el ratn en uno de lo
letra o, en general, todos aquellos lugares que no pertenezcan al texto propiamente dicho.
En el texto de la izquierda el botn se activa slo cuando situamos el puntero del ratn sobre la letra
puede llevar a confusin, ya que aquel que navegue por nuestras pginas simplemente querr hacer u
intentar apuntar concretamente a unas letras que quiz sean muy estrechas.
Esto es debido al mal uso de la zona activa. En el botn de la derecha est solucionado este problem
nuevo. Aqu tienes un ejemplo de como hacerlo correctamente.
Comprueba todos los estados del ratn. Por lo que nos dice el botn podemos
intuir que empieza algo, pero quiz no tengamos claro qu.
Si nosotros en determinado momento no queremos que esto ocurra en nuestras
pginas web, podemos recurrir a la introduccin de un Clip en el botn, que
explique un poco ms acerca de lo que pasar si pulsamos.
Aqu puedes seguir el proceso que acabamos de comentar
Y este es el resultado.
Bitmaps y Botones
Adems de clips, los botones tambin pueden contener smbolos de tipo
Grfico.
Puesto que, como ya hemos visto, todo lo que se puede hacer con un grfico
se puede hacer con un clip, vamos a centrarnos en los Bitmaps que Flash nos
permite importar, ya que estn muy extendidos como forma de expresin grfica a
lo largo y ancho de la Red.
Si consideramos las limitaciones que ya conocemos sobre los mapas de bits
puede parecer poco interesante hacer uso de ellos en la creacin de botones, pero
no es as.
Bsicamente podemos hacer dos cosas:
1) Incluir en cada uno de los fotogramas del botn un bitmap distinto,
obteniendo un efecto como el que se consigue con lenguajes como
javascript (siempre considerando la mayor sencillez de Flash).
2) Aprovechar las propiedades de los Grficos en Flash. Para esto,
deberamos importar primero el Bitmap y despus convertirlo a smbolo botn.
Posteriormente lo editaramos y, despus de insertar cada fotograma clave,
convertiramos su contenido a smbolo Grfico. Una vez hecho esto, variando los
efectos de las instancias en Flash (Alpha, Tinte, Brillo) podremos conseguir efectos
bastante buenos.
He aqu una pequea muestra en la que slo hemos utilizado un Bitmap de
tipo GIF, sacado de la Red y lo hemos convertido en un botn grfico aplicndole
un efecto Alpha (Transparencia) al estado de reposo, lo que da la sensacin de
estar apagado (tambin podramos haber aplicado brillo). En el fotograma Over
(Sobre) hemos dejado el GIF original para que al pasar sobre el botn de la
sensacin de encenderse. Finalmente le hemos aumentado la cantidad de rojo en
el fotograma Down (Presionado) para que parezca estar incandescente.
1) Abrir una pgina web. Con esto conseguiremos abrir una pgina cualquiera de internet (o una p
para irnos desplazando por webs que contengan ms de una pgina, o permitir al usuario descargarse
Aqu tienes una muestra de cmo hacerlo.
2) Controlar una pelcula en curso. Si estamos reproduciendo una pelcula Flash y queremos perm
ponga en
Unidad 13.
Prueba
Animaciones de Movimiento.
La animacin en Flash
En el tema de la animacin, Flash ofrece unas facilidades muy grandes, consiguiendo efectos que
conocimientos y espacio de almacenamiento para ser creados, como es el caso por ejemplo de los GIF
programacin como Java, de una manera muy sencilla, sin necesidad de excesivos conocimientos y oc
disco.
Aunque Flash ofrece tcnicas mejores, tambin se pueden crear animaciones a modo de GIF anim
animaciones Fotograma a Fotograma. Estas son las animaciones ms bsicas y conviene conocerlas.
tema bsico: Animaciones Fotograma a Fotograma.
A continuacin veremos distintos tipos de animaciones que el creador de pelculas Flash deber t
destacar que podremos aplicar varias de estas animaciones colocndolas en distintas capas. Con esto
efectos ms espectaculares a la par que tiles.
Es muy importante tener claro un concepto: no se debe crear animaciones en pginas que no
animaciones que distraigan al que visualice nuestros documentos de lo realmente importante, que es e
Esto indica que la animacin cambiar la posicin del smbolo del fotograma
1 hasta la posicin del mismo smbolo en el fotograma 20, utilizando precisamente
20 fotogramas. El nmero de fotogramas que se usen en la interpolacin de
movimiento indicar las subetapas de que constar la animacin. Cuantas ms
pero esto no
para desplazar un smbolo Flash de un lado a otro del escenario. Sin embargo,
podemos aprovechar este comando del programa para realizar animaciones en las
que nuestro objeto aumente o disminuya de manera progresiva su tamao.
Esto es muy sencillo con Flash 5, basta con modificar la instancia del smbolo
en el ltimo fotograma de la interpolacin de movimiento, pero esta vez
cambindole el tamao.
Por supuesto, podemos aplicar ambos efectos a la vez, de manera que el
cambio de tamao se producir mientras el objeto se desplaza. Tambin podemos
hacer el cambio de tamao en varias fases o secuencias encadenadas como en
las interpolaciones de movimiento comunes.
El ejemplo siguiente incorpora estas tres caractersticas de la Interpolacin
de Movimiento de Flash 5.
Y la lnea de tiempos que nos queda es algo tan sencillo como esto:
Unidad 13.
Animaciones de Movimiento.
Animacin de Textos
Es indudable que para comunicar algn mensaje, en la mayora de las ocasiones, no basta con im
donde el texto cobra gran importancia. No obstante, se debe tener cuidado con la animacin de los tex
complicado leer un texto que se desplaza o cambia de tamao.
Por este motivo, un texto animado debera estar slo en las presentaciones o bien formar parte de
ms importante, no debera estar reproducindose infinitamente.
En las presentaciones, se utilizan multitud de efectos que veremos ms adelante. Sin embargo, c
obtener efectos interesantes. Una de las opciones ms utilizadas es separar las letras de los textos y a
Aqu tienes un ejemplo de una presentacin sencilla mediante texto utilizando esta tcnica.
Si no tienes claro cmo realizar una animacin te recomendamos que realices el Ejercicio Animar
Animacin de Lneas
Una buena animacin no tiene porqu estar compuesta slo por textos o
imgenes espectaculares. En ocasiones conviene darle a la
pelcula un aire ms sencillo o aadir determinados efectos que la
hagan vistosa sin necesidad de cargar mucho la pelcula visualmente, y
en cuanto a tamao de archivo se refiere.
Esto lo podemos conseguir simplemente animando lneas y
haciendo que se muevan por el escenario. Esta tcnica nos permite dar
dinamismo a la animacin o crear formas distintas a lo largo de su
recorrido.
Son especialmente tiles y vistosas en fondos oscuros y se suelen
usar para formar rectngulos que se aprovechan para insertar
imgenes.
A la derecha podemos ver un ejemplo de este tipo de
presentaciones.
Aqu mostramos la forma de crear una animacin de este tipo.
Unidad 14.
Cuando lo que queramos no sea cambiar la posicin de un objeto en el escenario, sino su forma de ma
la vez), Flash 5 nos ofrece la tcnica de la Interpolacin por Forma, que consiste simplemente en ir transform
creado en su interfaz hasta que sea igual que el contorno de otro objeto distinto.
Realizar una interpolacin por forma, es muy semejante a crear una interpolacin de movimiento. Flash
en los que va variando ligeramente la forma del fotograma anterior. As como hacamos en el tema anterior,
clave. Colocaremos en el primer fotograma el objeto con su aspecto original, y en el ltimo la apariencia fina
Esta vez, es importante destacar que para que una Interpolacin por Forma funcione como es deb
intervengan debern ser objetos vectoriales (no smbolos Flash).
Debemos tener tambin dos aspectos en cuenta:
1) Separar en distintas capas los objetos fijos y los que estarn animados.
2) Poner en distintas capas objetos que vayan a ser transformados con formas distintas, ya que
objetos vectoriales del primer fotograma en aquello que haya en el ltimo fotograma de la interpolacin.
Si realizamos la interpolacin por forma correctamente la lnea de tiempos tendr este aspecto:
Las consideraciones sobre la velocidad y el nmero de fotogramas que vimos en las interpolaciones de
tambin a la interpolacin por forma y a cualquier animacin hecha con Flash.
Si hay algn fallo en los parmetros necesarios para que la interpolacin se ejecute bien, como por eje
capa sea un smbolo, se mostrar algo as en la lnea de tiempos:
Podemos observar cmo realizar una interpolacin por forma pulsando aqu.
A la derecha podemos ver el resultado del
proceso anterior.
Tambin podemos realizar interpolaciones de
forma en varias fases de manera anloga a como
lo hacamos en el tema anterior. De esta forma
podemos hacer que un determinado objeto de
convierta en otro antes de adoptar su forma
definitiva.
Ahora, a la derecha podemos ver el ejemplo
anterior pero haciendo que se transforme
previamente en un tringulo antes de pasar a ser
cuadrado. Lo hemos conseguido simplemente
haciendo click con el botn derecho sobre el
fotograma 10 y creando un fotograma clave (Insert
Keyframe). Luego slo tenemos que borrar el
objeto que aparece en el escenario y dibujar el
tringulo.
Transformar Textos
Debido a la importancia de los textos, es importante comentar las aplicaciones
que tienen los cambios de forma sobre ellos. Aadimos as una posibilidad ms para
realizar logotipos o presentaciones vistosas y transmitir informacin de manera
espectacular.
Recordemos que para realizar una interpolacin de forma es necesario que el
objeto sea de tipo vectorial. Este no es el caso de los textos, que se basan en fuentes y
son creados en funcin de los valores de la tabla ASCII y un tipo de letra asociado.
Para solucionar este problema, deberemos
Unidad 14.
Consejos de Forma
Como ocurra en el tema anterior, a veces no nos viene bien el tipo de accin
que hace Flash por defecto. En las interpolaciones de movimiento lo
solucionbamos mediante la gua de movimiento.
En el caso de la interpolacin por forma, es posible que Flash realice la
transformacin de los objetos de una forma que no es la que esperbamos y que
no nos conviene para llevar a cabo nuestro propsito.
Pues bien, para estos casos Flash 5 nos ofrece una herramienta para
solucionarlo: los consejos de forma.
Los consejos de forma son marcas que indican a Flash qu puntos de la
imagen inicial son los que deben corresponderse con otros tantos puntos en la
figura final. Al indicar esto, estamos controlando las formas intermedias que se
generarn.
Para aadir un consejo de forma a una interpolacin nos situaremos en el
fotograma inicial y pulsaremos Control + Shift + H (o bien ir al men Modify ->
Punto Inicial
Punto Final
Seguimiento
hemos introducido.
Prueba
http://www.aulaclic.es/flash/f_flash.htm