Mario Saffirio

Tecnologías de Información y Gestión de Procesos de Negocios (BPM)

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

71 Respuestas a “¿Qué son los Web Services?

  1. Tomás Thoms H. 14/08/07 en 10:51 pm

    Felicitaciones por su post, está muy clara la explicación de este naciente fenómeno de la informática empresarial denominado Web Services.

  2. carlos 11/10/07 en 1:10 am

    Es uno de los mejores resúmenes que he leido.

  3. Azk 7/11/07 en 1:56 pm

    muy buena info thanx!

  4. isaac flores paz 16/02/08 en 10:52 pm

    esta muy buena la explicación, quisera saber que ventajas traería la implementacion de un web services en una universidad?

  5. msaffirio 20/02/08 en 9:33 am

    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.

  6. marc 23/04/08 en 6:38 am

    muy bueno el manual

  7. colquito 13/05/08 en 8:48 pm

    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…

  8. msaffirio 14/05/08 en 4:35 pm

    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

  9. DIANA 24/09/08 en 12:46 pm

    BUENO BUENO ESTE RESUMEN DE WEB SERVICES, QUISIERA TENER MAS INFORMACION EN MI CORREO…GRACIAS

  10. msaffirio 30/09/08 en 10:41 am

    Diana:

    Gracias por su amable comentario. En la dirección que adjunto encontrará un curso tutorial sobre los WEB Services, en el mismo lugar están disponibles varios cursos relacionados con las tecnologías de Internet.

    http://www.w3schools.com/webservices/default.asp

    Atentamente,

    M. Saffirio

  11. sarini 2/11/08 en 7:08 am

    muchas gracias por la expliacion, es la primera vez que entiendo que es un web service

  12. Jose 16/11/08 en 1:57 am

    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.

  13. Ricardo Buitrago Umaña 17/03/09 en 2:53 pm

    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.

  14. dario 10/07/09 en 11:35 am

    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…

    • msaffirio 16/07/09 en 8:39 am

      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.

  15. Oscar Flores 8/09/09 en 10:10 am

    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.

  16. Janeth Flórez 8/10/09 en 4:28 pm

    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.

  17. David Carballido 26/10/09 en 10:20 pm

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

  18. isaac Smith 3/03/10 en 1:48 am

    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

  19. Erick Aguilar 29/03/10 en 6:57 pm

    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

  20. Mauricio Maurelia 29/07/10 en 1:51 pm

    Excelente. Me quedo muy claro.

  21. Aldo 24/12/10 en 2:09 am

    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

  22. felipe 1/02/11 en 3:18 pm

    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 …

  23. Javit Adame 5/03/11 en 1:48 am

    Me gustaria saber como hago un request y como recibo la respuesta.

  24. bernardo 17/04/11 en 8:11 pm

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

  25. Gabriel 9/05/11 en 8:50 pm

    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.

  26. Edgar Ernesto 23/05/11 en 1:30 pm

    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

  27. Luis 30/05/11 en 10:27 pm

    que Opinan sobre la arquitectura REST….necesito opiniones sobre ese tema…

    • msaffirio 4/06/11 en 8:23 pm

      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.

  28. jenny 3/08/11 en 7:28 pm

    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

    • msaffirio 5/08/11 en 7:11 am

      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

  29. fsamh 30/08/11 en 8:30 pm

    gracias por compartir.

  30. victor 21/10/11 en 3:54 pm

    Muchas gracias por el resumen, realmente interesante.

  31. Magnanimus 4/11/11 en 2:23 pm

    Muy buen resumen.

  32. Diego Babativa 16/11/11 en 10:49 pm

    I like this. It´s a very important topic

  33. linuxeros 19/11/11 en 10:39 am

    Muy buena la explicación, me ayudó a saber a ciencia cierta lo que es un web services.

  34. Huseyin Topcu 19/12/11 en 1:34 pm

    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.

  35. Alexei Salazar 8/03/12 en 9:30 pm

    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.

  36. MarioLosada 27/03/12 en 1:52 pm

    Gracias por la Info, con esto claro ahora si a programar Web Services en Zend ;)

  37. Geovanny Ortiz 11/04/12 en 11:55 pm

    Mil gracias por la información tan clara

  38. lalo 21/05/12 en 12:51 am

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

  39. Gabriela Espinoza Huitrón 27/05/12 en 3:37 pm

    La información esta de lujo! Muchas Gracias al autor

  40. Leonardo 18/06/12 en 4:17 pm

    Muy claro la explicación, con un detalle apropiado para entender.

  41. ashura33 20/06/12 en 4:53 pm

    No mames te amo, que buena explicación, yo estaba levantando uno en el trabajo y no sabia que era lo que estaba haciendo jeje.

  42. Juan 13/07/12 en 8:42 am

    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 ??

  43. Cristhian 22/08/12 en 4:31 pm

    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.

  44.  Basilio QF (@Badchy) 23/08/12 en 11:58 pm

    muchas gracias, me aclara muchas dudas.

    en pocas lineas nos diste la pulpa de lainformación

  45. aurelio vázquez alejo 17/09/12 en 10:03 pm

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

  46. Luis 21/02/13 en 1:46 am

    Muy buena la explicacion, facil y sencilla de entender!!

  47. Edwin Gamboa 25/02/13 en 11:34 am

    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.

  48. Alejandra S 29/03/13 en 1:45 pm

    Muy buen post, todo muy bien explicado, felicidaes!

  49. Victor M.S. 21/05/13 en 6:58 pm

    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.

  50. Sebastian 8/06/13 en 12:15 am

    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.

  51. Arturo Guillen 12/06/13 en 6:13 pm

    Muy bueno post….. Felicitaciones, todo muy claro.

  52. rodrigo 18/07/13 en 2:12 pm

    tengo una pregunta como genero un xml apartir de una consulta sql en java

  53. Omar Parra 21/08/13 en 12:44 pm

    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

  54. Roger Ardon 7/11/13 en 2:48 am

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

  55. Joan 8/01/14 en 1:28 pm

    Gracias por el aporte! Estaba buscando una definición como esta. Saludos!

  56. Santos Vega A 27/02/14 en 8:44 pm

    gracias por su post!, excelente explicación

  57. luis 6/03/14 en 8:06 pm

    alert(“hola”);

  58. nic 18/03/14 en 11:25 am

    muy buenooooo!!!!!!

  59. eder 14/05/14 en 9:09 pm

    Excelente explicacion bro!!

  60. elmer 16/05/14 en 2:39 pm

    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.

  61. Maria 5/11/14 en 12:01 pm

    Concreto y completo. El mejor resumen que he visto sobre este tema. Muchas gracias.

  62. Pingback:RESTful Web Services

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 146 seguidores

A %d blogueros les gusta esto: