Un servicio web permite el intercambio de datos entre aplicaciones desarrolladas con diferentes lenguajes de programación y plataformas mediante el uso de estándares abiertos como XML, SOAP, WSDL y HTTP. Los servicios web describen sus interfaces y cómo interactuar mediante archivos WSDL, se comunican utilizando el protocolo SOAP a través de HTTP, y pueden publicarse en directorios UDDI para su descubrimiento.
2. Un servicio web en inglés significa Web Service o Web services es una tecnología que utiliza un conjunto de
protocolos y estándares que intercambian datos entre aplicaciones existen diferentes aplicaciones de
software desarrolladas en lenguajes de programación distinta, y ejecutadas con cualquier
plataforma, pueden utilizar servicios web para intercambiar datos en redes de ordenadores como Internet.
El intercambio de datos se consigue mediante la adopción de estándares abiertos. Las organizaciones
OASIS y W3C son comités responsables de la arquitectura y reglamentación de los servicios Web.
Para mejorar el intercambio entre distintas implementaciones de servicios Web se ha creado el organismo
WS-I, que se encarga de desarrollar diversos perfiles para definir de manera más exhaustiva estos
estándares
3. Estándares empleados
• Web Services ProtocolStack : Se llama al conjunto de servicios y protocolos de los servicios Web.
•XML (Extensible MarkupLanguage): Es el formato estándar para los datos que se van a intercambiar.
•SOAP (Simple Object Access Protocol) : Protocolo en el que se establece el intercambio.
•HTTP (Hypertext Transfer Protocol):También pueden enviarse de una aplicación a otra mediante protocolos normales.
•WSDL (Web Services DescriptionLanguage): Es el lenguaje de la interfaz pública para los servicios Web. Es una
descripción que se basa en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios
Web.
•UDDI (Universal Description, Discovery and Integration): Este es un Protocolo para publicar la información de los
servicios Web que permite comprobar qué servicios web esten disponibles.
•WS-Security (Web Service Security): Protocolo de seguridad fue aceptado como estándar por OASIS . Garantiza
la autenticación de los actores y la confidencialidad de los mensajes enviados.
4. Un Web Service puede ser registrado para poder dejarlo a disposición de otros usuarios y para que
los mismos puedan localizarlo. Un mecanismo para registrar estos servicios es por medio de
UDDI, sigla que corresponde a Universal Description , Discovery and Integration, un “repositorio
de Web Services”. Para registrar un servicio tendrás que tener en cuenta que debes suministrar la
información de tu empresa, en qué categorías ubicarías tu servicio y la interfaz a utilizar para
consumir este servicio.
El mecanismo utilizado por un Web Service para especificar de qué forma hay que proporcionarle
los datos, de manera tal que cualquiera pueda interaccionar con el mismo, es por medio de lenguaje
XML. Esta información se almacena en un archivo llamado WSDL (Web Services Description
Language), el cual contiene un documento XML junto con la descripción de ciertos mensajes SOAP
y cómo deben intercambiarse, así como también dónde está el recurso del servicio y con qué protocolo
debe dialogar quien lo consume.
El protocolo de comunicación utilizado es el SOAP generalmente, el cual es relativamente sencillo
de utilizar.
Los Web Services utilizan protocolos comúnmente conocidos y difundidos tales como el formato
XML, TCP/IP como protocolo de transporte y HTTP como protocolo de transferencia de hipertexto.
5. Ventajas de los servicios web
Aportan el intercambio de datos entre aplicaciones de software aparte de sus propiedades o de las
plataformas sobre las que se instalan.
Los servicios Web impulsan los estándares y protocolos basados en texto, lo hacen más fácil al acceder
a su contenido y comprender su funcionamiento.
Permiten que algunos servicios y programas de diferentes compañías ubicadas en distintos lugares
geográficos puedan ser combinados fácilmente para proporcionar servicios integrados.
6. •Para poder realizar transacciones no se puede compararse en su grado de desarrollo con los estándares
abiertos de computación distribuida como CORBA.
•El rendimiento es bajo si se compara con otros modelos de computación distribuida, como RMI
(RemoteMethodInvocation), CORBA o DCOM (DistributedComponentObjectModel) es uno de los
inconvenientes de adoptar un formato basado en texto.
•En HTTP se puede desviar medidas de seguridad basadas en firewall y las reglas se tratan de
bloquear o auditar la comunicación entre programas a ambos lados de la barrera.
7. Una de las principales razones para usar servicios Web es que se pueden utilizar con
HTTP en TCP (Transmission Control Protocol) en el puerto 80. Ya que las
organizaciones protegen sus redes mediante firewalls que filtran y bloquean mucha
parte del tráfico de Internet este cierran casi todos los puertos TCP salvo el 80 este
precisamente usan los navegadores.
8. Estos son unos Servidores de aplicaciones para servicios Web:
JBoss : servidor de aplicaciones
Oracle Fusion Middleware
IBM Lotus : Este domino a partir de la versión 7.0
Axis y Jakarta Tomcat (de Apache)
ColdFusion MX de Macromedia
Java Web Services Development Pack
JOnAS ( es parte de ObjectWeb una iniciativa de código abierto)
Microsoft .NET
Novell exteNd ( es basado en la plataforma J2EE)
WebLogic
WebSphere
JAX-WS con GlassFish
Zope : servidor de aplicaciones Web que se orienta a objetos desarrollado en el lenguaje de
programación Python
PHP
9. Las especificaciones que definen los servicios web son intencionalmente modulares y
esto resulta en que no hay ni un sólo documento que las contenga a todas ellas.
Tampoco no hay ni un solo conjunto estable de especificaciones.
SOAP, WSDL, UDDI, WS-Security, WS-ReliableMessaging, WSReliability, WS-Addressing
10. Todo Servicio Web ha de implementarse mediante una clase derivada de la clase Web
Service, que pertenece al namespace System.Web.Services Ninguno de los métodos de esta
clase, ya sean privados, protegidos o públicos será accesible para un cliente o consumidor del
servicio. Si se desea que un método sea accesible desde un cliente, debe ser definido con el
atributo [WebMethod].
Al igual que los WebForms, un Web Service o servicio Web se compone de dos ficheros (los
más importantes, aunque realmente son más): -Un fichero con extensión .asmx: equivale al
fichero .aspxde las páginas ASP.NET (WebForms). Es la página quese pedirá desde el
navegador del cliente para acceder al servicio. -Un fichero .cs: Contiene el código del servicio
(equivale al .csde las páginas ASP.NET).