Beruflich Dokumente
Kultur Dokumente
Programacin Web
ndice
Pgina
Introduccin a las tecnologas Web 1.1 Perspectiva histrica dela Web. 1.2 Protocolo http 1.3 Introduccin al HTML. 1.4 Evolucin del desarrollo de aplicaciones Web. 1.5 Hojas de estilo en cascada e introduccin al XML. Desarrollo de aplicaciones Web 2.1 Arquitectura de las aplicaciones Web 2.2 Lenguajes de programacin del lado del cliente 2.3 Lenguajes de programacin del lado del servidor 2.4 Ambientes para el desarrollo de aplicaciones Web 2.5 Metodologas para el desarrollo de aplicaciones Web 2.6 Aspectos de seguridad Programacin del lado del servidor 3.1 Procesamiento del lado del servidor 3.2 Conceptos bsicos de la herramienta de desarrollo 3.3 Operadores 3.4 Sentencias 3.5 Arreglos 25 25 27 29 29
10 11 14 19 22 23 4 5 7 8 9
Pgina 1
Programacin Web
3.6 Funciones y libreras 3.7 Ejemplos prcticos 3.8 Procesador de formularios 3.9 Sesiones
29 30 30 32
3.10 Conectividad entre el servidor web y el servidor de base 35 de datos 3.11 Manejo de archivos 3.12 Seguridad Unidad 4 Procesamiento del lado del cliente 4.1 Lenguaje Script del cliente 4.2 Modelo de objetos con lenguaje Script 4.3 Objetos lenguaje Script interconstruidos 4.4 Eventos con lenguaje Script 4.5 Validacipon de entrada de datos del lado cliente 4.6 Consideraciones del soporte navegador Unidad 5 Servicios Web XML 5.1 Visin general de servicios Web XML 5.2 Tecnologas subyacentes 5.3 Publicacin de servicios web 5.4 Consumo de un servicio Web 49 50 53 56 38 43 43 44 45 48 37 37
Pgina 2
Programacin Web
Navegador web
Un "browser", es un programa o aplicacin que nos va a permitir movernos por internet y acceder al contenido de las webs, blogs, foros, galeras fotogrficas, etc., de Internet. El navegador interpreta el cdigo, HTML generalmente, en el que est escrita la pgina web y lo presenta en pantalla permitiendo al usuario interactuar con su contenido y navegar hacia otros lugares de la red mediante enlaces. Cmo funciona un navegador?
WWW
A diferencia de lo que muchas veces se suele creer, WWW no es Internet sino un sistema que se basa en protocolos y en buscadores a los que se puede acceder a travs de Internet. Dos elementos fundamentales que componen las pginas de este medio de comunicacin son los hipertextos y los hiperenlaces. En cuanto a los primeros, nos referimos a HTTP (Hypertext Transfer Protocol), que es el protocolo de transporte de los hipertextos y el HTML (Hypertext Markup Language), que es el lenguaje con el que se crean la mayora de los textos en la Web.
Pgina 3
Programacin Web
El otro elemento, los hiperenlaces (o Hyperlinks), son los que permiten que se puedan realizar enlaces entre las distintas pginas Web, de forma tal que el usuario pueda navegar interconectndose entre una y otra. Este fue uno de los grandes aportes del ingls Tim BernersLee, que le dio la forma a lo que conocemos actualmente como WWW. Por otra parte, para poder utilizar este sistema, el usuario necesite tener cargado en su computadora un programa, conocido como browser (navegador web).
HTTPS
El protocolo HTTPS es una versin segura del protocolo HTTP que implementa un canal de comunicacin seguro y basado en SSL (Secure Socket Layers) entre el navegador del cliente y el servidor HTTP. El protocolo HTTPS (Hypertext Transfer Protocol Secure) garantiza que la informacin que sea transmitida entre la computadora del usuario y el sitio web, ser cifrada en su transmisin. Equivalente a una carta enviada por correo certificado, lo que se garantiza ser entregada a su receptor.
Pgina 4
Programacin Web
Necesitamos SSL si... Si desarrollamos una tienda electrnica en Internet Aceptamos pedidos y pagos con tarjeta de crdito en lnea Ofrecemos un inicio de sesin en su sitio web, se procesan datos confidenciales como direcciones, fechas de nacimiento o nmeros de licencias, RFC, CURP, entre otros. Necesitamos cumplir normativas de seguridad y confidencialidad
URL
Prcticamente, todo el mundo est familiarizado con una direccin de Internet o URL (Uniform Resource Locutor) usada en pginas Web. Sin embargo, la forma mas comn de direcciones que usamos, las cuales contienen letras y nombres reconocibles, solo se usan para que podamos reconocerlas e interpretarlas y no son las que utilizan los procesadores realmente. Para poder identificar un sitio en Internet, las computadoras usan nmeros denominados direcciones IP. Una direccin IP es un nmero formado por cuatro segmentos y separado por puntos. Cada uno de estos cuatro nmeros va del 0 al 255. Para hacer la traduccin entre uno y otro formato, se usa un DNS (Domain Name System: Servidor de nombre de dominios), los cuales guardan una base de datos que identifica y asocia los nombres de Webs a sus correspondientes direcciones IP.
Cookies
Sergio Ramrez Tenorio 7F Pgina 5
Programacin Web
Las cookies fueron originalmente inventadas por Netscape para darle "memoria" a los servidores web y a los navegadores. Bsicamente, las cookies son archivos de texto ASCII que almacenan informacin siguiendo una estructura bsica. Su tamao no supera los 4kb. En una cookie se almacena cierta informacin sobre el visitante que la pgina considera importante recordar. Una cookie se usa, por ejemplo, para que cada vez que accedamos a una pgina est adaptada a nuestro gusto (en un idioma determinado, con ciertos colores, etc.). Los cookies representan mecanismos que permiten al servidor almacenar en el cliente informacin relativa a la transaccin. As, cuando el servidor responde a una peticin del cliente, inserta una informacin que se conservar en el cliente. Esta informacin es una descripcin relativa a un conjunto de direcciones URL. En adelante, ser insertada por el cliente en una peticin que referencie estas direcciones URL.
Un documento HTML comienza con la etiqueta <html>, y termina con </html>. Dentro del documento (entre las etiquetas de principio y fin de html), hay dos zonas bien diferenciadas: el encabezamiento, delimitado por <head> y </head>, que sirve para definir diversos valores vlidos en todo el documento; y el cuerpo, acotado por <body> y </body>, donde reside la informacin del documento.
Pgina 6
Programacin Web
</BODY> </HTML>
Pgina 7
Programacin Web
XML, siglas en ingls de eXtensible Markup Language ('lenguaje de marcas extensible'), es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C). Deriva del lenguaje SGML y permite definir la gramtica de lenguajes especficos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo til cuando varias aplicaciones se deben comunicar entre s o integrar informacin. (Bases de datos Silberschatz). XML no ha nacido slo para su aplicacin para Internet, sino que se propone como un estndar para el intercambio de informacin estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de clculo y casi cualquier cosa imaginable. XML es una tecnologa sencilla que tiene a su alrededor otras que la complementan y la hacen mucho ms grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la informacin de una manera segura, fiable y fcil. Hola mundo en XML
Pgina 8
Programacin Web
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <texto> <mensaje> Hola Mundo </mensaje> </texto>
Pgina 9
Programacin Web
Los ambientes de dos capas requieren control excesivo de las versiones y demandan esfuerzo de distribucin de la aplicacin cuando se les hacen cambios. Esto se debe al hecho de que la mayora de la aplicacin lgica existe en la estacin de trabajo del cliente. La seguridad del sistema en un diseo de dos capas es compleja y a menudo requiere administracin de las bases de datos; esto es debido al nmero de dispositivos con acceso directo al ambiente de esas bases de datos. Las herramientas del cliente y de la base de datos, utilizadas en diseos de dos capas, constantemente estn cambiando. La dependencia a largo plazo de cualquier herramienta, puede complicar el escalamiento futuro o las implementaciones.
Pgina 10
Programacin Web
Arquitectura 3 capas
La arquitectura de tres capas es un diseo reciente que introduce una capa intermedia en el proceso. Cada capa es un proceso separado y bien definido corriendo en plataformas separadas. En la arquitectura tradicional de tres capas se instala una interfaz de usuario en la computadora del usuario final (el cliente). La arquitectura basada en Web transforma la interfaz de bsqueda existente (el explorador de Web), en la interfaz del usuario final. Ventajas de la Arquitectura de Tres Capas: Las llamas de la interfaz del usuario en la estacin de trabajo, al servidor de capa intermedia, son ms flexibles que en el diseo de dos capas, ya que la estacin solo necesita transferir parmetros a la capa intermedia. Con la arquitectura de tres capas, la interfaz del cliente no es requerida para comprender o comunicarse con el receptor de los datos. Por lo tanto, esa estructura de los datos puede ser modificada sin cambiar la interfaz del usuario en la PC. El cdigo de la capa intermedia puede ser reutilizado por mltiples aplicaciones si esta diseado en formato modular. La separacin de roles en tres capas, hace mas fcil remplazar o modificar una capa sin afectar a los mdulos restantes.
Desventajas de las Arquitecturas de Tres Capas y basadas en Web: Los ambientes de tres capas pueden incrementar el trfico en la red y requiere ms balance de carga u tolerancia a las fallas. Los exploradores actuales no son todos iguales. La estandarizacin entre diferentes proveedores ha sido lenta en desarrollarse. Muchas organizaciones son forzadas a escoger uno en lugar de otro, mientras que cada uno ofrece sus propias y distintas ventajas.
Arquitectura MVC El patrn MVC es una arquitectura de diseo software para separar los componentes de aplicacin en tres niveles, interfaz de usuario, lgica de control y lgica de negocio. Es una especializacin de un modelo de capas, con la diferencia que se usa para entornos web como patrn por excelencia.
Pgina 11
Modelo: Es la capa encargada de encapsular toda la lgica de negocio de nuestra aplicacin. Esta capa se puede subdividir en varias: Lgica de negocio: Contiene clases o varias para constituir lo referente a la capa de aplicacin, se encarga de atender a las peticiones de los controladores y as dar una respuesta acorde con lo recibido. Capa de datos: Se encarga de gestionar toda la interconexin con el SGBD, as mismo, puede contener un gestor ORM para su aprovechamiento mximo y mejor mantenimiento. Solo se comunica con la lgica de negocio. Helpers: Llamados ayudantes apoyan tanto al controlador como a la vista para hacer ms livianas algunas tareas. Controlador: Es el eje central de nuestra arquitectura, encargada de gestionar todas las peticiones, validar los inputs recibidos y dirigir cualquier peticin de cualquier tipo. Solo se comunica con el modelo y responde a travs de vistas. Vista: Es la respuesta de cada controlador y lo que se le presenta al usuario final, se puede comunicar con el controlador, los helpers y el modelo (en algunas ocasiones).
Javascript
Es un lenguaje de programacin utilizado para crear pequeos programas encargados de realizar acciones dentro del mbito de una pgina web.
Pgina 12
El navegador (browser) del cliente es el encargado de interpretar las instrucciones Javascript de modo que el mayor recurso, y tal vez el nico, con que cuenta este lenguaje es el propio navegador. Permite efectos especiales sobre pginas web. Permite ejecutar instrucciones como respuesta a las acciones del usuario (eventos), con lo que podemos crear pginas interactivas con programas como calculadoras, agendas, o tablas de clculo. Es orientado a objetos, con funciones, estructuras de datos complejas. Pone a disposicin del programador todos los elementos que forman la pgina web, para que ste pueda acceder a ellos y modificarlos dinmicamente. JavaScript no permite dos de las caractersticas clsicas de los lenguajes orientados a objetos (herencia y polimorfismo), pero permite la creacin y manipulacin de objetos sencillos, y la definicin de mtodos y propiedades para dichos objetos. JavaScript soporta el Modelo de Objetos de Documento (DOM, Document Object Model). El DOM es el conjunto de objetos predefinidos que nos permite acceder a todos los elementos de una pgina y a ciertas caractersticas especficas del navegador.
VBScript (abreviatura de Visual Basic Script Edition) es un lenguaje interpretado por el Windows Scripting Host de Microsoft. Caractersticas: Slo compatible con Internet Explorer, basado en Visual Basic de Microsoft; por ello se usa poco. Es parte fundamental de la ejecucin de aplicaciones de servidor programadas en ASP (Active Server Pages), las cuales estn en auge en el perodo 1997-2003. Cuando se emplea en Internet Explorer, VBScript funciona de forma muy similar a JavaScript, procesando cdigo contenido en el documento HTML. VBScript es el lenguaje usado para escribir algunos famosos gusanos de red, como I Love You.
Pgina 13
Programacin Web
Applets de Java
Un applet Java es un applet escrito en el lenguaje de programacin Java. Los applets de Java pueden ejecutarse en un navegador web utilizando la Java Virtual Machine (JVM), o en el AppletViewer de Sun. Caractersticas: Es un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles (por ej. no pueden escribir archivos), a menos que uno mismo le d los permisos necesarios en el sistema. Puede incrustarse en un documento HTML, es decir en una pgina web. Cuando un navegador carga una pgina web que contiene un applet, este se descarga en el navegador web y comienza a ejecutarse. Son multiplataforma y puede trabajar en todas las versiones de Java, adems de ser con la mayora de los navegadores web. Puede tener acceso completo a la mquina en la que se est ejecutando, si el usuario lo permite.
ActionScript (Flash)
Adobe ActionScript es el lenguaje de programacin de la Plataforma Adobe Flash. Originalmente desarrollado como una forma para que los desarrolladores programen en forma ms interactiva. La programacin con ActionScript permite mucha ms eficiencia en las aplicaciones de la plataforma Flash para construir animaciones de todo tipo, desde simples a complejas, ricas en datos e interfaces interactivas.
Pgina 14
La versin ms extendida actualmente es ACTION 6.0, que signific una mejora en el manejo de programacin orientada a objetos al ajustarse mejor al estndar ECMA-262 y es utilizada en las ltimas versiones de Adobe Flash y Flex y en anteriores versiones de Flex. Flash est compuesto por objetos, con su respectiva ruta dentro del swf. Cada uno de estos en ActionScript pertenece a una clase (MovieClip, botones, Vectores (Arrays), etc.), que contiene Propiedades y Mtodos o Funciones
Principales funciones de ActionScript 3.0 Una nueva mquina virtual ActionScript, denominada AVM2, que utiliza un nuevo conjunto de instrucciones de cdigo de bytes y proporciona importantes mejoras de rendimiento. Una base de cdigo de compilador ms moderna, que se ajusta mejor al estndar ECMAScript (ECMA 262) y que realiza mejores optimizaciones que las versiones anteriores del compilador. Una interfaz de programacin de aplicaciones (API) ampliada y mejorada. Un ncleo del lenguaje basado en el prximo borrador de especificacin del lenguaje ECMAScript (ECMA-262) edicin 4. Una API XML basada en la especificacin de ECMAScript para XML (E4X) (ECMA357 edicin 2). E4X es una extensin del lenguaje ECMAScript que aade XML como un tipo de datos nativo del lenguaje. Un modelo de eventos basado en la especificacin de eventos DOM (modelo de objetos de documento) de nivel 3.
Pgina 15
Programacin Web
Lenguaje comercializado por Microsoft, y usado por programadores para desarrollar entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnologa ASP, fue lanzada al mercado mediante una estrategia de mercado denominada .NET. Se desarrollado para resolver las limitantes que brindaba su antecesor ASP. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Los archivos cuentan con la extensin (aspx). Para su funcionamiento de las pginas se necesita tener instalado IIS con el Framework .Net. Microsft Windows 2003 incluye este framework, solo se necesitar instalarlo en versiones anteriores. El lenguaje ASP consiste en una serie de clases .NET utilizadas para crear aplicaciones Web, tanto del lado cliente (Web Form) como del lado servidor (Web Service). La integracin de nativa .NET Framework con el sistema operativo Windows Server 2003 hace que su ejecucin sea ms estable y rpida que otros lenguajes de programacin. Ventajas: Completamente orientado a objetos. Controles de usuario y personalizados. Divisin entre la capa de aplicacin o diseo y el cdigo. Facilita el mantenimiento de grandes aplicaciones. Incremento de velocidad de respuesta del servidor. Mayor velocidad. Mayor seguridad.
Desventajas: Mayor consumo de recursos. Tecnologa propietaria. Hospedaje de sitios web costosos.
Pgina 16
Programacin Web
JSP
Es un lenguaje para la creacin de sitios web dinmicos, acrnimo de Java Server Pages. Est orientado a desarrollar pginas web en Java. JSP es un lenguaje multiplataforma. JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET, desarrollado para la creacin de aplicaciones web potentes. Posee un motor de pginas basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un servidor Tomcat. Caractersticas: Cdigo separado de la lgica del programa. Las pginas son compiladas en la primera peticin. Permite separar la parte dinmica de la esttica en las pginas web. Los archivos se encuentran con la extensin (jsp). El cdigo JSP puede ser incrustado en cdigo HTML.
Los elementos que pueden ser insertados en las pginas JSP son los siguientes: Cdigo: se puede incrustar cdigo Java. Directivas: permite controlar parmetros del servlet. Acciones: permite alterar el flujo normal de ejecucin de una pgina.
Ventajas: Ejecucin rpida del servlets. Crear pginas del lado del servidor. Multiplataforma. Cdigo bien estructurado. Integridad con los mdulos de Java. La parte dinmica est escrita en Java.
Pgina 17
Programacin Web
Pgina 18
Programacin Web
PHP
PHP es el acrnimo de Hipertext Preprocesor. Es un lenguaje de programacin del lado del servidor gratuito e independiente de plataforma, rpido, con una gran librera de funciones y mucha documentacin. Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP est desarrollado en poltica de cdigo abierto, a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores. El cliente solamente recibe una pgina con el cdigo HTML resultante de la ejecucin de la PHP. Como la pgina resultante contiene nicamente cdigo HTML, es compatible con todos los navegadores. Ventajas: Muy fcil de aprender. Se caracteriza por ser un lenguaje muy rpido. Soporta en cierta medida la orientacin a objeto. Clases y herencia. Es un lenguaje multiplataforma: Linux, Windows, entre otros. Capacidad de conexin con la mayora de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras. Capacidad de expandir su potencial utilizando mdulos. Posee documentacin en su pgina oficial la cual incluye descripcin y ejemplos de cada una de sus funciones. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Incluye gran cantidad de funciones. No requiere definicin de tipos de variables ni manejo detallado del bajo nivel.
Desventajas: Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser ms ineficiente a medida que las solicitudes aumenten de nmero. La legibilidad del cdigo puede verse afectada al mezclar sentencias HTML y PHP. La programacin orientada a objetos es an muy deficiente para aplicaciones grandes. Dificulta la modularizacin. Dificulta la organizacin por capas de la aplicacin.
Pgina 19
PHP es un poderoso lenguaje e intrprete, ya sea incluido como parte de un servidor web en forma de mdulo o ejecutado como un binario CGI separado, es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor. Estas propiedades hacen que cualquier cosa que sea ejecutada en un servidor web sea insegura por naturaleza. PHP est diseado especficamente para ser un lenguaje ms seguro para escribir programas CGI que Perl o C, y con la seleccin correcta de opciones de configuracin en tiempos de compilacin y ejecucin, y siguiendo algunas prcticas correctas de programacin.
Pgina 20
Programacin Web
Netbeans
NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programacin Java. NetBeans IDE El IDE NetBeans es un entorno de desarrollo integrado - una herramienta para programadores pensada para escribir, compilar, depurar y ejecutar programas. Est escrito en Java - pero puede servir para cualquier otro lenguaje de programacin NetBeans Enterprise Pack Provee soporte para la creacin de aplicaciones orientadas a servicios (SOA), incluyendo herramientas de esquemas XML, un editor WSDL, y un editor BPEL para web services.
PHP
NetBeans permite crear aplicaciones Web con PHP 5. Soporte para Symfony un gran framework MVC escrito en php. soporte para AJAX,
Pgina 21
Programacin Web
soporte para JSP cada vez ms desarrolladores de aplicaciones LAMP o WAMP, estn utilizando NetBeans como IDE.
Eclipse
Eclipse es un IDE (Entorno de Desarrollo Integrado) tan potente como popular que incorpora un sin fin de utilidades para simplificar la labor de los programadores.
JBUILDER
JBuilder, un IDE (entorno de desarrollo integrado) Java de Borland. Es un software creado en 1995. La versin 2006 (Borland JBuilder 2006) tiene 3 ediciones: Enterprise (para aplicaciones J2EE, Web Services y Struts), Developer (para el completo desarrollo de aplicaciones Java) y Foundation (con capacidades bsicas para iniciarse en el desarrollo de aplicaciones java y de momento es de libre uso). La versin JBuilder 2007 est basada en Eclipse. Tiene tambin 3 ediciones: Enterprise (la ms completa), y Professional. Esta disponible para Windows, Linux y MacOS X La ltima versin es JBuilder 2008, tambin disponible en 3 versiones, Enterprise, Professional y Turbo.
Dreamweaver
Es en una potente y flexible herramienta de desarrollo que inclute numerosas herramientas para facilitarnos el desarrollo de aplicaciones web. Dreamweaver permite trabajar con los siguientes modelos de servidor: ASP JavaScript ASP VBScript ASP.NET C# ASP.NET VB COLDFUSION JSP PHP MySQL
Pgina 22
Programacin Web
WORDPRESS
WordPress es un sistema de gestin de contenido enfocado a la creacin de blogs (sitios web peridicamente actualizados). Desarrollado en PHP y MySQL, bajo licencia GPL y cdigo modificable, tiene como fundador a Matt Mullenweg. WordPress fue creado a partir del desaparecido b2/cafelog y se ha convertido junto a Movable Type en el CMS ms popular de la blogosfera. Las causas de su enorme crecimiento son, entre otras, su licencia, su facilidad de uso y sus caractersticas como gestor de contenidos.
Pgina 23
Programacin Web
Estos tres aspectos a su vez dependen de otros tres elementos principales que engloban prcticamente todos los distintos controles que se pueden establecer en un sistema informtico: Autorizacin No solo es necesario saber quienes acceden a nuestros activos, tambin es necesario establecer que es lo que pueden hacer con ellos. Un nivel de autorizacin dado determina que tipo de operaciones o transacciones puede efectuar un cliente dado sobre un recurso dado. Autenticacin Los clientes de nuestras aplicaciones o servicios deben ser identificados de forma nica, sean usuarios finales, otros servicios o computadoras externas. Registro y auditoria Luego de efectuada una operacin, es importante que esta sea registrada adecuadamente, en particular es esencial si queremos evitar el repudio de transacciones efectuada por un cliente.
Pgina 24
Programacin Web La seguridad web tiene 3 etapas primarias: Seguridad de la computadora del usuario.
Los usuarios deben contar con navegadores y plataformas seguras, libres de virus y vulnerabilidades. Tambin debe garantizarse la privacidad de los datos del usuario. Seguridad del servidor Web y de los datos almacenados ah. Se debe garantizar la operacin continua del servidor, que los datos no sean modificados sin autorizacin (integridad) y que la informacin slo sea distribuida a las personas autorizadas (control de acceso). Seguridad de la informacin que viaja entre el servidor Web y el usuario. Garantizar que la informacin en trnsito no sea leda (confidencialidad), modificada o destruida por terceros. Tambin es importante asegurar que el enlace entre cliente y servidor no pueda interrumpirse fcilmente (disponibilidad).
Pgina 25
Programacin Web
El editor emacs, que cubre la fase de escritura del cdigo fuente. El compilador/enlazador gcc, que permite obtener ejecutables a partir del cdigo fuente. La herramienta make, que facilita (y agiliza) la generacin de ejecutables cuando intervienen varios ficheros fuente.
Pgina 26
Programacin Web
Una de las herramientas que permite crear pginas web, es php, un lenguaje interpretado de alto nivel embebido en pginas HTML y ejecutado en el servidor, no es un lenguaje de marcas como podra ser HTML, XML o WML. El resultado es normalmente una pgina HTML pero igualmente podra ser una pagina WML. La caracterstica ms potente y destacable es su soporte para una gran cantidad de bases de datos. Hay cuatro formas de salir de HTML y entrar en el "modo de cdigo PHP":
Pgina 27
Programacin Web
3.3 Operadores
Son expresiones que permiten manipular los datos recolectados, cada uno de los datos que se asigna a un operador se llama operando. PHP dispone de una gran cantidad de operadores se pueden organizar en las siguientes categoras:
Operadores de Aritmtica: + Suma dos valores. $a + $b - Resta dos valores (o pasa a negativo un valor). $a - $b * Multiplica dos valores. $a * $b / Divide dos valores $a / $b % Resto de dividir dos valores $a % $b ++ Incremento en una unidad $a++ -- Decremento en una unidad $a--
Operadores de Asignacin: = Asigna a la parte derecha el valor izquierdo. $a = $b (Asigna a $a el contenido de $b). += Realiza la suma de la derecha con la izquierda, lo asigna a la derecha. $a += $b (Asigna a $a la suma de $b + $a). -= Realiza la resta de la derecha con la izquierda y la asigna a la derecha. $a -= $b (Asigna a $a la resta de $a - $b). *= Realiza la multiplicacin de la derecha con la izquierda y la asigna a la derecha. $a *= $b (Asigna a $a la multiplicacin de $a por $b). /= Realiza la divisin de la derecha con la izquierda y la asigna a la derecha $a /= $b (Asigna a $a la divisin de $a entre $b). %= Se obtiene el resto y se asigna. .= Concatena el valor de la izquierda con la derecha y lo asigna a la derecha $a .= $b (Asigna a $a la concatenacin de $a seguida por $b).
Pgina 28
! Operador NO o negacin. Si era true pasa a false y viceversa !$a AND Operador Y, si ambos son se cumplen vale verdadero, $a AND $b OR Operador O, vale verdadero si alguno de los dos se cumple, $a OR $b XOR Verdadero si alguno de los dos es true pero nunca ambos, $a XOR $b && True si ambos lo son, $a && $b || True si alguno lo es, $a || $b
Operadores de Cadena: El nico operador de cadenas que existen es el de concatenacin, el punto. $a = "Hola "; $b = $a . "Mundo"; // Ahora $b contiene "Hola Mundo" $a = "Mundo"; echo = 'Hola $a'; //Esto escribir "Hola $a
Operadores condicionales: == Comprueba si dos nmeros son iguales $a == $b != Comprueba si dos nmeros son distintos $a != $b > Mayor que, devuelve true en caso afirmativo $a > $b < Menor que, devuelve true en caso afirmativo $a < $b >= Mayor o igual $a >= $b <= Menor o igual $a <= $b
Pgina 29
Programacin Web
3.4 Sentencias
En programacin, una sentencia es una lnea de cdigo en algn lenguaje de programacin. Un programa est constituido por mltiples sentencias de programacin, lo que es llamado cdigo fuente. Las sentencias de programacin suelen tener algn carcter que determina su final, por lo general es un punto y coma (;) o un punto final (.), y algunas estn separadas simplemente por ENTER (retorno de carro). Esto depende del lenguaje de programacin que se est empleando. Estructuras de control PHP al igual que la mayora de lenguajes de programacin necesita de herramientas que permitan tomar decisiones lgicas al servidor. Como las sentencias if, else, while, do while, for, switch. La tpica sentencia en PHP es una asignacin y termina en punto y coma: $saludos = Bienvenidos a PHP;
3.5 Arreglos
Es una coleccin ordenada de elementos abarcando los tipos de datos antes vistos que se identifican por su posicin, indexando el arreglo. La posicin del primer elemento siempre es cero. El tamao de un arreglo se puede consultar mediante el atributo length. Si el arreglo no ha sido inicializado sus elementos estn: indefinidos (undefined) vacos (null). Ejemplo. Definir un arreglo (a.length==0) // Genera un arreglo vaco var a = new Array(); var b = new Array(2.5, false, 6, "Hola"); // Genera un arreglo con 4 elementos de distinto tipo
Pgina 30
Programacin Web
3.8 Sesiones
Las sesiones se pueden implementar tanto a nivel del servidor como de la aplicacin, con o sin bases de datos y con o sin cookies (a veces se emplean URLs codificadas y mtodos de reinterpretacin de URLs en el lado del servidor). Generalmente una web se compone de una serie de pginas entre las que existe alguna relacin. Un ejemplo claro es una pgina en la cual es necesario estar registrado para poder acceder a ellas ya que en funcin de la categora del usuario nos permitir acceder a unas secciones o otras. En estas aplicaciones ser necesario ir comprobando los permisos de usuario y para ello se usa un elemento en PHP denominado "sesin". Una sesin se inicia cuando un usuario entra en la aplicacin web y finaliza cuando el usuario abandona la aplicacin. El soporte para sesiones de PHP permite inicializar fcilmente una sesin utilizando session_start y gracias al vector superglobal $_SESSION, se puede trabajar con sesiones como si de cualquier otro vector se tratara: <?php // Inicializamos sesion session_start(); // Guardamos una variable $_SESSION['nombre'] = 'Diego Garcia'; ?> Para el problema de diferenciar a varios usuarios existe una solucin muy bsica que consiste en un identificador de sesin diferente en cada caso. El cual debe ser enviado de una pagina a otra para mantener la sesin activa y tambin es necesario pasar el identificador de sesin en los formularios como un campo HIDDEN.
Pgina 31
Programacin Web <a href="pagina.php?<? =SID ?>">Entrar</a> //hipervinculo <input type="hidden" name="session_name()" value="SID">
Funciones de gestin de sesiones session_start(); Si es la primera solicitud genera un identificador de sesin aleatorio cuyo nombre ser sess_IDsesin; si es otra solicitud continua la sesin iniciada anteriormente. session_destroy(); Elimina todos los datos asociados con una sesin, borra el archivo en el servidor pero no borra la cookie. session_register(nombre); Recibe como parmetro una serie de nombres de variable globales y los registra como variables de sesin en el fichero del servidor. session_unregister(nombre); Eliminamos la variable global introducida y se elimina el contenido de esta variable en el fichero del servidor.Sin pasar el parmetro nombre eliminaremos todas las variables de la sesin. session_is_registered(nombre); Devuelve true en caso de que en la sesin se encuentre registrada una variable con dicho nombre. session_unset(); Dejamos sin ningn valor asignado a todas las variables de la sesin. session_id(*nombre+); Si no le proporcionamos ningn parmetro nos da el identificador de sesin; si le proporcionamos el parmetro nombre cambia el valor del identificador por el parmetro nombre. session_name(*nombre+); Si se invoca sin parmetro devuelve el nombre de la variable interna que tiene el id de sesiones; si se pasa parmetro cambia el nombre de la sesin. session_get_cookie_params(); Permite definir nuevos valores para los parmetros de configuracin de las cookies. Para que el cambio sea permanente hay que invocar el cambio en todos los documentos. session_cache_limiter(*cache_limiter+); Si se le proporciona valor modifica el valor por defecto en cambio sino se muestra el cach que tiene por defecto. session_encode(); Devuelve una cadena con la informacin de una sesin, despus de usar esta funcin la informacin de la sesin queda actualizada. session_decode(cadena); Descodifica la cadena que recibe como parmetro y que contiene la informacin de sesin, despus de usar esta funcin se actualiza la informacin de sesin. session_save_path(*path+); Devuelve el camino al directorio donde se guardan los ficheros asociados a la sesin. El efecto solo dura en el script actual.
Pgina 32
Programacin Web
session_module_name(*modulo+); Devuelve el nombre del modulo que se usa para realizar la gestin de sesiones. Cuando se invoca un parmetro se usa como nuevo gestor de sesiones. session_set_save_handler(open,close,read,write,destroy,gc); Permite definir su propio manejador para almacenar la informacin asociada con una sesin. De esta forma los datos pueden ser metidos en una BD en vez de en un fichero. Tenemos que pasarle como parmetro toda la informacin necesaria para crear y destruir sesiones.
Ejemplo: Conectar PHP a una base de datos <html> < head> < title>Ejemplo de PHP</title> < /head> < body> < ?php function Conectarse() { if (!($link=mysql_connect("localhost", "usuario","Password"))) { echo "Error conectando a la base de datos."; exit(); } if (!mysql_select_db("base_datos",$link)) { echo "Error seleccionando la BD."; exit(); }
Pgina 33
Programacin Web return $link; } $link=Conectarse(); echo "Conexin exitosa.<br>"; mysql_close($link); ?> < /body> < /html>
Consultas Una vez hecha la conexin con el servidor de bases de datos, ya se pueden realizar consultas a las tablas de la base de datos, en PHP y MySQL existen cuatro funciones para esto. Select: busca informacin en la base de datos. Insert: ingresa informacin para almacenarla y luego ser obtenida mediante una consulta select. Update: actualiza la informacin guardada. Delete: obviamente borra la informacin.
Ordenar las consultas Para organizar las consultas se utiliza la instruccin ORDER BY y luego se indica el orden DESC (descendiente) o ASC (ascendiente). $query = "SELECT idNoticia,titulo,cuerpo,estado FROM noticias ORDER BY idNoticia DESC";
Pgina 34
Si se desea hacer una consulta pero condicionando los datos a mostrar se usa la instruccin WHERE y se indica el campo, por ejemplo mostrar las noticias cuyo estado sea publicado: $query = "SELECT idNoticia,titulo,cuerpo,estado FROM noticias WHERE estado = publicado ORDER BY idNoticia DESC";
Insertar Para insertar informacin en la base de datos se utiliza la instruccin INSERT INTO, la sintaxis es la siguiente: INSERT INTO nombre_tabla (campo1,campo2) values (valoresCampo1,valoresCampo2) //Usndola con variables //primero se hace la conexin a la BD y despus la insercin: $query = "INSERT INTO noticias (nombre,cuerpo,estado) values (ttulo de noticia , hoy sucedi una noticia , publicada)"; $response = mysql_query($query, $link);
Actualizar Para modificar los datos en una tabla se utiliza la instruccin UPDATE $query = "UPDATE nombre_tabla set campo1 = valor1, campo2 = valor2 WHERE primaryKey = valorPrimaryKey "; $response = mysql_query($query, $link); Con UPDATE se indica que la base de datos se va a actualizar, set es para indicar los campos que se van a modificar y con qu valores. Es muy importante tambin la clusula WHERE para indicar que se est modificando una fila nicamente, si se requiere modificar varias filas con el mismo valor sta clusula se omite, y de esta forma se editara toda la tabla.
Borrar Para eliminar informacin en una tabla se usa DELETE, la sintaxis es similar a la de la instruccin UPDATE. //borrar registros $query = "DELETE FROM nombre_tabla WHERE primaryKey = valorPrimaryKey LIMIT 1";
Pgina 35
Programacin Web $response = mysql_query($query, $link); //borrar tablas $query= "DROP TABLE nombre_tabla"; $response = mysql_query($query, $link); //borrar columnas de una tabla $query= "ALTER TABLE nombre_tabla DROP COLUMN campo1"; $response = mysql_query($query, $link);
Funciones para la gestin de archivos en PHP: Cambio, creacin y borrado de directorios chdir(ruta_al_directorio); Permite cambiar el directorio activo a la ruta establecida como parmetro. mkdir(ruta_al_directorio,permisos); Esta funcin crea un nuevo directorio en la ruta que hemos indicado, el segundo parmetro debe ser un numero octal y es por el que vienen determinados los permisos. rmdir(ruta_directorio); Borra el directorio pasado como parmetro. Procesamiento de los elementos de un directorio opendir(ruta); abre el directorio de la ruta especificada. Una vez se ha ejecutado opendir() se pueden realizar tres operaciones: readdir(manejador); devuelve una cadena con el nombre del siguiente elemento del directorio, ya sea subdirectorio o fichero. rewinddir(manejador); procesa un directorio y sita el puntero interno en el primer directorio. closedir(manejador); finaliza el tratamiento de entradas de directorio.
Pgina 36
Programacin Web
$directorio=dir(ruta_directorio); Este objeto cuenta con 3 mtodos y 2 propiedades(las propiedades slo de consulta por lo que no pueden ser modificadas. Los mtodos empleados son read(),rewind() y close() copy(fichero_origen,fichero_destino); Realiza una copia del fichero. unlink(nombre_fichero); Elimina el fichero. rename(nombre_antiguo,nombre_nuevo); Renombra el fichero pasado como parmetro.
Atributos de ficheros y directorios file_exists(elemento); Comprueba que el elemento pasado como parmetro exista. filesize(nombre_fichero); Informa el tamao del fichero en bytes. fileatime(fichero); informa el ultimo acceso al fichero. filemtime(fichero); informa la ultima modificacin del fichero. filectime(fichero); informa el ltimo cambio al fichero. filetype(fichero); devuelve el tipo de elemento que estamos tratando. Los resultados posibles que puede devolver son: block Dispositivo de bloques char Caracteres dir Directorio fifo FIFO file Fichero link Enlace unknown Desconocido Chmod(elemento_directorio,permisos); Recibe como parmetro el elemento y los permisos que deseamos otorgarles.
Pgina 37
Programacin Web
rename Cambia el nombre del archivo de $antes a $despues rename($antes,$despues). unlink Borra el archivo unlink($archivo).
Funciones para la lectura de archivos fopen Abre un archivo y le asigna un identificador id. Veremos el modo ms adelante $id = Fopen($archivo, $modo). fgets Lee una lnea de un archivo hasta un numero mximo de caracteres fgets($id,$max). fwrite Escribe una cadena dentro del archivo fwrite($id, $cadena). fseek Avanza o retrocede el puntero del archivo un cierto numero de posiciones fseek($id,$posiciones). feof Comprueba si el puntero que lee el archivo ha llegado al final feof($id). fpassthru lee completamente el archivo y lo muestra fpassthru($id). fclose Cierra el archivo abierto previamente fclose($id).
3.12 Seguridad
PHP es un poderoso lenguaje e intrprete, ya sea incluido como parte de un servidor web en forma de mdulo o ejecutado como un binario CGI separado, es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor. Estas propiedades hacen que cualquier cosa que sea ejecutada en un servidor web sea insegura por naturaleza Por eso PHP es un lenguaje ms seguro para escribir programas CGI que Perl o C, y con la seleccin correcta de opciones de configuracin en tiempos de compilacin y ejecucin, siguiendo algunas prcticas correctas de programacin.
Pgina 38
Programacin Web
Programacin Web
Pgina 39
Programacin Web
Variables
La forma general para declarar una variable es la siguiente: var nombre_variable nombre_variable = "valor" Ejemplos de definicin de variables: var miVar = 1234; var miVar2 = 12.34; var miCadena = 'Hola, mundo'; var matriz = new Array(); var matriz2 = new Array(15);
Variables locales y globales var variableGlobal=0; function nuevaFuncion() { var variableLocal=1; variableGlobal =0; } No se declara el tipo de dato de la variable, el tipo se asigna en ejecucin y puede cambiar de tipo durante su vida, por ejemplo: MiVariable=4; MiVariable="Una_Cadena";
Operadores.
Operadores aritmticos
Pgina 40
Programacin Web
Operadores de asignacin:
Operadores lgicos:
Expresiones
Javascript posee los siguientes tipos de expresiones: Aritmticas: tienen valor numrico. Cadenas: tienen valor de cadena Lgicas: tienen valor booleano.
Pgina 41
Programacin Web
Ejemplos: x = y / m + 2; y = x >= m + 2; if ( x + 5 >= 25 && peso < 30 ) direccion = Pino # 100 + Col. Granjas
Estructuras condicionales.
switch ( expresin ) { case Valor_1: Instruccin o bloque de instrucciones; [break;] case Valor_2: Instruccin o bloque de instrucciones; [break;] case Valor_3: Instruccin o bloque de instrucciones; [break;] ... case Valor_N: Instruccin o bloque de instrucciones; [break;] [default:]Instruccin o bloque de instrucciones; }
Estructuras de repeticin.
Ejemplo: for (var i=1 ; i <= 10 ; i++) { if ( i > 5) , alert(Mayor de 5); } Ejemplo: cont = 0 while( cont<10 ) { document.write(cont+"<br>"); cont++; }
Pgina 42
Programacin Web
Estructuras de repeticin.
Ejemplo:
Estructuras de datos.
Arreglos (Array)
// Arreglo de textos var mensajes = new Array(6); mensajes[0] = "Javascript permite usar arreglos"; mensajes[1] = "Javascript permite usar cadenas"; mensajes[2] = "Javascript permite usar funciones"; mensajes[3] = "Javascript permite usar fechas"; mensajes*4+ = "Javascript permite usar funciones matemticas"; mensajes*5+ = "Javascript permite usar objetos"; // Arreglo de imgenes var imagenes = new Array(2); imagenes[0] = "../imagenes/tractor1.jpg"; imagenes[1] = "../imagenes/tractor2.jpg";
Funciones.
Las funciones son uno de los pilares sobre los que se apoya JavaScript. Una funcin es un conjunto de sentencias o procedimientos que realizarn unas operaciones adecuadas, haciendo uso de determinadas variables y propiedades. Sintaxis de funciones function nombreFuncion(parametro1, parametro2, ... ) { sentencia1; sentencia2; ... sentenciaN; }
Pgina 43
Programacin Web
Ejemplo de funcin. function cubo(numero) { var cubo = numero * numero * numero; return cubo; }
DOM de Javascript
4.3 Objetos del lenguaje script nter construidos y objetos del navegador.
Son los objetos ya definidos previamente en el lenguaje de Javascript y los objetos ya definidos en el navegador.
Pgina 44
Programacin Web
Objetos incorporados de Javacript y del navegador: Objeto Anchor Applet Button Checkbox Date Document Form History Link Location Math Password RadioButton Reset Selection String Submit Text TextArea Window Caractersticas marca anchor de HTML <a > applet de Java campo INPUT HTML de tipo "button" campo INPUT HTML tipo "checkbox" permite trabajar con fechas pgina HTML formulario HTML lista de las pginas Web visitadas enlace de hipertexto URL constante o funcin matemtica campo INPUT tipo "password" campo INPUT tipo "radiobutton" campo INPUT tipo "reset" texto en un campo TEXTAREA o INPUT cadena de texto campo INPUT tipo "submit" campo INPUT tipo "text" campo INPUT tipo "textArea" ventana del navegador
Para cada tipo de evento hay que tener en mente tres elementos: quin lo genera, cundo ocurre y cul es el manejador de eventos que se debe utilizar.
Pgina 45
Programacin Web
La tabla que sigue resume la mayora los eventos definidos por JavaScript, junto con los elementos relacionados a ellos para su programacin.
Programacin Web
Pasos para validar un formulario. Para validar un formulario se debe generar la funcin para el evento submit (manejador de evento onsubmit) del objeto Form (formulario). Se escribe el cdigo para la validacin en esta funcin. Si al menos un campo no cumple los requisitos para la validacin, la funcin debe regresar un valor false (cancela el envo del formulario). Si todos los campos cumplen la validacin, la funcin debe regresar un true (se permite el envo del formulario).
Cookies
En la programacin para navegadores el trmino cookie (galleta) se interpreta como una cadena de no ms de 256 caracteres, que puede ser guardada en el cliente de forma explcita desde una pgina o servidor Web. Las cookies permiten entonces guardar una pequea cantidad de informacin en un archivo del lado del cliente. Desde un documento HTML se pueden crear, leer y actualizar las cookies, y en s, se pueden asociar distintas de ellas a un solo documento. La estructura general de una cookie se define de la siguiente forma:
nombre=valor; [expira=fecha; [ruta=path; [dominio=domain; [secure;]]]] Donde nombre: es el nombre de la cookie. valor: es el valor de la cookie. expira y fecha: indican la fecha de expiracin de la misma. Cuando no se indica, expira con la sesin del usuario. ruta y path: indican el URL de la pgina que gener la cookie. dominio y domain: indican el dominio desde el cual se conect el cliente. secure: indica que la cookie se transmitir nica y exclusivamente si la comunicacin entre cliente y servidor es segura.
En JavaScript la cadena que se utiliza para la consulta y manipulacin de cookies es: document.cookie. Dicha cadena representa todas las cookies asociadas al documento. Al ser esta una variable de tipo cadena se recomiendan utilizar mtodos tales como substring, charAt, indexOf y lastIndexOf para determinar los valores guardados en la cookie.
Pgina 47
Programacin Web
cookie:
alert(document.cookie);
Nmero de veces que algn usuario ha visitado una pgina. Llevar una historia personalizada de los elementos que se llevan en un carrito electrnico. Guardar preferencias del usuario.
Pgina 48
Programacin Web
Pgina 49
Programacin Web
Pgina 50
Programacin Web
Pgina 51
Programacin Web
Hay dos metalenguajes con los que definir los lenguajes que podemos obtener a partir de XML, el DTD y el XML Schema. El DTD, Definition Type Document, tiene una sintaxis especial, distinta de la de XML, que es sencilla, aunque un poco rara si nunca hemos visto un documento similar. Para evita r el DTD, que tiene una sintaxis muy especial, se intent encontrar una manera de escribir en XML la definicin de otro lenguaje XML. Se defini entonces el lenguaje XML Schema y funciona bien, aunque puede llegar a ser un poco ms complicado que especificarlo en DTD. Simplemente nos ahorramos de aprender un nuevo lenguaje con su sintaxis particular.
Un detalle importante de sealar a la hora de hablar de los DTD o XML Schema es que estos lenguajes tambin permiten comprobar la integridad de los datos en cualquier momento. Se calcula que un 70% de las lneas de cdigo que escribe un programador estn orientadas a comprobar la integridad de los datos, es decir, comprobar si donde se supone que hay un nmero efectivamente lo hay, si el nmero es entero o cualquier otra comprobacin. Nuestros metalenguajes de XML nos sirven para tomar un documento XML y comprobar que los datos que l incluye son vlidos, comprobando si lo que tenemos en el XML concuerda con lo que tendramos que tener. Eso lo podemos hacer al leer el documento, si no son validos se saca un mensaje de error y se detiene el proceso del documento. Si son vlidos hacemos lo que toque sin tener que preocuparnos por la integridad de los datos.
Programacin Web
XSL resulta mucho ms potente que CSS y de hecho es mucho ms adecuado utilizarlo. Una de sus principales ventajas la vemos a continuacin. Si tenemos un documento XML que queremos que se visualice en mltiples dispositivos distintos ser imprescindible utilizar XSL. En este esquema tendramos un solo documento XML y un documento XSL para cada dispositivo que queramos incluir, por ejemplo para un navegador Netscape, otro para Internet Explorer, otro para un mvil Ericson y otro para un mvil Nokia. Si maana aparece un nuevo dispositivo, por muy particular que sea, slo necesitaremos crear un documento XSL para que nuestros XML se puedan visualizar en l.
Pgina 53
Programacin Web
Soap
SOAP (Simple Object Access Protocol) Es un protocolo estndar que define cmo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. SOAP fue creado por Microsoft, IBM y otros y est actualmente bajo el auspicio de la W3C. Es uno de los protocolos utilizados en los servicios Web. que es una estrategia de desarrollo de aplicaciones distribuidas usando tecnologas diversas adoptada por las diferentes organizaciones del mundo para resolver los problemas de falta de interoperabilidad entre las tecnologas anteriormente mencionadas, tomando como base protocolos ya establecidos y con gran aceptacin en Internet, como HTML y XML. * OBJETIVOS PRIMORDIALES DE SOAP a) Establecer un protocolo estndar de invocacin de servicios remotos, basado en protocolos estndares de Internet: HTTP (Protocolo de transporte de Hipertexto) para la transmisin y XML (lenguaje de marcado extensible) para la codificacin de datos. b) Independencia de plataforma, lenguaje de desarrollo e implementacin (modelo de objetos). El protocolo de comunicacin HTTP es el empleado intrnsecamente para la conexin sobre Internet. Garantiza que cualquier cliente con un navegador estndar pueda conectarse con un servidor remoto. La transmisin de datos se empaqueta con XML, que se ha convertido en el estndar del intercambio de datos, salvando las incompatibilidades entre otros protocolos, tales como el NDR (Network Data Representation) o el CDR (Common Data Representation). Por otra parte, los servidores Web pueden procesar las peticiones de usuario, empleando las tecnologas de Servlets, paginas ASP (Active Server Pages) o JSP (Java Server Pages), o un servidor de aplicaciones, invocando objetos de tipos CORBA, COM o EJB. Como SOAP circunscribe informacin adicional incluida en el documento XML a continuacin se presentar la descripcin de dicho documento.
Wsdl
WSDL son las siglas de Web Services Description Language, un formato XML que se utiliza para describir servicios Web (algunas personas lo leen como wisdel). La versin 1.0 fue la primera recomendacin por parte del W3C y la versin 1.1 no alcanz nunca tal estatus. La versin 2.0 se convirti en la recomendacin actual por parte de dicha entidad. WSDL describe la interfaz pblica a los servicios Web. Est basado en XML y describe la forma de comunicacin, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catlogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan despus al protocolo concreto de red y al formato del mensaje.
Pgina 54
Programacin Web
As, WSDL se usa a menudo en combinacin con SOAP y XML Schema. Un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar qu funciones estn disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL. El WDSL nos permite tener una descripcin de un servicio web. Especifica la interfaz abstracta a travs de la cual un cliente puede acceder al servicio y los detalles de cmo se debe utilizar.
Programacin Web
<element </all> </complexType> </element> <element <complexType> <all> <element </all> </complexType> </element> </schema> </types> <message <part </message> <message <part </message> <portType <operation <input <output </operation> </portType>
name="tickerSymbol"
type="string"/>
name="TradePrice">
name="price"
type="float"/>
name="body"
name="GetLastTradePriceInput"> element="xsd1:TradePriceRequest"/>
name="body"
name="GetLastTradePriceOutput"> element="xsd1:TradePrice"/>
<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"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service <documentation>My
Sergio Ramrez Tenorio 7F
first
name="StockQuoteService"> service</documentation>
Pgina 56
Programacin Web
binding="tns:StockQuoteSoapBinding"> location="http://example.com/stockquote"/>
Uddi
UDDI son las siglas del catlogo de negocios de Internet denominado Universal Description, Discovery and Integration. El registro en el catlogo se hace en XML. UDDI es una iniciativa industrial abierta (sufragada por la OASIS) entroncada en el contexto de los servicios Web. El registro de un negocio en UDDI tiene tres partes: * Pginas blancas - direccin, contacto y otros identificadores conocidos. * Pginas amarillas - categorizacin industrial basada en taxonomas. * Pginas verdes - informacin tcnica sobre los servicios que aportan las propias empresas. UDDI es uno de los estndares bsicos de los servicios Web cuyo objetivo es ser accedido por los mensajes SOAP y dar paso a documentos WSDL, en los que se describen los requisitos del protocolo y los formatos del mensaje solicitado para interactuar con los servicios Web del catlogo de registros.
Pgina 57
Programacin Web
Para publicar un documento de descubrimiento esttico para un servicio Web Cree un documento XML con el editor que prefiera y agregue el elemento ?xml version=1.0 ? a la primera lnea. En el documento XML, agregue un elemento discovery En el elemento discovery, agregue referencias a descripciones de servicio, esquemas XSD y dems documentos de descubrimiento. Copie el documento de descubrimiento en un directorio virtual de un servidor Web para implementarlo. Opcionalmente, si desea permitir que los posibles consumidores se desplacen para llegar hasta una direccin URL mediante la especificacin de una aplicacin IIS, sin tener que especificar un documento, puede agregar un vnculo a la pgina predeterminada de la aplicacin IIS. La ventaja es que los posibles consumidores no tienen que conocer el nombre de ningn documento de descubrimiento. Despus, los usuarios pueden suministrar direcciones URL.
Pgina 58