2013Octavio Izúcar MartínezProgramación WebFrancisco Vázquez GuzmánServicios WebInstituto Tecnológico deTehuacán7° Semestr...
S e r v i c i o s W e bServicios Web con J a v aExisten gran cantidad de implementaciones que ayudan al desarrollo de Serv...
Se crea un Objeto CreditCard entre el consumidor y el proveedor del servicioLos datos intercambiados, deben ser un documen...
Servicios web con P H PPara la implementación de servicios web en PHP se utilizan tecnologías XML-RPC y SOAP sobre las cua...
<?phpfunction foo($parametros){/* Instrucciones php */}$servidor=new xmlrpc_server(array("ejemplo.miFuncion"=>array("funct...
<form name="datos" action="#" method="POST">ISBN: <input type="text" name="isbn"><input name="boton" type="submit" value="...
Servicios Web con P E R LCrear servicios Web en Perl con SOAP :: LitePerl, al igual que la mayoría de los idiomas, oculta ...
Servicios Web con G o o g l eServicios de Google, lista de APIs y productos que Google presenta encode.google.comAPIs de d...
API de datos de Google Base – http://code.google.com/intl/es/apis/base/Con la API de datos de Google Base puedes consultar...
Google Mashup Editor – http://code.google.com/intl/es/gme/Google Mashup Editor es un entorno de programación AJAX.API de d...
Próxima SlideShare
Cargando en…5
×

Servicios web java, php, perl, google

859 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
859
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
4
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Servicios web java, php, perl, google

  1. 1. 2013Octavio Izúcar MartínezProgramación WebFrancisco Vázquez GuzmánServicios WebInstituto Tecnológico deTehuacán7° Semestre29 de mayo del 2013
  2. 2. S e r v i c i o s W e bServicios Web con J a v aExisten gran cantidad de implementaciones que ayudan al desarrollo de ServiciosWeb 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=181Web Services en JavaEE6 y JDK6A partir de la version 6 (update 4), la plataforma Java estandar (JDK), incluye lasAPIs para trabajar con JAX-WS y JAXB, fundamentales para el consumo de webservicesDefinición Web Service
  3. 3. Se crea un Objeto CreditCard entre el consumidor y el proveedor del servicioLos datos intercambiados, deben ser un documento XML, por lo que se necesitaun método para transformar el objeto Java en un documento XML y viceversaPara esto utilizamos JAXB, anotándolo con@javax.xml.bind.annotation.XmlRootElementInvocando un web serviceEjemplo de Cliente
  4. 4. Servicios web con P H PPara la implementación de servicios web en PHP se utilizan tecnologías XML-RPC y SOAP sobre las cuales se implementaron servidores y clientesconsumidores de servicios web.XML-RPCXML-RPC es el protocolo de llamada de procedimientos remotos (RPC: RemoteProcedure Calling), el cual trabaja sobre internet. Un mensaje de XML-RPC es unapetición del HTTP-POST . El cuerpo del mismo está en XML, un procedimiento esejecutado en el servidor y el valor que devuelve está en formato XML.Ejemplo de petición:POST /RPC2 HTTP/1.0User-Agent: Frontier/5.1.2 (WinNT)Host: betty.userland.comContent-Type: text/xmlContent-length: 181<?xml version="1.0"?><methodCall><methodName>ejemplo.buscaIsbn</methodName><params><param><value><i4>1</i4></value></param></params></methodCall>Ejemplo de respuesta:HTTP/1.1 200 OKConnection: closeContent-Length: 158Content-Type: text/xmlDate: Fri, 17 Jul 1998 19:55:08 GMTServer: UserLand Frontier/5.1.2-WinNT<?xml version="1.0"?><methodResponse><params><param><value><string>PHP</string></value></param></params></methodResponse>SOAPSOAP (Simple Object Access Protocol, Protocolo de acceso a objetos simple) esun protocolo basado en XML que consiste de tres partes: la primera define cuál esel mensaje y cómo procesarlo, la segunda es un sistema de reglas de codificaciónpara expresar tipos de datos definidos y una tercera parte para representarrespuestas de llamadas por parte de procedimientos remotos.
  5. 5. <?phpfunction foo($parametros){/* Instrucciones php */}$servidor=new xmlrpc_server(array("ejemplo.miFuncion"=>array("function"=>"foo")));?>Clases para crear un cliente XML-RPC para el consumo de servicios web XML-RPC.xmlrpc_client.- Esta es la clase básica para un cliente XML-RPC, la forma de usarla es lasiguiente:<?php $cliente = new xmlrpc_client($ruta_servidor,$nombre_servidor,$puerto_servidor); ?>xmlrpcmsg.- Esta clase provee una representación para una petición a un servidor XML-RPC. Un cliente envía un xmlrpcmsg al servidor y recibe un xmlrpcresp.<?php $msg = new xmlrpcmsg($nombre_metodo,$arreglo_parametros); ?>xmlrpcval.- Esta clase es la que permite la creación y encapsulamiento de los valorespara XML-RPC (hace el trabajo sucio). Cuenta con diferentes constructores:<?php $valor=new xmlrpcval(); ?>Desarrollo de clientes SOAP con PHPLa mayoría de los servicios web en la actualidad se basan en los estándaresSOAP y WSDL analizados anteriormente.La implementación de SOAP sobre PHP que vamos a utilizar se llama NuSOAP(http://sourceforge.net/projects/nusoap/) y que fue liberado bajo licencia LPGL.El siguiente script en PHP que usa SOAP para consumir un servicio web queregresa mensaje de "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 -->
  6. 6. <form name="datos" action="#" method="POST">ISBN: <input type="text" name="isbn"><input name="boton" type="submit" value="Buscar"></form>Desarrollo de servidores SOAP con PHPUn servidor de servicios web con SOAP y PHP, se creara usando NuSOAP y seusara el ejemplo de buscar el título del libro:<?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();?>
  7. 7. Servicios Web con P E R LCrear servicios Web en Perl con SOAP :: LitePerl, al igual que la mayoría de los idiomas, oculta al programador de lascomplejidades de SOAP con una caja de herramientas. El SOAP :: Lite conjuntode herramientas es una de las implementaciones más completas de SOAPdisponibles, apoyando ambas versiones 1.1 y 1.2 de SOAP.Instalación de SOAP :: LiteSOAP :: Lite, al igual que muchos módulos Perl, está disponible en elComprehensive Perl Archive Network (CPAN). CPAN es una red de sitios Web yFTP con idéntico contenido - la fuente de miles de módulos Perl. Se puedeacceder a través de CPAN un cliente de línea de comandos Perl a través de laWeb en http://www.cpan.org . Ver http://www.cpan.org/misc/cpan-faq.html #How_install_Perl_modules para obtener información sobre la instalación demódulos de Perl.Instalación de SOAP :: Lite con el shell de CPANC:book>perl -MCPAN -e shellcpan shell -- CPAN exploration and modules installation (v1.59_54)cpan> install SOAP::LiteEl servidor de HolaHello.pm# Hello.pm - simple Hello modulepackage Hello;sub sayHello {shift; # remove class namereturn "Hello " . shift;}1;Este módulo será el código que se encuentre detrás de la interfaz de servicioweb.El Cliente Holahw_client.pl#!/usr/bin/perl -w# hw_client.pl - Hello clientuse SOAP::Lite;my $name = shift;print "nnCalling the SOAP Server to say hellonn";print "The SOAP Server says: ";print SOAP::Lite-> uri(urn:Example1)-> proxy(http://localhost/cgi-bin/helloworld.cgi)-> sayHello($name)-> result . "nn";%
  8. 8. Servicios Web con G o o g l eServicios de Google, lista de APIs y productos que Google presenta encode.google.comAPIs de datos de Google – http://code.google.com/intl/es/apis/gdata/Las APIs de datos de Google constituyen un sencillo protocolo estándar para leere introducir datos en la Web.API de datos de Blogger - http://code.google.com/intl/es/apis/blogger/La API de datos de Blogger permite a las aplicaciones cliente ver y actualizarcontenido de Blogger como feeds de la API de datos de Google.APIs de FeedBurner – http://code.google.com/intl/es/apis/feedburner/FeedBurner ofrece servicios web que permiten interactuar con funciones degeneración de información y administración de feeds.Feeds Atom de Gmail - http://gmail.google.com/support/bin/answer.py?answer=13465Este sencillo mecanismo de feeds permite leer etiquetas o mensajes recibidos enGmail mediante cualquier agregador que admita el formato de feeds Atom XML.Autenticación de cuentas de Google – http://code.google.com/intl/es/apis/accounts/A la API AuthSub ofrece a las aplicaciones web la posibilidad de acceder a lacuenta de Google del usuario sin gestionar la información de acceso del mismo.API de Google AdSense – http://code.google.com/intl/es/apis/adsense/La API de Google AdSense permite integrar en tu web o en tu plataforma dealojamiento de blogs el registro en AdSense, la administración de anuncios y losinformes.APIs AJAX de Google – http://code.google.com/intl/es/apis/ajax/Las APIs AJAX de Google permiten crear sitios web completos y dinámicosutilizando únicamente JavaScript y HTML.API AJAX de Google para feeds – http://code.google.com/intl/es/apis/ajaxfeeds/La API AJAX de Google para feeds facilita el acceso a feeds de datos y suutilización en aplicaciones JavaScript.API AJAX de Google Search – http://code.google.com/intl/es/apis/ajaxsearch/La API AJAX de Google Search te permitirá insertar un sencillo cuadro debúsqueda de Google dinámico en tu sitio web y mostrar los resultados, o utilizarlos resultados de búsqueda de forma innovadora automáticamente.Google Analytics – http://code.google.com/intl/es/apis/analytics/Google Analytics te permite recopilar, ver y analizar datos sobre el tráfico de tusitio web, como datos de popularidad del contenido, comportamiento acumuladode los visitantes y muchas otras cosas.APIs de Google Apps – http://code.google.com/intl/es/apis/apps/Google Apps también admite de forma universal la ampliación de serviciosindividuales con los gadgets de Google, Google Calendar, Google Docs y GoogleTalk.
  9. 9. API de datos de Google Base – http://code.google.com/intl/es/apis/base/Con la API de datos de Google Base puedes consultar datos de Google Base paracrear aplicaciones y mashups, así como introducir y administrar artículos deGoogle Base de forma automática.Herramientas y APIs de Google Calendar –http://code.google.com/intl/es/apis/calendar/La API de datos de Google Calendar y otras herramientas te ofrecen muchasposibilidades.API de Google Chart – http://code.google.com/intl/es/apis/chart/La API de Google Chart es una sencilla herramienta que te permite crear muchostipos de gráficos.API de Google Checkout – http://code.google.com/intl/es/apis/checkout/Google Checkout es un proceso de pago de comercio electrónico racionalizadoque se puede integrar con Google AdWords y Google Analytics para atraer a unmayor número de posibles clientes y obtener mejores ratios de conversión.Google Code Search – http://www.google.com/codesearchCode Search de Google te ayuda a encontrar definiciones de funciones y código.API de datos de Google Code Search –http://code.google.com/intl/es/apis/codesearch/La API de datos de Google Code Search permite a las aplicaciones clienteacceder a datos de Code Search como feeds de la API de datos de Google.Feeds de vales descuento de Google – http://code.google.com/intl/es/apis/coupons/Los feeds de vales descuento de Google permiten a las empresas ofrecer listadosde vales que se incluyen en los resultados de búsqueda de Google.API de gadgets de Google Desktop – http://code.google.com/intl/es/apis/desktop/Los gadgets de Desktop son potentes miniaplicaciones que pueden residir en labarra lateral de Google Desktop, directamente en el escritorio del usuario o inclusodentro de páginas principales de iGoogle.APIs de búsqueda de Google Desktop – http://code.google.com/intl/es/apis/desktop/Utiliza la potencia de Google Desktop en tus aplicaciones y gadgets, o creacomplementos de indexación que permitan a los usuarios buscar cualquier tipo dearchivo.API de datos para la lista de Google Docs –http://code.google.com/intl/es/apis/documents/La API de datos para la lista de Google Docs permite a las aplicaciones clienteacceder a los documentos guardados en Google Docs a través de feeds de la APIde datos de Google.API de gadgets de Google – http://code.google.com/intl/es/apis/gadgets/Los gadgets de Google son sencillas miniaplicaciones HTML y JavaScript dentrode iFrames que se pueden insertar en páginas web y otras aplicaciones.API de Google Maps – http://code.google.com/intl/es/apis/maps/La API de Google Maps permite crear innovadoras aplicaciones geográficas onlinee integrar mapas y referencias geográficas en sitios web.
  10. 10. Google Mashup Editor – http://code.google.com/intl/es/gme/Google Mashup Editor es un entorno de programación AJAX.API de datos del Bloc de notas de Google-http://code.google.com/intl/es/apis/notebook/La API de datos del Bloc de notas de Google permite a las aplicaciones clienteacceder a información almacenada como feeds de la API de datos de GoogleFeeds de Google Noticias – http://news.google.com/intl/en_us/news_feed_terms.htmlLos usuarios pueden suscribirse a feeds de búsqueda de noticias y temas.APIs de Google Search Appliance – http://code.google.com/intl/es/enterprise/El protocolo de búsqueda es un sencillo protocolo basado en HTTP que se utilizapara mostrar resultados de búsquedas.Google Sitemaps – https://www.google.com/webmasters/tools/docs/en/about.htmlA través de Google Sitemaps, los rastreadores de Google pueden descubrirrápidamente las páginas existentes y las que han cambiado recientemente.API de gráficos sociales – http://code.google.com/intl/es/apis/socialgraph/La API de gráficos sociales permite que los desarrolladores puedan accederfácilmente a información de utilidad sobre conexiones públicas entre usuarios deInternetAPI de datos de Google Docs – http://code.google.com/intl/es/apis/spreadsheets/La API de datos de Google Docs permite a las aplicaciones cliente ver y actualizarcontenido de Google Docs como feeds de la API de datos de Google.Google Web Toolkit - http://code.google.com/intl/es/webtoolkit/Google Web Toolkit (GWT) es una estructura de desarrollo de software desoftware libre Java que permite crear aplicaciones AJAX de fácil utilización.API de datos de YouTube – http://code.google.com/intl/es/apis/youtube/YouTube ofrece libre acceso a partes clave del repositorio de vídeos de YouTubey a la comunidad de usuarios a través de feeds RSS y de una API abierta.

×