¿Qué son los Web Services?

Por qué los Web Services son hoy tan importantes

     Hagamos un poco de historia. En los primeros computadores corría un solo programa a la vez, pero en la medida que en un mismo computador podían correr varios programas al mismo tiempo, surgió la necesidad de contar con mecanismo de comunicación entre ellos, esto se llamó comunicación Task to Task y, este mecanismo a evolucionado debido que los computadores conforman redes. Por tanto, esta comunicación debe poder efectuarse entre un programa X, que corre en el computador Alfa, y otro programa Y, que corre en el computador Beta.
     Para que esta comunicación funcione, primero debe existir un medio de comunicación entre el computador Alfa y el computador Beta; esto hoy esta resuelto con la Internet. Y segundo, el programa X debe saber conversar con el programa X. Para que esto ocurra el programador a cargo de X debe conocer de Y. A su vez el programador a cargo de Y  debe conocer de X, por lo menos en los que se refiere al intercambio de datos. Esto hace que si no hay acuerdo entre el programador de X y el programador de Y, no hay comunicación posible.
     La magia de los Web Services está en que el programador de X puede crear un Web Service para transferir datos sin necesidad de conocer al programador Y, ni a los programas que éste tiene a cargo.  De modo que quien quiera recibir los datos solo necesita usar el Web Service y punto. Esto significa que pueden existir transferencias de datos entre distintas aplicaciones –programas- que funcionan en varios computadores, con distintos sistemas operativos, y que pertenezcan a diferentes empresas o instituciones.
     A modo de ejemplo, si Ud. Ha despachado un material vía Federal Express y quiere conocer el estado de su despacho, esta empresa pone a su disposición un Web Service.
 

Definiciones
     El término Web Services describe una forma estandarizada de integrar aplicaciones WEB mediante el uso de XML, SOAP, WSDL y UDDI sobre los protocolos de la Internet. XML es usado para describir los datos, SOAP se ocupa para la transferencia de los datos, WSDL se emplea para describir los servicios disponibles y UDDI se ocupa para conocer cuales son los servicios disponibles. Uno de los usos principales es permitir la comunicación entre las empresas y entre las empresas y sus clientes. Los Web Services permiten a las organizaciones intercambiar datos sin necesidad de conocer los detalles de sus respectivos Sistemas de Información.
     A diferencia de los modelos Cliente/Servidor, tales como un servidor de paginas Web, los Web Services no proveen al usuario una interfaz gráfica (GUI). En vez de ello, los Web Services comparten la lógica del negocio, los datos y los procesos, por medio de una interfaz de programas a través de la red. Es decir conectan programas, por tanto son programas que no interactúan directamente con los usuarios. Los desarrolladores pueden por consiguiente agregar a los Web Services la interfaz para usuarios, por ejemplo mediante una pagina Web o un programa ejecutable, tal de entregarle a los usuarios un funcionalidad específica que provee un determinado Web Service.
     Los Web Services permiten a distintas aplicaciones, de diferentes orígenes, comunicarse entre ellos sin necesidad de escribir programas costosos, esto porque la comunicación se hace con XML. Los Web Services no están ligados a ningún Sistema Operativo o Lenguaje de Programación. Por ejemplo, un programa escrito en Java puede conversar con otro escrito en Pearl; Aplicaciones Windows puede conversar con aplicaciones Unix. Por otra parte los Web Services no necesitan usar browsers (Explorer) ni el lenguaje de especificación HTML.
     El modelo de computación distribuida de los Web Services permite la comunicación de aplicación a aplicación. Por ejemplo, la aplicación que procesa las órdenes de compra se puede comunicar con el sistema de inventarios, tal que este último le puede informar a la aplicación de compras cuales ítems deben comprarse por estar bajo su nivel mínimo. Dado el nivel integración que proveen para las aplicaciones, Los Web Services han crecido en popularidad y han comenzado a mejorar los procesos de negocios. De hecho, algunos postulan que los Web Services están generando la próxima evolución de la Web.
 

Tecnología Web Services
Los Web Services están  construidos con varias tecnologías que trabajan conjuntamente con los estándares que están emergiendo para asegurar la seguridad y operatibilidad, de modo de hacer realidad que el uso combinado de varios Web Services, independiente de la o las empresas que los proveen, este garantizado. A continuación se describen brevemente los estándares que están ocupando los Web Services.
 

XML
Abreviación de Extensible Markup Language. El XML es una especificación desarrollada por W3C[1]. Permite a los desarrolladores crear sus propios tags[2], que les permiten habilitar definiciones, transmiciones, validaciones, e interpretación de los datos entre aplicaciones y entre organizaciones.
 

SOAP
Abreviación de Simple Object Access Protocol , es un protocolo de mensajería construido en XML que se usa para codificar información de los requerimientos de los Web Services y para responder los mensajes “antes��? de enviarlos por la red. Los mensajes SOAP son independientes de los sistemas operativos y pueden ser transportados por los protocolos que funcionan en la Internet, como ser: SMTP, MIME y HTTP.
 

WSDL
Abreviación de Web Services Description Language, es un lenguaje especificado en XML que se ocupa para definir los Web Service como colecciones de punto de comunicación capaces de intercambiar mensajes. El WSDL es parte integral de UDDI y parte del registro global de XML, en otras palabras es un estándar de uso público (no se requiere pagar licencias ni royalties para usarlo).
 

UDDI
Abreviación de Universal Description, Discovery and Integration. Es un directorio distribuido que opera en la Web  que permite a las empresas publicar sus Web Services, para que otras empresas conozcan y utilicen los Web Services que publican, opera de manera análoga a las páginas amarillas.
 


     
[1] Abreviación de World Wide Web Consortium, es un consorcio de empresar involucradas con la Internet y la Web. La W3C fue fundada en 1994 por Tim Berners-Lee, el arquitecto de la World Wide Web. Los fines de esta organización son los desarrollos de estándares abiertos (que los pueda usar todo el mundo) de modo que la Web evolucione coherentemente.
[2] Es un comando que vá insertado en un documento, cuyo fin es especificar como el documento o parte del documento debe ser formateado o interpretado.

90 comentarios en «¿Qué son los Web Services?»

  1. Isaac:

    Las ventajas de los WEb Services se obtienen cuando es necesario disponer de información de muchos sistemas diferentes. Por tanto para poder establecer la utilidad de los WEB Services primero es necesario conocer si existen proyectos de desarrollo o implementación de sistemas que requeriran información externa, es decir de otros sistemas, por ejemplo: validación de RUT o Social Secury Number, información sobre un despacho (UPS, Federal Express), etc.

    En otra palabras al generar la definición del alcance funcional de un sistema, si surgen necesidades de información externa, tenemos una indicación para explorar si efectivamente los WEB Services pueden ser útiles.

    Atentamente,

    M. Saffirio.

    1. buenas tardes quisiera saber como implementar una web services tendrás alguna ruta para poder conocer mas te agradecería y por lo de la información alcanzada hasta el momento muy buena.

  2. Osea que por ejemplo un webservice seria algo mas rudimentariamente hablando por ejemplo una pag en php que esta alojado en un servidor remoto ,que devuelva datos en xml a una aplicacion de adobe air???
    O acaso entendi mal…

  3. Me parece que la analogía que incluyes solamente señala un mecanismo de comunicación entre dos programas, efectivamente los WEB Services tienen esta capacidad pero, varias más. Por otra parte para comprender los WEB Services es necesario conocer respecto a los mecanismos de comunicación entre procesos y entre programas (sistemas) y también de XML.

    Atentamente,

    M. Saffirio

  4. el mejor resumen que he leido!
    gracias por el enlace y tambien por el resumen.
    a ver si entendi:
    si yo quisiera que mi aplicacion de escritorio lo use mi amigo(a) en tokyo debo hacer un web service y comointerfaz un sitio web?

    gracias otra vez.

  5. Que informe o resumen tan bien explicado y tan bueno, mejor dicho es excelente. No conocía esta tecnología y me parece genial. Muchas gracias y que tengas un excelente día.

  6. Muy bueno el articulo muy bien explicado y muy claro

    Si tienes alguna información de la seguridad y como implementarla en esta tecnología te agradezco me envíes información a mi mail. dario.barra@gmail.com

    muchas gracias…

    1. Dario:

      Por ahora no tengo nada significativo en cuanto a la seguridad de los WEB Services pero, es algo que tengo pendiente desarrollar. Saludos,

      M. Saffirio.

  7. Excelente explicacion, es primera vez que leo sobre este tema, y entendi perfectamente, gracias estoy haciendo mi trabajo de grado con esta nueva herramienta y necesito informacion clara como esta.

  8. Hola, no tengo mucho conocimiento en programación pero entiendo mucho de esto. Me gustaría saber cómo crear un webservice sencillo y así empezar a hacer otros que me permitan entender muy bien este servicio tan maravillo.
    De antemano, agradezco su atención.

  9. Ya entendi xD!, gracias x el tiempo para aclararnos con terminos sencillos el concepto de WS

  10. Hola.

    Quisiera saber si tenes un ejemplo simple de un web service realizado en C# y que debo hacer para hacer uno pequeño para plasmar tu explicacion

  11. Excelente explicacion!!! …. no tenia un concepto muy claro de la relacion que debe existir para lograr un buen uso de web services; pero con tu post me quedo mas que claro!!… Muchas Gracias y saludos

  12. muy buen aporte, con esto me queda claro lo que es web services y ahora ya puedo ahondar mas en el tema con las ideas basicas claras

  13. ta bueno el resumen, tengo una consulta,
    como puedo hacer una xml pero cuando lo hago con una query, esto deberia darme una serie de resultados pero como lo hago eso.
    gracias …

  14. muy buena explicacion clarifiCa todo salvaste a mis compañeros con lenguage muy claro un saludo

  15. Hola Mario
    estoy en la direccion de proyectos de una empresa que se dedica a la integracion de tecnologias RFID, actualmente se ha presentado la necesidad de utilizar web services para algunos desarrollos.
    Quisiera cononcer mas a detalle tu trabajo, comprender si puedes orientarnos o inclusive apoyarnos en aplicaciones que lo requieran.

    Espero tus comentarios
    Gracias.

  16. sus explicaciones son muy puntuales, gracias por los datos, si es que tiene mas informacion agrdeceria colgase la info en la pagina. Muchas gracias El GuILle

    1. Luis:

      Entiendo que REST es un arquitectura para construir sistemas de hipermedia distribuidos, a parte de esta idea general no he tenido contacto en mi trabajo profesional con ella.

      Atentamente,

      M. Saffirio.

  17. esta muy interesante tu informacion pero como seria implementarlo la en un SISTEMA DE CONTROL DE ASISTENCIA DEL PERSONAL APLICANDO LA TECNOLOGÍA WEB SERVICES

    1. Para utilizar WEB Services en un sistema o aplicacin, es necesario contar con una definicin exacta del requerimiento, para que a partir de este un especialista en el tema procedan a su construccin. Para el caso del control de asistencia, es claro que tiene que existir una comunicacin entre el sistema de relojes y control de acceso con el sistema de Recursos Humanos. Y, es entre ellos que la comunicacin se puede hacer con WEB Services, por ejemplo: el sistema de relojes disponibiliza los WEB Services para que los consuma el sistema de Recursos Humanos.

      Atentamente,

      M. Saffirio

  18. buenas, estoy intentando integrar un protócolo de web services de un mayorista de productos a una página web, es decir, que en nuestra página web, podamos ver la disponibilidad y las características del producto y otros productos que estén disponibles. Por lo tanto, no llego entender por dónde empezar. Ya tengo en mi poder el protócolo de integración con el contenido de ficheros .xml y .dtd. Pido por favor que alguien me indique por dónde empezar. Tengo instalado el eclipse. Necesito instalar a través de eclipse el plugin de oracle soap, por ejemplo? Gracias de antemano.

  19. Quisiera saber porque con Web Service puedo ver un vcr , pero a la hora de ver las camaras solo se ve un cuadrado en blanco sin video?

    Gracias por estos comentarios.

  20. Muy buen post pero me gustaria saber como un desarrollador, que puede y sabe que mostrar en el programa en un webservice? gracias

  21. jenny
    3/08/11 a las 7:28 pm

    Cual seria el requerimiento(s) exacto para lo que planteas sobre sistema de control de asistencia ??

  22. No tenia ni idea de esto, pero con solo leer tu explicacion me quedo claro, me parece muy agradable las explicaciones que das con ejemplos y palabras que podemos entender facilmente y se aplican al dia dia.

  23. Por favor podrían mensionar algunos ejemplos y casos de éxtio, ya que aun tengo algunas dudas sobre su uso.

  24. Excelente aporte, muchas gracias, tú articulo me rsulto muy util y sencillo de comprender, un abuenaa forma de iniciarse en este tema. Gracias de nuevo.

  25. En realidad, bien claro con respecto al concepto de WebServices. ya que recien estoy investigando este tema.

    La idea es implementar una web service, por lo que empezare a busear en la Web. Gracias por la buena informacion que compartes.

  26. Excelente Don Mario, hace algun tiempo que estoy siguiendo el tema de web services y habiendo leído en varios sitios información pero su explicación es la que mas describe y aclara el tema. Muchas Gracias.

  27. Estimado los felicito por esta información, espero me puedan ayudar con esta duda que tengo al usar un web service
    La URL para consumir el WS es
    Cabe aclarar que en el consumidor del Web Service se debe cambiar para usar esta IP ya que el WSDL contiene una IP privada. QUE TRATA DE DECIR CON ESTO POR FAVOR AYUDENME URG

  28. Excelente, super detallada la explicacion sobre la funcionalidad de web services…… gracias por el aporte

  29. Hola, excelente la explicación, tengo una consulta: tendrás información de como llevar esto a sector salud, osea estoy trabajando en desarrollar un sistema web que se pueda comunicar con los software de escritorio mediante interoperabilidad de envío y recepción de datos como sus informes.

  30. Después de buscar información, me encuentro con este excelente resumen, muy claro y simple de comprender.
    Gracias por compartir el conocimiento.
    Saludos.

  31. Buenas, me gustaria saber que tipo de seguridad se puede implementar al utilizar un webservices.

  32. Buenas días, es posible crear una Web service para tener un cotizador de motocicletas disponible para los vendedores? necesitamos guardar los datos de contactos y ventas para analizar eficiencias.

    1. Edwin:
      Siempre es posible generar un WEB Service si se tiene claridad sobre cual será su función. Específicamente para tu necesidad lo primero que debes hacer es tener identificada cada una de las funciones que necesitas para tus vendedores, esta es la denominada Definición del Alcance Funcional. Una vez que hayas completado ésta, te recomiendo contactar un consultor para que evalúe tu necesidad en términos de factibilidad técnica, plazos y costos. Y, muy importante que te presente alternativas de software ya existente.

      Atentamente,

      M. Saffirio

  33. Muchas gracias, me fue muy útil esta información para explicar los WEB Services a estudiantes.

Responder a rodrigoCancelar respuesta