Este documento proporciona una introducción a los servicios web, incluyendo definiciones de términos clave como XML, WSDL, SOAP y cómo se pueden crear y consumir servicios web. Explica brevemente cómo se pueden usar los servicios web de Google para realizar búsquedas programáticamente.
1. ING. SISTEMAS COMPUTACIONALES
MATERIA:
PROGRAMACIÓN
PROGRAMACIÓ WEB
ALUMNOS:
JESÚS MONTERO SÁNCHEZ
JHONNATAN FLORES MIRAMON
ATANACIO CADENA GERARDO
ACTIVIDAD:
SERVICIOS WEB
CREACIÓN
CREACIÓN Y CONSUMO
2. 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.
3. ¿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.
4. ¿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.
5. 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.
6. 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.
7. 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.
8. 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
9. 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.
10. 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.
11. • 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).
12. 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.
13. 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:
14.
15. 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
16. 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.
17. 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.
18. 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.
19. 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 aplicaciones:
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.
20. 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.
21. 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
server
cliente, el período de validez y una Client/Server sessionkey) cifrado usando la clave
liente,
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 información para
infor
autenticarse 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
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.
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.