/  15
 
Desarrollo de Web Services con Software Libre
1
Web Services
Jennifer Pérez Benedí 
Departamento de Sistemas Informáticos y ComputaciónUniversidad Politécnica de ValenciaC/Camino de Vera s/nE-46071 Valencia- España jeperez@dsic.upv.es
1. ¿POR QUÉ WEB SERVICES?
Existen diversas razones por las que han surgido los Web Services y estánteniendo tanto éxito. Entre ellas está el hecho de que los sistemas de informaciónactuales son cada vez más complejos y está surgiendo una tendencia a la programaciónorientada a componentes y un abandono de la programación orientada a objetos. Laaproximación a la programación orientada a componentes de los Web Services hace quemuchas empresas opten por esta tecnología.Otra de las razones por las que han surgido los Web Services ha sido que lasaplicaciones y componentes desarrolladas utilizando un middleware, como DCOM,CORBA y Java RMI, tienen varias limitaciones. Se hizo un intento de superarlasmediante un modelo llamado
stateless programming
, pero no tuvo éxito porque estastecnologías son bastante pesadas y el restablecimiento de la conexión con un objetoremoto resulta muy costoso. Debido a esto, surge la necesidad de crear una nuevatecnología desde cero, los Web Services. A continuación se citan algunas de laslimitaciones que presentan middleware como DCOM, CORBA y Java RMI:-
 
Plantean problemas de seguridad, ya que para poder trabajar necesitan unpuerto abierto, no uno de los bien conocidos, sino uno de los que están librespor encima del 1024. Por ese motivo, estos middleware establecen y gestionansus políticas de seguridad (java.policy en Java RMI) de forma eficaz, haciendoque la comunicación de un cliente con un servidor a través de Internet tenganumerosas barreras que sobrepasar. Para ello, los administradores de red seencargan de implementar routers corporativos y firewalls
1
con el objetivo degarantizar su seguridad y no permitir una comunicación externa con Internet.Todo esto hace que los protocolos que usan DCOM, CORBA y Java RMI nosean adecuados para los escenarios Web.-
 
El hecho de que sus protocolos sean patentados y orientados a la conexión creavarios inconvenientes a la hora de utilizarlos en un escenario Web:
§
 
Las aplicaciones deben estar gestionadas e instaladas en un centro dedatos. 
1
 
Software que funciona en un servidor, generalmente conectado a un “router” que, a su vez, está conectado a una redexterna. La función del cortafuegos es proteger una Intranet evitando que entren en ella transmisiones de red nodeseadas
,
aplicando la filosofía de lo que no está permitido expresamente es negado.
 
Desarrollo de Web Services con Software Libre
2
§
 
Hacen muy difícil mantener una infraestructura balanceada en sucarga que permita lograr una alta escalabilidad, ya que cuando unaconexión entre un cliente y un servidor se rompe no se puedecambiar y enviar la siguiente petición a otro servidor.
§
 
No gestionan de una forma satisfactoria las interrupciones en laconexión. Este es un gran inconveniente porque Internet no está bajoel control del administrador de red y por lo tanto, no se puedeasegurar ni la calidad ni la fiabilidad de la conexión.Otro aspecto que ha propiciado esta tendencia hacia los Web Services es que lamayor parte del tráfico de Internet se limita a un conjunto de protocolos (http, ftp yalgunos de correo) de los que el más importante volumen de información es http (puerto80) junto con XML. La ventaja de los Web Services es que utilizan toda estainfraestructura ya establecida, sin la necesidad de inventar otra nueva.Además, XML es un lenguaje de marcado que esta siendo utilizado por lamayoría de empresas debido a sus ventajas. Entre todas ellas cabe destacar lacompartición de datos interna (entre departamentos) y externa (con otras empresas).Esta situación ha desencadenado un mayor interés por la integración, de datos medianteXML y de aplicaciones usando Web Services.A la hora de adoptar esta nueva tecnología se han de tener en cuenta lasnecesidades y el área de la empresa. En concreto, la tecnología Web Services estáorientada a aplicaciones de e-comerce, haciendo que la mayoría de Web Services seantransacciones business-to-business (B-to-B). Otra consideración a tener en cuenta es queadaptar todo el software desarrollado a esta tecnología resulta caro, a pesar de lareutilización de código y de utilizar Linux y herramientas de sofware libre. Por estosmotivos, es necesario tener en cuenta que cuanta mayor inversión se realice en la Web,más conveniente es utilizar Web Services. Esto no significa que no se puedan utilizarWeb Services en aplicaciones que no sean orientadas a la Web, aunque las principalesventajas que aporta frente a otras tecnologías son para el desarrollo y ejecución deescenarios Web.
2. WEB SERVICES
Un Web Service es un servicio que se ofrece mediante la web. Los Web Serviceslos utilizan normalmente las empresas de negocios con el fin de ofertar sus servicios através de la Web. Una compañía puede ser tanto proveedora como consumidora de WebServices.Un Web Service es una clase cuya interfaz se puede hacer pública en un servidorWeb mediante un lenguaje de descripción de interfaces (WSDL). Dicha interfaz ofreceun conjunto de actividades que un cliente puede invocar. El cliente accede al WebService usando los estándares de Internet.Para acceder a un Web Service se pueden utilizar varios protocolos Webestándar como HTTP GET o HTTP POST, aunque se ha diseñado un protocoloespecíficamente diseñado para ello: SOAP (Simple Object Access Protocol). Esteprotocolo se basa en la utilización de HTTP para el transporte de mensajes y el lenguaje
 
Desarrollo de Web Services con Software Libre
3XML para la escritura del cuerpo de estos mensajes. Todo esto permite a cualquieraplicación ser capaz de generar e interpretar mensajes en SOAP independientemente dela plataforma.La solicitud de un Servicio Web se realiza a una determinada URL utilizando elprotocolo SOAP. El servicio recibe la solicitud, la procesa y devuelve una respuesta.Para conocer la ubicación (URL) de un Web Service se accede a un directoriocentralizado utilizando protocolos como UDDI (Universal Description, Discovery, andIntegration) o DISCO.
2.1. CARACTERÍSTICAS
Las características de esta nueva tecnología son las que se citan en los siguientessubapartados.
-
Interoperabilidad
:
Los Servicios Web se pueden consumir por clientes de otrasplataformas.-
Acceso externo desde Internet:
Los Servicios Web realizan una buena gestión paralos accesos que provienen de clientes de Internet.
- Tipos de datos de las Interfaces:
Los tipo de datos definidos para los Servicios Webse corresponde con los tipos de datos definidos por la mayoría de lenguajes deprogramación.
- Uso de los estándares de Internet:
Los servicios Web utilizan los estándares deInternet y evitan, en la medida de lo posible, reinventar soluciones a problemas que yaestán resueltas.
- Soporte de cualquier lenguaje:
La implementación de un Servicio Web no estáligada a un particular lenguaje de programación. Esta es una gran ventaja frente a otrastecnologías como Java RMI, que está completamente ligada al uso de lenguaje Java,haciendo realmente difícil hacer una llamada a un objeto Java desde un objeto VisualBasic o Perl. De este modo, un cliente puede implementar o usar un Servicio Webindependientemente del lenguaje de programación en el que fue implementado.
- Soporte para cualquier infraestructura de componentes distribuidas:
LosServicios Web no están ligados a una arquitectura de componentes en particular. Losprotocolos facilitan a nivel base la comunicación entre las distintas infraestructuras deobjetos distribuidos. Por este motivo, únicamente es necesario preocuparse deldesarrollo y utilización de Servicios Web.
2.2. PROTOCOLOS Y LENGUAJES IMPLICADOS EN EL DESARROLLO DEWEB SERVICES
Los bloques necesarios para construir una aplicación remota entre dos aplicacionesson los que se muestran en la figura 1. El objetivo de cada uno de estos bloques sedetallan a continuación:
-
 
Discovery:
Permite al cliente conocer la ubicación de un Web Service.
-
 
Description:
Proporciona al cliente la información adecuada para que puedainteractuar con un Web Service. La descripción de un Servicio Web abarcadesde la estructura de metadatos de su interfaz (WSDL) hasta unadocumentación detallada sobre su funcionalidad, incluyendo ejemplos de uso.

Share & Embed

More from this user

Add a Comment

Characters: ...