servicios web extendido_error perl

16
2013 Octavio Izúcar Martínez Programación Web Francisco Vázquez Guzmán Servicios Web Instituto Tecnológico de Tehuacán 7° Semestre 29 de mayo del 2013

Upload: octavio-izucar-martinez

Post on 26-Jul-2015

283 views

Category:

Documents


4 download

TRANSCRIPT

2013

Octavio Izúcar Martínez

Programación Web

Francisco Vázquez Guzmán

Servicios Web

Instituto Tecnológico de

Tehuacán

7° Semestre

29 de mayo del 2013

S e r v i c i o s W e b Servicios Web con J a v a

Existen gran cantidad de implementaciones que ayudan al desarrollo de Servicios 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 el desarrollo de Servicios Web.

Éstas tecnologías son estándares de desarrollo, así como API’s que especifican el comportamiento de implementaciones.

En las últimas especificaciones Sun crea una nueva especificación que facilita el desarrollo de Web Services a través de anotaciones.

Tecnologías para ServiciosWeb en Java EE:

Especificación de Implementación 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

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

Definición Web Service

Se crea un Objeto CreditCard entre el consumidor y el proveedor del servicio

Los datos intercambiados, deben ser un documento XML, por lo que se necesita un método para transformar el objeto Java en un documento XML y viceversa

Para esto utilizamos JAXB, anotándolo con @javax.xml.bind.annotation.XmlRootElement

Invocando un web service Ejemplo de Cliente

Servicios web con P H P Para la implementación de servicios web en PHP se utilizan tecnologías XML-RPC y SOAP sobre las cuales se implementaron servidores y clientes consumidores de servicios web. XML-RPC XML-RPC es el protocolo de llamada de procedimientos remotos (RPC: Remote Procedure Calling), el cual trabaja sobre internet. Un mensaje de XML-RPC es una petición del HTTP-POST . El cuerpo del mismo está en XML, un procedimiento es ejecutado en el servidor y el valor que devuelve está en formato XML. Ejemplo de petición:

Ejemplo de respuesta:

SOAP

SOAP (Simple Object Access Protocol, Protocolo de acceso a objetos simple) es un protocolo basado en XML que consiste de tres partes: la primera define cuál es el mensaje y cómo procesarlo, la segunda es un sistema de reglas de codificación para expresar tipos de datos definidos y una tercera parte para representar respuestas de llamadas por parte de procedimientos remotos. Desarrollo de un servidor Framework XML-RPC

El framework cuenta con la clase xmlrpc_server para construir nuestros

servidores. Ejemplo:

Ejemplo de un servidor para búsqueda de libros

Desarrollo de un cliente XML-RPC

El siguiente paso es conocer las clases que podemos usar para crear un cliente XML-

RPC para que consuma servicios web XML-RPC, demos un vistazo rápido a las clases

principales.

xmlrpc_client.- Esta es la clase básica para un cliente XML-RPC, la forma de

usarla es la siguiente:

<?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

valores para XML-RPC (hace el trabajo sucio). Cuenta con diferentes

constructores:

<?php $valor=new xmlrpcval(); ?>

Con estas clases se pueden desarrollar nuestro cliente XML-RPC, por ejemplo:

<?php include("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"); } $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>";} } ?>

Desarrollo de clientes SOAP con PHP

El siguiente script en PHP que usa SOAP para consumir un servicio web que

regresa mensaje de "Hola Mundo":

<?php // Manejo de la forma para ver si ya se envió if (!(string)$_POST["boton"] == "") { // Incluimos las clases de SOAP require("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 errores if (!$cliente->getError()) { // muestra resultados print "El titulo del libro con ISBN ".(string)$_POST["isbn"]." es: ".$resultado; } // Error else { 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>

Desarrollo de servidores SOAP con PHP

Un servidor de servicios web con SOAP y PHP, se creara usando NuSOAP y se

usara el ejemplo de buscar el título del libro:

<?php // Incluimos las clases de SOAP require("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 no existe.", ""); } } else { // No hay isbn return 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(); ?>

Servicios Web con P E R L

Implementar servicios Web

Implementar un servicio web implica decir la componente proxy que codifican para invocar cuando se recibe un determinado tipo de mensaje. En otras palabras, el componente proxy tiene que saber que unagetQuote mensaje va a ser manejado por el samples.QuoteServer clase de Java o el QuoteServer.pm módulo de Perl. Una vez que esto ha sucedido, los clientes pueden acceder al servidor, enviar el mensaje, y desencadenar una llamada al código de la aplicación.

Herramientas de servicios Web tienen diferentes mecanismos de implementación. SOAP :: Lite requiere que el módulo Perl estar en @ INC , ruta de búsqueda de Perl módulo. Implementación SOAP de Apache requiere un archivo descriptor de despliegue, que describe la clase Java y reglas para mapear objetos Java utilizados en el servicio a sus equivalentes en XML. Crear servicios Web en Perl con SOAP :: Lite Perl, al igual que la mayoría de los idiomas, oculta al programador de las complejidades de jabón con una caja de herramientas. El SOAP :: Lite conjunto de herramientas es una de las implementaciones más completas de jabón disponibles, apoyando ambas versiones 1.1 y 1.2 de SOAP.

Instalación de SOAP :: Lite

SOAP :: Lite, al igual que muchos módulos Perl, está disponible en el Comprehensive Perl Archive Network (CPAN). CPAN es una red de sitios Web y FTP con idéntico contenido - la fuente de miles de módulos Perl. Se puede acceder a través de CPAN un cliente de línea de comandos Perl oa través de la Web 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 de módulos de Perl.

Instalación de SOAP :: Lite con el shell de CPAN

C: \ book> perl-MCPAN-e shell shell CPAN - la exploración e instalación de módulos de CPAN (v1.59_54) cpan> install SOAP :: Lite

Configuración de SOAP :: Lite Interactive

Estamos a punto de instalar SOAP :: Lite y para su comodidad se ofrecerle lista de los módulos y los requisitos previos, por lo que será capaz de elegir sólo los módulos que necesite para su configuración. XMLRPC :: Lite, UDDI :: Lite y XML :: Parser :: Lite se incluyen por defecto. Transportes instalados se pueden utilizar tanto para SOAP :: Lite y XMLRPC :: Lite. Client (SOAP :: Transporte :: HTTP :: Client) [sí] Client HTTPS / SSL apoyo (SOAP :: Transporte :: HTTP :: Client, requerir OpenSSL) [no] SMTP / sendmail Atención al cliente (SOAP :: Transporte :: MAILTO :: Client) [sí]

Soporte de cliente FTP (SOAP :: Transporte :: FTP :: Client) [sí] del servidor HTTP independiente (SOAP: : Transport :: HTTP :: Daemon) [sí] del servidor Apache / mod_perl (SOAP :: Transporte :: :: HTTP Apache, requieren Apache) [no] servidor FastCGI (SOAP :: Transporte :: HTTP :: FCGI, requieren FastCGI ) [no] del servidor POP3 (SOAP :: Transporte :: :: POP3 Server) [sí] servidor IO (SOAP :: Transporte :: IO :: Server) [sí] apoyo MQ transporte (SOAP :: Transporte :: MQ) [no] apoyo de transporte JABBER (SOAP :: Transporte :: JABBER) [no] [MIME requeridos para POP3, opcional para HTTP] (SOAP :: MIMEParser) [no] el soporte SSL para el transporte TCP (SOAP :: Transporte :: TCP) [no] Soporte de compresión para el transporte HTTP (SOAP :: Transporte :: HTTP) [no] ¿Quieres continuar con esta configuración? [Sí]

El servidor de Hola

Se creara el módulo Perl Hello World Hello.pm # Hello.pm - Hola módulo sencillo paquete Hello; sub sayHello { turno; # eliminar nombre de la clase de retorno "Hello". cambio; } 1;

Este módulo será el código que se encuentre detrás de la interfaz de servicio web.

El Cliente Hola

Para probar el servicio web Hola, sólo tiene se tiene utilizar el script de cliente.

hw_client.pl

! # / Usr / bin / perl-w

# hw_client.pl - Hola cliente utilizació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";

Al ejecutar esta secuencia de comandos que debe dar los siguientes resultados: % Perl hw_client.pl James

Llamar al servidor SOAP para saludar al servidor SOAP dice: Hola James %

Servicios Web con G o o g l e

Servicios de Google, lista de APIs y productos que Google presenta en

code.google.com

APIs 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 leer e introducir datos en la Web. Las APIs de datos de Google son un protocolo basado en los formatos de sindicación Atom 1.0 y RSS 2.0, y en el Atom Publishing Protocol (APP). Múltiples servicios de Google tienen APIs de datos, entre ellos: Google Base, Blogger, Google Calendar, Google Docs y Álbumes web de Picasa.

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 actualizar contenido de Blogger como feeds de la API de datos de Google. Las aplicaciones cliente pueden utilizar esta API de datos de Google para crear nuevas entradas en blogs, editar o eliminar entradas existentes y encontrar entradas que cumplan una serie de criterios determinados.

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

FeedBurner ofrece servicios web que permiten interactuar con funciones de generación de información y administración de feeds. A través de las funciones que ofrece esta biblioteca, cualquier usuario que disponga de una cuenta de FeedBurner puede ejecutar de forma automática algunas de las acciones más habituales disponibles en el servicio FeedBurner.

Feeds Atom de Gmail - http://gmail.google.com/support/bin/answer.py?answer=13465

Este sencillo mecanismo de feeds permite leer etiquetas o mensajes recibidos en Gmail 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/

La API de ClientLogin permite incorporar accesos programáticos en aplicaciones móviles o de escritorio, mientras que la API AuthSub ofrece a las aplicaciones web la posibilidad de acceder a la cuenta 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 de alojamiento de blogs el registro en AdSense, la administración de anuncios y los informes. Tanto tú como tus usuarios podréis obtener ingresos a partir del contenido web alojado en tu sitio mostrando anuncios relevantes.

APIs AJAX de Google – http://code.google.com/intl/es/apis/ajax/ Las APIs AJAX de Google permiten crear sitios web completos y dinámicos utilizando únicamente JavaScript y HTML. Así podrás, por ejemplo, insertar un mapa o un cuadro de búsqueda dinámico en tu sitio web, o descargar feeds con tan solo unas líneas de JavaScript.

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 su utilización en aplicaciones JavaScript. Antes se necesitaba un servidor proxy para

poder leer y manipular los feeds en mashups, pero ahora puedes cargar feeds RSS y Atom de fuentes diferentes con tan solo unas líneas de código 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 de búsqueda de Google dinámico en tu sitio web y mostrar los resultados, o utilizar los resultados de búsqueda de forma innovadora automáticamente. Si no te apetece programar, también puedes utilizar nuestros asistentes de programación para añadir controles de búsqueda AJAX personalizados a tu página web rápidamente.

Google Analytics – http://code.google.com/intl/es/apis/analytics/ Google Analytics te permite recopilar, ver y analizar datos sobre el tráfico de tu sitio web, como datos de popularidad del contenido, comportamiento acumulado de los visitantes y muchas otras cosas. Al incorporar nuestra snippet JavaScript básica en tu sitio web, podrás enviar desde él a Google Analytics información clave de cada página visitada. Nuestros potentes servidores procesarán los datos de tu sitio y generarán más de 80 informes que podrás utilizar e interpretar, y en los que podrás basar tus acciones. La sencilla interfaz de administración te permitirá establecer objetivos y filtros para controlar qué datos se incluirán en los informes según tus necesidades comerciales. Y lo mejor de todo: este sofisticado paquete de análisis web con todas las funciones es gratuito.

APIs de Google Apps – http://code.google.com/intl/es/apis/apps/ Google Apps también admite de forma universal la ampliación de servicios individuales con los gadgets de Google, Google Calendar, Google Docs y Google Talk.

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 para crear aplicaciones y mashups, así como introducir y administrar artículos de Google Base de forma automática. La aplicación podrá incluir información nueva en Google Base, actualizar o eliminar artículos existentes y ejecutar consultas especializadas para buscar resultados con complejos atributos de búsqueda. Para obtener más información, consulta la sección de las APIs de datos de Google.

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 muchas posibilidades: crear una interfaz de usuario web para el calendario de tu grupo, generar un calendario público con la información de la base de datos de eventos de tu organización, crear gadgets de Google y muchas cosas más.

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 muchos tipos de gráficos. Envía una solicitud HTTP que incluya datos y parámetros de formato y la API de Chart te devolverá una imagen PNG del gráfico. Insértala en una página web con una etiqueta de imagen y listo.

API de Google Checkout – http://code.google.com/intl/es/apis/checkout/ Google Checkout es un proceso de pago de comercio electrónico racionalizado que se puede integrar con Google AdWords y Google Analytics para atraer a un mayor número de posibles clientes y obtener mejores ratios de conversión. La API de Checkout te permite integrar tu sitio con Google Checkout, bien dedicando

cinco minutos a insertar sencillos botones de “Comprar ahora”, bien integrando totalmente el sistema de administración de pedidos con Checkout. Esta API es una API REST XML basada en mensajes con interacciones síncronas y asíncronas entre Google y el servidor del vendedor.

Google Code Search – http://www.google.com/codesearch Code Search de Google te ayuda a encontrar definiciones de funciones y código de ejemplo, ofreciéndote un sitio en el que buscar código fuente de acceso público alojado en Internet. Con Google Code Search podrás: * Utilizar expresiones regulares para buscar con más exactitud * Restringir tu búsqueda por idioma, licencia o nombre de archivo * Ver el archivo de origen con enlaces de acceso al paquete completo y a la página web de la que procede

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 cliente acceder a datos de Code Search como feeds de la API de datos de Google. La aplicación cliente puede utilizar la API de datos de Google Code Search para buscar código fuente público, definiciones de funciones y código de ejemplo.

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 listados de vales que se incluyen en los resultados de búsqueda de Google. Con estos feeds, todo empresario puede distribuir vales de forma gratuita a través de la Red. Además, los consumidores también pueden buscarlos, imprimirlos y canjearlos gratis.

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 la barra lateral de Google Desktop, directamente en el escritorio del usuario o incluso dentro de páginas principales de iGoogle. Para crear los gadgets de Desktop se utiliza XML y JavaScript, y opcionalmente se puede añadir código original para acceder a APIs de Windows. La API de gadgets de Desktop permite utilizar funciones avanzadas como transparencias, animaciones, fuentes personalizadas y personalizaciones.

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 crea complementos de indexación que permitan a los usuarios buscar cualquier tipo de archivo: documentos, hojas de cálculo, archivos de música, correo electrónico, calendario o tipos de archivo especiales de tu aplicación de software. La API de búsqueda funciona con código JavaScript, VBScript, C, C++, C# y VB.Net.

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 cliente acceder a los documentos guardados en Google Docs a través de feeds de la API de datos de Google. Las aplicaciones cliente pueden solicitar una lista de los documentos de texto o de las hojas de cálculo de un usuario y subirlos a Google Docs.

API de gadgets de Google – http://code.google.com/intl/es/apis/gadgets/

Los gadgets de Google son sencillas miniaplicaciones HTML y JavaScript dentro de iFrames que se pueden insertar en páginas web y otras aplicaciones. Las bibliotecas integradas de JavaScript facilitan la creación de gadgets con fichas, contenido Flash, almacenamiento persistente, reajuste dinámico de tamaño y más. Hay gadgets que se ven millones de veces a la semana, y que generan un tráfico importante para sus autores.

API de Google Maps – http://code.google.com/intl/es/apis/maps/ La API de Google Maps permite crear innovadoras aplicaciones geográficas online e integrar mapas y referencias geográficas en sitios web. Con esta API, podrás presentar fácilmente tu contenido con referencias geográficas en cualquier navegador web.

Google Mashup Editor – http://code.google.com/intl/es/gme/ Google Mashup Editor es un entorno de programación AJAX que ofrece a los desarrolladores un conjunto de herramientas con las que pueden crear aplicaciones web y mashups sencillos de forma rápida y sencilla a través de servicios de Google tales como Google Maps y Google Base. Podrás crear aplicaciones con Google Mashup Editor fácilmente con nuestras etiquetas XML declarativas, JavaScript, CSS y HTML.

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 cliente acceder a información almacenada como feeds de la API de datos de Google. La aplicación cliente puede solicitar una lista de blocs de notas públicos de un usuario o consultar el contenido de algún bloc de notas público.

Feeds de Google Noticias – http://news.google.com/intl/en_us/news_feed_terms.html Los 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 utiliza para mostrar resultados de búsquedas. Los administradores de las búsquedas disponen de un control total sobre el modo en que se solicitan y presentan los resultados de búsqueda a los usuarios finales. El protocolo de feeds permite a clientes o desarrolladores externos crear conectores personalizados para incluir feeds de fuentes de datos en Google Search Appliance para su procesamiento, indexación y presentación.

Feeds del Historial de búsquedas de Google –

http://www.google.com/support/accounts/bin/answer.py?answer=54464

Los usuarios del servicio de búsqueda personalizada pueden disponer de un feed RSS de su historial de búsquedas que incluya sus búsquedas recientes y visitas a Búsqueda en la web de Google, Google Noticias y Búsqueda de productos de Google, entre otras cosas.

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

A través de Google Sitemaps, los rastreadores de Google pueden descubrir rápidamente las páginas existentes y las que han cambiado recientemente. Puedes crear un archivo que se ajuste al protocolo de mapa del sitio de tu servidor web. Este archivo servirá de información y orientación para los rastreadores de Google, lo que mejorará el tiempo de inclusión en el índice. Puedes utilizar nuestro

proyecto de software libre (open source) para crear estos mapas de sitios, así como las múltiples herramientas de mapas de sitios de terceros disponibles.

API de gráficos sociales – http://code.google.com/intl/es/apis/socialgraph/ La API de gráficos sociales permite que los desarrolladores puedan acceder fácilmente a información de utilidad sobre conexiones públicas entre usuarios de Internet. Los desarrolladores pueden consultar esta información pública para ofrecer a sus usuarios funciones de incorporación de amigos considerablemente racionalizadas, así como otras funciones de utilidad.

API 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 actualizar contenido de Google Docs como feeds de la API de datos de Google. La aplicación cliente puede solicitar una lista de las hojas de cálculo de un usuario, así como editar, eliminar y consultar contenido de hojas de trabajo de Google Docs existentes.

Google Web Toolkit - http://code.google.com/intl/es/webtoolkit/ Google Web Toolkit (GWT) es una estructura de desarrollo de software de software libre Java que permite crear aplicaciones AJAX de fácil utilización. Con GWT, podrás utilizar tus herramientas de desarrollo Java favoritas para crear aplicaciones AJAX sin tener que acometer la ardua tarea de aprendizaje de las peculiaridades de los navegadores JavaScript o CSS.

API de los Álbumes web de Picasa – http://code.google.com/intl/es/apis/picasaweb/

La API de datos de Álbumes web de Picasa permite a los sitios web y a las aplicaciones cliente ver y actualizar el contenido de los álbumes. Podrás utilizar los feeds de la API de datos de Google para recuperar y actualizar álbumes de fotos, añadir nuevos comentarios y fotos, e incluso etiquetar las fotos de forma automática. Es la forma más sencilla de incluir fotos y álbumes en tu sitio web o aplicació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 YouTube y a la comunidad de usuarios a través de feeds RSS y de una API abierta. Gracias a nuestras APIs, podrás integrar fácilmente en tu aplicación vídeos online procedentes del cada vez mayor repositorio de vídeos de YouTube