investigacion de los servicios web evr

11
Lunes 26 de Mayo del 2014 Investigación de los Servicios Web Programación Web Instituto Tecnológico de Tehuacán INGENIERÍA EN SISTEMAS COMPUTACIONALES Enrique Vázquez Rodríguez 10360116 9° semestre

Upload: sylar-petrelly

Post on 09-Jul-2015

76 views

Category:

Documents


0 download

DESCRIPTION

Investigacion de Servicios web Programacion Web

TRANSCRIPT

Page 1: Investigacion de los servicios web EVR

Lunes 26 de Mayo del 2014

Investigación de los Servicios Web

Programación Web

Instituto Tecnológico de Tehuacán INGENIERÍA EN SISTEMAS COMPUTACIONALES

Enrique Vázquez Rodríguez 10360116

9° semestre

Page 2: Investigacion de los servicios web EVR

Servicios Web

Un servicio web (en inglés, Web Service o 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.

Estándares empleados

Web Services Protocol Stack: Así se le denomina al conjunto de

servicios y protocolos de los servicios Web.

XML (Extensible Markup Language): Es el formato estándar para los

datos que se vayan a intercambiar.

SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote

Procedure Call): Protocolos sobre los que se establece el intercambio.

WSDL (Web Services Description Language): Es el lenguaje de la

interfaz pública para los servicios Web. Es una descripción basada en

XML de los requisitos funcionales necesarios para establecer una

comunicación con los servicios Web.

UDDI (Universal Description, Discovery and Integration): Protocolo

para publicar la información de los servicios Web. Permite comprobar

qué servicios web están disponibles.

WS-Security (Web Service Security): Protocolo de seguridad aceptado

como estándar por OASIS (Organization for the Advancement of

Structured Information Standards). Garantiza la autenticación de los

actores y la confidencialidad de los mensajes enviados.

Page 3: Investigacion de los servicios web EVR

Plataformas utilizadas para desarrollar un Servicio Web

Servidores de aplicaciones para servicios Web:

JBoss servidor de aplicaciones J2EE Open Source de Red Hat inc.

Oracle Fusion Middleware

IBM Lotus Domino a partir de la versión 7.0

Axis y el servidor Jakarta Tomcat (de Apache)

ColdFusion MX de Macromedia

Java Web Services Development Pack (JWSDP) de Sun

Microsystems (basado en Jakarta Tomcat)

JOnAS (parte de ObjectWeb una iniciativa de código abierto)

Microsoft .NET

Novell exteNd (basado en la plataforma J2EE)

WebLogic

WebSphere

JAX-WS con GlassFish

Zope es un servidor de aplicaciones Web orientado a

objetos desarrollado en el lenguaje de programación Python

VERASTREAM de AttachmateWRQ para modernizar o integrar

aplicaciones host IBM y VT

PHP

Servicios Web de Paga y Gratuitos

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.

Page 4: Investigacion de los servicios web EVR

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).

Page 5: Investigacion de los servicios web EVR

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 como Folding@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

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

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.

Page 6: Investigacion de los servicios web EVR

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.

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

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

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

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.

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 con AdSense.

Page 7: Investigacion de los servicios web EVR

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 Google Suggest es una extensión al motor de búsqueda normal de

Google. Se encarga de sugerir búsquedas 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 de Gmail 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).

Page 8: Investigacion de los servicios web EVR

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.

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.

Ejemplos de un Servicio Web

Servicio web en PHP

A continuación ofrecemos un ejemplo de código PHP en el que se utiliza

la librería NuSOAP para desarrollar una clase capaz de conectar con el

servicio SOAP de SIGUA, invocar cualquier método que devuelva un

DataSet y recuperar los datos en forma de "array" asociativo.

<?php

require_once("nusoap.php

"); class CliSOAP

{//Cliente NuSOAP private $_client;

//Constructor

//$wsdl es la URL de enlace (string)

//$user y $password son el usuario y clave de Apache para

autentificación básica (string) public function construct($wsdl,

$user, $password)

{//Instancia del cliente NuSOAP

$this->_client = new nusoap_client($wsdl, "wsdl", "", "", "", "");

$err = $this->_client-

>getError(); if ($err)

Page 9: Investigacion de los servicios web EVR

{throw new Exception("Error al instanciar el cliente NuSOAP: " .

$err);

}

//Asignación de credenciales

$this->_client->setCredentials($user, $password, "basic");

}

//Este método trata el DataSet serializado (array asociativo) y recupera

el subarray que contiene los datos.

//$methodname es el nombre del método (string)

//$params es el array de parámetros (array

asociativo o null) function

SOAPRequest($methodname, $params)

{//Invocación del método

$result = $this->_client-

>call($methodname, $params); if ($this-

>_client->fault)

{throw new Exception("Fallo al invocar el método " . $methodname .

":" . var_dump($result));

}

else

{$err = $this->_client->getError(); if ($err)

{

$error)throw new Exception("La llamada al método " .

$methodname . " generó un error”;

}

else

{

//Comprobamos que el elemento "diffgram" es un array, de lo

contrario es un conjunto vacío de registros

if(is_array($result[$methodname . "Result"]["diffgram"]))

{

dicho

s

//Recuperamos el elemento "Table", que es el que contiene los

datos propiamente

return $result[$methodname .

"Result"]["diffgram"]["NewDataSet"]["Table"];

}

else

{

return null;

}

Page 10: Investigacion de los servicios web EVR

A continuación ofrecemos un ejemplo de código .aspx en el que se utiliza la

librería http://rate-exchange.appspot.com/currency?from={0}&to={1} para desarrollar

una clase capaz de conectar con el servicio SOAP de DIVISAS, invocar

cualquier método que devuelva un Archivo XML y recuperar los datos en forma

de "String’s";

using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Web.Script.Serialization;

using System.Net;

using System.Text.RegularExpressions;

using System.Globalization;

public partial class _Default : System.Web.UI.Page

{

//Calling live service from rate-exchange.appshot.com

protected void btnRateExchange_Click(object sender, EventArgs e)

{

try

{

double amount = 0;

if (double.TryParse(txtAmount.Text.Trim(), out amount))

{

string url = string.Format("http://rate-

exchange.appspot.com/currency?from={0}&to={1}",

ddlFrom.SelectedItem.Value, ddlTo.SelectedItem.Value);

WebClient client = new WebClient();

string rates = client.DownloadString(url);

Rate rate = new JavaScriptSerializer().Deserialize<Rate>(rates);

double converted_amount = amount * rate.rate;

//double converted_amount = 13.123;

string message = string.Empty;

Page 11: Investigacion de los servicios web EVR

1

message += "Cambio en Tiempo Real: " + amount + " " +

ddlFrom.SelectedItem.Value + " = " + converted_amount + " " +

ddlTo.SelectedItem.Value;

lblMessage.Text = message;

}

else

{

lblMessage.Text = "Invalid amount value.";

}

}

catch (InvalidCastException ec)

{

string message = string.Empty;

if (ec.Data==null)

{

throw;

message += "NO HAY CONECCIÓN A INTERNET, :'( ";

}

}

}

}

public class Rate

{

public string to { get; set; }

public string from { get; set; }

public double rate { get; set; }

}