webservice-130530011615-phpapp01

11
Programación Web - Autor: Armando Nuñez Ramos 1 Autor: Armando Nuñez Ramos 2013

description

sssss

Transcript of webservice-130530011615-phpapp01

  • Programacin Web - Autor: Armando Nuez Ramos 1

    Au

    tor: A

    rman

    do

    Nu

    ez R

    amo

    s

    20

    13

  • Programacin Web - Autor: Armando Nuez Ramos 2

  • Programacin Web - Autor: Armando Nuez Ramos 3

    Contenido

    JAVA ..............................................................................................................................................................................

    PHP ................................................................................................................................................................................

    PERL ..............................................................................................................................................................................

    GOOGLE ........................................................................................................................................................................

    Programacin Web

  • Programacin Web - Autor: Armando Nuez Ramos 4

    4

    Servicios web en Java

    Existen gran cantidad de implementaciones que ayudan al desarrollo de Servicios Web para cada uno de los lenguajes de programacin.

    Sun provee de una serie de tecnologas en su versin Java EE para el desarrollo de Servicios Web.

    stas tecnologas son estndares de desarrollo, as como APIs que especifican el comportamiento de implementaciones.

    En las ltimas especificaciones Sun crea una nueva especificacin que facilita el desarrollo de Web Services a travs de anotaciones.

    Tecnologas para ServiciosWeb en Java EE:

    Especificacin de Implementacin http://jcp.org/en/jsr/detail?id=109

    JAX-WS: Java API for XML Web Services https://jax-ws.dev.java.net/

    JAX-RPC: Java API for XML-based RPC https://jax-rpc.dev.java.net/

    JAXB: Java Architecture for XML Binding https://jaxb.dev.java.net/

    SAAJ: SOAP with Attachments API for Java https://saaj.dev.java.net/

    StAX:Streaming API for XML http://java.sun.com/webservices/docs/1.6/tutorial/doc/SJSXP.html

    Web Services Metadata for the Java Platform http://jcp.org/en/jsr/detail?id=181

    Programacin Web

  • Programacin Web - Autor: Armando Nuez Ramos 5

    5

    Web Services en JavaEE6 y JDK6 A partir de la version 6 (update 4), la plataforma Java estandar (JDK), incluye las APIs para trabajar con JAX-WS y JAXB, fundamentales para el consumo de web services.

    Figura 1.1 Consumo y definicin de un web service

    Servicios web con PHP

    La implementacin de servicios web en PHP se realiza por medio de

    tecnologas XML-RPC y SOAP. Estas tecnologas cuentan con la

    implementacin de servidores y clientes consumidores de servicios web.

    SOAP

    El Protocolo de Acceso a Objetos Simple, es un protocolo que se define por las siguientes caractersticas:

    Se basa en XML Se compone por tres partes: definicin del mensaje y forma de

    procesarlo, sistema de reglas de codificacin y representacin de respuestas de llamadas de procedimientos remotos.

    XML-RPC El protocolo de llamada de procedimientos remotos es bsicamente una peticin del HTTP-POST que trabaja en internet y est escrita en XML. El procedimiento es ejecutado en el servidor y el valor que devuelve se maneja tambin en formato XML.

  • Programacin Web - Autor: Armando Nuez Ramos 6

    6

    Figura 2.1 Ejemplo de peticin y respuesta Clientes SOAP con PHP

    A continuacin se muestra un script elaborado en PHP que utiliza SOAP para

    consumir un servicio web que regresa el mensaje "Hola Mundo":

    ISBN:

  • Programacin Web - Autor: Armando Nuez Ramos 7

    7

    Servidores SOAP con PHP

    Para crear un servidor de servicios web con SOAP y PHP se utiliza NuSOAP. A

    continuacin se muestra un ejemplo de bsqueda de un libro por ttulo:

  • Programacin Web - Autor: Armando Nuez Ramos 8

    8

    Servidor Framework XML-RPC

    Para la construccin de servidores el framework cuenta con la clase

    xmlrpc_server:

    Figura 2.2 Clase xmlrpc_server

    Cliente XML-RPC

    Para crear un cliente XML-RPC que consuma servicios web de este tipo se utilizan las

    siguientes clases:

    xmlrpc_client.: clase bsica para un cliente XML-RPC. Se utiliza como

    se muestra a continuacin:

    xmlrpcmsg: provee una representacin para una peticin a un servidor

    XML-RPC. Un cliente enva un xmlrpcmsg al servidor y recibe un

    xmlrpcresp.

    xmlrpcval: permite la creacin y encapsulamiento de los valores para

    XML-RPC.

    Ejemplo de cliente XML-RPC

    serialize())."\n"; $c=new xmlrpc_client("/servidor.php", "localhost", 80); $c->setDebug(0); $r=$c->send($f); if (!$r) { die("Fall SEND"); }

  • Programacin Web - Autor: Armando Nuez Ramos 9

    9

    $v=$r->value(); if (!$r->faultCode()) { print "Ttulo del libro ".$HTTP_POST_VARS["txtIsbn"]." es ".$v->scalarval().""; } else { print "Falla: "; print "Nmero de error: " .$r->faultCode()." Descripcin del error '".$r->faultString()."'";} } ?>

    Servicios web con Pearl

    Implementar servicios Web

    Para la implementacin de servicios web en Pearl se utiliza SOAP :: Lite. A continuacin se muestra un ejemplo de creacin y consumo de un servicio web:

    Modulo Hola Mundo de Pearl Hello.pm # Hello.pm - Hola mdulo sencillo paquete Hello; sub sayHello { turno; # eliminar nombre de la clase de retorno "Hello". cambio; } 1;

    Cliente

    hw_client.pl

    ! # / Usr / bin / perl-w

    # hw_client.pl - Hola cliente utilizacin SOAP :: Lite; mi $ nombre = cambio; print "\ n \ nCalling el servidor SOAP para saludar \ n \"; print "El servidor SOAP dice: "; impresin SOAP :: Lite -> uri ('urn: Ejemplo 1') -> proxy ('http://localhost/cgi-bin/helloworld.cgi') -> sayHello ($ name) -> como resultado. "\ N \ n";

    Cdigo detrs de

    la interfaz del

    servicio web

    Consumo del

    servicio

  • Programacin Web - Autor: Armando Nuez Ramos 10

    Servicios web con Google

    LISTA DE APIS DE GOOGLE

    APIS DIRECCIN DESCRIPCIN

    APIs de Datos http://code.google.com/intl/es/apis/gdata/

    Protocolo estndar para leer e introducir datos en la Web. Google Base, Blogger, Google Calendar, Google Docs y lbumes web de Picasa cuentan con este tipo de APIs.

    API de datos

    de Blogger http://code.google.com/intl/es/apis/blogger

    Permite a las aplicaciones cliente ver y actualizar contenido de Blogger como feeds de la API de datos de Google

    APIs de

    FeedBurner http://code.google.com/intl/es/apis/feedburner/

    Ofrece servicios web que permiten interactuar con funciones de

    Feeds Atom de

    Gmail

    http://gmail.google.com/support/bin/answer.py?answer=13465

    Permite leer etiquetas o mensajes recibidos en Gmail mediante cualquier agregador que admita el formato de feeds Atom XML.

    Autenticacin

    de cuentas de

    Google

    http://code.google.com/intl/es/apis/accounts/ Permite incorporar accesos programticos

    en aplicaciones mviles o de escritorio

    APIs AJAX de

    Google http://code.google.com/intl/es/apis/ajax/

    Permiten crear sitios web completos y

    dinmicos utilizando nicamente JavaScript

  • Programacin Web - Autor: Armando Nuez Ramos 11

    11

    y HTML

    Google Code

    Search http://www.google.com/codesearch

    Ayuda a encontrar definiciones de

    funciones y cdigo de ejemplo de acceso

    pblico

    API de Google

    Maps http://code.google.com/intl/es/apis/maps/

    Permite crear innovadoras aplicaciones

    geogrficas online e integrar mapas y

    referencias geogrficas en sitios web. Con

    esta API, podrs presentar fcilmente tu

    contenido con referencias geogrficas en

    cualquier navegador web.

    Google

    Sitemaps https://www.google.com/webmasters/tools/docs/en/about.html

    Da la posibilidad de descubrir rpidamente

    las pginas existentes y las que han

    cambiado recientemente

    API de datos

    de YouTube http://code.google.com/intl/es/apis/youtube/

    Ofrece libre acceso a partes clave del

    repositorio de vdeos de YouTube y a la

    comunidad de usuarios a travs de feeds

    RSS y de una API abiert