Google SOAP Search API

Google SOAP Search API

En Mayo del año 2002 Google lanzó un servicio denominado "Google SOAP Search API" el cual consiste en una API que permite a desarrolladores acceder a sus servicios de búsqueda desde sus propias aplicaciones utilizando los estandares SOAP y WSDL

Por lo tanto, una vez que se conoce la descripción WSDL de las operaciones de Google, el desarrollador podrá generar peticiones SOAP y procesar los mensajes de respuesta recibidos en su propia aplicación.

Contenido

Descripción y funcionalidad

Google SOAP Search API es un servicio Versión beta que permite a desarrolladores buscar y manipular información de la web de una manera rápida y sencilla. Los desarrolladores escriben programas que se conectan de forma remota al servicio de Google via SOAP para el intercambio de información.

Las funcionalidades de este servicio son: hacer consultas al índice de Google el cual cuenta con billones de páginas web y recibir los resultados en datos estructurados, acceder a la información de la cache de Google y chequear la correcta escritura de una palabra con las sugerencias ofrecidas por Google.

Algo importante para destacar es que el servicio utiliza la misma sintaxis de búsqueda que el sitio Google.com, por lo tanto, los usuarios del servicio podrán realizar las búsquedas de la misma forma en que lo harían en el sitio de Google.

Limitaciones

Google provee a cada usuario que posea una cuenta en su sitio, un límite de 1000 consultas por día al servicio, esto se debe a que esta API es solo un experimento y por ello su utilización se encuentra limitada.

La manera que tiene Google de limitar su servicio es utilizando un “Licence Key” que se debe enviar con cada consulta al servicio del sitio. Cada desarrollador puede tener solo un “Licence Key” y está prohibido crear otras cuentas para obtener más de una licencia.

Otras limitaciones con las que se cuenta al utilizar este servicio son:

  • Máximo de 10 palabras en la consulta.
  • Máximo de 10 resultados por consulta.

Operaciones

Esta API soporta tres operaciones:

  • doSpellingSuggestion: permite solicitar a Google una sugerencia de escritura correcta para un término mal tecleado.
  • doGetCachedPage: devuelve la caché almacenada de Google para una URL solicitada.
  • doGoogleSearch: es el servicio de búsqueda tradicional de google.

Utilizando la descripción WSDL

Dentro del “Development Kit” que se debe descargar para comenzar a utilizar esta API, se encuentra un archivo llamado “GoogleSearch.wsdl” el cual describe la interfaz publica al servicio de Google.

Esta descripción indica que se soportan tres operaciones, las cuales fueron mencionadas anteriormente.

Para realizar una petición al servicio de búsqueda de Google utilizando su API es necesario conocer los parámetros requeridos, aquí presentaremos una breve descripción de los mismos para cada operación.

Descripción del formato de la operación “doGoogleSearch”

  • Key: Es el “Licence Key”.
  • Q: Es la consulta.
  • Star: Posición del primer elemento a partir del cual solicitamos la búsqueda.
  • MaxResults: Número máximo de elementos que contendrá la respuesta.
  • Filter: Indica si se debe realizamos la búsqueda filtrando los elementos similares a otros mostrados no. ( tipo booleano)
  • Restrict: Permite restringir la búsqueda a un almacén de búsqueda determinado.
  • SafeSearch: Permite filtrar contenidos no aptos para menores.
  • lr. Restringe la búsqueda a un idioma determinado.
  • ie. Codificación de entrada.
  • oe. Codificación de salida

Las respuestas a esta petición (return) son del tipo “GoogleSearchResult”. Esta estructura de datos esta contenida en la interfaz WSDL y su descripción no será ampliada aquí. Para más información : Google References

Descripción del formato de la operación “doSpellingSuggestion”

  • Key: Es el “Licence Key”.
  • Phrase: Palabra que se desea verificar su corrección.


La respuesta (return) a esta petición es de tipo “String”.


Descripción del formato de la operación “doGetCachedPage”

  • Key: Es el “Licence Key”.
  • Url: URL de la página que deseamos conocer la cache.

La respuesta (return) a esta petición es de tipo “base64 encoded text”.


Utilizando la interfaz WSDL de Google en Delphi

En este apartado se tratará el tema de la utilización de la API de Google en el lenguaje de programación Delphi, ya que en los ejemplos del “Development Kit” no se encontraba disponible.

Como es sabido, los archivos WSDL se pueden utilizar con cualquier lenguaje de programación que soporte comunicación con WebServices, y Delphi es uno de ellos.

Para incorporar el servicio web de Google en las aplicaciones Delphi es necesario realizar los siguientes pasos:

  • 1.Ir a File > New > Other > WebService > WSDL Importer
  • 2.Indicar la ruta donde se encuentra el archivo “GoogleSearch.wsdl”
  • 3.Hacer clic en Finísh.

Nota: en este caso se utilizó Delphi 2006 para Win32.

El resultado obtenido luego de estos pasos es una unidad llamada “GoogleSearch.pas” la cual contiene los métodos para comunicarnos con el WebService de Google.

Como se observa, la utilización del servicio de Google en Delphi y en cualquier otro lenguaje que soporte comunicación con WebServices, es muy sencilla y no es necesario tener conocimiento alguno acerca de XML o SOAP.

Comparación entre las APIs de Google y Yahoo!

En este apartado realizaremos una comparación de funcionalidad y de rendimiento entre los servicios de Google y de Yahoo! para sus “Search APIs.”

Una diferencia importante entre estos dos servicios es que Google utiliza SOAP para el intercambio de datos, mientras que Yahoo! utiliza REST El argumento de por que Yahoo! utiliza REST para su servicio y no SOAP es que es más sencilla la utilización y el tráfico no es lo suficientemente elevado como para utilizarlo.

Otra diferencia entre ambos servicios es que Yahoo! permite a desarrolladores que registren sus aplicaciones y poder usar su servicio en aplicaciones comerciales, algo que Google no ofrece.

El sistema que provee Yahoo! para limitar las peticiones de búsqueda es un “Application ID”, el cual es un string que se debe colocar en cada petición y solo se podrán realizar 5000 por día en el caso del servicio de búsqueda. Cada aplicación deberá tener su propio ID, siendo posible que un desarrollador obtenga múltiples IDs para sus aplicaciones.

Además del servicio de búsqueda tradicional de Yahoo! que viene con “Spelling Suggestion” al igual que Google, también incorpora otros servicios:

  • Búsqueda de audio: permite realizar búsquedas de archivos de música
  • Análisis de contenido: provee una lista de palabras significativas y frases extraídas de un amplio contenido.
  • Búsqueda de imágenes: permite realizar búsquedas de archivos de imágenes.
  • Búsqueda local: nos permite realizar búsquedas por medio de Yahoo! Local.
  • MyWeb: es un motor de búsquedas personales que permite guardar páginas web, compartirlas y agregar comentarios sobre la misma.
  • Búsquedas de noticias: permite realizar búsquedas de noticias en la web.
  • Explorador de sitios: provee información que contiene el servicio “Site Explore” de Yahoo! acerca de páginas web.
  • Búsquedas de video: permite realizar búsquedas de archivos de video.



Todas las comparaciones de rendimiento se realizaron con los ejemplos de aplicaciones descargados de las páginas de Google y Yahoo!.

Las aplicaciones que ambas compañías brindan fueron modificadas para poder realizar las pruebas necesarias. Para ello se trabajó con los ejemplos en la plataforma .NET con el lenguaje Csharp. Para la prueba se cuenta con una conexión a Internet ADSL de 512 Kbps.

Aplicaciones modificadas para la comparación


Tiempos de respuestas del servicio “search”

Este análisis midió los tiempos de respuesta de ambas empresas en la búsqueda de 10 palabras distintas, limitando las respuestas de ambos servicios a 10 resultados.


Search google.JPG


Como el gráfico indica, los tiempos de respuesta entre ambas APIs no difieren demasiado. El tiempo promedio de respuesta para el servicio de Google fue de 1.413 segundos, mientras que para Yahoo! fue de 1.571 segundos.

Tiempos de respuestas del servicio “Spelling Suggestion”

Este análisis midió los tiempos de respuesta de ambos servicios a 10 palabras con errores ortográficos esperando por una sugerencia para cada una de ellas.


Spelling google.JPG


Nuevamente, los resultados son similares entre ambos servicios. El tiempo de respuesta promedio para las sugerencias de Google fue de 1.29 segundos, mientras que para Yahoo! fue de 1.49 segundos.

Tiempos de búsqueda en la Base de Datos

Desafortunadamente esta comparación entre ambas APIs no se podrá realizar ya que Yahoo! no provee esta información en su API. Es por ello que solo mediremos el tiempo de búsqueda en la base de datos de la API de Google.


Busqueda bd.JPG


Como era de esperarse, los resultados obtenidos acerca del tiempo de búsqueda en las bases de datos de Google son bajos y su promedio es de 0,29 segundos. Se debe destacar que la medición de estos resultados son provistos por la API de Google y su comprobación resulta imposible, no siendo el caso de los análisis anteriores.


Conclusión de la comparación

Luego de realizar los análisis de rendimiento se puede determinar que los tiempos de respuestas a los servicios “search” y “spelling suggestion” son similares, siendo un poco menores los de Google. Algo que cabe destacar es la cantidad de resultados totales que arrojaron las búsquedas, Yahoo! solo devolvió el 20% de los resultados que devolvió Google, siendo una diferencia considerable a la hora de optar por la elección de alguna de las APIs.

Por el lado de las “spelling suggestion”, los resultados fueron ambos favorables y no se encontraron deficiencias en ninguno de los dos servicios.


Requisitos

Para comenzar a utilizar este servicio se debe descargar el “Google SOAP Search API developer's kit” y luego se debe obtener el “Licence Key” (para ello se debe contar con una cuenta en Google).

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • Google Code — URL …   Википедия

  • Google web toolkit — (GWT) est un ensemble d outils logiciels développé par Google, permettant de créer et maintenir des applications web dynamiques mettant en oeuvre JavaScript, en utilisant le langage et les outils Java. C est un logiciel libre distribué selon les… …   Wikipédia en Français

  • Google Code — Not to be confused with Google Code Search. Google Code Google Code URL code.google.com …   Wikipedia

  • GWT — Google Web Toolkit Google Web Toolkit (GWT) est un ensemble d outils logiciels développé par Google, permettant de créer et maintenir des applications web dynamiques mettant en oeuvre JavaScript, en utilisant le langage et les outils Java. C est… …   Wikipédia en Français

  • Gwt — Google Web Toolkit Google Web Toolkit (GWT) est un ensemble d outils logiciels développé par Google, permettant de créer et maintenir des applications web dynamiques mettant en oeuvre JavaScript, en utilisant le langage et les outils Java. C est… …   Wikipédia en Français

  • Comparison of wiki software — The following tables compare general and technical information for a number of wiki software packages. Contents 1 General information 2 Target audience 3 Features 1 4 Features 2 …   Wikipedia

  • Liste der standardisierten Ports — Die folgende Liste enthält die Zuordnung von Ports zu Protokollen, die von der IANA standardisiert wurden. Eine vollständige Liste kann unter Unixoiden Betriebssystemen in der Datei /etc/services eingesehen werden. Inhaltsverzeichnis 1 Legende 2… …   Deutsch Wikipedia

  • HTML5 video — HTML HTML and HTML5 Dynamic HTML XHTML XHTML Mobile Profile and C HTML Canvas element Character encodings Document Object Model Font family HTML editor HTML element HTML Frames HTML5 video …   Wikipedia

  • Список портов TCP и UDP — Эта статья содержит незавершённый перевод с английского языка. Вы можете помочь проекту, переведя её до конца. В данной статье приведён список портов TCP и UDP, ко …   Википедия

  • Comparison of issue-tracking systems — This article is a comparison of issue tracking systems which are notable, including bug tracking systems, help desk and service desk issue tracking systems, and asset management systems. The comparison includes client server application,… …   Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”