¿Qué son los servicios web?

sdr4x-surfing.jpgEl concepto de servicio web (Web Service) suele confundirse con el de "servicio interactivo", es decir, con "servicios que se prestan a través de una página web". Sin embargo, los servicios web son en realidad un paradigma de computación distribuida que consiste en un conjunto de protocolos de comunicación que permiten el intercambio de datos entre aplicaciones remotas.

Sin que seamos conscientes de ello, en Internet navegan dos tipos de entes muy distintos: las personas que visitan páginas web o acceden a servicios interactivos, y las aplicaciones distribuidas. En la web hay miles de programas que conversan entre sí, intercambiándose datos de forma automática, sin mediación humana. Usando servicios web, un programador puede implementar aplicaciones basándose en rutinas y datos proporcionados desde un servidor distante.

Así, por ejemplo, existen servidores que proporcionan rutinas que permiten conocer la previsión meteorológica de una localidad o las cotizaciones en bolsa de una empresa, etc. Esas rutinas pueden ser usadas, por ejemplo, para simplemente mostrar información en una página web, o pueden ser usadas como los datos de entrada en un programa de predicción o de ayuda a la toma de decisiones. Si el acceso a dichas rutinas y a los datos que generan se hace usando ciertos protocolos estandarizados, entonces es cuando hablamos de servicio web.

Una ventaja importante de los servicios web es que son multiplataforma, es decir, son independientes tanto de la arquitectura (pueden comunicar ordenadores, PDAs, teléfonos móviles, estaciones de trabajo, etc) como del Sistema Operativo y el lenguaje de programación que se use, ya que se basan en XML como estándar para el intercambio de datos, por lo que a veces también se les llama servicios web XML.

Los servicios web ofrecen un medio de intercambio de datos entre distintos dispositivos, lo cual los hace interesantes para dar soporte a multitud de aplicaciones distribuidas, como son las relacionadas con la telemonitorización, teleasistencia o, en general, con la telemedicina. Además, los servicios web pueden combinarse con el uso de agentes , de forma que se puede dotar de cierta inteligencia a nuestras aplicaciones para que, por ejemplo, permitir la monitorización inteligente de un paciente, la toma automática de decisiones en situaciones de alarma, etc. Pero esto es otra historia …

Comparte o imprime artículo:Estos Áconos enlazan con webs de marcadores sociales que permiten a los lectores compartir y descubrir nuevas webs.
  • Blog Memes
  • del.icio.us
  • digg
  • fresqui
  • meneame
  • neodiario
  • YahooMyWeb
  • Enviar esta entrada por E-Mail
  • Imprimir esta entrada

Tags: , , , , ,

4 Comentarios a “¿Qué son los servicios web?”

  1. ana karina barrancas dice:

    no saben ni lo q ponen en esa vergar nojoda aprendan a poner bien las cosas ponen unas cosa q no tienen sentido chao aprendan

  2. EDUIN dice:

    NO SE ENTIENDE NADA

  3. Jose Luis Bernier Villamor dice:

    Voy a tratar de ser más claro, aunque con comentarios tan escuetos no entiendo muy bien a qué se refieren exactamente:

    En primer lugar, este blog se centra en el uso de Nuevas Tecnologías en el ámbito de la Sanidad, no trata de Medicina ni de Sanidad propiamente dichas. El artículo está escrito desde esa perspectiva, es decir, desde la de qué pueden aportar los servicios web a la eMedicina, eSalud, etc. El problema es que al hablar de servicio web, a la mayor parte de las personas les viene a la mente "página web" y, antes de profundizar, deseaba aclarar este concepto.

    Trataré de ser más divulgativo para explicar qué es un servicio web (web service):

    Cuando se hace un programa de ordenador, el programa se divide en varias partes que se denominan módulos o subrutinas. Port ejemplo, en un programa que implemente una calculadora, cada una de las funciones matemáticas (seno, coseno, potencia, etc) sería un módulo distinto. Hasta hace pocos años, todas esas partes se debían encontrar en el mismo ordenador para poder ejecutar dicho programa. Sin embargo, hoy día es posible construir programas cuyas rutinas se encuentran repartidas entre distintos ordenadores (programación distribuida) conectados entre sí mediante una red específica (por ejemplo una intranet) o mediante Internet, etc.

    Los servicios web (webservices) están relacionados con la programación distribuida y consisten en módulos de programas a los que se puede acceder a través de Internet. Los webservices utilizan una serie de estándares de comunicación que permite que los programadores sepan cómo usarlos desde sus programas, y esos estándares son similares a los que usan las páginas web, de ahí que se les llame "servicios web". Pero, en general, un servicio web no tiene nada que ver con una "aplicación a través de páginas web".

    Mucha gente habrá oído hablar de la tecnología .NET (Microsoft .NET, Visual .NET, ASP .NET, J2EE, etc). Pues bien, esta tecnología se basa en servicios web. Los programadores cuentan con entornos de programación (como J2EE o Visual Studio .NET) para fabricar servicios web y programas distribuidos. Además, como caso particular, con esos entornos se pueden realizar programas convencionales, no distribuidos, pero en este caso no están aprovechando los recursos que les ofrece esta tecnología y ese entorno de programación.

    Por ejemplo, yo puedo hacer un programa que realice una predicción bursátil a partir de los datos del IBEX35. Los datos del IBEX35 los obtiene en tiempo real mi programa de una subrutina alojada en un servidor que puede estar en la Bolsa de Madrid. Es más, incluso puedo usar una rutina de predicción de series temporales que hay en una universidad de París: mi programa, lo unico que hace es combinar la subrutina de París con la de Madrid, para obtener el resultado de la predicción, pero yo no necesito programar ninguna de las dos, sólo usarlas, y para ello no necesito para nada ni un navegador ni ninguna página web. Es más, la funcionalidad de este programa podría ofrecerla a mi vez como un servicio web, o sea, una subrutina que podría ser usado por el ordenador de una entidad financiera para realizar inversiones a partir de mis predicciones.

    El interés que tienen los servicios web para la Medicina es trivial, cada institución hospitalaria puede compartir sus datos usando un mecanismo estándar, muy conocido y fiable, que son los servicios web. No hace falta centralizar estos datos en un único ordenador. El acceso a esos datos por parte de las aplicaciones que desarrollen los investigadores permitiría trabajar con un banco de datos enorme para probar diversas rutinas de diagnóstico precoz, reconocimiento, etc. Otro ejemplo son los sistemas basados en inteligencia ambiental, que tratan de monitorizar a los pacientes mediante sensores colocados en su ropa, casa, vehículos, etc: los servicios web proporcionan la forma en que esos sensores pueden comunicarse entre sí con los ordenadores que supervisarán esas señales y activarán las alertas precisas llegado el caso.Los servicios web son independientes de la plataforma hardware, del sistema operativo y del lenguaje en el que están programados, por lo que es una forma versátil y consistente de interconectar máquinas heterogéneas (por ejemplo, distintos tipos de sensores o máquinas hospitalarias con ordenadores), aplicaciones informáticas diversas (escritas en distintos lenguajes de programación, para distintos sistemas operativos, con distintos tipos de bases de datos), etc.

    Es un campo de aplicación enorme, pero asusta ver que a estas alturas hay gente que aún se plantea abordar este tipo de tareas sin usar servicios web, tratando de reinventar artesanalmente y de forma muy limitada lo que ya está resuelto, lo que además impedirá su uso generalizado ya que no se basa en estándares.

  4. Patricio dice:

    Me parece bastante interante todo lo expuesto.

Comentar

This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

Debes leer y teclear los 5 caracteres entre 0..9 y A..F, y enviar la respuesta.

  

No puedo leer esto. Por favor, generar un