SlideShare una empresa de Scribd logo
Instituto Tecnológico de Tehuacán
Servicios Web
Jaqueline Guerrero Avendaño.
Nombre de la materia: Programación Web
Servicios Web
Un servicio web (en inglés, Web services) es una tecnología que utiliza un conjunto de
protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas
aplicaciones de software desarrolladas en lenguajes de programación diferentes, y
ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar
datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante
la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités
responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la
interoperabilidad entre distintas implementaciones de servicios Web se ha creado el
organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más
exhaustiva estos estándares. Es una máquina que atiende las peticiones de los clientes
web y les envía los recursos solicitados.
Cómo crear servicios web en JAVA
Para usar un servicio web, todo lo que tenemos que hacer es entrar a su dirección por
medio de nuestro navegador. Sin embargo, existen programas que nos permiten usar
servicios concretos sin necesidad del navegador, sólo con ellos y una conexión a Internet.
Un programa así, recibe el nombre de “cliente”, estos programas los veremos más
adelante, en este video-tutorial veremos la forma de crear un “Servicio Web” utilizando el
lenguaje Java y el IDE Netbeans, ademas necesitamos un servidor web para realizar las
pruebas, utilizaremos Tomcat en su version 6.
Nuestro servicio web es sencillo, y solamente consta de unas operaciones matemáticas
básicas como son la Suma y la Multiplicación, este Servicio Web lo implementaremos en
posteriores tutoriales.
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
public class calculadora {
@WebMethod(operationName = "Suma")
public int Suma(@WebParam(name = "valor1")
int valor1, @WebParam(name = "valor2")
int valor2) {
return ( valor1 + valor2);
}
/**
* Web service operation
*/
@WebMethod(operationName = "Multiplicacion")
public int Multiplicacion(@WebParam(name = "valor1")
int valor1, @WebParam(name = "valor2")
int valor2) {
return ( valor1 * valor2);
}
}
Cómo crear servicios web en Perl
El lenguaje Perl cuenta principalmente con dos módulos que pueden ser usados para
crear servicios web de manera fácil y rápida, desde cero o reutilizando aplicaciones de
Perl ya existentes. Éstos módulos son SOAP::Lite y WSDL:: Generator. A continuación se
explicarán cada uno de ellos y se mostrará un ejemplo de su uso.
Para solicitar el servicio, el cliente envía un mensaje de solicitud en formato SOAP XML. La
especificación SOAP (Simple Object Access Protocol) establece la manera de
representar, en el interior de la solicitud, el tipo de solicitud y los nombres y valores de sus
argumentos. El servidor realiza la operación solicitada, y le entrega al cliente un mensaje
de respuesta que también está en formato SOAP XML. El mensaje de respuesta contiene
los datos solicitados, y un status que indica si la solicitud se ha procesado correctamente o
bien se ha producido algún tipo de error.
Otra manera de implementar Web Services es REST (Representational State Transfer). REST
es una especificación más sencilla que WSDL/SOAP para la implementación de servicios
web, que será tratada en otro artículo de este blog.
Entre las principales diferencias que podemos encontrar entre REST y WSDL/SOAP están las
siguientes:
En REST, se define una URL distinta para cada tipo de servicio solicitado, mientras que en
WSDL/SOAP el nombre del servicio se indica en el interior del mensaje.
En REST, la peticiones para leer datos se hacen mediante solicitudes HTTP GET, y las
peticiones para escribir se hacen mediante HTTP POST. En WSDL/SOAP, las peticiones
siempre se realizan mediante solicitudes HTTP POST.
En REST, los mensajes se codifican en formato JSON, mientras que en WSDL/SOAP se utiliza
el formato XML.
Ejemplo:
#!/usr/bin/perl -w
#
use strict;
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI
-> dispatch_to('Aritmetica')
-> handle;
package Aritmetica;
sub sumar { $_[1] + $_[2]; }
sub restar { $_[1] - $_[2]; }
Servicios Web PHP
Buenas, la semana pasada vimos como instalar un servidor LAMP en nuestro Ubuntu y las
herramientas necesarias para desarrollar con PHP y MySQL. Esta semana nos ponemos
manos a la obra y veremos cómo desarrollar un pequeño servicio web para poder
utilizarlo más tarde desde una aplicación Android y nutrir nuestra aplicación con datos.
Los formatos más utilizados para compartir información mediante estos servicios web son
XML (y otros derivados) y JSON. XML es un lenguaje de marcas muy similar al HTML,
lo podéis ver normalmente en las fuentes RSS utilizadas para difundir listas de
noticias. JSON es un formato ligero de intercambio de datos. Este último da mejores
resultados en cuanto a rapidez y procesamiento, por lo tanto utilizaremos este, pero
si queréis utilizar XML solamente deberéis cambiar el formato de salida y listo.
Nuestro servicio va a devolvernos una lista de libros, para ellos primero crearemos una
base de datos. AbrimosphpMyAdmin para ello en un navegador
escribimos http://localhost/phpmyadmin. Vamos a "Base de datos" y creamos una nueva
base de datos, le llamaremos android, aparecerá en la lista de la parte izquierda.
Pinchamos sobre ella y creamos una nueva tabla llamada libros con 3 columnas: id_libro,
libro y isbn. Actualización:ponemos los nombres de las columnas en minúscula para no
tener problemas a la hora de leerlo con el script PHP.
Realmente la complicación de un servicio web no reside en la creación del mismo
que como veremos es absolutamente simple. La dificultad está en las funcionalidades
del propio servicio.
Lo primero que necesitamos para crear Web Service (o servicio web) es crear un
listado de funciones o, en este caso, una clase PHP que contendrá todas las
funcionalidades necesarias. Usaremos una clase sencilla ya que es nuestro primer
ejemplo.
Aquí usamos la clase de islavisual para MySQL.
class UserService
{
private $_EMAIL;
private $_PASSWORD;
include "clases/MySQL/mySql.class.php" ;
public function login($email, $password)
{
$this->_EMAIL = mysql_real_escape_string($email); // También puede
servir addslashes
$this->_PASSWORD = mysql_real_escape_string($password); // También puede
servir addslashes
$user_id = $this->chechUser();
if($user_id != "" && $user_id != NULL){
$_SESSION['user_id'] = $user_id;
return $user_id;
}
return false;
}
protected function checkUser()
{
$mysql = new mySQL;
return $mysql->getValue("SELECT id FROM users WHERE email = '".$this-
>_EMAIL."';");
}
}
Implementación o creación del Servicio Web
Aquí sólo hay que crear un archivo que llamaremos servicio.php dónde estará incluida la
clase que acabamos de crear. Como no queremos usar WSDL lo generaremos a mano y,
por ello, debemos suministrar el namespace que será urn:webservices.
$server = new SoapServer(null, array('uri' => 'urn:webservices'));
// Asignamos la Clase
$server->setClass('UserService');
// Atendemos las peticiones
$server->handle();
Servicios web del API de Google Maps
En este documento se describen los servicios web del API de Google Maps, un conjunto
de interfaces HTTP para los servicios de Google que proporcionan datos geográficos para
las aplicaciones de mapas. Esta guía sirve exclusivamente como introducción a los
servicios web y la información de host que es común a los diferentes servicios. Encontrarás
documentación específica de cada servicio más adelante:
 API de rutas
 API de matriz de distancia
 API de elevación
 API de codificación geográfica
 API de Google Places
El resto de esta guía trata sobre las técnicas para configurar solicitudes de servicios web y
analizar las respuestas. Sin embargo, deberás consultar la documentación
correspondiente para obtener información específica sobre cada servicio.
Mediante el API que nos ofrecen Google Maps los desarrolladores del servicio podremos
hacer uso de sus bondades. En este artículo pretendemos explicar los aspectos más
relevantes de este API.
Google Maps es un servicio gratuito que nos ofrece Google con mapas desplazables del
mundo entero, fotos satelitales, la ruta más corta entre diferentes ubicaciones y muchas
características interesantes. Es semejante a Google Earth; una aplicación para Windows,
Mac y Linux; pero con la diferencia que Google Maps es fácilmente integrable a cualquier
sitio web.
¿Cómo integro un mapa de Google Maps a mi web?
Insertar un mapa en nuestro sitio web es muy simple haciendo uso de la API de Google
Maps. Lo primero es solicitar nuestra API Key, debemos especificar en qué URL vamos a
utilizar nuestro mapa.
Aunque es recomendable solicitar una para la dirección http://localhost con esta
hagamos los ajustes necesarios y una vez que nuestro código esté listo cambiar la API Key
por la de nuestro sitio en Internet para publicar la página.
Aquí tenemos una muestra del código que nos proporciona Google Maps para que
utilicemos. Es importante destacar que debemos remplazar el texto resaltado en el
código: COLOCAR_AQUI_NUESTRA_KEY por nuestro API Key, para que funcione
correctamente.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script
src="http://maps.google.com/maps?file=api&v=2&key=COLOCAR_AQUI_NUESTRA_KEY"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
}
}
//]]>
</script>
A continuación utilizaremos este código para explorar algunas, de las múltiples
características que podemos explotar con el API de Google Maps.
Ejemplo: http://www.institutohervic.edu.mx/

Más contenido relacionado

La actualidad más candente

Desarrollo y consumo de servicios web asp.net
Desarrollo y consumo de servicios web asp.netDesarrollo y consumo de servicios web asp.net
Desarrollo y consumo de servicios web asp.netAntonio Contreras
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAPea2014G3
 
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQLDesarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
José Alfredo Ramírez
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
Juan Carlos Rubio Pineda
 
Jsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónJsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD Conexión
Pattzy Montero
 
Desarrollo y consumo de web services
Desarrollo y consumo de web servicesDesarrollo y consumo de web services
Desarrollo y consumo de web services
Naim Jhon Cruzado Paredes
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011
Rafael Franco
 
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
juliocasal
 
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Marco Antonio Ordoñez Valverde
 
Asp.net
Asp.netAsp.net
Asp.net
Jin SinCara
 
Servicio web
Servicio web Servicio web
Servicio web
Yael67
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
Alex Puig
 
20001215 Programación de Servlets y WML
20001215   Programación de Servlets y WML20001215   Programación de Servlets y WML
20001215 Programación de Servlets y WML
Santiago Márquez Solís
 
introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
Yair Ambrocio
 
4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML
Juan Carlos Rubio Pineda
 
Introducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLCIntroducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLC
Miguel Ángel Sánchez Chordi
 
3/9 soa y web services
3/9 soa y web services3/9 soa y web services
3/9 soa y web services
Juan Carlos Rubio Pineda
 
Arquitectura REST
Arquitectura RESTArquitectura REST
Arquitectura REST
Héctor Fuente Pérez
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
Paradigma Digital
 

La actualidad más candente (20)

Desarrollo y consumo de servicios web asp.net
Desarrollo y consumo de servicios web asp.netDesarrollo y consumo de servicios web asp.net
Desarrollo y consumo de servicios web asp.net
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAP
 
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQLDesarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Jsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónJsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD Conexión
 
Desarrollo y consumo de web services
Desarrollo y consumo de web servicesDesarrollo y consumo de web services
Desarrollo y consumo de web services
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 
Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011Ruby on Rails - ETyC 2011
Ruby on Rails - ETyC 2011
 
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
 
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
Empezando con Play y reactive mongo (Segundo meetup Scala Perú Dec 2015)
 
Asp.net
Asp.netAsp.net
Asp.net
 
Servicio web
Servicio web Servicio web
Servicio web
 
Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
20001215 Programación de Servlets y WML
20001215   Programación de Servlets y WML20001215   Programación de Servlets y WML
20001215 Programación de Servlets y WML
 
introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
 
4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Introducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLCIntroducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLC
 
3/9 soa y web services
3/9 soa y web services3/9 soa y web services
3/9 soa y web services
 
Arquitectura REST
Arquitectura RESTArquitectura REST
Arquitectura REST
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 

Destacado

Las tic en la formación
Las tic en la formaciónLas tic en la formación
Las tic en la formaciónsedanod
 
Presentación1
Presentación1Presentación1
Presentación1aamedina
 
Geometría i u2_t1_aa1 monica raya ibarra 9211
Geometría i u2_t1_aa1  monica raya ibarra 9211Geometría i u2_t1_aa1  monica raya ibarra 9211
Geometría i u2_t1_aa1 monica raya ibarra 9211
Monica Raya
 
Animales en peligro
Animales en peligroAnimales en peligro
Animales en peligroDavid Cobo
 
Rosa raquel rosas molina
Rosa raquel rosas molinaRosa raquel rosas molina
Rosa raquel rosas molina
ROSAROSA2012
 
formulacion conceptual garcia
formulacion conceptual  garciaformulacion conceptual  garcia
formulacion conceptual garcia
kamicru
 
Bajo el sol de kenia
Bajo el sol de keniaBajo el sol de kenia
Bajo el sol de keniaElías Muñoz
 
Análisis de la pág 60 y 61
Análisis de la pág 60 y 61Análisis de la pág 60 y 61
Análisis de la pág 60 y 61Zully_5
 
Ensayo pink tomate
Ensayo pink tomateEnsayo pink tomate
Ensayo pink tomate
ANYIMORALES
 

Destacado (20)

Finanzas y yo
Finanzas y yoFinanzas y yo
Finanzas y yo
 
Balantidium coli y aspergillus
Balantidium coli y aspergillusBalantidium coli y aspergillus
Balantidium coli y aspergillus
 
Las tic en la formación
Las tic en la formaciónLas tic en la formación
Las tic en la formación
 
Hawk eye
Hawk eyeHawk eye
Hawk eye
 
Presentación1
Presentación1Presentación1
Presentación1
 
Geometría i u2_t1_aa1 monica raya ibarra 9211
Geometría i u2_t1_aa1  monica raya ibarra 9211Geometría i u2_t1_aa1  monica raya ibarra 9211
Geometría i u2_t1_aa1 monica raya ibarra 9211
 
Fotos 3
Fotos 3Fotos 3
Fotos 3
 
Guía de visita_expo_media (1)
Guía de visita_expo_media (1)Guía de visita_expo_media (1)
Guía de visita_expo_media (1)
 
Presentación1
Presentación1Presentación1
Presentación1
 
Euroconector
EuroconectorEuroconector
Euroconector
 
Animales en peligro
Animales en peligroAnimales en peligro
Animales en peligro
 
Rosa raquel rosas molina
Rosa raquel rosas molinaRosa raquel rosas molina
Rosa raquel rosas molina
 
Asndinhejksmdnjs
AsndinhejksmdnjsAsndinhejksmdnjs
Asndinhejksmdnjs
 
Ungranamor
UngranamorUngranamor
Ungranamor
 
formulacion conceptual garcia
formulacion conceptual  garciaformulacion conceptual  garcia
formulacion conceptual garcia
 
mujer
mujermujer
mujer
 
Bajo el sol de kenia
Bajo el sol de keniaBajo el sol de kenia
Bajo el sol de kenia
 
Análisis de la pág 60 y 61
Análisis de la pág 60 y 61Análisis de la pág 60 y 61
Análisis de la pág 60 y 61
 
El sena (1)
El sena (1)El sena (1)
El sena (1)
 
Ensayo pink tomate
Ensayo pink tomateEnsayo pink tomate
Ensayo pink tomate
 

Similar a Servicios web

Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-googleJosue Hernandez
 
Servicios web ITT
Servicios web ITTServicios web ITT
Servicios web ITT
Christian Alcala Herrera
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
Christian Alcala Herrera
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
Christian Alcala Herrera
 
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
andres880106
 
Servicios web
Servicios webServicios web
Servicios web
Emilio Sarabia
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
Freelancer
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
www.encamina.com
 
Ekipo 2
Ekipo 2Ekipo 2
Ekipo 2
handy.ale
 
Revision de tecnologias web
Revision de tecnologias webRevision de tecnologias web
Revision de tecnologias webFRISLY5
 
Programacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidorProgramacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidorAlejandro Hernandez
 
EQUIPO 2,LAS AGUILAS
EQUIPO 2,LAS AGUILASEQUIPO 2,LAS AGUILAS
EQUIPO 2,LAS AGUILAS
UNIV DE CIENCIAS Y ARTES
 

Similar a Servicios web (20)

Servicios web
Servicios webServicios web
Servicios web
 
Servicios web java, php, perl, google
Servicios web java, php, perl, googleServicios web java, php, perl, google
Servicios web java, php, perl, google
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-google
 
Servicios web ITT
Servicios web ITTServicios web ITT
Servicios web ITT
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
 
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
 
Pdfwebservices
PdfwebservicesPdfwebservices
Pdfwebservices
 
Web Services
Web ServicesWeb Services
Web Services
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
Ekipo 2
Ekipo 2Ekipo 2
Ekipo 2
 
Revision de tecnologias web
Revision de tecnologias webRevision de tecnologias web
Revision de tecnologias web
 
Presentacion ws
Presentacion wsPresentacion ws
Presentacion ws
 
Programacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidorProgramacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidor
 
EQUIPO 2,LAS AGUILAS
EQUIPO 2,LAS AGUILASEQUIPO 2,LAS AGUILAS
EQUIPO 2,LAS AGUILAS
 

Servicios web

  • 1. Instituto Tecnológico de Tehuacán Servicios Web Jaqueline Guerrero Avendaño. Nombre de la materia: Programación Web
  • 2. Servicios Web Un servicio web (en inglés, Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares. Es una máquina que atiende las peticiones de los clientes web y les envía los recursos solicitados. Cómo crear servicios web en JAVA Para usar un servicio web, todo lo que tenemos que hacer es entrar a su dirección por medio de nuestro navegador. Sin embargo, existen programas que nos permiten usar servicios concretos sin necesidad del navegador, sólo con ellos y una conexión a Internet. Un programa así, recibe el nombre de “cliente”, estos programas los veremos más adelante, en este video-tutorial veremos la forma de crear un “Servicio Web” utilizando el lenguaje Java y el IDE Netbeans, ademas necesitamos un servidor web para realizar las pruebas, utilizaremos Tomcat en su version 6. Nuestro servicio web es sencillo, y solamente consta de unas operaciones matemáticas básicas como son la Suma y la Multiplicación, este Servicio Web lo implementaremos en posteriores tutoriales. import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; public class calculadora { @WebMethod(operationName = "Suma") public int Suma(@WebParam(name = "valor1") int valor1, @WebParam(name = "valor2") int valor2) { return ( valor1 + valor2); } /** * Web service operation */ @WebMethod(operationName = "Multiplicacion") public int Multiplicacion(@WebParam(name = "valor1") int valor1, @WebParam(name = "valor2") int valor2) {
  • 3. return ( valor1 * valor2); } } Cómo crear servicios web en Perl El lenguaje Perl cuenta principalmente con dos módulos que pueden ser usados para crear servicios web de manera fácil y rápida, desde cero o reutilizando aplicaciones de Perl ya existentes. Éstos módulos son SOAP::Lite y WSDL:: Generator. A continuación se explicarán cada uno de ellos y se mostrará un ejemplo de su uso. Para solicitar el servicio, el cliente envía un mensaje de solicitud en formato SOAP XML. La especificación SOAP (Simple Object Access Protocol) establece la manera de representar, en el interior de la solicitud, el tipo de solicitud y los nombres y valores de sus argumentos. El servidor realiza la operación solicitada, y le entrega al cliente un mensaje de respuesta que también está en formato SOAP XML. El mensaje de respuesta contiene los datos solicitados, y un status que indica si la solicitud se ha procesado correctamente o bien se ha producido algún tipo de error. Otra manera de implementar Web Services es REST (Representational State Transfer). REST es una especificación más sencilla que WSDL/SOAP para la implementación de servicios web, que será tratada en otro artículo de este blog. Entre las principales diferencias que podemos encontrar entre REST y WSDL/SOAP están las siguientes: En REST, se define una URL distinta para cada tipo de servicio solicitado, mientras que en WSDL/SOAP el nombre del servicio se indica en el interior del mensaje. En REST, la peticiones para leer datos se hacen mediante solicitudes HTTP GET, y las peticiones para escribir se hacen mediante HTTP POST. En WSDL/SOAP, las peticiones siempre se realizan mediante solicitudes HTTP POST. En REST, los mensajes se codifican en formato JSON, mientras que en WSDL/SOAP se utiliza el formato XML. Ejemplo: #!/usr/bin/perl -w # use strict; use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to('Aritmetica') -> handle; package Aritmetica; sub sumar { $_[1] + $_[2]; } sub restar { $_[1] - $_[2]; }
  • 4. Servicios Web PHP Buenas, la semana pasada vimos como instalar un servidor LAMP en nuestro Ubuntu y las herramientas necesarias para desarrollar con PHP y MySQL. Esta semana nos ponemos manos a la obra y veremos cómo desarrollar un pequeño servicio web para poder utilizarlo más tarde desde una aplicación Android y nutrir nuestra aplicación con datos. Los formatos más utilizados para compartir información mediante estos servicios web son XML (y otros derivados) y JSON. XML es un lenguaje de marcas muy similar al HTML, lo podéis ver normalmente en las fuentes RSS utilizadas para difundir listas de noticias. JSON es un formato ligero de intercambio de datos. Este último da mejores resultados en cuanto a rapidez y procesamiento, por lo tanto utilizaremos este, pero si queréis utilizar XML solamente deberéis cambiar el formato de salida y listo. Nuestro servicio va a devolvernos una lista de libros, para ellos primero crearemos una base de datos. AbrimosphpMyAdmin para ello en un navegador escribimos http://localhost/phpmyadmin. Vamos a "Base de datos" y creamos una nueva base de datos, le llamaremos android, aparecerá en la lista de la parte izquierda. Pinchamos sobre ella y creamos una nueva tabla llamada libros con 3 columnas: id_libro, libro y isbn. Actualización:ponemos los nombres de las columnas en minúscula para no tener problemas a la hora de leerlo con el script PHP. Realmente la complicación de un servicio web no reside en la creación del mismo que como veremos es absolutamente simple. La dificultad está en las funcionalidades del propio servicio. Lo primero que necesitamos para crear Web Service (o servicio web) es crear un listado de funciones o, en este caso, una clase PHP que contendrá todas las funcionalidades necesarias. Usaremos una clase sencilla ya que es nuestro primer ejemplo. Aquí usamos la clase de islavisual para MySQL. class UserService { private $_EMAIL; private $_PASSWORD; include "clases/MySQL/mySql.class.php" ; public function login($email, $password) { $this->_EMAIL = mysql_real_escape_string($email); // También puede servir addslashes $this->_PASSWORD = mysql_real_escape_string($password); // También puede servir addslashes $user_id = $this->chechUser(); if($user_id != "" && $user_id != NULL){ $_SESSION['user_id'] = $user_id; return $user_id; }
  • 5. return false; } protected function checkUser() { $mysql = new mySQL; return $mysql->getValue("SELECT id FROM users WHERE email = '".$this- >_EMAIL."';"); } } Implementación o creación del Servicio Web Aquí sólo hay que crear un archivo que llamaremos servicio.php dónde estará incluida la clase que acabamos de crear. Como no queremos usar WSDL lo generaremos a mano y, por ello, debemos suministrar el namespace que será urn:webservices. $server = new SoapServer(null, array('uri' => 'urn:webservices')); // Asignamos la Clase $server->setClass('UserService'); // Atendemos las peticiones $server->handle(); Servicios web del API de Google Maps En este documento se describen los servicios web del API de Google Maps, un conjunto de interfaces HTTP para los servicios de Google que proporcionan datos geográficos para las aplicaciones de mapas. Esta guía sirve exclusivamente como introducción a los servicios web y la información de host que es común a los diferentes servicios. Encontrarás documentación específica de cada servicio más adelante:  API de rutas  API de matriz de distancia  API de elevación  API de codificación geográfica  API de Google Places El resto de esta guía trata sobre las técnicas para configurar solicitudes de servicios web y analizar las respuestas. Sin embargo, deberás consultar la documentación correspondiente para obtener información específica sobre cada servicio.
  • 6. Mediante el API que nos ofrecen Google Maps los desarrolladores del servicio podremos hacer uso de sus bondades. En este artículo pretendemos explicar los aspectos más relevantes de este API. Google Maps es un servicio gratuito que nos ofrece Google con mapas desplazables del mundo entero, fotos satelitales, la ruta más corta entre diferentes ubicaciones y muchas características interesantes. Es semejante a Google Earth; una aplicación para Windows, Mac y Linux; pero con la diferencia que Google Maps es fácilmente integrable a cualquier sitio web. ¿Cómo integro un mapa de Google Maps a mi web? Insertar un mapa en nuestro sitio web es muy simple haciendo uso de la API de Google Maps. Lo primero es solicitar nuestra API Key, debemos especificar en qué URL vamos a utilizar nuestro mapa. Aunque es recomendable solicitar una para la dirección http://localhost con esta hagamos los ajustes necesarios y una vez que nuestro código esté listo cambiar la API Key por la de nuestro sitio en Internet para publicar la página. Aquí tenemos una muestra del código que nos proporciona Google Maps para que utilicemos. Es importante destacar que debemos remplazar el texto resaltado en el código: COLOCAR_AQUI_NUESTRA_KEY por nuestro API Key, para que funcione correctamente. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Google Maps JavaScript API Example</title> <script src="http://maps.google.com/maps?file=api&v=2&key=COLOCAR_AQUI_NUESTRA_KEY" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.setCenter(new GLatLng(37.4419, -122.1419), 13); } } //]]> </script> A continuación utilizaremos este código para explorar algunas, de las múltiples características que podemos explotar con el API de Google Maps. Ejemplo: http://www.institutohervic.edu.mx/