The document discusses web services, providing definitions and examples. It explains how web services work by allowing applications to communicate and exchange data over the internet in order to provide services. Examples are also given of the code needed to request a travel itinerary using web services.
1. SERVICIOS WEB
INSTITUTO TECNOLOGICO DE TEHUACAN
06/12/2011
MATIAS REGINO JOSE LUIS
MARTINEZ CARRERA RUTH ARELI
INGENIERIA EN SISTEMAS COMPUTACIONALES
PROGRAMACION WEB
3. SERVICIOS WEB
¿Qué son los Servicios Web?
Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra
su complejidad a la hora de dar una adecuada definición que englobe todo lo que
son e implican. Una posible sería hablar de ellos como un conjunto de
aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas
aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer
unos servicios. Los proveedores ofrecen sus servicios como procedimientos
remotos y los usuarios solicitan un servicio llamando a estos procedimientos a
través de la Web.
¿Para qué sirven?
Estos servicios proporcionan mecanismos de comunicación estándares entre
diferentes aplicaciones, que interactúan entre sí para presentar información
dinámica al usuario. Para proporcionar interoperabilidad y extensibilidad entre
estas aplicaciones, y que al mismo tiempo sea posible su combinación para
realizar operaciones complejas, es necesaria una arquitectura de referencia
estándar.
¿Cómo funcionan?
El siguiente gráfico muestra cómo interactúa un conjunto de Servicios Web:
Figura 1 - Los servicios Web en Funcionamiento
2
4. Según el ejemplo del gráfico, un usuario (que juega el papel de cliente dentro de
los Servicios Web), a través de una aplicación, solicita información sobre un viaje
que desea realizar haciendo una petición a una agencia de viajes que ofrece sus
servicios a través de Internet. La agencia de viajes ofrecerá a su cliente (usuario)
la información requerida. Para proporcionar al cliente la información que necesita,
esta agencia de viajes solicita a su vez información a otros recursos (otros
Servicios Web) en relación con el hotel y la compañía aérea. La agencia de viajes
obtendrá información de estos recursos, lo que la convierte a su vez en cliente de
esos otros Servicios Web que le van a proporcionar la información solicitada sobre
el hotel y la línea aérea. Por último, el usuario realizará el pago del viaje a través
de la agencia de viajes que servirá de intermediario entre el usuario y el servicio
Web que gestionará el pago.
En todo este proceso intervienen una serie de tecnologías que hacen posible esta
circulación de información. Por un lado, estaría SOAP (Protocolo Simple de
Acceso a Objetos). Se trata de un protocolo basado en XML, que permite la
interacción entre varios dispositivos y que tiene la capacidad de transmitir
información compleja. Los datos pueden ser transmitidos a través de HTTP ,
SMTP , etc. SOAP especifica el formato de los mensajes. El mensaje SOAP está
compuesto por un envelope (sobre), cuya estructura está formada por los
siguientes elementos: header (cabecera) y body (cuerpo).
Figura 2 - Estructura de los mensajes
3
5. Para optimizar el rendimiento de las aplicaciones basadas en Servicios Web, se
han desarrollado tecnologías complementarias a SOAP, que agilizan el envío de
los mensajes (MTOM) y los recursos que se transmiten en esos mensajes (SOAP-
RRSHB).
Por otro lado, WSDL (Lenguaje de Descripción de Servicios Web), permite que un
servicio y un cliente establezcan un acuerdo en lo que se refiere a los detalles de
transporte de mensajes y su contenido, a través de un documento procesable por
dispositivos. WSDL representa una especie de contrato entre el proveedor y el que
solicita. WSDL especifica la sintaxis y los mecanismos de intercambio de
mensajes.
Durante la evolución de las necesidades de las aplicaciones basadas en Servicios
Web de las grandes organizaciones, se han desarrollado mecanismos que
permiten enriquecer las descripciones de las operaciones que realizan sus
servicios mediante anotaciones semánticas y con directivas que definen el
comportamiento. Esto permitiría encontrar los Servicios Web que mejor se
adapten a los objetivos deseados. Además, ante la complejidad de los procesos
de las grandes aplicaciones empresariales, existe una tecnología que permite una
definición de estos procesos mediante la composición de varios Servicios Web
individuales, lo que se conoce como coreografía.
Ejemplos
A continuación se muestra el código que se utilizaría para solicitar un viaje:
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<m:reserva xmlns:m="http://empresaviajes.ejemplo.org/reserva"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
env:mustUnderstand="true">
<m:referencia>
uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d
</m:referencia>
<m:fechaYHora>2001-11-29T13:20:00.000-05:00</m:fechaYHora>
</m:reserva>
<n:pasajero xmlns:n="http://miempresa.ejemplo.com/empleados"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
env:mustUnderstand="true">
<n:nombre>Pepe Ejemplo</n:nombre>
4
6. </n:pasajero>
</env:Header>
<env:Body>
<p:itinerario
xmlns:p="http://empresaviajes.ejemplo.org/reserva/viaje">
<p:ida>
<p:salida>Nueva York</p:salida>
<p:llegada>Los Angeles</p:llegada>
<p:fechaSalida>2001-12-14</p:fechasalida>
<p:horaSalida>última hora de la tarde</p:horaSalida>
<p:preferenciaAsiento>pasillo</p:preferenciaAsiento>
</p:ida>
<p:vuelta>
<p:salida>Los Angeles</p:salida>
<p:llegada>Nueva York</p:llegada>
<p:fechaSalida>2001-12-20</p:fechaSalida>
<p:horaSalida>media-mañana</p:horaSalida>
<p:preferenciaAsiento/>
</p:vuelta>
</p:itinerario>
<q:alojamiento
xmlns:q="http://empresaviajes.example.org/reserva/hoteles">
<q:preferencia>ninguna</q:preferencia>
</q:alojamiento>
</env:Body>
</env:Envelope>
Algunas especificaciones que define el servicio web
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, WS-Reliability, WS-
Addressing
Ventajas de los servicios web
Aumenta la interoperatibilidad entre programas independientemente de la
plataforma en donde están instalados.
5
7. Aumenta la interoperatibilidad entre servicios y programas de diferentes
compañías y ubicados en diferentes lugares geográficos.
Fomentan los estándares y protocolos basados en texto, haciendo más fácil
acceder y entender su contenido y funcionamiento (pero, en general,
produciendo una baja en su rendimiento).
Al emplear HTTP, pueden utilizar un sistema firewall sin cambiar las reglas
de filtrado.
Desventajas de los servicios web
No son tan desarrolladas para realizar transacciones comparadas a otros
sistemas como CORBA (Common Object Request Broker Architecture).
Su rendimiento es bajo comparado con otros sistemas como CORBA,
DCOM o RMI, especialmente por el uso de protocolos y estándares
basados en texto.
Servicios de Google:
1. Añadir a Google Reader permite la creación de un botón gráfico con la
dirección del RSS de tú blog para que al clickarlo este sea añadido a
Google Reader.
2. Blogger es un servicio muy popular y gratuito de creación y publicación de
blogs.
3. Froogle es un buscador de productos. Utilizado para buscar el precio más
barato de un producto y la comparativa de estos en diferentes tiendas
online.
4. GMail es el servicio de correo electrónico de google, actualmente
proporciona más de 2GB de capacidad de almacenamiento.
5. Google AdSense es el servicio de publicidad contextual de Google.
6. Google AdWords es la otra parte de AdSense. Mientras AdSense permite
a los webmasters poner los anuncios en sus web, Adwords permite la
publicación de estos en la red de AdSense. Además el pasado 21 de
noviembre Google liberó el "Onsite Advertiser Sign-Up" que permite a un
anunciante publicar sus anuncios en sitios específicos de la red AdSense.
7. Google Alerts te permite ser avisado por correo electrónico acerca de
búsquedas y/o textos particulares.
6
8. 8. Google Analytics analiza las páginas web, a través de un código
javascript, guardando todo tipo de estadísticas de los visitantes. Permite la
integración con una cuenta de AdWords.
9. Google Answers responde a tus preguntas.
10. Google Base Libreria de contenidos, portal de anuncios clasificados o
servicio inclasificable que permite añadir cualquier tipo de contenido a su
base de datos.
11. Google Blog Search motor de búsqueda orientado a la búsqueda en
blogs/bitácoras excluyendo el resto de páginas web.
12. Google Bookmarks es un servicio que permite a los usuarios guardar
marcadores o favoritos con el título y las etiquetas deseadas, es decir, un
del.icio.us "made in" google, pero bastante más cutre. Es necesaria una
cuenta de Gmail para acceder. (+ info)
13. Google Browser Sync: Se trata de una plugin para el navegador Firefox
con el que podrás sincronizar allá donde lo utilices tus ajustes incluyendo
tus favoritos, tu historial, las cookies y las contraseñas que tengas
almacenadas.
14. Google Catalogs busca en catálogos.
15. Google Checkout: Sistema de pago por internet homólogo a Paypal.
Proporcionas los datos de tu tarjeta al sistema y puedes pagar utilizando tu
correo electrónico (en los sitios que acepten pagos a través de Google
Checkout, claro).
16. Google Co-op permite a los usuarios suscribirse y catalogar contenidos
procendentes de sitios como CNNMoney.con (economía), Fandango.com
(espectáculos) o People.com (prensa rosa) para luego utilizar esos
metadatos para mejorar la experiencia de búsqueda de los usuarios.
17. Google Code servicio de Google orientado a la promoción y contribución
del software de código abierto (Open Source).
18. Google Code Search: Es un buscador de código fuente que permite utilizar
comandos de búsqueda especiales.
19. Google Compute existe como parte de la Barra de herramientas de Google
(Google Toolbar) y se encarga de utilizar el „idle time‟ de tú ordenador (es
decir, cuando no estás haciendo nada) para computar información desde
proyectos distribuidos como Folding@Home.
20. Google Deskbar se trata de un ventana embedida de IE en tú barra de
tareas de Windows, la cual te permite realizar búsquedas a traves de
Google.
21. Google Desktop Un servicio que ofrece varios widgets(?) y una barra
lateral la cual te permite realizar búsquedas, sindicar contenidos, escribir
notas, consultar información metereológica y más.
22. Google Directory es un clon del directorio ODP pero llenito de AdSense.
7
9. 23. Google Docs & Spreadsheets: Lugar desde el que podrás utilizar el
procesador de textos (docs) y la hoja de cálculo (spreadsheets) de Google,
crear y gestionar documentos colaborativos y tener todo organizado
(Descripción y más info en Genbeta).
24. Google Earth permite visualizar imágenes de satélite de cualquier rincón
del mundo.
25. Google Finance: Información bursatil: bolsa, cotizaciones, acciones, con
gráficos e información adicional relacionada. Una copia del servicio Yahoo!
Finances con alguna mejora. (+ sobre Google Finance).
26. Google Groups te permite crear listas de correo, interactuar en ellas y leer
los mensajes de Usenet.
27. Google Homepage te permite personalizar Google a tú gusto. Permite
añadir widgets al usuario como información meteorológica, noticias,
horóscopos y más.
28. Google Hosted: Permite utilizar diferentes servicios como Gmail, Google
Talk, Google Calendar y Google Page Creator sobre un nombre de dominio
que le asociemos.
29. Google Image Search es el buscador de imágenes de Google.
30. Google Labs nos muestra los projectos en los cuales Google está
trabajando para una futura liberalización de los mismos.
31. Google Local Muestra información local basándose en datos procedentes
de Google Maps.
32. Google Maps es un servicio de mapeo el cual integra rutas de conducción
y localización con mapas de ciudades. Dispone de un API bastante
elaborado con el que se pueden realizar aplicaciones independientes que
utilicen Google Maps.
33. Google Mars incluye un conjunto de mapas e imágenes de la superficie de
Marte.
34. Google Moon similar al anterior, en este caso muestra planos e imágenes
de la superficie lunar, asi como información sobre alunizajes que se han
producido.
35. Google Mobile permite el acceso al buscador Google a través de un movil
WAP.
36. Google Movie Showtimes permite introducir un código postal o una
dirección que servirá para localizar cines y espectáculos cercanos a la zona
mediante Google Maps. (De momento solo disponible en los EE.UU.).
37. Google Música busca información sobre grupos de música, tiendas de
música online y además combina resultados de Froogle, de Google Images
y quizás de ma´s servicios. (# Fuente)
38. Google News es un portal de noticias agregadas por ordenadores de
Google. Todo el proceso es automático.
8
10. 39. Google Notebook: Permite tomar y archivar notas al vuelo mientras se
navega y si se desea ofrece la posibilidad de compartir las notas con los
demás. También incluye un buscador de notas públicas (de otros usuarios).
(Gracias Nuke)
40. Google Pack se trata de una recopilación de software para ordenadores
con Windows XP y navegador Mozilla Firefox.
41. Google Pages se trata de un servicio gratuito de Google para el
alojamiento y la creación de páginas web de una manera sencilla e intuitiva,
también proprocionan un subdominio del tipo:
nombredecuenta.googlepages.com.(#Fuentes: 1 y 2, elucubraciones y
teorías sobre Google Pages).
42. Google Print o Google Book Search es un buscador de libros. Busca en
libros (titulos y contenido) que el propio Google ha digitalizado e incluido a
su base de datos.
43. Google Reader es el agregador o lector de feeds de Google. (+ info)
44. Google Ridefinder permite localizar facilmente taxis en algunas de las
mayores ciudades de Estados Unidos.
45. Google Scholar busca información en documentación de tipo
académico/científico.
46. Google Send to Phone es una pequeña extensión para Firefox la cual
permite enviar SMS (mensajes de texto) a teléfonos móviles.
47. Google Sitemap es un lugar en donde los webmasters pueden subir el
"Sitemap" de su página web. Google leerá esos Sitemaps y los utilizará
para indexar más correctamente las webs. Recientemente ha incluido
nuevas funcionalidad de tracking relacionadas con AdSense.
48. Google SMS permite acceder a varios servicios del buscador a traves del
movil.
49. Google Spreadsheets: Se trata de un gestor en linea de hojas de cálculo
con las funcionalidades básicas de cualquier Excel (Gracias por el aviso
Nuke)
50. Google Suggest es una extensión al motor de búsqueda normal de
Google. Se encarga de sugerir búsquedas (ordenadas por cantidad de
resultados) mientras se está escribiendo la consulta.
51. Google Talk es el programa de mensajeria instantanea y voz sobre IP de
Google, que funciona bajo Jabber (protocolo abierto basado en XML). Es
necesaria una cuenta de Gmail para utilizarlo.
52. Google Toolbar es una barra de herramientas para navegadores web, la
cual permite realizar búsquedas con Google y acceder a sus servicios de
una manera rápida, además de mostrar otra información interesante como
puede ser el PageRank.
9
11. 53. Google Transit es un servicio que permite conocer el estado de las
carreteras (en cuánto a densidad de tráfico y retenciones se refiere) y
realizar aproximaciones de como pudieran estar a determinadas horas del
día. De momento solo disponible en los Estados Unidos.
54. Google Trends se trata de una herramienta orientada a webmasters y
profesionales creada para realizar análisis cualitativos de las búsquedas,
pudiendose consultar estos por ciudades, regiones y por idioma. También
permite comparar varios términos.
55. Google Video ofrece un archivo de videos de libre uso y Google Video
Upload permite alojar en Google los videos anteriormente citados.
56. Google Video Store es un servicio integrado dentro de Google Video que
permite comprar videos de series de televisión y otas temáticas. (# Más
información sobre Google Video Store).
57. Google Web Accelerator supuestamente ayuda a cargar las páginas web
más rápido. Se han encontrado varios problemas de seguridad y privacidad
en este programa.
58. Google Website Optimizer: Una herramienta para mejorar los ratios de
conversiones de adwords de nuestras páginas (más información en
Online.com.es).
59. Google Web Search motor de búsqueda de Google.
60. Hello es un pequeño cliente de mensajeria instantanea el cual es utilizado
junto con Picasa para compartir imágenes con familiares y amigos.
61. Measure Map es un sistema de estadísticas para blogs, más optimizado
para ellos que Google Analytics, que es muy comercial. (# Fuente).
62. Orkut es una red social ala que solo se puede acceder mediante invitación
o con una cuenta de Google.
63. Picasa es un fantástio organizador de fotos digitales e imágenes para tú
escritorio.
64. SketchUp se trata de un software para presentación de mapas y objetos
3D para darle un empujón a Google Earth.(# Fuente) (Info. oficial de la
adquisición) .
65. YouTube: Servicio mundialmente famoso para visualizar y compartir videos
que Google compraba a principios de octubre de 2006 por una cifra
superior a los 1.500 millones de dólares. Además se convierte en la primera
adquisición del gigante que conserva su propia imagen e identidad.
66. Writely es un potente y muy completo procesador de textos en linea
(online), Google se hizo con sus servicios el pasado 9 de Marzo.
(Comunicado oficial de Google y de Writely)
10
12. MICROSOFT
La plataforma SOA de Microsoft
La Arquitectura Orientada a Servicios está basada en todos y cada uno de los
elementos de la pila de tecnologías de Microsoft, desde las herramientas de
desarrollo para crear servicios Web como .NET a productos de servidor, como
BizTalk Server y Microsoft Office SharePoint Server, donde se produce la
ejecución posterior de los servicios Web al conectar y orquestar servicios, y
finalmente en las aplicaciones compuestas que consumen servicios Web (como
pueden ser aplicaciones basadas en Web disponibles en entornos de intranet,
extranet o Internet, así como las aplicaciones de cliente avanzadas desarrolladas
con tecnologías de Microsoft Office o de cliente avanzado).
Creación de servicios Web
Microsoft mantiene su compromiso de fomentar el desarrollo de un rico
ecosistema para la creación y gestión de sistemas interconectados. Microsoft ha
realizado cuantiosas inversiones en servicios Web, basando por completo su
plataforma de desarrollo de última generación en los servicios Web con
Microsoft .NET.
.NET Framework 3.0
Para los desarrolladores de software, .NET Framework es el modelo de
programación de código gestionado de Microsoft para la creación de aplicaciones
sobre plataforma Windows. .NET Framework pone dentro del sistema operativo
soluciones pre-codificadas que anteriormente han sido generadas mediante
lenguajes de programación y herramientas de distintos tipos. .NET Framework
proporciona el soporte necesario para los servicios Web, de manera que los
11
13. desarrolladores puedan codificar, descubrir, depurar, instalar y consumir servicios
Web utilizando cualquiera de los más de 20 lenguajes de programación
soportados por este entorno.
La versión 3.0 de .NET Framework, aparecida en 2006, amplía las interfaces de
programación de la versión 2.0 con nuevas tecnologías para la creación de
aplicaciones a fin de proporcionar comunicaciones interoperables y fluidas, la
capacidad de modelizar una gran variedad de procesos de negocio y gestionar la
identidad y crear experiencias diferenciadas para los usuarios. Los componentes
extendidos de .NET Framework 3.0 para la creación y aprovechamiento de los
servicios Web son
Windows Communication Foundation (WCF), Windows Workflow Foundation
(WF),Windows CardSpace, y Windows Presentation Foundation. Concretamente,
WCF y WF incorporan nuevas y muy potentes funcionalidades para el desarrollo
de aplicaciones basadas en servicios web y bien integradas:
• Windows Communication Foundation es la tecnología de servicios Web de
nueva generación de Microsoft, que facilitan la interconexión entre sistemas y
aplicaciones dentro de la organización y a lo largo de infraestructuras
geográficamente dispersas. Es el primer modelo de programación creado de
principio a fin para facilitar el desarrollo de aplicaciones orientadas a servicios.
WCF eleva los servicios Web a un nivel superior, al ofrecer al desarrollador un
entorno de alta productividad para la creación de aplicaciones basadas en
servicios Web seguras y fiables, capaces de interactuar entre plataformas. Los
desarrolladores ya pueden centrar sus esfuerzos en la lógica de negocio y delegar
todos los aspectos de bajo nivel en WCF. Además de proporcionar un modelo de
programación para el desarrollo de servicios Web, WCF incluye una serie de
herramientas y funcionalidades de gestión que facilitan a los profesionales de IT la
labor de crear, poner en marcha, configurar y monitorizar los servicios Web..
Windows Workflow Foundation es un modelo de programación, un motor y
herramientas para la creación rápida de aplicaciones con gestión de workflow en
entornos Windows.
Dispone de un entorno común para el diseño de workflows dentro de las
aplicaciones Windows, ya sean éstos flujos para la coordinación entre aplicaciones
de software, personas o de ambos tipos.
Visual Studio
Visual Studio el entorno profesional de desarrollo de aplicaciones sobre plataforma
Windows. Visual Studio permite el consumo de servicios Web en aplicaciones
Windows, Office, aplicaciones Web, y para dispositivos móviles. Además facilita la
12
14. publicación y localización de nuevos servicios Web en el seno de la empresa y
permite ejecutar tests de carga sobre los servicios Web. Visual Studio Team
System ayuda a gestionar las distintas etapas del desarrollo a lo largo de todo el
ciclo de vida de la aplicación, permitiendo a las organizaciones un mejor control de
la publicación y mantenimiento de las mismas gracias a una plataforma integrada
de gestión del cambio del software y de informes en tiempo real de las métricas de
rendimiento y calidad más importantes. Con ello los empresarios y los
responsables de IT disponen de una visión completa del estado de los proyectos y
contribuye a que los equipos de software puedan aplicar metodologías de mejora
continua a sus procesos de desarrollo.
Integración y orquestación de procesos
Microsoft dispone de tecnologías habilitadoras para el diseño, automatización,
gestión y optimización de los procesos de negocio de una forma flexible. Microsoft
ha realizado grandes inversiones en su estrategia de “Procesos preparados para
las personas”, a fin de permitir a las personas dirigir y controlar los resultados de
negocio haciéndoles capaces de generar impactos positivos directametne
sobre aquellos procesos críticos que hacen progresar a las empresas (consulte
www.microsoft.com/bpm para más información). Dos de las principales
tecnologías de servidor para la orquestación de Procesos Preparados para las
Personas son BizTalk Server y Microsoft Office SharePoint Server.
BizTalk Server
Como complemento a las tecnologías de desarrollo .NET Framework 3.0, BizTalk
Server es un producto de servidor orientado a los profesionales de IT y
arquitectos, que permite la integración de sistemas, empleados y partners de
negocio. El núcleo de la arquitectura de BizTalk Server se basa en
XML y .NET Framework y es plenamente compatible con todos los estándares
abiertos en los que se basan los servicios Web. Una solución BizTalk puede
consumir los servicios Web actuales y exponer los procesos de negocio
(orquestaciones de BizTalk) como servicios Web. BizTalk se posiciona como
la capa de gestión que organiza los servicios Web, controlando el flujo y las
interacciones entre ellos y agregando los servicios individuales dentro de una
solución compuesta de nivel superior.
BizTalk Server permite también la integración de aplicaciones y sistemas que no
son compatibles con los servicios Web. Mediante el empleo de una gran variedad
de adaptadores, BizTalk Server puede hacer que las funcionaldiades de sistemas
y aplicaciones antiguos queden disponibles de cara a los procesos internos de las
organizaciones. BizTalk Server se integra también con Microsoft Office SharePoint
Server. Juntos, BizTalk Server y SharePoint facilitan la creación de soluciones de
procesos de negocio “preparados para las personas” que afectan a los
13
15. profesionales de la información. SharePoint permite a estos profesionales recopilar
y gestionar datos de negocio (mediante la captura de datos en XML, estructurados
y no estructurados), aportando la pieza de desktop esencial en el puzle de las
soluciones de procesos de negocio. Biztalk
Server, en este caso, actúa como el punto central de orquestación para los
procesos de gran envergadura, que abarcan tanto a sistemas de información
como a personas.
.
Microsoft Office SharePoint Server
Microsoft Office SharePoint Server 2007 proporciona una experiencia de usuario
sencilla y consistente, gracias a aplicaciones de cliente muy conocidas y con ello
hace que las tareas de iniciación de procesos de negocio de tipo manual, la
participación en estos procesos, su seguimiento y la elaboración de informes sea
mucho más sencilla y flexible..
Está diseñado para optimizar la forma en que las personas interactúan con los
contenidos y los procesos dentro de las organizaciones y a través de ellas. Office
SharePoint Server permite aprovechar las ventajas de los workflows para
automatizar y mejorar la visibilidad de las actividades de negocio más habituales,
como son la revisión y aprobación de documentos, el seguimiento de incidencias y
la recogida de firmas. Su excelente integración con aplicaciones muy conocidas de
cliente, el correo electrónico y los navegadores Web simplifica la experiencia del
usuarios. Los usuarios finales pueden definir y modelar con facilidad sus propios
procesos aplicando herramientas de Microsoft muy familiares.
Office SharePoint Server contribuye a eliminar los procesos manuales de gestión
de la información, ineficientes en general. Los formularios electrónicos se pueden
utilizar para recoger información que luego se puede integrar en los sistemas de
línea de negocio (LOB), en los archivos documentales, pueden servir para iniciar
procesos de workflow o enviarse a servicios Web. Esta automatización permite
eliminar las redundancias y errores que afectan a la introducción manual de datos,
y garantiza el acceso a datos más exactos y en tiempo real.
Consumo de servicios Web
Además de ofrecer una plataforma de desarrollo de primer nivel para la creación
de servicios Web, Microsoft ha introducido el soporte para servicios Web en toda
su línea de productos, permitiendo que sus principales funcionalidades puedan
exponerse en forma de servicios Web. Tanto los productos de Microsoft como de
14
16. otros partners pueden consumir estos servicios para permitir una mayor
conectividad y mejores experiencias de usuario.
Office System 2007
Office System 2007 es la última versión de la suite de productividad de Microsoft
para los profesionales de la información, e incluye herramientas muy conocidas
como Word o Excel. Además de este conjunto de aplicaciones, Office System
incorpora una serie de herramientas y servicios integrados que ayudan a los
desarrolladores a crear soluciones de negocio basadas en servicios Web. Los
productos de Office disponen además de soporte para el consumo de servicios
Web: InfoPath permite el acceso a datos mediante servicios Web, y Visio
incorpora la posibilidad de consumir servicios Web basados en sistemas de bases
de datos como los servicios Web que expone la base de datos relacional SQL
Server.
Microsoft 2007 Office System es también una plataforma para la creación de
aplicaciones compuestas, llamadas Aplicaciones de Negocio de Office (OBA,
Office Business Applications). Las OBA son conjuntos ensamblados a partir de los
actuales recursos de información de la empresa y presentan la funcionalidad LOB
dentro de los conocidos productos de Office, con soporte para procesos
multifuncionales y permitiendo la colaboración entre los usuarios.
El desarrollo de Aplicaciones de Negocio de Office es posible gracias a unas
nuevas capacidades introducidas en 2007 Microsoft Office system, llamadas
“Servicios OBA”. Los servicios OBA constan de workflow, búsqueda, el Catálogo
de Datos de Negocio (Business Data Catalog), una nueva interfaz de usuario
ampliable, los Formatos Open XML de Microsoft Office y el Entorno de Sitio Web y
Seguridad. Estos servicios pueden utilizarlos los ISV o los desarrolladores de las
empresas para ampliar las posibilidades de Microsoft Office system en inteligencia
de negocio (BI), comunicaciones unificadas y colaboración, gestión de contenidos
corporativos y otras aplicaciones de negocio.
Gestión del ciclo de vida de los servicios
Microsoft considera que una vez se crean y ponen en marcha, las infraestructuras
SOA y las aplicaciones dinámicas han de poder gestionarse a través de todo su
15
17. ciclo de vida, desde el inicio hasta el final. Microsoft proporciona una visión
estratégica y una familia de productos de gestión de sistemas y entornos que
permiten llevar a cabo esta gestión.
SEGURIDAD EN LOS SERVICIOS WEB
Consorcio World Wide Web (W3C)
El Consorcio World Wide Web (http://www.w3.org/Consortium/) se fundó en
Octubre de 1994 para liderar el WWW a su máximo potencial mediante el
desarrollo de protocolos comunes que fomenten su evolución y aseguren su
interoperabilidad. El W3C tiene alrededor de 400 organizaciones miembro
procedentes de todo el mundo y ha alcanzado un reconocimiento internacional por
su contribución al crecimiento de la Web. En Octubre de 1994, Tim Berners-Lee,
inventor de la Web, fundó este consorcio en el Laboratorio de Ciencias de la
Computación (LCS) ubicado en el Instituto de Tecnología de Massachussets (MIT)
en colaboración con la Organización Europea de Investigación Nuclear (CERN),
lugar donde la Web tuvo su origen, con soporte de la Agencia de Proyectos de
Investigación de Defensa Avanzada (DARPA) y de la Comisión Europea. Para
obtener una información más detallada sobre esta iniciativa conjunta y las
contribuciones del CERN, INRIA y MIT, se puede consultar la declaración sobre la
Iniciativa Conjunta de la World Wide Web.
En Abril de 1995, el Instituto Nacional de Investigación en Informática y
Automatismos (INRIA) se convirtió en la primera delegación europea del W3C,
seguido por la Universidad de Japón de Keio (KEIO) en Asia en 1996. En el 2003,
el Consorcio de Investigación Europeo en Informática y Matemáticas (ERCIM)
tomó el control sobre el mando europeo del W3C cedido por INRIA. El W3C
persigue también una audiencia internacional a través de sus oficinas ubicadas
por todo el mundo.
La Seguridad en la Arquitectura de
Referencia de los Servicios Web
16
18. En esta sección vamos a estudiar los requisitos de seguridad enumerados
por la especificación que define la arquitectura de referencia de los
servicios Web (W3C, 2004) y mencionaremos los distintos tipos de
ataques, que también señala esta especificación, contra los que se verán
expuestas las soluciones diseñadas basadas en servicios Web.
3.1 Servicios de seguridad básicos
La seguridad es un concepto más de entre aquellos servicios que comprenden la
Calidad del Servicio (QoS) en los servicios Web (los otros tres son la
transaccionalidad, fiabilidad, y gestión/administración) . Los servicios de seguridad
básicos mencionados por la ISO 7498-2 son la confidencialidad, integridad,
autenticidad de origen, no repudio y control de acceso y serán estos aspectos
sobre los que centraremos el caso de estudio desarrollado en el siguiente
apartado.
Por su parte, la arquitectura de referencia planteada por el W3C para los servicios
Web (W3C, 2004) hace mención a que para garantizar la seguridad en los
servicios Web es necesario “un amplio espectro de mecanismos que solventen
problemas como la autenticación, el control de acceso basado en roles, la
aplicación efectiva de políticas de seguridad distribuidas o la seguridad a nivel de
los mensajes”. Definamos los servicios de seguridad básicos encontrados en
cualquier sistema distribuido:
Autenticación de los interlocutores. Cada servicio Web participante en una
interacción podría requerir autenticación de la otra parte. Cuando cierto servicio A
dirige una petición al servicio B, éste puede requerirle unas credenciales junto con
una demostración de que le pertenecen como por ejemplo un par nombre de
usuario (credencial)/password (demostración) o un certificado X.509v3
(credencial)/firma digital (demostración). El principal problema de la autenticación,
cuyo origen radica en la naturaleza heterogénea de los servicios Web, es
conseguir un acuerdo en los protocolos y en los formatos de los datos de
seguridad empleados. Otro punto a resolver es definir un modelo de autenticación
Single Sign-On de forma que un servicio Web A que necesita interactuar con otros
6 servicios Web, para completar un proceso de negocio P en tiempo real, no
necesite autenticarse más que una vez frente al primero de ellos para poder
completar la operación bajo un tiempo de respuesta aceptable.
- Autorización. Los servicios Web deben disponer de mecanismos que les
permitan controlar el acceso a sus servicios (recursos). Se debe poder determinar
quién y cómo puede hacer a qué y cómo sobre sus recursos. La autorización
concede permisos de ejecución de ciertos tipos de operaciones sobre ciertos
17
19. recursos a ciertas identidades autenticadas. Normalmente ese conjunto de
restricciones que gobiernan el acceso a los recursos se materializan en forma de
políticas de seguridad de acceso.
Aplicación de los Estándares de Seguridad
Actuales en servicios Web
Tal y como se menciona en el borrador de la especificación de la arquitectura de
referencia de los servicios Web propuesto por el W3C “un servicio Web es una
pieza soft ware identificada por una URI, cuyas interfaces y vínculos se pueden
definir, describir y descubrir como artefactos XML. Un servicio Web soporta
interacciones directas con otros agentes software utilizando mensajes XML
intercambiados mediante protocolos de Internet”
(W3CWebServicesArchitectureWorkingGroup, 2004).
Los servicios Web son un paradigma de computación distribuida cuya amplia
aceptación lo convierten en una implementación de gran relevancia de
arquitectura orientada a servicios SOA (Service Oriented Architecture) (Erl, 2004).
Las principales características de los servicios Web es que son piezas software
auto-contenidas, auto-descritas, modulares, estructuradas a partir del ensamblaje
de componentes, dinámicas, pueden ser publicados, localizados e invocados a
través de la Web, son independientes del lenguaje de implementación e
interoperables, independientes de la plataforma e inherentemente basados en
estándares (Endrei et al., 2004b).
La seguridad es un concepto más de entre aquellos servicios que comprenden la
Calidad del Servicio (QoS) de los servicios Web (los otros tres son la
transaccionalidad, fiabilidad, y gestión/administración).
Los servicios de seguridad básicos mencionados por la ISO 7498-2 son la
confidencialidad, integridad, autenticidad de origen, no repudio y control
de acceso y serán estos aspectos sobre los que centraremos el caso de
estudio desarrollado en el siguiente apartado. Por su parte, la arquitectura de
referencia planteada por el W3C para los servicios Web
(W3CWebServicesArchitectureWorkingGroup, 2004) hace mención a que para
garantizar la seguridad en los servicios Web es necesario un amplio espectro de
mecanismos que solventen problemas como la autenticación, el control de acceso
basado en roles, la aplicación efectiva de políticas de seguridad distribuidas o la
seguridad a nivel de los mensajes.
18