Servicios web java php-perl-google

1,057 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,057
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Servicios web java php-perl-google

  1. 1. INSTITUTO TECNOLOGICO DETEHUACANPROGRAMACION WEBHERNADEZ BELLO JOSUEING.EN SISTEMAS COMPUTACIONALES
  2. 2. Servicios web JAVAUn servicio web, es una interfaz de red accesible que proporciona funcionalidad y que estáconstruida bajo tecnologías estándares de internet.SOAP es un protocolo estándar para intercambio de mensajes entre dos objetos endiferentes procesos. SOAP es XML, o más bien, una aplicación de la especificación de XML.El envío de mensajes a través de XML, es decir SOAP, tiene dos aplicaciones relacionadas:RPC y EDI. Remote Procedure Call (Llamada a procedimiento remoto) es la base de lacomputación distribuida, la forma en la que un programa hace una llamada en otropasando argumentos y recibiendo valores. Electronic Document Interchange (Intercambioelectrónico de datos) es la base de transacciones de negocio automatizadas, definiendo unformato estándar e interpretación de documentos comerciales, financieros y mensajes.SOAP para EDI, también se conoce como “document-style”. SOAP para RPC se conocecomo “RPC-Style”.La especificación de SOAP no maneja descripción. La especificación estándar para realizarla descripción de un servicio web es WSDL. Usando WSDL, un servicio web puede describirtodo lo que hace, como lo hace y la forma de cómo puede ser invocado por unconsumidor.Axis es una implementación SOAP de Apache. Es una implementación más compleja deservicios web diseñada para implementar procesos de manera sencilla.Tecnologías para Servicios Web 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=181
  3. 3. Creación del servicio webUna forma muy sencilla de desarrollar un servicio web en Java es haciendo uso de laplataforma de desarrollo NetBeans 7.x que nos permite además desplegarlos en unservidor web local para pruebas como es GlassFish.Desarrollo del servicio web@WebService(serviceName = "WSDemo")public class WSDemo {/*** This is a sample web service operation*/@WebMethod(operationName = "hello")public String hello(@WebParam(name = "name") String txt) {return "Hello " + txt + " !";}}Analizando su código, vemos que el servicio publica una función llamada hello. Sabemosque la clase es un servicio por @WebService y que es una función publicada en el WSpor@WebMethod. Si queremos añadir una nueva función, simplemente tendremos quecopiar la anterior y cambiar lo que queramos.Para publicar el servicio simplemente seleccionaremos deploy en el menú contextual sobreel proyecto.
  4. 4. Es posible que nos pida permiso para arrancar GlassFish.En el output del IDE nos mostrará que se ha generado correctamente y que GlassFish estáiniciado.En la pestaña de GlassFish podremos ver la ruta para acceder al servicio web.Probando el servicio webAccedemos a la URL que nos indica para ver el servicio. Para consultar su WSDL solotenemos que añadir ?WSDL al final de la URL.Esto nos valdrá en el caso de querer probarlo con herramientascomo SoapUI(http://www.soapui.org/), al que deberemos indicarle el WSDL para quegenere la invocación.
  5. 5. Este nos generará la invocación, y simplemente pulsado el botón de run, obtendremos elresultado en el lateral derecho de la request.Servicios web PERLSOAP::Lite es un conjunto de módulos de Perl que proveen una interfaz simple y livianapara el protocolo SOAP, tanto en el lado cliente como en el del servidor. SOAP::Lite esactualmente el kit de desarrollo de web services para Perl más difundido y utilizado. Supágina en SourceForge ha registrado más de 10,700 descargas en casi 2 años.SOAP::Lite provee clases para implementar funcionalidades de un cliente SOAP, variosservidores, soporte a datos y muchas otras tareas. La siguiente es una lista resumida de suscaracterísticas:Soporte de ProtocolosSoporta las especificaciones SOAP 1.1 y SOAP 1.2.Incluye XMLRPC::Lite, una implementación del protocolo XML-RPC en el lado del cliente ydel servidor. Entre los protocolos de trasporte disponibles, están HTTP, SMTP, POP3 y TCP.Soporta publicación y peticiones UDDI del lado del cliente, a través de un API.
  6. 6. WSDL::GeneratorWSDL::Generator es un módulo de Perl para crear archivos de descripción de servicios(WSDL) automáticamente a partir de módulos de perl expuestos como servicios web. Éstemódulo, desarrollado por Pierre Denis <pdenis@fotango.com>, es tal vez el único que seha creado hasta ahora con ésta funcionalidad en el mundo de Perl. SOAP::Lite yWSDL::Generator en la PrácticaEjemploA continuación, se muestra un ejemplo de la utilización del lenguaje Perl para exponer unservicio web sencillo. En la documentación de los módulos puede encontrarse unadescripción extendida de todas las funcionalidades que poseen y cómo utilizarlas.El siguiente es el código fuente de un módulo de Perl que implementa una clase llamada“Cafetera”, con un único método llamado “prepararCafe”, que recibe como parámetro elnúmero de tasas y devuelve como resultado un mensaje indicando el número de tasaspreparadas:Código del archivo Cafetera.pm <perl>#!/usr/bin/perl -w# Servicio web de ejemplopackage Cafetera;use strict;# Este es el constructorsub new{my $proto = shift;my $class = ref($proto) || $proto;my $tasas = 0;bless($tasas,$class);}sub prepararCafe{shift;my $tasas = shift;print STDERR "Llamado con el parámetro $tasas";return "Se prepararon ".$tasas." tasas";}1;
  7. 7. Servicios web PHPClienteLa creación de un cliente de un servicio web con PHP es relativamente sencilla haciendouso de PHP-SOAP. Con la descripción del servicio al que queremos acceder (fichero wsdl),obtendremos acceso a todos los métodos que ofrece el servicio web. A continuaciónmostramos un ejemplo donde se verá más claramente lo expuesto. Concretamente en elejemplo llamamos a un WS que, dada una cadena, devuelve la cadena al revés.$objClienteWS = new SoapClient(Ws_Ejemplo.wsdl);$resultado = $objClienteWS->ejemplo(Hola);print_r($resultado);De la ejecución de este cliente obtenemos el siguiente resultado:aloHServidorLa creación del servidor requiere, evidentemente, algo más de trabajo que la del cliente. Eneste punto haremos un pequeño resumen de los pasos a seguir. Primero tenemos quecrear un fichero php (en nuestro ejemplo server.php) que contendrá las llamadas a lasclases SOAP correspondientes al servidor. En este mismo fichero se puede incluir ladefinición de la clase que implementará todos los métodos exportados. Siguiendo connuestro ejemplo, tenemos que tener un método que nos devuelva la inversa de unacadena. El contenido del fichero es:require_once SOAP/Server.php;class Prueba_Server {function ejemplo($cadena){return strrev($cadena);}}
  8. 8. $server = new SOAP_Server;$server->_auto_translation = true;$soapclass = new Prueba_Server();$server->addObjectMap($soapclass,urn:Prueba_Server);$server->service($HTTP_RAW_POST_DATA);Para que el cliente tenga acceso a la información que ofrece el WS, necesita de ladefinición de los métodos exportados por la clase. Esto se obtiene a partir del ficheroWSDL. El fichero de nuestro ejemplo es el siguiente:<?xml version="1.0"?><definitions name="ServerExample" targetNamespace="urn:ServerExample"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tns="urn:ServerExample"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"xmlns="http://schemas.xmlsoap.org/wsdl/"><types xmlns="http://schemas.xmlsoap.org/wsdl/"></types><message name="ejemploRequest"><part name="cadena" type="xsd:string" /></message><message name="ejemploResponse"><part name="cadena" type="xsd:string" /></message><portType name="ServerExamplePort"><operation name="ejemplo"><input message="tns:ejemploRequest" /><output message="tns:ejemploResponse" /></operation></portType><binding name="ServerExampleBinding" type="tns:ServerExamplePort"><soap:binding style="rpc"transport="http://schemas.xmlsoap.org/soap/http" /><operation name="ejemplo">
  9. 9. <soap:operationsoapAction="urn:Prueba_Server#prueba_server#ejemplo" /><input><soap:body use="encoded"namespace="urn:Prueba_Server"encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input><output><soap:body use="encoded"namespace="urn:Prueba_Server"encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></output></operation></binding><service name="ServerExampleService"><documentation /><port name="ServerExamplePort"binding="tns:ServerExampleBinding"><soap:addresslocation="http://mi-servidor.es/cin/ws/server/server.php" /></port></service></definitions>Con esto nuestro Web Service ya está funcionando. Simplemente tenemos que llamarlodesde el cliente.
  10. 10. Servicios web GoogleLista de servicios de Google: Añadir a Google Reader permite la creación de un botón gráfico con la dirección delRSS de tú blog para que al clickarlo este sea añadido a Google Reader. Blogger es un servicio muy popular y gratuito de creación y publicación de blogs. Froogle es un buscador de productos. Utilizado para buscar el precio más barato de unproducto y la comparativa de estos en diferentes tiendas online. GMail es el servicio de correo electrónico de google, actualmente proporciona más de2GB de capacidad de almacenamiento. Google AdSense es el servicio de publicidad contextual de Google. Google AdWords es la otra parte de AdSense. Mientras AdSense permite a loswebmasters poner los anuncios en sus web, Adwords permite la publicación de estosen la red de AdSense. Además el pasado 21 de noviembre Google liberó el "OnsiteAdvertiser Sign-Up" que permite a un anunciante publicar sus anuncios en sitiosespecíficos de la red AdSense. Google Alerts te permite ser avisado por correo electrónico acerca de búsquedas y/otextos particulares. Google Analytics analiza las páginas web, a través de un código javascript, guardandotodo tipo de estadísticas de los visitantes. Permite la integración con una cuentadeAdWords. Google Answers responde a tus preguntas. Google Base Libreria de contenidos, portal de anuncios clasificados o servicioinclasificable que permite añadir cualquier tipo de contenido a su base de datos. Google Blog Search motor de búsqueda orientado a la búsqueda en blogs/bitácorasexcluyendo el resto de páginas web. Google Bookmarks es un servicio que permite a los usuarios guardar marcadores ofavoritos con el título y las etiquetas deseadas, es decir, un del.icio.us "made in"google, pero bastante más cutre. Es necesaria una cuenta de Gmail para acceder. (+info) Google Browser Sync: Se trata de una plugin para el navegador Firefox con el quepodrás sincronizar allá donde lo utilices tus ajustes incluyendo tus favoritos, tu historial,las cookies y las contraseñas que tengas almacenadas. Google Catalogs busca en catálogos.
  11. 11.  Google Checkout: Sistema de pago por internet homólogo a Paypal. Proporcionas losdatos de tu tarjeta al sistema y puedes pagar utilizando tu correo electrónico (en lossitios que acepten pagos a través de Google Checkout, claro). Google Co-op permite a los usuarios suscribirse y catalogar contenidos procendentesde sitios como CNNMoney.con (economía), Fandango.com (espectáculos) oPeople.com (prensa rosa) para luego utilizar esos metadatos para mejorar laexperiencia de búsqueda de los usuarios. Google Code servicio de Google orientado a la promoción y contribución del softwarede código abierto (Open Source). Google Code Search: Es un buscador de código fuente que permite utilizar comandosde búsqueda especiales. Google Compute existe como parte de la Barra de herramientas de Google (GoogleToolbar) y se encarga de utilizar el ‘idle time’ de tú ordenador (es decir, cuando noestás haciendo nada) para computar información desde proyectos distribuidoscomoFolding@Home. Google Deskbar se trata de un ventana embedida de IE en tú barra de tareas deWindows, la cual te permite realizar búsquedas a traves de Google. Google Desktop Un servicio que ofrece varios widgets(?) y una barra lateral la cual tepermite realizar búsquedas, sindicar contenidos, escribir notas, consultar informaciónmetereológica y más. Google Directory es un clon del directorio ODP pero llenito de AdSense. Google Docs & Spreadsheets: Lugar desde el que podrás utilizar el procesador de textos(docs) y la hoja de cálculo (spreadsheets) de Google, crear y gestionar documentoscolaborativos y tener todo organizado (Descripción y más info enGenbeta). Google Earth permite visualizar imágenes de satélite de cualquier rincón del mundo. Google Finance: Información bursatil: bolsa, cotizaciones, acciones, con gráficos einformación adicional relacionada. Una copia del servicio Yahoo! Finances con algunamejora. (+ sobre Google Finance). Google Groups te permite crear listas de correo, interactuar en ellas y leer los mensajesde Usenet. Google Homepage te permite personalizar Google a tú gusto. Permite añadir widgetsal usuario como información meteorológica, noticias, horóscopos y más. Google Hosted: Permite utilizar diferentes servicios como Gmail, Google Talk, GoogleCalendar y Google Page Creator sobre un nombre de dominio que le asociemos. Google Image Search es el buscador de imágenes de Google.
  12. 12.  Google Labs nos muestra los projectos en los cuales Google está trabajando para unafutura liberalización de los mismos. Google Local Muestra información local basándose en datos procedentes de GoogleMaps. Google Maps es un servicio de mapeo el cual integra rutas de conducción ylocalización con mapas de ciudades. Dispone de un API bastante elaborado con el quese pueden realizar aplicaciones independientes que utilicen Google Maps. Google Mars incluye un conjunto de mapas e imágenes de la superficie de Marte. Google Moon similar al anterior, en este caso muestra planos e imágenes de lasuperficie lunar, asi como información sobre alunizajes que se han producido. Google Mobile permite el acceso al buscador Google a través de un movil WAP. Google Movie Showtimes permite introducir un código postal o una dirección queservirá para localizar cines y espectáculos cercanos a la zona mediante Google Maps.(De momento solo disponible en los EE.UU.). Google Música busca información sobre grupos de música, tiendas de música online yademás combina resultados de Froogle, de Google Images y quizás de ma´s servicios.(# Fuente) Google News es un portal de noticias agregadas por ordenadores de Google. Todo elproceso es automático. Google Notebook: Permite tomar y archivar notas al vuelo mientras se navega y si sedesea ofrece la posibilidad de compartir las notas con los demás. También incluye unbuscador de notas públicas (de otros usuarios). (Gracias Nuke) Google Pack se trata de una recopilación de software para ordenadores con WindowsXP y navegador Mozilla Firefox. Google Pages se trata de un servicio gratuito de Google para el alojamiento y lacreación de páginas web de una manera sencilla e intuitiva, también proprocionan unsubdominio deltipo: nombredecuenta.googlepages.com.(#Fuentes: 1 y 2, elucubraciones y teoríassobre Google Pages). Google Print o Google Book Search es un buscador de libros. Busca en libros (titulos ycontenido) que el propio Google ha digitalizado e incluido a su base de datos. Google Reader es el agregador o lector de feeds de Google. (+ info) Google Ridefinder permite localizar facilmente taxis en algunas de las mayoresciudades de Estados Unidos. Google Scholar busca información en documentación de tipo académico/científico.
  13. 13.  Google Send to Phone es una pequeña extensión para Firefox la cual permite enviarSMS (mensajes de texto) a teléfonos móviles. Google Sitemap es un lugar en donde los webmasters pueden subir el "Sitemap" de supágina web. Google leerá esos Sitemaps y los utilizará para indexar más correctamentelas webs. Recientemente ha incluido nuevas funcionalidad de tracking relacionadasconAdSense. Google SMS permite acceder a varios servicios del buscador a traves del movil. Google Spreadsheets: Se trata de un gestor en linea de hojas de cálculo con lasfuncionalidades básicas de cualquier Excel (Gracias por el aviso Nuke) Google Suggest es una extensión al motor de búsqueda normal de Google. Se encargade sugerir búsquedas (ordenadas por cantidad de resultados) mientras se estáescribiendo la consulta. Google Talk es el programa de mensajeria instantanea y voz sobre IP de Google, quefunciona bajo Jabber (protocolo abierto basado en XML). Es necesaria una cuentadeGmail para utilizarlo. Google Toolbar es una barra de herramientas para navegadores web, la cual permiterealizar búsquedas con Google y acceder a sus servicios de una manera rápida, ademásde mostrar otra información interesante como puede ser el PageRank. Google Transit es un servicio que permite conocer el estado de las carreteras (encuánto a densidad de tráfico y retenciones se refiere) y realizar aproximaciones decomo pudieran estar a determinadas horas del día. De momento solo disponible en losEstados Unidos. Google Trends se trata de una herramienta orientada a webmasters y profesionalescreada para realizar análisis cualitativos de las búsquedas, pudiendose consultar estospor ciudades, regiones y por idioma. También permite comparar varios términos. Google Video ofrece un archivo de videos de libre uso y Google Video Upload permitealojar en Google los videos anteriormente citados. Google Video Store es un servicio integrado dentro de Google Video que permitecomprar videos de series de televisión y otas temáticas. (# Más información sobreGoogle Video Store). Google Web Accelerator supuestamente ayuda a cargar las páginas web más rápido.Se han encontrado varios problemas de seguridad y privacidad en este programa. Google Website Optimizer: Una herramienta para mejorar los ratios de conversiones deadwords de nuestras páginas (más información en Online.com.es). Google Web Search motor de búsqueda de Google.
  14. 14.  Hello es un pequeño cliente de mensajeria instantanea el cual es utilizado juntoconPicasa para compartir imágenes con familiares y amigos. Measure Map es un sistema de estadísticas para blogs, más optimizado para ellosqueGoogle Analytics, que es muy comercial. (# Fuente). Orkut es una red social ala que solo se puede acceder mediante invitación o con unacuenta de Google. Picasa es un fantástio organizador de fotos digitales e imágenes para tú escritorio. SketchUp se trata de un software para presentación de mapas y objetos 3D para darleun empujón a Google Earth.(# Fuente) (Info. oficial de la adquisición) . YouTube: Servicio mundialmente famoso para visualizar y compartir videos que Googlecompraba a principios de octubre de 2006 por una cifra superior a los 1.500 millonesde dólares. Además se convierte en la primera adquisición del gigante que conserva supropia imagen e identidad. Writely es un potente y muy completo procesador de textos en linea (online), Googlese hizo con sus servicios el pasado 9 de Marzo. (Comunicado oficial de Google y deWritely)El API de Google Maps proporciona estos servicios web como una interfaz para solicitar aservicios externos datos del API de Google Maps y utilizarlos en las aplicaciones de googleMaps. Estos servicios se han diseñado para utilizarse en combinación con un mapa, talcomo se establece en las limitaciones de licencia de las condiciones de servicio del API deGoogle Maps.Estos servicios web envían solicitudes HTTP a URL específicas, transmitiendo a los serviciosparámetros de URL como argumentos. Normalmente, estos servicios devuelven los datosde la solicitud HTTP en formato JSON o XML para que tu aplicación los analice o procese.Las solicitudes de servicios web suelen tener el siguiente formato:http://maps.googleapis.com/maps/api/service/output?parametersdonde service indica el servicio concreto solicitado y output indica el formato de respuesta(normalmente json o xml).Las guías para desarrolladores correspondientes a cada uno de los servicios incluyen ladocumentación completa sobre cada uno de ellos. No obstante, esta guía incluye algunasprácticas comunes que resultan de utilidad para configurar las solicitudes y procesar lasrespuestas de servicio web.

×