59. Qué son los servicios web




La Tecnología para todos show

Summary: Hoy te hablamos de una tecnología que utiliza un conjunto de protocolos y estándares facilitando el intercambio de información entre sistemas. Estos sistemas o aplicaciones pueden estar programados en diferentes lenguajes de programación y funcionando en diferentes sistemas operativos. Hoy hablaremos de qué son los servicios web. Y como siempre, recuerda que tenemos activa la encuesta para los oyentes. Cualquier duda nos la puedes hacer llegar a través del formulario de contacto, por Twitter y Facebook. Y si quieres estar al día de las novedades de nuestra web la lista de distribución te está esperando. Antes de meternos en materia te queremos comunicar de una noticia que ha salido a principios de diciembre. Swift, el lenguaje de programación de Apple, ha sido liberado por fin. Tras el anuncio en la keynote de principios de año, Apple a decidido compartir el código para la plataforma Linux. Swift es un lenguaje de propósito general, enfocado a desarrollar aplicaciones para móviles (iOS) y sobre mesa o portátiles (Mac OSX). Se puede considerar el homólogo de C# de Microsoft. Pero, ¿qué quiere decir esto? en principio esto supondría que no necesitamos tener un Mac para programar aplicaciones para los sistemas operativos de Apple. Es un gran adelanto debido a que hasta día de hoy, solo si tenías un Mac podías programar para sus plataformas. Veremos cuando está disponible para Windows, si algún día lo está, para poder desarrollar aplicaciones Apple en Windows. Si quieres saber más sobre este lenguaje puedes acceder a los siguientes enlaces: Web oficial Código fuente Repositorio GitHub Bueno pues comentada la noticia de esta semana, sigamos con el tema que nos lleva a este capítulo, los servicios web. Un poco de historia Los servicios web surgieron a principios de los años 90, gracias a la rápida evolución de Internet, de las LAN y las WAN. En la década de los 80 se crearon muchas aplicaciones con diferentes lenguajes de programación y en sistemas operativos distintos. Surgió la necesidad de intercambiar información entre dichos sistemas y gracias a esto, surgieron los servicios web dando solución a este problema. LAN (Local Area Network) red de área local, una red que abarca un área reducida como una oficina o una casa. WAN (Wide Area Network) red de área amplia, una red que engloba varias redes LAN y varias ubicaciones físicas. Si una LAN es una casa de un edificio, una WAN podría ser la red formada por todas esas redes LAN, el propio edificio. Los servicios web pretenden solucionar el problema de intercambio de información entre aplicaciones. Su nombre viene dado debido a que fueron diseñados para residir en un servidor web. La invocación de estos servicios suele ser a través de HTTP o HTTPS, es la forma más común, esto nos asegura que pueda ser llamado por cualquier aplicación que tenga un puerto HTTP/HTTPS abierto, vamos, casi cualquier máquina. En la actualidad se utiliza para multitud de aplicaciones como dispositivos móviles, webs, cloud computing, mantenimiento código heredado o legado, etc... ¿Qué es un servicio web? Podemos describir un servicio web de forma técnica como un componente de software que es accesible a través de la red. Engloba varias tecnologías aunque en sí mismo no podemos catalogarlo como una tecnología. Yo diría que es más bien un método o una forma de poder intercambiar información a través de protocolos y de estándares como, XML, HTTP, SOAP, REST y WSDL. Hablaremos más detenidamente de estos términos más adelante. Los servicios web nos permiten diseñar software modular, software dividido en módulos siendo más mantenible y manejable, y servicios distribuidos en diferentes máquinas conectadas en red. La clave de los servicios web es la interoperabilidad, el intercambio de información entre sistemas sin importar el sistema operativo, el dispositivo o el lenguaje de programación. Un servicio web tiene un funcionamiento parecido al de un sitio web. Si en la web tradicional la respuesta...