Referencias
::  clikear.com
:: MSDN
:: Soporte Microsoft
:: MVP
:: MSDN España
:: MSDN Artículos Téc.
:: Technet España
:: News de Microsoft
:: MSDN Magazine
:: ASP.NET
 
 
  Netveloper :: ASP.NET :: Articulos :: Caso práctico: cómo usar los servicios web ...  
 
   Caso práctico: cómo usar los servicios web de Amazon en tu sitio web  
 Enviar a un amigo
     Fecha:  28/02/2005 22:58:33
     Autor:  Eladio Rincon  Ver comentarios
     Visitas: 14506  Comentarios: 0  Imprimir
 
  El objetivo del artículo es mostrar un ejemplo práctico de cómo usar servicios web; como ejemplo voy a mostrar como implementar funcionalidades que proveen los servicios web de Amazon (antes llamados Amazon Web Services y ahora Amazon E-Commerce Services); según avance el artículo, iremos implementando distintas funcionalidades de los AWS: búsqueda de productos, recuperación de listas y gestión de cesta de la compra.  
 
Página 1 de 4: 1 2 3 4 

 
  Qué es un servicio web y por qué usarlo

Hay muchas definiciones de servicio web, valga como ejemplo la definición de servicio web de http://www.webopedia.com:
"El término servicio web es una forma estandarizada de integrar aplicaciones basadas en web usando los estándares XML, SOAP, WSDL y UDDI a través de Internet. XML se usa para dar formato a los datos, SOAP para transferir los datos, WSDL para describir los métodos y propiedades disponibles y UDDI para obtener una lista de los servicios que están disponibles." http://www.webopedia.com/TERM/W/Web_services.html

Por decirlo de otra forma:
  • Los servicios web se basan en estándares del mercado (http://www.w3.org/2002/ws).
  • XML define el lenguaje que se utiliza para intercambiar datos.
  • SOAP es quien define de qué forma se hacen las peticiones y respuestas a un servicio web (mensajes); los mensajes SOAP están basados en XML y HTTP y son independientes de la plataforma por lo que se les puede invocar desde Windows, UNIX, Solaris, Linux, etc.
  • WSDL define los métodos y propiedades del servicio web: el interfaz del servicio web; digamos que definen los mensajes SOAP que vamos a necesitar para poder utilizar el servicio web.
  • UDDI (http://www.uddi.org) nos aporta los servicios web disponibles; por decirlo de alguna forma sería como un directorio donde se encuentran todos los servicios web disponibles; no es necesario registrar un servicio web en UDDI, pero es gratuito y si quieres que lo conozcan mucha gente, es la mejor forma de publicitarlo.

    Tras esta definición, cabe preguntarse ¿por qué usar servicios web?; tomando como ejemplo el caso de Amazon, vamos a analizarlo un poco: ¿Cuál es el objetivo de Amazon? Vender productos; para vender necesitan que los usuarios lleguen hasta su web. Y ¿cómo conseguir que los usuarios lleguen a su web?; ahí entran cuestiones de marketing y otros factores que no estoy preparado para evaluar, pero simplificándolo un poco podría ser:

    1.Hacer mega-campañas de publicidad (banners, comprar posiciones en buscadores, marketing por mail, etc.),
    2.Conseguir hacer que el mayor número de sitios web sean vendedores de productos de Amazon

    Para conseguir el segundo punto, conocemos algunos sistemas:
    1.Hacerse asociado de Amazon y colocar en una página estática enlaces productos (libros) que el propietario de la página quiere promocionar; por ejemplo el siguiente link es un acceso directo a un libro de Amazon: http://www.amazon.com/exec/obidos/ASIN/0789724499/ ; representa el nombre de un asociado que cobraría un porcentaje de la venta del producto.
    2.Hacer en nuestro sitio web una aplicación que rellene de forma dinámica información que de alguna forma hemos obtenido de Amazon; por ejemplo, una base de datos (o fichero XML) que contiene ISBN, nombre, precio, autor de producto, etc., que con cierta frecuencia vamos actualizando.
    3.Poner en nuestro sitio web enlaces “generales” que redirigen a Amazon para realizar la búsqueda directamente en Amazon.
    4.Hacer uso de los AWS.

    Si os fijáis, las dos primeras soluciones requieren mucho mantenimiento: cada vez que se quiera incluir un nuevo producto:
  • En el primer caso hay que actualizar el contenido estático de las páginas, construir los enlaces de asociado; en el caso de que pongamos información del precio de los productos, deberíamos estar revisar con frecuencia los cambios de precio de los productos y si quisiéramos dar valor añadido a la página (como incluir valoraciones, ranking de ventas, opiniones, etc.), requeriría mucha dedicación.
  • En el segundo caso, aunque un poco menos trabajoso, igualmente deberíamos actualizar la información que tenemos almacenada por las variaciones de precios, productos, etc.
  • La tercera solución es sencilla, pero la búsqueda del producto se haría directamente en Amazon y apenas le daríamos valor añadido a nuestro sitio web.
  • Con la cuarta solución, lo que hacemos es consultar directamente los productos de Amazon (su propia base de datos); no vamos a tener que realizar ninguna tarea de mantenimiento porque siempre estaremos mostrando datos reales. Desde éste punto de vista, como “vendedores” de Amazon nos quitamos todo el trabajo de mantenimiento, y a la vez, integramos la tienda de Amazon en nuestro proyecto web. ¿Y qué consigue Amazon? Pues lo que quería, estar presente en la mayor cantidad de sitios web posibles lo que teóricamente conlleva más ventas. Yendo un poco más allá, tenemos la posibilidad de crear aplicaciones comerciales en torno a los AWS; de hecho existen aplicaciones que hacen uso de los AWS (http://www.sellerengine.com).

    Registro y documentación

    Para obtener el SDK primero debemos registrarnos como desarrolladores en la web de Amazon; para ello desde http://www.amazon.com/webservices nos registramos como desarrolladores de AWS y recibiremos un correo para activar nuestra cuenta de desarrollador; tras confirmar el registro obtendremos un identificador de desarrollador que será necesario cuando hagamos peticiones a los AWS. Para finalizar, la documentación del producto la podemos obtener desde la URL
    Amazon E-Commerce Service 4.0
    ; también se puede descargar un
    PDF del SDK


    Agregar la referencia a los AWS

    Creamos un proyecto web, y a continuación agregamos la referencia a los AWS como se muestra en la imagen 1:

    La lista de WSDLs disponibles es la siguiente:
    País SOAP WSDL
    Estados Unidos http://webservices.amazon.com/
    AWSECommerceService/AWSECommerceService.wsdl


    Gran Bretaña http://webservices.amazon.com/
    AWSECommerceService/UK/AWSECommerceService.wsdl


    Alemania http://webservices.amazon.com/
    AWSECommerceService/DE/AWSECommerceService.wsdl


    Japón http://webservices.amazon.com/
    AWSECommerceService/JP/AWSECommerceService.wsdl


    Francia http://webservices.amazon.com/
    AWSECommerceService/FR/AWSECommerceService.wsdl


    Canada http://webservices.amazon.com/
    AWSECommerceService/CA/AWSECommerceService.wsdl




    Para nuestro ejemplo vamos a elegir los AWS de Estados Unidos ; si os fijáis, el valor que pongamos en “Web Reference Name” será el nombre del espacio de nombres con el que hacemos referencia a los AWS (en el ejemplo hemos creado la referencia web como nombre Amazon.ECS (imagen2) ):

    Si vais al explorador de objetos de VS.NET, veréis que lo que hemos conseguido estableciendo la referencia web (a través del WSDL), es tener la definición de todos los objetos, métodos y propiedades que exponen los AWS.

    Nota: Los precios están en dólares USA, pero posiblemente nos sería más útil ver los precios en Euros; para ello propongo como ejercicio que tras leer el artículo busquéis un servicio web en UDDI que nos aporte métodos para conversión de monedas (si no queréis buscarlo aquí tenéis uno de los muchos que hay disponibles http://www.webservicex.net/CurrencyConvertor.asmx)

  •  
    Imagen 1


    Imagen 2

     
     
    Página 1 de 4: 1 2 3 4 
     
      Referencias.  
      :: Código del artículo

     
       
       
       Comentar el artículo.  
     
     
    Pon tú nombre, email y tu comentario.

    El comentario sera validado por el equipo de netveloper y posteriormente publicado así que no te molestes en dejar spam.  

     
    Por favor no pongáis preguntas o dudas aquí, para las dudas tenéis los FOROS, en la sección comentarios solo publicare comentarios al artículo, cualquier duda pregunta la ponéis en los FOROS.

      Nombre:
      
      E-mail:
      
      Comentario:
      

      

     
     


    Google

    Todos los contenidos de este Web son propiedad de sus respectivos autores, queda prohibida su copia o difusión sin la autorización expresa.

    ethek.com | canaljuegos.com | patatastraigo.com | altersem.com |