• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Servicios web en Java, PHP, Perl y Google
 

Servicios web en Java, PHP, Perl y Google

on

  • 845 views

 

Statistics

Views

Total Views
845
Views on SlideShare
845
Embed Views
0

Actions

Likes
0
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Servicios web en Java, PHP, Perl y Google Servicios web en Java, PHP, Perl y Google Document Transcript

    • Programación Web - Autor: Armando Nuñez Ramos 1Autor:ArmandoNuñezRamos2013
    • Programación Web - Autor: Armando Nuñez Ramos 2
    • Programación Web - Autor: Armando Nuñez Ramos 3ContenidoJAVA ..............................................................................................................................................................................PHP ................................................................................................................................................................................PERL..............................................................................................................................................................................GOOGLE........................................................................................................................................................................Programación Web
    • Programación Web - Autor: Armando Nuñez Ramos 44Servicios web en JavaExisten gran cantidad de implementaciones que ayudan al desarrollo deServicios Web para cada uno de los lenguajes de programación. Sun provee de una serie de tecnologías en su versión Java EE para eldesarrollo de Servicios Web. Éstas tecnologías son estándares de desarrollo, así como API’s queespecifican el comportamiento de implementaciones. En las últimas especificaciones Sun crea una nueva especificación quefacilita el desarrollo de Web Services a través de anotaciones.Tecnologías para ServiciosWeb en Java EE: Especificación de Implementaciónhttp://jcp.org/en/jsr/detail?id=109 JAX-WS: Java API for XML Web Serviceshttps://jax-ws.dev.java.net/ JAX-RPC: Java API for XML-based RPChttps://jax-rpc.dev.java.net/ JAXB: Java Architecture for XML Bindinghttps://jaxb.dev.java.net/ SAAJ: SOAP with Attachments API for Javahttps://saaj.dev.java.net/ StAX:Streaming API for XMLhttp://java.sun.com/webservices/docs/1.6/tutorial/doc/SJSXP.html Web Services Metadata for the Java Platformhttp://jcp.org/en/jsr/detail?id=181Programación Web
    • Programación Web - Autor: Armando Nuñez Ramos 55Web Services en JavaEE6 y JDK6A partir de la version 6 (update 4), la plataforma Java estandar (JDK), incluyelas APIs para trabajar con JAX-WS y JAXB, fundamentales para el consumo deweb services.Figura 1.1 Consumo y definición de un web serviceServicios web con PHPLa implementación de servicios web en PHP se realiza por medio detecnologías XML-RPC y SOAP. Estas tecnologías cuentan con laimplementación de servidores y clientes consumidores de servicios web.SOAPEl Protocolo de Acceso a Objetos Simple, es un protocolo que se define por lassiguientes características: Se basa en XML Se compone por tres partes: definición del mensaje y forma deprocesarlo, sistema de reglas de codificación y representación derespuestas de llamadas de procedimientos remotos.XML-RPCEl protocolo de llamada de procedimientos remotos es básicamente unapetición del HTTP-POST que trabaja en internet y está escrita en XML. Elprocedimiento es ejecutado en el servidor y el valor que devuelve se manejatambién en formato XML.
    • Programación Web - Autor: Armando Nuñez Ramos 66Figura 2.1 Ejemplo de petición y respuestaClientes SOAP con PHPA continuación se muestra un script elaborado en PHP que utiliza SOAP paraconsumir un servicio web que regresa el mensaje "Hola Mundo":<?php// Manejo de la forma para ver si ya se envióif (!(string)$_POST["boton"] == "") {// Incluimos las clases de SOAPrequire("nusoap.php");// crea el cliente$cliente = new soapclient("http://localhost/taller/server.php?wsdl", "wsdl");$proxy = $cliente->getProxy();// llamada al metodo (BuscaIsbn)$resultado = $proxy->BuscaIsbn((string)$_POST["isbn"]);// Revisa erroresif (!$cliente->getError()) {// muestra resultadosprint "El titulo del libro con ISBN ".(string)$_POST["isbn"]." es:".$resultado;}// Errorelse {echo "<h1>Error: ".$cliente->getError()."</h1>";}}?><!-- Forma de busqueda --><form name="datos" action="#" method="POST">ISBN: <input type="text" name="isbn"><input name="boton" type="submit" value="Buscar"></form>
    • Programación Web - Autor: Armando Nuñez Ramos 77Servidores SOAP con PHPPara crear un servidor de servicios web con SOAP y PHP se utiliza NuSOAP. Acontinuación se muestra un ejemplo de búsqueda de un libro por título:<?php// Incluimos las clases de SOAPrequire("nusoap.php");// Creamos el objeto del servidor$servidor=new soap_server();// Registramos la función que queremos exponer como servicio web$servidor->register("buscaIsbn");// Generación del WSDL$servidor->debug_flag=false;$servidor->configureWSDL("ISBN", "http:/localhost/taller");$servidor->wsdl->schemaTargetNamespace = "http:/localhost/taller";/*// Agregamos un tipo de dato complejo$servidor->wsdl->addComplexType("datosLibro","complexType","struct","all","",array("titulo" => array("name"=>"titulo", "type"=>"xsd:string")));*/// Registramos el método$servidor->register("BuscaIsbn", array("titulo" => "xsd:string"),array("return"=>"xsd:string"),http://localhost/taller");function BuscaIsbn($isbn){if (isset($isbn)){switch($isbn) /*No usaremos base de datos*/{case 111: $titulo="Taller de PHP";break;case 222: $titulo="PHP y XML_RPC";break;case 333: $titulo="Creando sitios web con PHP";break;case 444: $titulo="PHP para principiantes";break;default: return new soap_fault("Client", "", "El libro noexiste.", "");}}else{// No hay isbnreturn new soap_fault("Client", "", "No envio ISBN.", "");}return $titulo;}// Enviar el resultado como una respuesta SOAP por HTTP$servidor->service($HTTP_RAW_POST_DATA);exit();?>
    • Programación Web - Autor: Armando Nuñez Ramos 88Servidor Framework XML-RPCPara la construcción de servidores el framework cuenta con la clasexmlrpc_server:Figura 2.2 Clase xmlrpc_serverCliente XML-RPCPara crear un cliente XML-RPC que consuma servicios web de este tipo se utilizan lassiguientes clases: xmlrpc_client.: clase básica para un cliente XML-RPC. Se utiliza comose muestra a continuación:<?php $cliente = new xmlrpc_client($ruta_servidor,$nombre_servidor,$puerto_servidor);?> xmlrpcmsg: provee una representación para una petición a un servidorXML-RPC. Un cliente envía un xmlrpcmsg al servidor y recibe unxmlrpcresp.<?php $msg = new xmlrpcmsg($nombre_metodo,$arreglo_parametros); ?> xmlrpcval: permite la creación y encapsulamiento de los valores paraXML-RPC.<?php $valor=new xmlrpcval(); ?>Ejemplo de cliente XML-RPC<?phpinclude("xmlrpc.inc");if ($HTTP_POST_VARS["txtIsbn"]!=""){ $f=new xmlrpcmsg(libros.buscaIsbn,array(new xmlrpcval($HTTP_POST_VARS["txtIsbn"],"int")));print "<pre>".htmlentities($f->serialize())."</pre>n";$c=new xmlrpc_client("/servidor.php", "localhost", 80);$c->setDebug(0);$r=$c->send($f);if (!$r){ die("Falló SEND"); }
    • Programación Web - Autor: Armando Nuñez Ramos 99$v=$r->value();if (!$r->faultCode()){ print "Título del libro ".$HTTP_POST_VARS["txtIsbn"]." es ".$v->scalarval()."<BR>"; }else{ print "Falla: ";print "Número de error: " .$r->faultCode()." Descripción del error ".$r->faultString()."<BR>";}}?>Servicios web con PearlImplementar servicios WebPara la implementación de servicios web en Pearl se utiliza SOAP :: Lite. Acontinuación se muestra un ejemplo de creación y consumo de un servicio web:Modulo Hola Mundo de PearlHello.pm# Hello.pm - Hola módulo sencillopaquete Hello;sub sayHello {turno; # eliminar nombre de la clasede retorno "Hello". cambio;}1;Clientehw_client.pl! # / Usr / bin / perl-w# hw_client.pl - Hola clienteutilización SOAP :: Lite;mi $ nombre = cambio;print " n nCalling el servidor SOAP para saludar n ";print "El servidor SOAP dice: ";impresión SOAP :: Lite-> uri (urn: Ejemplo 1)-> proxy (http://localhost/cgi-bin/helloworld.cgi)-> sayHello ($ name)-> como resultado. " N n";Código detrás dela interfaz delservicio webConsumo delservicio
    • Programación Web - Autor: Armando Nuñez Ramos 10Servicios web con GoogleLISTA DE APIS DE GOOGLEAPIS DIRECCIÓN DESCRIPCIÓNAPIs de Datos http://code.google.com/intl/es/apis/gdata/Protocolo estándar para leer e introducirdatos en la Web. Google Base, Blogger,Google Calendar, Google Docs y Álbumesweb de Picasa cuentan con este tipo deAPIs.API de datosde Bloggerhttp://code.google.com/intl/es/apis/bloggerPermite a las aplicaciones cliente ver yactualizar contenido de Blogger como feedsde la API de datos de GoogleAPIs deFeedBurnerhttp://code.google.com/intl/es/apis/feedburner/Ofrece servicios web que permiteninteractuar con funciones deFeeds Atom deGmailhttp://gmail.google.com/support/bin/answer.py?answer=13465Permite leer etiquetas o mensajes recibidosen Gmail mediante cualquier agregador queadmita el formato de feeds Atom XML.Autenticaciónde cuentas deGooglehttp://code.google.com/intl/es/apis/accounts/Permite incorporar accesos programáticosen aplicaciones móviles o de escritorioAPIs AJAX deGooglehttp://code.google.com/intl/es/apis/ajax/Permiten crear sitios web completos ydinámicos utilizando únicamente JavaScript
    • Programación Web - Autor: Armando Nuñez Ramos 1111y HTMLGoogle CodeSearchhttp://www.google.com/codesearchAyuda a encontrar definiciones defunciones y código de ejemplo de accesopúblicoAPI de GoogleMapshttp://code.google.com/intl/es/apis/maps/Permite crear innovadoras aplicacionesgeográficas online e integrar mapas yreferencias geográficas en sitios web. Conesta API, podrás presentar fácilmente tucontenido con referencias geográficas encualquier navegador web.GoogleSitemapshttps://www.google.com/webmasters/tools/docs/en/about.htmlDa la posibilidad de descubrir rápidamentelas páginas existentes y las que hancambiado recientementeAPI de datosde YouTubehttp://code.google.com/intl/es/apis/youtube/Ofrece libre acceso a partes clave delrepositorio de vídeos de YouTube y a lacomunidad de usuarios a través de feedsRSS y de una API abiert