unidad 6 servicios web

Upload: edwarchm

Post on 04-Mar-2016

6 views

Category:

Documents


0 download

DESCRIPTION

.

TRANSCRIPT

Unidad 6 Servicios Web

6.1 conceptos generales de Servicios Web

Un servicio web (en ingls, Web services) es una tecnologa que utiliza un conjunto de protocolos y estndares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programacin diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de computadoras como Internet. La interoperabilidad se consigue mediante la adopcin de estndares abiertos. Las organizaciones OASIS y W3C son los comits responsables de la arquitectura y reglamentacin de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera ms exhaustiva estos estndares. Es una mquina que atiende las peticiones de los clientes web y les enva los recursos solicitados.Ventajas de los servicios web

Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen.Los servicios Web fomentan los estndares y protocolos basados en texto, que hacen ms fcil acceder a su contenido y entender su funcionamiento.Permiten que servicios y software de diferentes compaas ubicadas en diferentes lugares geogrficos puedan ser combinados fcilmente para proveer servicios integradosInconvenientes de los servicios Web

Para realizar transacciones no pueden compararse en su grado de desarrollo con los estndares abiertos de computacin distribuida como CORBA (Common Object Request Broker Architecture).Su rendimiento es bajo si se compara con otros modelos de computacin distribuida, tales como RMI (Remote Method Invocation), CORBA o DCOM (Distributed Component Object Model). Es uno de los inconvenientes derivados de adoptar un formato basado en texto. Y es que entre los objetivos de XML no se encuentra la concisin ni la eficacia de procesamiento.Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear o auditar la comunicacin entre programas a ambos lados de la barrera.

Razones para crear servicios Web

La principal razn para usar servicios Web es que se pueden utilizar con HTTP sobre TCP (Transmission Control Protocol) en el puerto 80. Dado que las organizaciones protegen sus redes mediante firewalls -que filtran y bloquean gran parte del trfico de Internet-, cierran casi todos los puertos TCP salvo el 80, que es, precisamente, el que usan los navegadores. Los servicios Web utilizan este puerto, por la simple razn de que no resultan bloqueados. Es importante sealar que los servicios web se pueden utilizar sobre cualquier protocolo, sin embargo, TCP es el ms comn.Otra razn es que, antes de que existiera SOAP, no haba buenas interfaces para acceder a las funcionalidades de otros ordenadores en red. Las que haba eran ad hoc y poco conocidas, tales como EDI (Electronic Data Interchange), RPC (Remote Procedure Call), u otras APIs.Una tercera razn por la que los servicios Web son muy prcticos es que pueden aportar gran independencia entre la aplicacin que usa el servicio Web y el propio servicio. De esta forma, los cambios a lo largo del tiempo en uno no deben afectar al otro. Esta flexibilidad ser cada vez ms importante, dado que la tendencia a construir grandes aplicaciones a partir de componentes distribuidos ms pequeos es cada da ms utilizada.Se espera que para los prximos aos mejoren la calidad y cantidad de servicios ofrecidos basados en los nuevos estndares.Plataformas

Servidores de aplicaciones para servicios Web: Oracle Fusion Middleware Axis y el servidor Jakarta Tomcat (de Apache) ColdFusion MX de [[Macromedia]httpd ] Java Web Services Development Pack (JWSDP) de Sun Microsystems (basado en Jakarta Tomcat) JOnAS (parte de ObjectWeb una iniciativa de cdigo abierto) Microsoft .NET Novell exteNd (basado en la plataforma J2EE) WebLogic WebSphere JAX-WS con GlassFish Zope es un servidor de aplicaciones Web orientado a objetos desarrollado en el lenguaje de programacin Python VERASTREAM de AttachmateWRQ para modernizar o integrar aplicaciones host IBM y VT PHP6.2 Estandares Servicios Web

Web Services Protocol Stack: As se denomina al conjunto de servicios y protocolos de los servicios Web.XML (Extensible Markup Language):Es el formato estndar para los datos que se vayan a intercambiar.SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call):Protocolos sobre los que se establece el intercambio.Otros protocolos: los datos en XML tambin pueden enviarse de una aplicacin a otra mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol).WSDL (Web Services Description Language):Es el lenguaje de la interfaz pblica para los servicios Web. Es una descripcin basada en XML de los requisitos funcionales necesarios para establecer una comunicacin con los servicios Web.UDDI (Universal Description, Discovery and Integration):Protocolo para publicar la informacin de los servicios Web. Permite comprobar qu servicios web estn disponibles.WS-Security (Web Service Security):Protocolo de seguridad aceptado como estndar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticacin de los actores y la confidencialidad de los mensajes enviados.6.3 Seguridad e interoperabilidad Servicios Web

Los servicios de seguridad bsicos mencionados por la ISO 7498-2 son la confidencialidad, integridad, autenticidad de origen, no repudio y control de acceso.Por su parte, la arquitectura de referencia planteada por el W3C para los servicios Web (W3C, 2004) hace mencin a que para garantizar la seguridad en los servicios Web es necesario un amplio espectro de mecanismos que solventen problemas como la autenticacin, el control de acceso basado en roles, la aplicacin efectiva de polticas de seguridad distribuidas o la seguridad a nivel de los mensajes.Los servicios de seguridad bsicos encontrados en cualquier sistema web son:Autenticacin de los interlocutores. Cada servicio Web participante en una interaccin podra requerir autenticacin de la otra parte. Cuando cierto servicio A dirige una peticin al servicio B, ste puede requerirle unas credenciales junto con unademostracin de que le pertenecen como por ejemplo un par nombre de usuario (credencial)/password (demostracin) o un certificado X.509v3 (credencial)/firma digital (demostracin).-Autorizacin. Los servicios Web deben disponer de mecanismos que les permitan controlar el acceso a sus servicios (recursos). Se debe poder determinar quin y cmo puede hacer a qu y cmo sobre sus recursos. La autorizacin concede permisos de ejecucin de ciertos tipos de operaciones sobre ciertos recursos a ciertas identidades autenticadas.-Integridad. Esta propiedad garantiza a un servicio Web que la informacin que recibe es la misma que la informacin que fue enviada desde un sistema cliente.-No repudio. Cuando se realizan transacciones suele ser un requisito ser capaz de probar que una accin tuvo lugar y que fue realizada por cierto actor. En el caso de los servicios Web, es necesario ser capaz de demostrar que un cliente utiliz un servicio pese a que ste lo niegue (no repudio del solicitante) as como demostrar que un servicio fue ejecutado (no repudio del receptor).

-Disponibilidad. La necesidad de cuidar el aspecto de disponibilidad, como prevenir ataques de denegacin del servicio (DoS) o disponer de redundancia de los sistemas, es un punto crucial en la tecnologa de los servicios Web sobre todo en aquellos casos en los que los servicios en cuestin son de alta criticidad: servicios en tiempo real, servicio de CRLs, etc.

-Auditabilidad. Los sistemas basados en servicios Web deben mantener una traza de todas las acciones que llevan a cabo de forma que sea posible realizar un anlisis posterior que permita averiguar, por ejemplo, lo ocurrido en escenarios de desastre.

-Seguridad extremo-a-extremo(Saltzer, Reed, & Clark, 1984). Las topologas de redes de servicios Web requieren la garanta de que la seguridad se mantenga a lo largo del recorrido seguido por los mensajes entre los dos extremos de la comunicacin.El hecho de que puedan existir intermediarios en el camino del mensaje que puedan procesar parte del mismo exige un extra de seguridad que, no slo garantice que el transporte entre los extremos y a travs de los intermediarios es seguro, sino que adems garantice la seguridad en cada nodo encontrado en el camino.

El consorcio WS-I (www.ws-i.org) es otro consorcio abierto al que pertenecen alrededor de 150 compaas cuyo principal papel en los servicios Web es promover la interoperabilidad entre plataformas, la adopcin de esta forma de computacin distribuida, y acelerar su desarrollo actuando como gua y definiendo catlogos de buenas prcticas as como cualquier otro tipo de recurso que mejore su interoperabilidad.La seguridad no queda fuera del alcance de este propsito y, como muestra, se encuentra actualmente en desarrollo la especificacin WS-I Basic Security Profile 1.0 (WS-I, 2004) que define una serie de restricciones sobre el uso de los estndares de seguridad en los servicios Web. Esta especificacin normaliza el uso de los estndares de seguridad descritos en este artculo, indicando qu versiones y de qu manera deben ser aplicados. De esta forma, si disponemos de un proceso de negocio que queremos hacer accesible desde Internet, y queremos emplear los estndares de seguridad aqu mencionados, estando adems seguros de que estamos realizando un uso estndar y correcto de los mismos, sera ideal ajustarnos a este perfil con el objeto de poder integrarlo con la mayor rapidez posible en el mercado.