Web services

22
ING. SIS PRO JESÚS JHONNA ATANA CRE STEMAS COMPUTACIONALE MATERIA: MATERIA: MATERIA: MATERIA: OGRAMACIÓN WEB ALUMNOS: ALUMNOS: ALUMNOS: ALUMNOS: S MONTERO SÁNCH ATAN FLORES MIRA ACIO CADENA GERAR ACTIVIDAD: ACTIVIDAD: ACTIVIDAD: ACTIVIDAD: SERVICIOS WEB EACIÓN Y CONSUMO ES HEZ AMON RDO O

description

Tarea para la Materia Programacion Web

Transcript of Web services

Page 1: Web services

ING. SISTEMAS

PROGRAMACIÓ

JESÚS MONTERO SÁNCHEZ

JHONNATAN FLORES MIRAMON

ATANACIO CADENA GERARDO

CREACIÓ

SISTEMAS COMPUTACIONALES

MATERIA:MATERIA:MATERIA:MATERIA:

PROGRAMACIÓN WEB

ALUMNOS:ALUMNOS:ALUMNOS:ALUMNOS:

JESÚS MONTERO SÁNCHEZ

JHONNATAN FLORES MIRAMON

ATANACIO CADENA GERARDO

ACTIVIDAD:ACTIVIDAD:ACTIVIDAD:ACTIVIDAD:

SERVICIOS WEB

CREACIÓN Y CONSUMO

COMPUTACIONALES

JESÚS MONTERO SÁNCHEZ

JHONNATAN FLORES MIRAMON

ATANACIO CADENA GERARDO

N Y CONSUMO

Page 2: Web services

INTRODUCCIÓN:

Los servicios web son la revolución informática de la nueva generación de aplicaciones que trabajan colaborativamente en las cuales el software está distribuido en diferentes servidores. La informática se inicio con programas mono usuarios implantados en grandes ordenadores. Posteriormente estas primeras aplicaciones alcanzaron la capacidad de atender a diferentes usuarios. Pasaron los años y llego la arquitectura cliente-servidor, que gracias a este modelo de desarrollo, la aplicación se dividía en una parte que interaccionaba con el usuario y otra parte destinada al procesamiento de información. En este acercamiento se consiguió que cada una de las partes que constituían la aplicación pudiera residir en computadoras distintas. Con el paso del tiempo, la computación aumento y llego la era de las aplicaciones distribuidas en las cuales los procesos se realizaban en diferentes unidades. De este paso surgió la tecnología Internet para solventar las problemáticas asociadas a fallo de aplicación centralizado.

Como punto final a esta cronología, los web services son un paso adelante en la computación ya que de esta forma un ordenador ya no se considerara como un núcleo de cómputo sino como un repositorio de servicios de n aplicaciones distribuidas por internet.

Page 3: Web services

¿QUÉ ES UN WEB SERVICE?

Web Services es un estándar de comunicación entre procesos y o componentes, diseñado para ser multiplataforma y multilenguaje, es decir, no importa en qué lenguaje esté programado un Web Service como ser Visual Basic, C# o java, o en quéplataforma esté corriendo, ya sea Windows, UNIX o Linux éstos serán accesiblesy utilizables por otras aplicaciones desarrolladas en otras plataformas o lenguajes deprogramación. Antiguamente se utilizaban otros estándares como DCOM (DistributedComponentObjectModel) introducido por Microsoft e implementado por otras plataformas, y CORBA (CommonObjectRequestBrokerArchitecture) introducido por el OMG (Object Management Group) e implementado en distintas plataformas, incluido Windows. Estos estándares tenían bastantes problemas de configuración, especialmente en entornos en que se encontraban firewalls de por medio en los cuales era imposible (debido a estándares de seguridad de muchas compañías) habilitar ciertos puertos de comunicación para que estos componentes funcionaran.

De esta manera la preferencia por utilizar el puerto 80 de HTTP, que normalmente se encuentra habilitado en la mayoría de los servidores y firewalls debido al uso de navegadores y servidores Web, no traería mayores complicaciones el uso de una tecnología que utilice este protocolo y puerto de TCP/IP.

La gran ventaja que trae el protocolo HTTP es su esquema de mensajes especialmente diseñado y optimizado para ser utilizado en redes como Internet, a diferencia de las viejas tecnologías como DCOM o CORBA que necesitaban un tipo de red más estable y local (LAN). Por ello es que el HTTP es el protocolo preferido para el transporte de mensajes de los Web Services.

Page 4: Web services

¿PARA QUÉ SIRVEN LOS WEB SERVICES?

El desarrollo y la programación de sistemas orientado a objetos o componentes nos ha llevado a lo largo del tiempo a tener la necesidad de reutilizarlos en diferentes proyectos. Ya sean componentes desarrollados por nosotros o componentes desarrollados por terceras partes. Hasta la existencia de los Web Services esta reutilización nos limitaba a un lenguaje de programación o a una plataforma en particular. Por lo tanto, el uso de los Web Services nos facilitará la reutilización de funciones de una aplicación en distintas plataformas o lenguajes ya sea para un uso personal en distintos proyectos, para comercializarlos o adquirir prestaciones de terceros.

De la misma forma que anteriormente incluíamos en nuestras aplicaciones referencias a otras librerías como ser Dlls o componentes ActiveX, ahora podremos referenciar funciones que se estarán ejecutando en otra computadora o servidor sin importarnos en qué están programados ni en que plataforma están corriendo. Uno de los ejemplos más comunes del uso de los Web Services se encuentra en los sitios web de comercio electrónico, los cuales hacen uso de un Web Service para validar los datos de las tarjetas de crédito de sus clientes. Normalmente este Web Service es provisto por algún banco o entidad financiera que actúa como intermediario entre el comercio y las tarjetas de crédito.

Otro ejemplo podría ser que necesitamosusar el corrector ortográfico del Microsoft Word desde un sitio web que creamosen ASP.NET. Ahora bien, esto es algo que podemos hacer a través de los VisualStudio Tools for the Microsoft Office System, pero para ello necesitaremos tener instalado el Microsoft Word en el servidor Web. Supongamos que por alguna razón no se nos permite instalar el Microsoft Word en el servidor Web, pero disponemos de un servidor de aplicaciones en el que tenemos control total y allí podemos instalar el MS Word.

Para poder utilizar el MS Word que está instalado en otro servidor desde nuestra aplicación web podríamos crear un Web Services en el servidor de aplicaciones, el cual expondrá un Web Método público que se encargue de ejecutar el corrector ortográfico de MS Word. Teniendo esto podremos utilizar esta funcionalidad desde nuestra aplicación Web a través de un Web Service sin haber instalado MS Word en el servidor Web.

Para poder reutilizar bien loscomponentes y objetos desarrollados era necesario un lenguaje de programaciónorientado a objetos. Ahí nace el lenguaje c# de la mano del .NET framework, que desde sus inicios se focalizó en proveer una herramienta como el Visual Studio, capaz de crear y consumir Web Services de la forma más rápida y sencilla tornandotransparentes para el desarrollador protocolos y tipos de mensajes XML comoWSDL y SOAP, los que describiremos a continuación.

Page 5: Web services

XML (Extensible Markup Language)

XML, siglas en inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades. Algunos de estos lenguajes que usan XML para su definición son XHTML, SVG, MathML, Android.

XML no ha nacido sólo para su aplicación en Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.

XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.

Ventajas del XML

Es extensible: Después de diseñado y puesto en producción, es posible extender XML con la adición de nuevas etiquetas, de modo que se pueda continuar utilizando sin complicación alguna.

El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión de lenguaje XML. Esto posibilita el empleo de cualquiera de los analizadores disponibles. De esta manera se evitan bugs y se acelera el desarrollo de aplicaciones.

Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarla. Mejora la compatibilidad entre aplicaciones. Podemos comunicar aplicaciones de distintas plataformas, sin que importe el origen de los datos, es decir, podríamos tener una aplicación en Linux con una base de datos Postgres y comunicarla con otra aplicación en Windows y Base de Datos MS-SQL Server.

Transformamos datos en información, pues se le añade un significado concreto y los asociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos.

Page 6: Web services

WSDL (Web Service Description Language)

El lenguaje de descripción de servicios Web (WSDL, Web Service Description Language) es un dialecto basado en XML sobre el esquema que describe un servicio Web. Un documento WSDL proporciona la información necesaria al cliente para interaccionar con el servicio Web. WSDL es extensible y se pude utilizar para describir, prácticamente, cualquier servicio de red, incluyendo SOAP sobre HTTP e incluso protocolos que no se basan en XML como DCOM sobre UDP. Dado que los protocolos de comunicaciones y los formatos de mensajes están estandarizados en la comunidad del Web, cada día aumenta la posibilidad e importancia de describir las comunicaciones de forma estructurada. WSDL afronta esta necesidad definiendo una gramática XML que describe los servicios de red como colecciones de puntos finales de comunicación capaces de intercambiar mensajes. Las definiciones de servicio de WSDL proporcionan documentación para sistemas distribuidos y sirven como fórmula para automatizar los detalles que toman parte en la comunicación entre aplicaciones.

Los documentos WSDL definen los servicios como colecciones de puntos finales de red o puertos. En WSDL, la definición abstracta de puntos finales y de mensajes se separa de la instalación concreta de red o de los enlaces del formato de datos. Esto permite la reutilización de definiciones abstractas: mensajes, que son descripciones abstractas de los datos que se están intercambiando y tipos de puertos, que son colecciones abstractas de operaciones. Las especificaciones concretas del protocolo y del formato de datos para un tipo de puerto determinado constituyen un enlace reutilizable. Un puerto se define por la asociación de una dirección de red y un enlace reutilizable; una colección de puertos define un servicio. Por esta razón, un documento WSDL utiliza los siguientes elementos en la definición de servicios de red:

Types: contenedor de definiciones del tipo de datos que utiliza algún sistema de tipos (por ejemplo XSD).

Message: definición abstracta y escrita de los datos que se están comunicando.

Operation: descripción abstracta de una acción admitida por el servicio.

Port Type: conjunto abstracto de operaciones admitidas por uno o más puntos finales.

Binding: especificación del protocolo y del formato de datos para un tipo de puerto determinado.

Port: punto final único que se define como la combinación de un enlace y una dirección de red.

Service: colección de puntos finales relacionados.

Page 7: Web services

SOAP (Simple Object Access Protocol)

SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Este protocolo deriva de un protocolo creado por David Winer, XML-RPC en 1998. En su sitio web, Userland, http://www.userland.com se puede encontrar multitud de documentación acerca de este primer protocolo de comunicación bajo http mediante XML. Con este protocolo se pedían realizar RPC o remote procedure calls, es decir, podíamos bien en cliente o servidor realizar peticiones mediante http a un servidor web. Los mensajes debían tener un formato determinado empleando XML para encapsular los parámetros de la petición. Con el paso del tiempo el proyecto iniciado por David Winer interesó a Importantes multinacionales entre las que se encuentran IBM y Microsoft y de este interés por XML-RPC se desarrollo SOAP."

En el núcleo de los servicios Web se encuentra el protocolo simple de acceso a datos SOAP, que proporciona un mecanismo estándar de empaquetar mensajes. SOAP ha recibido gran atención debido a que facilita una comunicación del estilo RPC entre un cliente y un servidor remoto. Pero existen multitud de protocolos creados para facilitar la comunicación entre aplicaciones, incluyendo RPC de Sum, DCE de Microsoft, RMI de Java y ORPC de CORBA. ¿Por qué se presta tanta atención a SOAP?

Una de las razones principales es que SOAP ha recibido un increíble apoyo por parte de la industria. SOAP es el primer protocolo de su tipo que ha sido aceptado prácticamente por todas las grandes compañías de software del mundo. Compañías que en raras ocasiones cooperan entre sí están ofreciendo su apoyo a este protocolo. Algunas de las mayores Compañías que soportan SOAP son Microsoft, IBM, SUN, Microsystems, SAP y Ariba.

Algunas de las Ventajas de SOAP son:

No está asociado con ningún lenguaje: los desarrolladores involucrados en nuevos proyectos pueden elegir desarrollar con el último y mejor lenguaje de programación que exista pero los desarrolladores responsables de mantener antiguas aflicciones heredadas podrían no poder hacer esta elección sobre el lenguaje de programación que utilizan. SOAP no especifica una API, por lo que la implementación de la API se deja al lenguaje de programación, como en Java, y la plataforma como Microsoft .Net.

No se encuentra fuertemente asociado a ningún protocolo de transporte: La especificación de SOAP no describe como se deberían asociar los mensajes de SOAP con HTTP. Un mensaje de SOAP no es más que un documento XML, por lo que puede transportarse utilizando cualquier protocolo capaz de transmitir texto.

Page 8: Web services

No está atado a ninguna infraestructura de objeto distribuido La mayoría de los sistemas de objetos distribuidos se pueden extender, y ya lo están alguno de ellos para que admitan SOAP.

Aprovecha los estándares existentes en la industria: Los principales contribuyentes a la especificación SOAP evitaron, intencionadamente, reinventar las cosas. Optaron por extender los estándares existentes para que coincidieran con sus necesidades. Por ejemplo, SOAP aprovecha XML para la codificación de los mensajes, en lugar de utilizar su propio sistema de tipo que ya están definidas en la especificación esquema de XML. Y como ya se ha mencionado SOAP no define un medio de trasporte de los mensajes; los mensajes de SOAP se pueden asociar a los protocolos de transporte existentes como HTTP y SMTP.

Permite la interoperabilidad entre múltiples entornos: SOAP se desarrollo sobre los estándares existentes de la industria, por lo que las aplicaciones que se ejecuten en plataformas con dicho estándares pueden comunicarse mediante mensaje SOAP con aplicaciones que se ejecuten en otras plataformas. Por ejemplo, una aplicación de escritorio que se ejecute en una PC puede comunicarse con una aplicación del back-end ejecutándose en un mainframe capaz de enviar y recibir XML sobre HTTP.

Ilustració n 1 Estructura SOAP

Page 9: Web services

CREACION Y CONSUMO DE WEB SERVICES

Uso de Google Web API, SOAP y WSDL

Google ofrece a través de su sitio web la documentación y archivos necesarios para que una máquina pueda acceder a sus servicios de búsqueda. Para ello es necesario un registro previo que proporciona una clave única. Cada servidor, identificado por la clave recibida de Google, puede realizar un máximo de 1000 peticiones por día. Esto evita que se puedan utilizar estas funcionalidades para ofrecer un servicio de búsqueda paralelo al de Google desde un servidor web distinto.

El web service de Google se ofrece gratuitamente a investigadores para que experimenten con la tecnología que lo sustenta. En estos momentos, no hay versión comercial.

El API de Google se ofrece en un archivo comprimido ZIP compuesto por distintos ficheros, entre los que se encuentran un archivo WSDL (Web Services Description Language, lenguaje de descripción de servicios web), un archivo .jar con clases Java junto a su documentación y aplicaciones demostrativas en Java y Microsoft .Net.

La aplicación Java funciona desde línea de comando y permite hacer búsquedas, solicitar sugerencias de un término mal tecleado y ver la caché de Google para cierta URL.

Google proporciona un archivo WSDL [5] que describe las operaciones soportadas. Este fichero se encuentra entre los archivos descargados de la API, aunque también se ofrece de forma online [6].

La descripción WSDL indica que se soportan tres operaciones:

DoSpellingSuggestion, doGetCachedPage y doGoogleSearch. La primera permite solicitar a Google una sugerencia de escritura correcta para un término mal tecleado. La segunda devuelve la caché almacenada de Google para una URL dada. Por último, doGoogleSearch, se corresponde con el servicio tradicional de búsquedas en la Web.

GOOGLE FREE

Google Free es el nombre del servicio de Google en el que puedes conseguir el código necesario para poner una caja de Google en tu web. También existe en castellano, pero mucho menos completo. El código de Google Free es un «formulario» (FORM) de caja de búsqueda que debes incluir en el HTML de la portada o de las páginas en que quieras que aparezca, normalmente en la plantilla de la cabecera o del lateral, si es que si utilizas un editor de contenidos.

Poner una caja de búsqueda de Google tal cual «para buscar en toda la Internet» puede no tener mucho sentido, pero Google Free with Site Search que es la tercera opción que ofrece Google es la más interesante: con ella puedes hacer que esa caja de búsquedas que pones en tu web encuentre cosas únicamente dentro de tu propia web.

Page 10: Web services

Principio del formulario

WWW gerardoac.netau.net

Final del formulario Esto está bastante bien, sobre todo para páginas web que no tienen ningún tipo de buscador. Como se ve, la opción marcada por omisión es la de tu sitio y los resultados se muestran en Google pero limitados a la URL que le hayas indicado. Tecleando algo y pulsando Retorno el invento ya funciona. Pero lo más interesante es que sobre el código original de Google Free with Site Search se pueden cambiar algunas cosas si necesitas personalizarlo más. Lo primero obviamente es cambiar YOUR DOMAIN NAME por el dominio de tu sitio web. Los dos primeros valores van ocultos en el formulario, y el tercero es el que se ve realmente debajo de la caja: Sobre el aspecto puedes cambiar algunas cosas:

• El bgcolor="#FFFFFF" de la tabla se puede eliminar si lo prefieres transparente, tal vez porque el color de tu página no sea blanco.

• El texto del botón originalmente es Google Search pero puedes cambiarlo por algo en tu idioma, como Buscar en el parámetro value del tercer input.

Page 11: Web services

• Para cambiar tipo de letra y tamaño del texto lo mejor es eliminar los font del original y a todos los input añadirles el parámetro class="xyz" habiendo definido antes el estilo de esa clase en la hoja de estilos CSS de la página.

• El tamaño de la caja se cambia donde pone size=31, con 15 ó 20 suele ser suficiente.

• El logo de Google es obligatorio que aparezca (condiciones de uso), pero seguramente puedes cambiar sin problemas un poco la imagen original, Logo_40wht.gif por una un poco más pequeña o acorde con lo que necesites. Moviendo el img (cuidado con las celdas de la «tabla») puedes cambiarla de posición antes o después del botón e incluso modificar la ruta del fichero de imagen, para hosperarlo en un directorio de tu servidor.

• Tal y como dicen las instrucciones, asegúrate que la codificación del texto en tus páginas es Unicode UTF-8 y, si no lo es, para que las búsquedas funcionen correctamente, cambia los valores UTF-8 de los dos primeros input por lo que corresponda. La alternativa típica es ISO-8859-1.

• Podrías eliminar los botones de radio pero conservar la misma funcionalidad, quitando el input type=radio y añadiendo otros dos input="hidden" ocultos con estos parámetros name="domains" value="xyz.com" y name="sitesearch" value="xyz.com" (donde pone xyz.com pones tu dominio).

• Si prefieres que los resultados aparezcan en Google México en vez de en en Google.com (el internacional, en inglés) puedes cambiar google.com por google.com.mx en el form de la primera línea del código.

Para terminar con esto de la caja de búsqueda para tu web y asegurarte de que funciona bien, necesitas que Google ya haya leído todas tus páginas con anterioridad, de la mejor forma posible. Esto lo hace el famoso robot de Google automáticamente. Puedes comprobar cuántas páginas tiene indexadas buscando site:xyz.com en Google. Si no hay muchos resultados, la caja no servirá de gran cosa, pero normalmente el robot de Google habrá encontrado tu web y lo habrá indexado a fondo a las pocas semanas de haberlo creado.

GOOGLE MAPS

Google Sitemaps es un experimento en beta de Google que permite a los webmasters enviar mapas completos de sus sitios webs para que Google los indexe mejor. Los mapas son simplemente una lista con todas las URLs, bien en XML o en un fichero plano de texto. En Google Sitemaps with Wordpress explican cómo generarlo con WordPress. Con los otros sistemas de bitácoras será igual de fácil. Se genera un fichero XML al que se puede apuntar desde el directorio raíz (como el robots.txt) y Google lo usará. También puedes registrarte y enviar una lista de tus URLs en formato texto, directamente (solución de baja tecnología).

Page 12: Web services

El mapa del sitio web ayuda a la araña de Google a indexar ese sitio, evitando algunos problemas habituales del rastreo automático, como bucles, zonas oscuras u ocultas y cosas así.

¿Un Google en tiempo real?

Pero lo más importante de Google Sitemaps es que en el futuro podría servir para poder hacer pings a Google cada vez que en un sitio web se publica algo - como los habituales pings y trackbacks que se envían unos weblogs a otros. De este modo se podría indicar a Google cuándo debe ir a revisiar una página porque se acaba de incluir contenido nuevo, sin esperar a que el robot venga cuando pueda o quiera. Se resolvería así uno de los puntos débiles del buscador: que el rastreo de las páginas es lento y a veces requiere días, semanas o incluso meses. Por ejemplo Technorati o Feedster lo hacen mucho más rápido gracias a los pings y se anuncian como «buscadores en tiempo real», aunque sólo abarquen la blogosfera o la RSS-esfera.

Como siempre Dirson tiene información mucho más detallada al respecto, puedes leerlo en Google Sitemaps, relativa al estándar abierto del formato de los mapas y el funcionamiento de este nuevo servicio de Google para webmasters.

GOOGLE TRADUCTOR

Claramente mas es mejor, al menos en este caso, si tu web está disponible en ingles como mínimo además del español, claramente tendrás mas visitas y de paso mejoraras tu posición en google. Limitarnos al español es lo peor que podemos hacer, lo mejor es tener disponible el material al menos en ingles, en este caso lo más simple es agregar un traductor en tu blog para que lo haga automáticamente. Google ofrece agregar un widget, que le permitirá a la visita traducir automáticamente la página que estan mirando. En estos casos el mayor problema es que como generalmente tenemos varias faltas ortográficas, estas no se traducirán, así que hay que tener mucho cuidado con esto o sino lo que veran nuestras visitas será un span-glish.

Page 13: Web services

Primero entramos a la pagina de google widgets:

Luego como ven pueden personalizar algunas cosas, tales como el borde, el nombre del link que esta sobre la caja, el tamaño del cuadro, además deben seleccionar el idioma en el que está escrito el sitio, y el idioma inferior corresponde al idioma de toda la página y además será el idioma del link inferior del traductor:

Luego simplemente click en el botón Obtener el Código, este aparecerá justo abajo:

Page 14: Web services
Page 15: Web services

MICROSOFT OFFICE LIVE

Microsoft Office Live es un conjunto de servicios basados en Internet diseñado para usuarios y pequeñas empresas interesadas en crear un sitio Web o almacenar y compartir documentos en línea. A partir de 2009, consta de dos servicios, Office Live Workspace y Office Live Small Business.

Office Live Workspace

Office Live Workspace es un servicio gratuito para almacenar y compartir documentos en línea. La empresa afirma que se suele utilizar para el trabajo, escuela y casa, porque los documentos pueden administrarse desde ubicaciones remotas sin una unidad flash. Disponible en más de 25 idiomas, Office Live Workspace requiere el acceso a Internet y un explorador compatible. Uso de un área de trabajo se puede mejorar mediante la instalación de Silverlight, un complemento que hace más fácil de cargar varios documentos y colaborar con otras personas en un área de trabajo. Para que los espacios de trabajo tener acceso directamente desde la Oficina, los usuarios de Word, Excel y PowerPoint deben instalar Office Live Update. Los archivos no pueden editarse desde dentro de área de trabajo, pero al hacer clic en "Editar" se abrirán en Microsoft Office. El área de trabajo no ofrece colaboración sin conexión — en su lugar documentos son "desprotegido" y "protegidos", pero el servicio se integra con SharedView para compartir la pantalla en tiempo real.

Características

Almacenamiento en línea. Office Live permite a los usuarios ahorrar hasta 5 gigabytes (GB) de la información en muchos formatos,3 que se pueden acceder desde cualquier ordenador con conexión a internet, de archivo, incluso si no está instalado Office. La compañía afirma esto reemplaza a la necesidad de unidades flash o CD como una solución de almacenamiento y ofrece capacidades para la actualización de planes de proyecto, organizar eventos y delegar asignaciones sin programar una reunión o depender de correo electrónico.

Intercambio de información. Office Live Workspace está diseñado para que los usuarios de PC puedan compartir un único documento o un área de trabajo que contiene varios documentos, así como colaborar en línea como un grupo. Áreas de trabajo son protegidos por contraseña y los usuarios pueden controlar quién ve y modifica la información. Los archivos o áreas de trabajo pueden ser compartidos con hasta 100 personas.2

Compatibilidad de software. Mientras Office Live Workspace trabaja con programas de Microsoft Office como Word, Excel, PowerPoint y Outlook, también permite a los usuarios almacenar los documentos de otros tipos de archivo. Si la actualización Office Live está instalada, archivos y documentos pueden ser abiertos y guardan directamente desde Microsoft Office XP, 2003, o 2007. Los usuarios pueden también sincronizar, contactos, tareas y listas de eventos con Outlook 2003 y 2007, y listas de área de trabajo se pueden exportar a Excel.5

Page 16: Web services

Recursos y apoyo. Microsoft creó un sitio Community Support Web,6 que incluye un blog, wiki, vídeos sobre procedimientos y la oportunidad para los clientes preguntar y responder preguntas acerca del uso de Office Live Workspace.

Microsoft Office Live Small Business

Microsoft Office Live Small Business es un servicio de basadas en Internet diseñado para ayudar a los usuarios no técnicos con la creación de un sitio Web de aspecto profesional.

Características

Herramientas de diseño de sitio Web y alojamiento. Office Live Small Business proporciona acceso a herramientas de diseño de web en línea y plantillas para el desarrollo de sitio Web de los usuarios no técnicos gratuitos. Diseñador de sitio es una característica de productos utilizada para personalizar los diseños de página, colores, navegación y otros elementos del sitio. Los usuarios también pueden agregar módulos como botones de PayPal, blogs y calendarios a páginas. Los usuarios web avanzadas pueden cargar código HTML para personalizar sus páginas web. Microsoft ofrece alojamiento de sitio Web libre y 5 gigabytes (GB) de espacio de almacenamiento para archivos de sitio. Espacio de almacenamiento adicional puede ser adquirido si sitio de un usuario excede este límite de almacenamiento.

Dominio de nombre de registro y las empresas e-mail. Dentro de Office Live Small Business, nombres de dominio pueden ser seleccionados y registrados. Los clientes que ya tienen un nombre de dominio con otro proveedor pueden redirigir a Office Live Small Business. Los usuarios pueden crear hasta 100 cuentas de correo electrónico basado en dominio de forma gratuita. Se pueden comprar las cuentas de correo electrónico adicionales. El precio es $ 14.95 un año e incluye registro privado. Administrador de contacto. El administrador de contacto está diseñado para organizar información del cliente, historiales de contactos y de información de ventas en un solo lugar y hacerla accesible a través de la web a su toda organización.

Administrador de documento. Esta aplicación se utiliza como un repositorio en línea para los documentos a fin de les fácilmente accesible a los empleados para facilitar la colaboración.

Área de equipo. La aplicación de Team Workspace crea un proyecto de sitio de Web para publicar información para compartir con los clientes, empleados o socios comerciales. Sirve para agilizar el proceso de edición, dar a los usuarios acceso remoto a datos de la compañía y descargar archivos grandes como sea necesario.

Recursos y apoyo. Microsoft ofrece soporte de 24 horas técnica telefónica de forma gratuita durante 30 días. En línea, el sitio de comunidad incluye un blog, wiki, artículos, vídeos sobre procedimientos y la oportunidad para los clientes preguntar y responder preguntas acerca del uso de Office Live Small Business.

Page 17: Web services

Seguridad

Office Live Small Business, datos se almacenan en la red de Microsoft donde los servicios de firewall de red ayudar a proteger los documentos, correo electrónico y otros datos almacenados. La compañía afirma todos datos de negocio del cliente es una copia de cada día, y que si los clientes inadvertidamente dañar su sitio web o archivos de áreas de trabajo, o eliminar los archivos importantes en Office Live Small Business, que pueden recuperación sus datos de copia de seguridad almacenado en servidores de Microsoft. Características integradas-protección con contraseña se incluyen para aplicaciones de negocio como Team Workspace y administrador de documentos.

SERVICIOS WEB DE SEGURIDAD

El desarrollo de una aplicación exige trabajar con un conjunto de cuestiones de seguridad. El otro conjunto de cuestiones (que suelen ser las más destacadas en cualquier comentario acerca de la seguridad Web) se refieren a la seguridad de la aplicación una vez implementada y en ejecución.

Las aplicaciones Web, por definición, permiten el acceso de usuarios a recursos centrales, el servidor Web y, a través de éste, a otros como los servidores de base de datos. Comprender e implementar las medidas de seguridad adecuadas permite:

• Proteger los recursos propios contra accesos no autorizados. • Restringir los niveles de acceso por usuario o por función. • Establecer integridad de datos y confidencialidad, proporcionando un entorno

relativamente seguro en el que los usuarios se encuentren cómodos al trabajar con su aplicación.

• Establecer control sobre cómo la aplicación obtiene acceso a recursos restringidos. • Garantizar que el código de la aplicación se ejecuta de la forma esperada.

Este tema proporciona un comentario general sobre cómo llevar a cabo estos objetivos, e incluye vínculos con temas adicionales en los que se pueden obtener más detalles acerca de las tecnologías implicadas.

Puede ayudar a proteger su aplicación de acceso no autorizado aprovechando estos tipos de características de seguridad:

• Características de seguridad que ofrecen los Servicios de Internet Information Server (IIS) como parte de su funcionalidad general de servidor Web. Esto es, seguridad de nivel de usuario, equipo y archivo de Windows.

• La seguridad que se puede incorporar a la aplicación ASP.NET para proporcionar acceso específico para la aplicación.

Page 18: Web services

ESCENARIOS DE USO Este tema se centra en la seguridad de los servicios Web (punto a punto) relativa tanto a la plataforma como al transporte que pueden ofrecer los servicios subyacentes de ASP.NET, IIS y el sistema operativo. Mientras que la seguridad de la plataforma permite soluciones seguras para escenarios de intranet estrechamente vinculados, no resulta conveniente para escenarios heterogéneos. Es por este motivo precisamente por el que se requiere la seguridad que ofrece la especificación de seguridad WS-Security de la arquitectura GXA. Utilice Web ServicesDevelopment Kit para crear soluciones de seguridad de mensajes para servicios Web.

Para entornos de dominios Windows estrechamente vinculados:

• Si desea transmitir la identidad del llamador original desde una aplicación Web de ASP.NET a un servicio Web remoto, la aplicación Web de ASP.NET debería utilizar la autenticación Kerberos (con cuentas configuradas para la delegación), básica o mediante Formularios.

• Si utiliza la autenticación Kerberos, habilite la suplantación con la aplicación Web y configure la propiedad Credentials del proxy de servicio

• Web mediante DefaultCredentials. • Si utiliza la autenticación básica o mediante Formularios, capture las credenciales

del llamador y establezca la propiedad Credentials del proxy de servicio Web agregando un nuevo objeto CredentialCache.

Para escenarios “de servicio Web a servicio Web”:

• Utilice la autenticación básica o Kerberos y establezca las credenciales en el proxy de cliente.

• Utilice una aplicación de Servicios Empresariales o un servicio de Windows fuera de proceso para que manipule los certificados X.509 desde las aplicaciones Web.

• En la medida de lo posible, utilice las comprobaciones de autorización de sistema como, por ejemplo, la autorización mediante archivos y direcciones

• URL. • Si utiliza la autorización granular (en el nivel de método Web por ejemplo), utilice

funciones .NET (tanto de forma declarativa como imperativa). • Autorice a los usuarios que no sean de Windows mediante funciones .NET

(basadas en un objeto GenericPrincipal que contenga funciones). • Deshabilite los protocolos HTTP-GET y HTTP-POST en todos los servidores de

producto. • Utilice la seguridad de transporte si no le preocupa transferir los mensajes de

forma segura a través de sistemas intermedios. • Utilice la seguridad de transporte si el rendimiento de SSL es adecuado. • Utilice la especificación de seguridad WS-Security y Web Services.

Page 19: Web services

NTLM

Es una suite de Microsoft de protocolos de seguridad que proporciona autenticación, integridad y confidencialidad de los usuarios.NTLM es el sucesor del protocolo de autenticación de Microsoft LAN Manager (LANMAN), un mayor producto de Microsoft, y los intentos de proporcionar compatibilidad hacia atrás con LANMAN. NTLM versión dos (NTLMv2), que se introdujo en Windows NT 4.0 SP4 (y compatibles de forma nativa en Windows 2000), mejora la seguridad NTLM por el endurecimiento del protocolo contra ataques de suplantación de muchos, y la adición de la capacidad de un servidor para autenticar al cliente.

Microsoft no recomienda el uso de NTLM en aplicacio nes:

Los ejecutores deben ser conscientes de que NTLM no es compatible con los últimos métodos criptográficos, tales como AES o SHA-256. Se utiliza comprobación de redundancia cíclica (CRC) o un mensaje de algoritmos de resumen (RFC1321) para la integridad, y lo utiliza para el cifrado RC4. Derivación de una clave de una contraseña es como se especifica en RFC1320 y FIPS46-2. Por lo tanto, las aplicaciones generalmente se aconseja no utilizar NTLM.

Mientras que Kerberos ha sustituido NTLM de forma predeterminada el protocolo de autenticación en un Active Directory basado en inicio de sesión único esquema, NTLM es aún ampliamente utilizado en situaciones donde un controlador de dominio no está disponible o es inaccesible. Por ejemplo, NTLM se usa si un cliente no es capaz de Kerberos, el servidor no está unido a un dominio, o el usuario se autentica de forma remota a través de Internet.

KERBEROS

Kerberos se basa en el Protocolo de Needham-Schroeder. Usa un tercero de confianza, denominado "centro de distribución de claves" (KDC, por sus siglas en inglés: Key Distribution Center), el cual consiste de dos partes lógicas separadas: un "servidor de autenticación" (AS o Authentication Server) y un "servidor emisor de tiquets" (TGS o Ticket Granting Server). Kerberos trabaja sobre la base de "tickets", los cuales sirven para demostrar la identidad de los usuarios.

Kerberos mantiene una base de datos de claves secretas; cada entidad en la red sea cliente o servidor comparte una clave secreta conocida únicamente por él y Kerberos. El conocimiento de esta clave sirve para probar la identidad de la entidad. Para una comunicación entre dos entidades, Kerberos genera una clave de sesión, la cual pueden usar para asegurar sus interacciones.

Page 20: Web services

A continuación se describe someramente el protocolo. Se usaran las siguientes abreviaturas:

AS = Authentication Server

TGS = Ticket Granting Server

SS = Service Server.

FUNCIONAMIENTO

En resumen el funcionamiento es el siguiente: el cliente se autentica a sí mismo contra el AS, así demuestra al TGS que está autorizado para recibir un ticket de servicio (y lo recibe) y ya puede demostrar al SS que ha sido aprobado para hacer uso del servicio kerberizado.

En más detalle:

Un usuario ingresa su nombre de usuario y password en el cliente

El cliente genera una clave hash a partir del password y la usará como la clave secreta del cliente.

El cliente envía un mensaje en texto plano al AS solicitando servicio en nombre del usuario. Nota: ni la clave secreta ni el password son enviados, solo la petición del servicio.

El AS comprueba si el cliente está en su base de datos. Si es así, el AS genera la clave secreta utilizando la función hash con la password del cliente encontrada en su base de datos. Entonces envía dos mensajes al cliente:

Mensaje A: Client/TGS sessionkey cifrada usando la clave secreta del usuario

Mensaje B: Ticket-Granting Ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y el Client/TGS sessionkey) cifrado usando la clave secreta del TGS.

Una vez que el cliente ha recibido los mensajes, descifra el mensaje A para obtener el client/TGS sessionkey. Esta sessionkey se usa para las posteriores comunicaciones con el TGS. (El cliente no puede descifrar el mensaje B pues para cifrar éste se ha usado la clave del TGS). En este momento el cliente ya se puede autenticar contra el TGS.

Entonces el cliente envía los siguientes mensajes al TGS:

Mensaje C: Compuesto del Ticket-Granting Ticket del mensaje B y el ID del servicio solicitado.

Mensaje D: Autenticador (compuesto por el ID de cliente y una marca de tiempo), cifrado usando el client/TGS sessionkey.

Page 21: Web services

Cuando recibe los mensajes anteriores, el TGS descifra el mensaje D (autenticador) usando el client/TGS sessionkey y envía los siguientes mensajes al cliente:

Mensaje E: Client-to-server ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y una Client/Server sessionkey) cifrado usando la clave secreta del servicio.

Mensaje F: Client/server session key cifradausando el client/TGS session key.

Cuando el cliente recibe los mensajes E y F, ya tiene suficiente inforautenticarse contra el SS. El cliente se conecta al SS y envía los siguientes mensajes:

Mensaje E del paso anterior.

Mensaje G: un nuevo Autenticador que incluye el ID de cliente, una marca de tiempo y que está cifrado usando el client/server s

El SS descifra el ticket usando su propia clave secreta y envía el siguiente mensaje al cliente para confirmar su identidad:

Mensaje H: la marca de tiempo encontrada en el último Autenticador recibido del cliente más uno, cifrado el client/serve

El cliente descifra la confirmación usando el client/server sessionkey y chequea si la marca de tiempo está correctamente actualizada. Si esto es así, el cliente confiará en el servidor y podrá comenzar a usar el servicio que este ofrece.

El servidor provee del servicio al cliente.

Cuando recibe los mensajes anteriores, el TGS descifra el mensaje D (autenticador) usando el client/TGS sessionkey y envía los siguientes mensajes al cliente:

server ticket (que incluye el ID de cliente, la dirección de red del liente, el período de validez y una Client/Server sessionkey) cifrado usando la clave

Mensaje F: Client/server session key cifradausando el client/TGS session key.

Cuando el cliente recibe los mensajes E y F, ya tiene suficiente inforautenticarse contra el SS. El cliente se conecta al SS y envía los siguientes mensajes:

Mensaje E del paso anterior.

Mensaje G: un nuevo Autenticador que incluye el ID de cliente, una marca de tiempo y que está cifrado usando el client/server sessionkey.

El SS descifra el ticket usando su propia clave secreta y envía el siguiente mensaje al cliente para confirmar su identidad:

Mensaje H: la marca de tiempo encontrada en el último Autenticador recibido del cliente más uno, cifrado el client/server sessionkey.

El cliente descifra la confirmación usando el client/server sessionkey y chequea si la marca de tiempo está correctamente actualizada. Si esto es así, el cliente confiará en el servidor y podrá comenzar a usar el servicio que este ofrece.

servidor provee del servicio al cliente.

Cuando recibe los mensajes anteriores, el TGS descifra el mensaje D (autenticador) usando el client/TGS sessionkey y envía los siguientes mensajes al cliente:

server ticket (que incluye el ID de cliente, la dirección de red del liente, el período de validez y una Client/Server sessionkey) cifrado usando la clave

Mensaje F: Client/server session key cifradausando el client/TGS session key.

Cuando el cliente recibe los mensajes E y F, ya tiene suficiente información para autenticarse contra el SS. El cliente se conecta al SS y envía los siguientes mensajes:

Mensaje G: un nuevo Autenticador que incluye el ID de cliente, una marca de tiempo y

El SS descifra el ticket usando su propia clave secreta y envía el siguiente mensaje al

Mensaje H: la marca de tiempo encontrada en el último Autenticador recibido del cliente

El cliente descifra la confirmación usando el client/server sessionkey y chequea si la marca de tiempo está correctamente actualizada. Si esto es así, el cliente confiará en el

Page 22: Web services

REFERENCIAS

http://www.webtaller.com/maletin/articulos/que_son_web_services.php

http://www.cepeu.edu.py/

http://es.wikipedia.org/wiki/Extensible_Markup_Language

http://www.desarrolloweb.com/articulos/1581.php

http://es.wikipedia.org/wiki/Simple_Object_Access_Protocol

http://www.desarrolloweb.com/articulos/1557.php

http://es.wikipedia.org/wiki/Microsoft_Office_Live

http://es.wikipedia.org/wiki/Kerberos

http://www.ibm.com/developerworks/ssa/webservices/tutorials/ws-radsecurity3/index.html