• No results found

There is a slight problem here Namely, in a single-processor machine, how can a program be capable of doing more than

In document Java Rmi pdf (Page 186-188)

1.4.1. Definición

“Un servicio es un mecanismo que permite el acceso a una o más capacidades, donde se proporciona el acceso mediante un interfaz prescrito y se ejerce de conformidad con las limitaciones y las políticas como se especifica en la descripción del servicio”(N. Fernández, 2012). C. Reynoso & Kicillof (2004) menciona un concepto de servicio web que proporciona la W3C: es un software que permite la interacción entre diferentes máquinas conectadas por internet, posee una interfaz (WSDL) que se comunica con el cliente por medio de mensajes SOAP en formato XML, comúnmente transportados por medio del protocolo HTTP en conjunto con otros estándares de los servicios web.

Según Sommerville (2011), un servicio web es “una función ofrecida por una parte a otra. Aunque el proceso puede asociarse a un proceso físico, la función es esencialmente intangible y, por lo general, no da por resultado la propiedad de alguno de los factores de producción”.

28

Anaya Lopez (2011) menciona que los servicios web se describen así mismos como la lógica de negocio expuesto en la web como servicios por medio de interfaces y el uso de protocolos de internet, que pueden ser buscados, suscritos e invocados por otra aplicación.

Los servicios web son aplicaciones que están identificadas por un Uniform Resource Identiflier (URI) que tienen la capacidad de estar definidos, descritos, descubiertos e invocados mediante XML. Los servicios web interactúan en internet, intercambian información entre sí con el objetivo de ofrecer servicios, mediante la adopción de protocolos y estándares.

1.4.2. Estructura y características de los Servicios Web

Los servicios web proveen una funcionalidad a otros usuarios o a otros servicios, lo que determina servicios como Proveedores y servicios Consumidores, interactuando mediante mensajes. Gonzáles Quiroga (2011) menciona 3 elementos de los servicios:

• Contrato.- En el contrato se especifica la funcionalidad, propósito, restricciones y el modo de uso del mismo.

• Implementación.- La funcionalidad del servicio implementada bajo alguna tecnología • Interfaces.- Provee la forma de acceder a la funcionalidad de acuerdo al contrato. Estos componentes también forman parte de los elementos de una arquitectura orientada a servicios ya que los servicios lo son, y las características principales de los servicios web, según Aperador (2012) son las siguientes:

• Uso de estándares, para que los servicios web sean utilizados por sistemas heterogéneos existentes en la red es el empleo del protocolo de transferencia de datos HTTP utilizado por todos los navegadores web y XML.

• Basados en tecnologías de paso de mensajes, la interacción entre el cliente y el proveedor del servicio es empaquetada en unidades denominadas mensajes.

• Los servicios web presentan una funcionalidad de caja negra que puede ser reutilizada sin preocuparse de cómo es implementada y ello proporciona interfaces bien definidas. • Su contenido y funcionamientos es de fácil acceso.

• Permiten la composición de servicios más complejos mediante su combinación e integración

29

1.4.3. Especificaciones de los servicios web

Para Chase (2011) las especificaciones de los servicios web están clasificadas en dos grupos, Como se puede observar en la Figura 7:

• Especificaciones básicas:

o SOAP: Simple Object Access Protocol, detalla el formato de los mensajes y la

forma en que las aplicaciones utilizan el contenido del mensaje, como por ejemplo los elementos del header, body, lo que permite que el mensaje transite entre múltiples intermediarios hasta llegar a su destino.

o WSDL: Web Services Description Language, detalla una forma estándar de que

un servicio web basado en el protocolo SOAP pueda ser descrito, incluyendo la forma la forma de uso del mensaje, su ubicación, puertos, etc.

o UDDI: Universal Description, Discovery and Integration, permite una forma de

registrar los servicios web, es decir es como un directorio de servicios web en la cual se puede buscar los servicios que se desea utilizar.

• Especificaciones ampliadas

o WS-Security: Esta especificación provee de mecanismo de seguridad tales

como la autenticación, la autorización, el encriptado y el firmado digital, lo que permite la implementación de servicios web seguros, protegiendo la información.

o WS-Policy: Es una extensión de WS-Security, que permite detallar las

restricciones de uso del servicio web.

o WS-I: Proporciona un conjunto de estándares y prácticas para promoverla

interoperabilidad sobre cualquier plataforma basados en estándares XML.

o WS-BPEL: Es un lenguaje para la especificación de la composición de servicios

30 Figura 7. Especificaciones de los servicios web Fuente: (Arias & Fernández, 2009)

Elaboración: Autor

Los servicios web funcionan como aplicaciones independientes ya que se incluyen lógica de negocios, manejo de datos, procedimientos y políticas para la resolución de un problema específico. Los servicios web sirven de base para la implementación de SOA permitiendo la comunicación por medio de mensajes de diferentes sistemas independientemente del sistema operativo o lenguaje de programación utilizado. La comunicación entre los servicios web se basa en el estándar XML y mediante el protocolo SOAP.

Los servicios web hacen uso de una pila de estándares y especificaciones que permiten la interoperabilidad como: SOAP para el paso de mensajes, WSDL para la descripción de los servicios web, UDDI para el descubrimiento de los servicios web. Además como de otras especificaciones para la calidad y seguridad de los servicios web como: WS-Policy. WS-Security, WS-Addressing, etc. Especificaciones Básicas Especificaciones Ampliadas Integración Calidad del Serv icio Descubrimiento Descripción Mensaj ería Transporte

WS-BPEL, WS-CDL, WS-Cordination, WS-Transaction

WS-Security, WS-Reliable, WS-Policy, WS-Interoperability

UDDI

WSDL

SOAP, XML

31

1.4.4. Ventajas y desventajas de los Servicios Web

En la Tabla 4, se listan las ventajas y desventajas que ofrecen los servicios web tomado de Ordóñez León (2010):

Tabla 4. Ventajas y desventajas de los servicios web

VENTAJAS DESVENTAJAS

Estandarización, los servicios web se basan en especificaciones, protocolos y estándares para el intercambio de datos, mensajes, búsqueda y descripción.

Problemas en el desempeño, los cuellos de botella son típicamente código que podría perfeccionarse, una necesidad para más servidores, o una necesidad para una conexión a Internet más rápida.

Fácil implementación, se apoya en HTTP que es un protocolo universal para el acceso en la web. Además para el desarrollo de servicios web existen herramientas que permiten su fácil implementación.

Inseguridad, al apoyarse en HTTP, se saltan la seguridad basada en firewall que auditan la comunicación entre programas a ambos lados de la barrera.

Integración, los servicios web que se encuentren en diferentes lugares geográficos pueden ser integrados y combinados para crear nuevos servicios web.

Rendimiento, en comparación con otros modelos de computación distribuida su rendimiento es bajo.

Interoperabilidad, los servicios web permiten la interoperabilidad de distintos sistemas por medio de la comunicación de estándares abiertos como XML y HTTP. Además permiten la interoperabilidad de diversos servicios web implementados en diferentes plataformas o lenguajes de programación.

Interdependencia, el servicio web agregado depende de para su funcionamiento apropiado de los servicios de web más pequeños.

Accesibilidad, los servicios web son completamente accesibles a través de la red por cualquier tipo de dispositivo con internet.

Software como servicio, los servicios web pueden ser publicados y accedidos desde cualquier plataforma web sin importar el lugar donde se encuentre o en que lenguaje esté desarrollado, ya que es accedido por protocolos y estándares abiertos.

Fuente: (Ordóñez León, 2010) Elaboración: Autor

Los servicios web se pueden implementar siguiendo los principios de SOA, ya que permite mayor acoplamiento, mediante el establecimiento de un Contrato, a diferencia de los servicios web REST (Respresentational State Transfer) o RCP (Remote Procedure Call). La arquitectura orientada a servicios permite diseñar e implementar los procesos de negocios en forma de servicios, obteniendo una gran flexibilidad, resolviendo problemas de conectividad gracias a que permite la

32

reusabilidad y la independencia de plataformas. A continuación se procede a profundizar en la arquitectura orientada a servicios.

In document Java Rmi pdf (Page 186-188)

Outline

Related documents