SlideShare una empresa de Scribd logo
1 de 14
INSTITUTO TECNOLOGICO DE
TEHUACAN
PROGRAMACION WEB
HERNADEZ BELLO JOSUE
ING.EN SISTEMAS COMPUTACIONALES
Servicios web JAVA
Un 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 en
diferentes 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 la
computación distribuida, la forma en la que un programa hace una llamada en otro
pasando argumentos y recibiendo valores. Electronic Document Interchange (Intercambio
electrónico de datos) es la base de transacciones de negocio automatizadas, definiendo un
formato 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 conoce
como “RPC-Style”.
La especificación de SOAP no maneja descripción. La especificación estándar para realizar
la descripción de un servicio web es WSDL. Usando WSDL, un servicio web puede describir
todo lo que hace, como lo hace y la forma de cómo puede ser invocado por un
consumidor.
Axis es una implementación SOAP de Apache. Es una implementación más compleja de
servicios web diseñada para implementar procesos de manera sencilla.
Tecnologías para Servicios Web 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
Creación del servicio web
Una forma muy sencilla de desarrollar un servicio web en Java es haciendo uso de la
plataforma de desarrollo NetBeans 7.x que nos permite además desplegarlos en un
servidor 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. Sabemos
que la clase es un servicio por @WebService y que es una función publicada en el WS
por@WebMethod. Si queremos añadir una nueva función, simplemente tendremos que
copiar la anterior y cambiar lo que queramos.
Para publicar el servicio simplemente seleccionaremos deploy en el menú contextual sobre
el proyecto.
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 web
Accedemos a la URL que nos indica para ver el servicio. Para consultar su WSDL solo
tenemos que añadir ?WSDL al final de la URL.
Esto nos valdrá en el caso de querer probarlo con herramientas
como SoapUI(http://www.soapui.org/), al que deberemos indicarle el WSDL para que
genere la invocación.
Este nos generará la invocación, y simplemente pulsado el botón de run, obtendremos el
resultado en el lateral derecho de la request.
Servicios web PERL
SOAP::Lite es un conjunto de módulos de Perl que proveen una interfaz simple y liviana
para el protocolo SOAP, tanto en el lado cliente como en el del servidor. SOAP::Lite es
actualmente el kit de desarrollo de web services para Perl más difundido y utilizado. Su
pá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, varios
servidores, soporte a datos y muchas otras tareas. La siguiente es una lista resumida de sus
características:
Soporte de Protocolos
Soporta las especificaciones SOAP 1.1 y SOAP 1.2.
Incluye XMLRPC::Lite, una implementación del protocolo XML-RPC en el lado del cliente y
del 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.
WSDL::Generator
WSDL::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. Éste
módulo, desarrollado por Pierre Denis <pdenis@fotango.com>, es tal vez el único que se
ha creado hasta ahora con ésta funcionalidad en el mundo de Perl. SOAP::Lite y
WSDL::Generator en la Práctica
Ejemplo
A continuación, se muestra un ejemplo de la utilización del lenguaje Perl para exponer un
servicio web sencillo. En la documentación de los módulos puede encontrarse una
descripció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 el
número de tasas y devuelve como resultado un mensaje indicando el número de tasas
preparadas:
Código del archivo Cafetera.pm <perl>
#!/usr/bin/perl -w
# Servicio web de ejemplo
package Cafetera;
use strict;
# Este es el constructor
sub 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;
Servicios web PHP
Cliente
La creación de un cliente de un servicio web con PHP es relativamente sencilla haciendo
uso 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ón
mostramos un ejemplo donde se verá más claramente lo expuesto. Concretamente en el
ejemplo 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:
aloH
Servidor
La creación del servidor requiere, evidentemente, algo más de trabajo que la del cliente. En
este punto haremos un pequeño resumen de los pasos a seguir. Primero tenemos que
crear un fichero php (en nuestro ejemplo server.php) que contendrá las llamadas a las
clases SOAP correspondientes al servidor. En este mismo fichero se puede incluir la
definición de la clase que implementará todos los métodos exportados. Siguiendo con
nuestro ejemplo, tenemos que tener un método que nos devuelva la inversa de una
cadena. El contenido del fichero es:
require_once 'SOAP/Server.php';
class Prueba_Server {
function ejemplo($cadena){
return strrev($cadena);
}
}
$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 la
definición de los métodos exportados por la clase. Esto se obtiene a partir del fichero
WSDL. 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">
<soap:operation
soapAction="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:address
location="http://mi-
servidor.es/cin/ws/server/server.php" />
</port>
</service>
</definitions>
Con esto nuestro Web Service ya está funcionando. Simplemente tenemos que llamarlo
desde el cliente.
Servicios web Google
Lista de servicios de Google:
 Añadir a Google Reader permite la creación de un botón gráfico con la dirección del
RSS 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 un
producto y la comparativa de estos en diferentes tiendas online.
 GMail es el servicio de correo electrónico de google, actualmente proporciona más de
2GB 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 los
webmasters poner los anuncios en sus web, Adwords permite la publicación de estos
en la red de AdSense. Además el pasado 21 de noviembre Google liberó el "Onsite
Advertiser Sign-Up" que permite a un anunciante publicar sus anuncios en sitios
específicos de la red AdSense.
 Google Alerts te permite ser avisado por correo electrónico acerca de búsquedas y/o
textos particulares.
 Google Analytics analiza las páginas web, a través de un código javascript, guardando
todo tipo de estadísticas de los visitantes. Permite la integración con una cuenta
deAdWords.
 Google Answers responde a tus preguntas.
 Google Base Libreria de contenidos, portal de anuncios clasificados o servicio
inclasificable 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ácoras
excluyendo el resto de páginas web.
 Google Bookmarks es un servicio que permite a los usuarios guardar marcadores o
favoritos 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 que
podrá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.
 Google Checkout: Sistema de pago por internet homólogo a Paypal. Proporcionas los
datos de tu tarjeta al sistema y puedes pagar utilizando tu correo electrónico (en los
sitios que acepten pagos a través de Google Checkout, claro).
 Google Co-op permite a los usuarios suscribirse y catalogar contenidos procendentes
de sitios como CNNMoney.con (economía), Fandango.com (espectáculos) o
People.com (prensa rosa) para luego utilizar esos metadatos para mejorar la
experiencia de búsqueda de los usuarios.
 Google Code servicio de Google orientado a la promoción y contribución del software
de código abierto (Open Source).
 Google Code Search: Es un buscador de código fuente que permite utilizar comandos
de búsqueda especiales.
 Google Compute existe como parte de la Barra de herramientas de Google (Google
Toolbar) y se encarga de utilizar el ‘idle time’ de tú ordenador (es decir, cuando no
estás haciendo nada) para computar información desde proyectos distribuidos
comoFolding@Home.
 Google Deskbar se trata de un ventana embedida de IE en tú barra de tareas de
Windows, 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 te
permite realizar búsquedas, sindicar contenidos, escribir notas, consultar información
metereoló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 documentos
colaborativos 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 e
información adicional relacionada. Una copia del servicio Yahoo! Finances con alguna
mejora. (+ sobre Google Finance).
 Google Groups te permite crear listas de correo, interactuar en ellas y leer los mensajes
de Usenet.
 Google Homepage te permite personalizar Google a tú gusto. Permite añadir widgets
al usuario como información meteorológica, noticias, horóscopos y más.
 Google Hosted: Permite utilizar diferentes servicios como Gmail, Google Talk, Google
Calendar y Google Page Creator sobre un nombre de dominio que le asociemos.
 Google Image Search es el buscador de imágenes de Google.
 Google Labs nos muestra los projectos en los cuales Google está trabajando para una
futura liberalización de los mismos.
 Google Local Muestra información local basándose en datos procedentes de Google
Maps.
 Google Maps es un servicio de mapeo el cual integra rutas de conducción y
localización con mapas de ciudades. Dispone de un API bastante elaborado con el que
se 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 la
superficie 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 que
servirá 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 y
ademá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 el
proceso es automático.
 Google Notebook: Permite tomar y archivar notas al vuelo mientras se navega y si se
desea ofrece la posibilidad de compartir las notas con los demás. También incluye un
buscador de notas públicas (de otros usuarios). (Gracias Nuke)
 Google Pack se trata de una recopilación de software para ordenadores con Windows
XP y navegador Mozilla Firefox.
 Google Pages se trata de un servicio gratuito de Google para el alojamiento y la
creación de páginas web de una manera sencilla e intuitiva, también proprocionan un
subdominio del
tipo: nombredecuenta.googlepages.com.(#Fuentes: 1 y 2, elucubraciones y teorías
sobre Google Pages).
 Google Print o Google Book Search es un buscador de libros. Busca en libros (titulos y
contenido) 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 mayores
ciudades de Estados Unidos.
 Google Scholar busca información en documentación de tipo académico/científico.
 Google Send to Phone es una pequeña extensión para Firefox la cual permite enviar
SMS (mensajes de texto) a teléfonos móviles.
 Google Sitemap es un lugar en donde los webmasters pueden subir el "Sitemap" de su
página web. Google leerá esos Sitemaps y los utilizará para indexar más correctamente
las webs. Recientemente ha incluido nuevas funcionalidad de tracking relacionadas
conAdSense.
 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 las
funcionalidades 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 encarga
de 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, que
funciona bajo Jabber (protocolo abierto basado en XML). Es necesaria una cuenta
deGmail para utilizarlo.
 Google Toolbar es una barra de herramientas para navegadores web, la cual permite
realizar búsquedas con Google y acceder a sus servicios de una manera rápida, además
de mostrar otra información interesante como puede ser el PageRank.
 Google Transit es un servicio que permite conocer el estado de las carreteras (en
cuánto a densidad de tráfico y retenciones se refiere) y realizar aproximaciones de
como pudieran estar a determinadas horas del día. De momento solo disponible en los
Estados Unidos.
 Google Trends se trata de una herramienta orientada a webmasters y profesionales
creada para realizar análisis cualitativos de las búsquedas, pudiendose consultar estos
por 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 permite
alojar en Google los videos anteriormente citados.
 Google Video Store es un servicio integrado dentro de Google Video que permite
comprar videos de series de televisión y otas temáticas. (# Más información sobre
Google 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 de
adwords de nuestras páginas (más información en Online.com.es).
 Google Web Search motor de búsqueda de Google.
 Hello es un pequeño cliente de mensajeria instantanea el cual es utilizado junto
conPicasa para compartir imágenes con familiares y amigos.
 Measure Map es un sistema de estadísticas para blogs, más optimizado para ellos
queGoogle Analytics, que es muy comercial. (# Fuente).
 Orkut es una red social ala que solo se puede acceder mediante invitación o con una
cuenta 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 darle
un empujón a Google Earth.(# Fuente) (Info. oficial de la adquisición) .
 YouTube: Servicio mundialmente famoso para visualizar y compartir videos que Google
compraba a principios de octubre de 2006 por una cifra superior a los 1.500 millones
de dólares. Además se convierte en la primera adquisición del gigante que conserva su
propia imagen e identidad.
 Writely es un potente y muy completo procesador de textos en linea (online), Google
se hizo con sus servicios el pasado 9 de Marzo. (Comunicado oficial de Google y de
Writely)
El API de Google Maps proporciona estos servicios web como una interfaz para solicitar a
servicios externos datos del API de Google Maps y utilizarlos en las aplicaciones de google
Maps. Estos servicios se han diseñado para utilizarse en combinación con un mapa, tal
como se establece en las limitaciones de licencia de las condiciones de servicio del API de
Google Maps.
Estos servicios web envían solicitudes HTTP a URL específicas, transmitiendo a los servicios
parámetros de URL como argumentos. Normalmente, estos servicios devuelven los datos
de 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?parameters
donde 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 la
documentación completa sobre cada uno de ellos. No obstante, esta guía incluye algunas
prácticas comunes que resultan de utilidad para configurar las solicitudes y procesar las
respuestas de servicio web.

Más contenido relacionado

La actualidad más candente

Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RSVortexbird
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey Vortexbird
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajaxjuliocasal
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAPea2014G3
 
7 soap y wsdl
7 soap y wsdl7 soap y wsdl
7 soap y wsdlbrccq
 
Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicionFlashnet S.A
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jspdtbadboy0
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006Samuel Marrero
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSPousli07
 
Servidor De Prueba (Wamp Y Php)Presentacion
Servidor De Prueba (Wamp Y Php)PresentacionServidor De Prueba (Wamp Y Php)Presentacion
Servidor De Prueba (Wamp Y Php)Presentacionuts
 
Programación web 1er dept
Programación web 1er deptProgramación web 1er dept
Programación web 1er deptLeonardo Moreno
 
Servicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCServicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCVortexbird
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura RestIsrael Rey
 
Html,php
Html,phpHtml,php
Html,phpsoftyed
 

La actualidad más candente (20)

Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RS
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
 
Curso Java Avanzado 2 Servlets
Curso Java Avanzado   2 ServletsCurso Java Avanzado   2 Servlets
Curso Java Avanzado 2 Servlets
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAP
 
7 soap y wsdl
7 soap y wsdl7 soap y wsdl
7 soap y wsdl
 
Servlets exposicion
Servlets exposicionServlets exposicion
Servlets exposicion
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
Curso Java Avanzado 3 Js Ps
Curso Java Avanzado   3 Js PsCurso Java Avanzado   3 Js Ps
Curso Java Avanzado 3 Js Ps
 
Programación web con JSP
Programación web con JSPProgramación web con JSP
Programación web con JSP
 
Servidor De Prueba (Wamp Y Php)Presentacion
Servidor De Prueba (Wamp Y Php)PresentacionServidor De Prueba (Wamp Y Php)Presentacion
Servidor De Prueba (Wamp Y Php)Presentacion
 
Apache Camel - Parte II
Apache Camel - Parte IIApache Camel - Parte II
Apache Camel - Parte II
 
Apache Camel
Apache CamelApache Camel
Apache Camel
 
Servidor web
Servidor webServidor web
Servidor web
 
Programación web 1er dept
Programación web 1er deptProgramación web 1er dept
Programación web 1er dept
 
Servicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCServicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVC
 
Arquitectura Rest
Arquitectura RestArquitectura Rest
Arquitectura Rest
 
Html,php
Html,phpHtml,php
Html,php
 
Web Services
Web ServicesWeb Services
Web Services
 

Destacado

Todas las APIs de Google
Todas las APIs de GoogleTodas las APIs de Google
Todas las APIs de GoogleCarlos Toxtli
 
Newsletter & bericht aus dem landtag 11 2013
Newsletter & bericht aus dem landtag 11 2013Newsletter & bericht aus dem landtag 11 2013
Newsletter & bericht aus dem landtag 11 2013SimoneSchonvogel
 
Binder1
Binder1Binder1
Binder1smuemd
 
März A. et al.:Detektion ventilatorischer Umverteilung durch Lageänderung mit...
März A. et al.:Detektion ventilatorischer Umverteilung durch Lageänderung mit...März A. et al.:Detektion ventilatorischer Umverteilung durch Lageänderung mit...
März A. et al.:Detektion ventilatorischer Umverteilung durch Lageänderung mit...Hauke Sann
 
YP-P2 Benutzerhandbuch
YP-P2 BenutzerhandbuchYP-P2 Benutzerhandbuch
YP-P2 Benutzerhandbuchjulia135
 
1.1 y 1.2 caracteristicas y funciones de so
1.1 y 1.2 caracteristicas y funciones de so1.1 y 1.2 caracteristicas y funciones de so
1.1 y 1.2 caracteristicas y funciones de soYesica Ramirez
 
VINO NUEVO - FELICIDADES MAMA
VINO NUEVO - FELICIDADES MAMAVINO NUEVO - FELICIDADES MAMA
VINO NUEVO - FELICIDADES MAMAJuan Aguilar
 
Time efficient simulations of plunge and dwell phase of fsw and its significa...
Time efficient simulations of plunge and dwell phase of fsw and its significa...Time efficient simulations of plunge and dwell phase of fsw and its significa...
Time efficient simulations of plunge and dwell phase of fsw and its significa...sanjeevnks
 
SARONIA - Feedback Recap V3
SARONIA - Feedback Recap V3SARONIA - Feedback Recap V3
SARONIA - Feedback Recap V3Team Saronia
 

Destacado (20)

Todas las APIs de Google
Todas las APIs de GoogleTodas las APIs de Google
Todas las APIs de Google
 
Newsletter & bericht aus dem landtag 11 2013
Newsletter & bericht aus dem landtag 11 2013Newsletter & bericht aus dem landtag 11 2013
Newsletter & bericht aus dem landtag 11 2013
 
Binder1
Binder1Binder1
Binder1
 
Frauenabend
FrauenabendFrauenabend
Frauenabend
 
F rutas gen_cien_4 (1)
F rutas gen_cien_4 (1)F rutas gen_cien_4 (1)
F rutas gen_cien_4 (1)
 
März A. et al.:Detektion ventilatorischer Umverteilung durch Lageänderung mit...
März A. et al.:Detektion ventilatorischer Umverteilung durch Lageänderung mit...März A. et al.:Detektion ventilatorischer Umverteilung durch Lageänderung mit...
März A. et al.:Detektion ventilatorischer Umverteilung durch Lageänderung mit...
 
Practica 24 gaem
Practica 24   gaemPractica 24   gaem
Practica 24 gaem
 
YP-P2 Benutzerhandbuch
YP-P2 BenutzerhandbuchYP-P2 Benutzerhandbuch
YP-P2 Benutzerhandbuch
 
Gestion documental
Gestion documentalGestion documental
Gestion documental
 
1.1 y 1.2 caracteristicas y funciones de so
1.1 y 1.2 caracteristicas y funciones de so1.1 y 1.2 caracteristicas y funciones de so
1.1 y 1.2 caracteristicas y funciones de so
 
Kilkenny
KilkennyKilkenny
Kilkenny
 
Blogger und Meinungsfuhrerschaft
Blogger und MeinungsfuhrerschaftBlogger und Meinungsfuhrerschaft
Blogger und Meinungsfuhrerschaft
 
Web20
Web20Web20
Web20
 
VINO NUEVO - FELICIDADES MAMA
VINO NUEVO - FELICIDADES MAMAVINO NUEVO - FELICIDADES MAMA
VINO NUEVO - FELICIDADES MAMA
 
Practica 17
Practica 17Practica 17
Practica 17
 
Practica 17
Practica 17Practica 17
Practica 17
 
PERROS
PERROSPERROS
PERROS
 
Time efficient simulations of plunge and dwell phase of fsw and its significa...
Time efficient simulations of plunge and dwell phase of fsw and its significa...Time efficient simulations of plunge and dwell phase of fsw and its significa...
Time efficient simulations of plunge and dwell phase of fsw and its significa...
 
SARONIA - Feedback Recap V3
SARONIA - Feedback Recap V3SARONIA - Feedback Recap V3
SARONIA - Feedback Recap V3
 
AGY Student 2014
AGY Student 2014AGY Student 2014
AGY Student 2014
 

Similar a Servicios web java php-perl-google

Similar a Servicios web java php-perl-google (20)

Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y GoogleServicios web en Java, PHP, Perl y Google
Servicios web en Java, PHP, Perl y Google
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios Web II.ppt
Servicios Web II.pptServicios Web II.ppt
Servicios Web II.ppt
 
Webservices
WebservicesWebservices
Webservices
 
Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios
 
Servicio web java php perl google
Servicio web  java php perl googleServicio web  java php perl google
Servicio web java php perl google
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Cjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-wsCjee a-leccion-web services-jax-ws
Cjee a-leccion-web services-jax-ws
 
Servicios web
Servicios webServicios web
Servicios web
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Servicios web
Servicios webServicios web
Servicios web
 

Último

Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfluisantoniocruzcorte1
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 

Último (20)

Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 

Servicios web java php-perl-google

  • 1. INSTITUTO TECNOLOGICO DE TEHUACAN PROGRAMACION WEB HERNADEZ BELLO JOSUE ING.EN SISTEMAS COMPUTACIONALES
  • 2. Servicios web JAVA Un 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 en diferentes 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 la computación distribuida, la forma en la que un programa hace una llamada en otro pasando argumentos y recibiendo valores. Electronic Document Interchange (Intercambio electrónico de datos) es la base de transacciones de negocio automatizadas, definiendo un formato 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 conoce como “RPC-Style”. La especificación de SOAP no maneja descripción. La especificación estándar para realizar la descripción de un servicio web es WSDL. Usando WSDL, un servicio web puede describir todo lo que hace, como lo hace y la forma de cómo puede ser invocado por un consumidor. Axis es una implementación SOAP de Apache. Es una implementación más compleja de servicios web diseñada para implementar procesos de manera sencilla. Tecnologías para Servicios Web 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
  • 3. Creación del servicio web Una forma muy sencilla de desarrollar un servicio web en Java es haciendo uso de la plataforma de desarrollo NetBeans 7.x que nos permite además desplegarlos en un servidor 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. Sabemos que la clase es un servicio por @WebService y que es una función publicada en el WS por@WebMethod. Si queremos añadir una nueva función, simplemente tendremos que copiar la anterior y cambiar lo que queramos. Para publicar el servicio simplemente seleccionaremos deploy en el menú contextual sobre el proyecto.
  • 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 web Accedemos a la URL que nos indica para ver el servicio. Para consultar su WSDL solo tenemos que añadir ?WSDL al final de la URL. Esto nos valdrá en el caso de querer probarlo con herramientas como SoapUI(http://www.soapui.org/), al que deberemos indicarle el WSDL para que genere la invocación.
  • 5. Este nos generará la invocación, y simplemente pulsado el botón de run, obtendremos el resultado en el lateral derecho de la request. Servicios web PERL SOAP::Lite es un conjunto de módulos de Perl que proveen una interfaz simple y liviana para el protocolo SOAP, tanto en el lado cliente como en el del servidor. SOAP::Lite es actualmente el kit de desarrollo de web services para Perl más difundido y utilizado. Su pá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, varios servidores, soporte a datos y muchas otras tareas. La siguiente es una lista resumida de sus características: Soporte de Protocolos Soporta las especificaciones SOAP 1.1 y SOAP 1.2. Incluye XMLRPC::Lite, una implementación del protocolo XML-RPC en el lado del cliente y del 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. WSDL::Generator WSDL::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. Éste módulo, desarrollado por Pierre Denis <pdenis@fotango.com>, es tal vez el único que se ha creado hasta ahora con ésta funcionalidad en el mundo de Perl. SOAP::Lite y WSDL::Generator en la Práctica Ejemplo A continuación, se muestra un ejemplo de la utilización del lenguaje Perl para exponer un servicio web sencillo. En la documentación de los módulos puede encontrarse una descripció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 el número de tasas y devuelve como resultado un mensaje indicando el número de tasas preparadas: Código del archivo Cafetera.pm <perl> #!/usr/bin/perl -w # Servicio web de ejemplo package Cafetera; use strict; # Este es el constructor sub 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. Servicios web PHP Cliente La creación de un cliente de un servicio web con PHP es relativamente sencilla haciendo uso 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ón mostramos un ejemplo donde se verá más claramente lo expuesto. Concretamente en el ejemplo 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: aloH Servidor La creación del servidor requiere, evidentemente, algo más de trabajo que la del cliente. En este punto haremos un pequeño resumen de los pasos a seguir. Primero tenemos que crear un fichero php (en nuestro ejemplo server.php) que contendrá las llamadas a las clases SOAP correspondientes al servidor. En este mismo fichero se puede incluir la definición de la clase que implementará todos los métodos exportados. Siguiendo con nuestro ejemplo, tenemos que tener un método que nos devuelva la inversa de una cadena. El contenido del fichero es: require_once 'SOAP/Server.php'; class Prueba_Server { function ejemplo($cadena){ return strrev($cadena); } }
  • 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 la definición de los métodos exportados por la clase. Esto se obtiene a partir del fichero WSDL. 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. <soap:operation soapAction="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:address location="http://mi- servidor.es/cin/ws/server/server.php" /> </port> </service> </definitions> Con esto nuestro Web Service ya está funcionando. Simplemente tenemos que llamarlo desde el cliente.
  • 10. Servicios web Google Lista de servicios de Google:  Añadir a Google Reader permite la creación de un botón gráfico con la dirección del RSS 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 un producto y la comparativa de estos en diferentes tiendas online.  GMail es el servicio de correo electrónico de google, actualmente proporciona más de 2GB 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 los webmasters poner los anuncios en sus web, Adwords permite la publicación de estos en la red de AdSense. Además el pasado 21 de noviembre Google liberó el "Onsite Advertiser Sign-Up" que permite a un anunciante publicar sus anuncios en sitios específicos de la red AdSense.  Google Alerts te permite ser avisado por correo electrónico acerca de búsquedas y/o textos particulares.  Google Analytics analiza las páginas web, a través de un código javascript, guardando todo tipo de estadísticas de los visitantes. Permite la integración con una cuenta deAdWords.  Google Answers responde a tus preguntas.  Google Base Libreria de contenidos, portal de anuncios clasificados o servicio inclasificable 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ácoras excluyendo el resto de páginas web.  Google Bookmarks es un servicio que permite a los usuarios guardar marcadores o favoritos 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 que podrá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.  Google Checkout: Sistema de pago por internet homólogo a Paypal. Proporcionas los datos de tu tarjeta al sistema y puedes pagar utilizando tu correo electrónico (en los sitios que acepten pagos a través de Google Checkout, claro).  Google Co-op permite a los usuarios suscribirse y catalogar contenidos procendentes de sitios como CNNMoney.con (economía), Fandango.com (espectáculos) o People.com (prensa rosa) para luego utilizar esos metadatos para mejorar la experiencia de búsqueda de los usuarios.  Google Code servicio de Google orientado a la promoción y contribución del software de código abierto (Open Source).  Google Code Search: Es un buscador de código fuente que permite utilizar comandos de búsqueda especiales.  Google Compute existe como parte de la Barra de herramientas de Google (Google Toolbar) y se encarga de utilizar el ‘idle time’ de tú ordenador (es decir, cuando no estás haciendo nada) para computar información desde proyectos distribuidos comoFolding@Home.  Google Deskbar se trata de un ventana embedida de IE en tú barra de tareas de Windows, 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 te permite realizar búsquedas, sindicar contenidos, escribir notas, consultar información metereoló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 documentos colaborativos 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 e información adicional relacionada. Una copia del servicio Yahoo! Finances con alguna mejora. (+ sobre Google Finance).  Google Groups te permite crear listas de correo, interactuar en ellas y leer los mensajes de Usenet.  Google Homepage te permite personalizar Google a tú gusto. Permite añadir widgets al usuario como información meteorológica, noticias, horóscopos y más.  Google Hosted: Permite utilizar diferentes servicios como Gmail, Google Talk, Google Calendar y Google Page Creator sobre un nombre de dominio que le asociemos.  Google Image Search es el buscador de imágenes de Google.
  • 12.  Google Labs nos muestra los projectos en los cuales Google está trabajando para una futura liberalización de los mismos.  Google Local Muestra información local basándose en datos procedentes de Google Maps.  Google Maps es un servicio de mapeo el cual integra rutas de conducción y localización con mapas de ciudades. Dispone de un API bastante elaborado con el que se 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 la superficie 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 que servirá 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 y ademá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 el proceso es automático.  Google Notebook: Permite tomar y archivar notas al vuelo mientras se navega y si se desea ofrece la posibilidad de compartir las notas con los demás. También incluye un buscador de notas públicas (de otros usuarios). (Gracias Nuke)  Google Pack se trata de una recopilación de software para ordenadores con Windows XP y navegador Mozilla Firefox.  Google Pages se trata de un servicio gratuito de Google para el alojamiento y la creación de páginas web de una manera sencilla e intuitiva, también proprocionan un subdominio del tipo: nombredecuenta.googlepages.com.(#Fuentes: 1 y 2, elucubraciones y teorías sobre Google Pages).  Google Print o Google Book Search es un buscador de libros. Busca en libros (titulos y contenido) 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 mayores ciudades de Estados Unidos.  Google Scholar busca información en documentación de tipo académico/científico.
  • 13.  Google Send to Phone es una pequeña extensión para Firefox la cual permite enviar SMS (mensajes de texto) a teléfonos móviles.  Google Sitemap es un lugar en donde los webmasters pueden subir el "Sitemap" de su página web. Google leerá esos Sitemaps y los utilizará para indexar más correctamente las webs. Recientemente ha incluido nuevas funcionalidad de tracking relacionadas conAdSense.  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 las funcionalidades 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 encarga de 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, que funciona bajo Jabber (protocolo abierto basado en XML). Es necesaria una cuenta deGmail para utilizarlo.  Google Toolbar es una barra de herramientas para navegadores web, la cual permite realizar búsquedas con Google y acceder a sus servicios de una manera rápida, además de mostrar otra información interesante como puede ser el PageRank.  Google Transit es un servicio que permite conocer el estado de las carreteras (en cuánto a densidad de tráfico y retenciones se refiere) y realizar aproximaciones de como pudieran estar a determinadas horas del día. De momento solo disponible en los Estados Unidos.  Google Trends se trata de una herramienta orientada a webmasters y profesionales creada para realizar análisis cualitativos de las búsquedas, pudiendose consultar estos por 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 permite alojar en Google los videos anteriormente citados.  Google Video Store es un servicio integrado dentro de Google Video que permite comprar videos de series de televisión y otas temáticas. (# Más información sobre Google 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 de adwords de nuestras páginas (más información en Online.com.es).  Google Web Search motor de búsqueda de Google.
  • 14.  Hello es un pequeño cliente de mensajeria instantanea el cual es utilizado junto conPicasa para compartir imágenes con familiares y amigos.  Measure Map es un sistema de estadísticas para blogs, más optimizado para ellos queGoogle Analytics, que es muy comercial. (# Fuente).  Orkut es una red social ala que solo se puede acceder mediante invitación o con una cuenta 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 darle un empujón a Google Earth.(# Fuente) (Info. oficial de la adquisición) .  YouTube: Servicio mundialmente famoso para visualizar y compartir videos que Google compraba a principios de octubre de 2006 por una cifra superior a los 1.500 millones de dólares. Además se convierte en la primera adquisición del gigante que conserva su propia imagen e identidad.  Writely es un potente y muy completo procesador de textos en linea (online), Google se hizo con sus servicios el pasado 9 de Marzo. (Comunicado oficial de Google y de Writely) El API de Google Maps proporciona estos servicios web como una interfaz para solicitar a servicios externos datos del API de Google Maps y utilizarlos en las aplicaciones de google Maps. Estos servicios se han diseñado para utilizarse en combinación con un mapa, tal como se establece en las limitaciones de licencia de las condiciones de servicio del API de Google Maps. Estos servicios web envían solicitudes HTTP a URL específicas, transmitiendo a los servicios parámetros de URL como argumentos. Normalmente, estos servicios devuelven los datos de 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?parameters donde 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 la documentación completa sobre cada uno de ellos. No obstante, esta guía incluye algunas prácticas comunes que resultan de utilidad para configurar las solicitudes y procesar las respuestas de servicio web.