Web services

1,484 views

Published on

Tarea para la Materia Programacion Web

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,484
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Web services

  1. 1. ING. SISTEMAS COMPUTACIONALES MATERIA: PROGRAMACIÓN PROGRAMACIÓ WEB ALUMNOS: JESÚS MONTERO SÁNCHEZJHONNATAN FLORES MIRAMONATANACIO CADENA GERARDO ACTIVIDAD: SERVICIOS WEB CREACIÓN CREACIÓN Y CONSUMO
  2. 2. INTRODUCCIÓN:Los servicios web son la revolución informática de la nueva generación de aplicacionesque trabajan colaborativamente en las cuales el software está distribuido en diferentesservidores.La informática se inicio con programas mono usuarios implantados en grandesordenadores. Posteriormente estas primeras aplicaciones alcanzaron la capacidad deatender 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 queinteraccionaba con el usuario y otra parte destinada al procesamiento de información. Eneste acercamiento se consiguió que cada una de las partes que constituían la aplicaciónpudiera residir en computadoras distintas. Con el paso del tiempo, la computaciónaumento y llego la era de las aplicaciones distribuidas en las cuales los procesos serealizaban en diferentes unidades. De este paso surgió la tecnología Internet parasolventar 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 lacomputación ya que de esta forma un ordenador ya no se considerara como un núcleo decómputo sino como un repositorio de servicios de n aplicaciones distribuidas por internet.
  3. 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é lenguajeesté programado un Web Service como ser Visual Basic, C# o java, o en quéplataformaesté corriendo, ya sea Windows, UNIX o Linux éstos serán accesiblesy utilizables porotras aplicaciones desarrolladas en otras plataformas o lenguajes deprogramación.Antiguamente se utilizaban otros estándares como DCOM(DistributedComponentObjectModel) introducido por Microsoft e implementado por otrasplataformas, y CORBA (CommonObjectRequestBrokerArchitecture) introducido por elOMG (Object Management Group) e implementado en distintas plataformas, incluidoWindows. Estos estándares tenían bastantes problemas de configuración, especialmenteen 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 decomunicación para que estos componentes funcionaran.De esta manera la preferencia por utilizar el puerto 80 de HTTP, que normalmente seencuentra habilitado en la mayoría de los servidores y firewalls debido al uso denavegadores y servidores Web, no traería mayores complicaciones el uso de unatecnología que utilice este protocolo y puerto de TCP/IP.La gran ventaja que trae el protocolo HTTP es su esquema de mensajes especialmentediseñado y optimizado para ser utilizado en redes como Internet, a diferencia de las viejastecnologí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 mensajesde los Web Services.
  4. 4. ¿PARA QUÉ SIRVEN LOS WEB SERVICES?El desarrollo y la programación de sistemas orientado a objetos o componentes nos hallevado a lo largo del tiempo a tener la necesidad de reutilizarlos en diferentes proyectos.Ya sean componentes desarrollados por nosotros o componentes desarrollados porterceras partes. Hasta la existencia de los Web Services esta reutilización nos limitaba aun lenguaje de programación o a una plataforma en particular. Por lo tanto, el uso de losWeb Services nos facilitará la reutilización de funciones de una aplicación en distintasplataformas o lenguajes ya sea para un uso personal en distintos proyectos, paracomercializarlos o adquirir prestaciones de terceros.De la misma forma que anteriormente incluíamos en nuestras aplicaciones referencias aotras librerías como ser Dlls o componentes ActiveX, ahora podremos referenciarfunciones que se estarán ejecutando en otra computadora o servidor sin importarnos enqué están programados ni en que plataforma están corriendo. Uno de los ejemplos máscomunes del uso de los Web Services se encuentra en los sitios web de comercioelectrónico, los cuales hacen uso de un Web Service para validar los datos de las tarjetasde crédito de sus clientes. Normalmente este Web Service es provisto por algún banco oentidad 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 Worddesde un sitio web que creamosen ASP.NET. Ahora bien, esto es algo que podemoshacer a través de los VisualStudio Tools for the Microsoft Office System, pero para ellonecesitaremos tener instalado el Microsoft Word en el servidor Web. Supongamos que poralguna razón no se nos permite instalar el Microsoft Word en el servidor Web, perodisponemos de un servidor de aplicaciones en el que tenemos control total y allí podemosinstalar el MS Word.Para poder utilizar el MS Word que está instalado en otro servidor desde nuestraaplicación web podríamos crear un Web Services en el servidor de aplicaciones, el cualexpondrá un Web Método público que se encargue de ejecutar el corrector ortográfico deMS Word. Teniendo esto podremos utilizar esta funcionalidad desde nuestra aplicaciónWeb 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 unlenguaje 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 elVisual Studio, capaz de crear y consumir Web Services de la forma más rápida y sencillatornandotransparentes para el desarrollador protocolos y tipos de mensajes XMLcomoWSDL y SOAP, los que describiremos a continuación.
  5. 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 WebConsortium (W3C). Es una simplificación y adaptación del SGML y permite definir lagramática de lenguajes específicos (de la misma manera que HTML es a su vez unlenguaje 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 estoslenguajes 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 unestándar para el intercambio de información estructurada entre diferentes plataformas. Sepuede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosaimaginable.XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y lahacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muyimportante en la actualidad ya que permite la compatibilidad entre sistemas para compartirla información de una manera segura, fiable y fácil.Ventajas del XMLEs extensible: Después de diseñado y puesto en producción, es posible extender XMLcon la adición de nuevas etiquetas, de modo que se pueda continuar utilizando sincomplicación alguna.El analizador es un componente estándar, no es necesario crear un analizador específicopara cada versión de lenguaje XML. Esto posibilita el empleo de cualquiera de losanalizadores disponibles. De esta manera se evitan bugs y se acelera el desarrollo deaplicaciones.Si un tercero decide usar un documento creado en XML, es sencillo entender suestructura y procesarla. Mejora la compatibilidad entre aplicaciones. Podemos comunicaraplicaciones 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 comunicarlacon 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 losasociamos a un contexto, con lo cual tenemos flexibilidad para estructurar documentos.
  6. 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. Undocumento WSDL proporciona la información necesaria al cliente para interaccionar conel 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 sebasan en XML como DCOM sobre UDP.Dado que los protocolos de comunicaciones y los formatos de mensajes estánestandarizados en la comunidad del Web, cada día aumenta la posibilidad e importanciade describir las comunicaciones de forma estructurada. WSDL afronta esta necesidaddefiniendo una gramática XML que describe los servicios de red como colecciones depuntos finales de comunicación capaces de intercambiar mensajes. Las definiciones deservicio de WSDL proporcionan documentación para sistemas distribuidos y sirven comofórmula para automatizar los detalles que toman parte en la comunicación entreaplicaciones.Los documentos WSDL definen los servicios como colecciones de puntos finales de red opuertos. En WSDL, la definición abstracta de puntos finales y de mensajes se separa dela instalación concreta de red o de los enlaces del formato de datos. Esto permite lareutilización de definiciones abstractas: mensajes, que son descripciones abstractas delos datos que se están intercambiando y tipos de puertos, que son colecciones abstractasde operaciones. Las especificaciones concretas del protocolo y del formato de datos paraun tipo de puerto determinado constituyen un enlace reutilizable. Un puerto se define porla asociación de una dirección de red y un enlace reutilizable; una colección de puertosdefine un servicio. Por esta razón, un documento WSDL utiliza los siguientes elementosen la definición de servicios de red:Types: contenedor de definiciones del tipo de datos que utiliza algún sistema de tipos (porejemplo 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 puertodeterminado.Port: punto final único que se define como la combinación de un enlace y una dirección dered.Service: colección de puntos finales relacionados.
  7. 7. SOAP (Simple Object Access Protocol)SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que definecómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambiode datos XML. Este protocolo deriva de un protocolo creado por David Winer, XML-RPCen 1998. En su sitio web, Userland, http://www.userland.com se puede encontrar multitudde documentación acerca de este primer protocolo de comunicación bajo http medianteXML. 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 losparámetros de la petición. Con el paso del tiempo el proyecto iniciado por David Winerinteresó a Importantes multinacionales entre las que se encuentran IBM y Microsoft y deeste interés por XML-RPC se desarrollo SOAP."En el núcleo de los servicios Web se encuentra el protocolo simple de acceso a datosSOAP, que proporciona un mecanismo estándar de empaquetar mensajes. SOAP harecibido gran atención debido a que facilita una comunicación del estilo RPC entre uncliente y un servidor remoto. Pero existen multitud de protocolos creados para facilitar lacomunicación entre aplicaciones, incluyendo RPC de Sum, DCE de Microsoft, RMI deJava 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 dela industria. SOAP es el primer protocolo de su tipo que ha sido aceptado prácticamentepor todas las grandes compañías de software del mundo. Compañías que en rarasocasiones cooperan entre sí están ofreciendo su apoyo a este protocolo. Algunas de lasmayores Compañías que soportan SOAP son Microsoft, IBM, SUN, Microsystems, SAP yAriba.Algunas de las Ventajas de SOAP son:No está asociado con ningún lenguaje: los desarrolladores involucrados en nuevosproyectos pueden elegir desarrollar con el último y mejor lenguaje de programación queexista pero los desarrolladores responsables de mantener antiguas aflicciones heredadaspodrí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 lenguajede programación, como en Java, y la plataforma como Microsoft .Net.No se encuentra fuertemente asociado a ningún protocolo de transporte: La especificaciónde SOAP no describe como se deberían asociar los mensajes de SOAP con HTTP. Unmensaje de SOAP no es más que un documento XML, por lo que puede transportarseutilizando cualquier protocolo capaz de transmitir texto.
  8. 8. No está atado a ninguna infraestructura de objeto distribuido La mayoría de los sistemasde objetos distribuidos se pueden extender, y ya lo están alguno de ellos para queadmitan SOAP.Aprovecha los estándares existentes en la industria: Los principales contribuyentes a laespecificación SOAP evitaron, intencionadamente, reinventar las cosas. Optaron porextender los estándares existentes para que coincidieran con sus necesidades. Porejemplo, SOAP aprovecha XML para la codificación de los mensajes, en lugar de utilizarsu propio sistema de tipo que ya están definidas en la especificación esquema de XML. Ycomo ya se ha mencionado SOAP no define un medio de trasporte de los mensajes; losmensajes de SOAP se pueden asociar a los protocolos de transporte existentes comoHTTP y SMTP.Permite la interoperabilidad entre múltiples entornos: SOAP se desarrollo sobre losestándares existentes de la industria, por lo que las aplicaciones que se ejecuten enplataformas con dicho estándares pueden comunicarse mediante mensaje SOAP conaplicaciones que se ejecuten en otras plataformas. Por ejemplo, una aplicación deescritorio que se ejecute en una PC puede comunicarse con una aplicación del back-endejecutándose en un mainframe capaz de enviar y recibir XML sobre HTTP. Ilustración 1 Estructura SOAP
  9. 9. CREACION Y CONSUMO DE WEB SERVICESUso de Google Web API, SOAP y WSDLGoogle ofrece a través de su sitio web la documentación y archivos necesarios para queuna máquina pueda acceder a sus servicios de búsqueda. Para ello es necesario unregistro previo que proporciona una clave única. Cada servidor, identificado por la claverecibida de Google, puede realizar un máximo de 1000 peticiones por día. Esto evita quese puedan utilizar estas funcionalidades para ofrecer un servicio de búsqueda paralelo alde Google desde un servidor web distinto.El web service de Google se ofrece gratuitamente a investigadores para queexperimenten con la tecnología que lo sustenta. En estos momentos, no hay versióncomercial.El API de Google se ofrece en un archivo comprimido ZIP compuesto por distintosficheros, entre los que se encuentran un archivo WSDL (Web Services DescriptionLanguage, lenguaje de descripción de servicios web), un archivo .jar con clases Javajunto 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, solicitarsugerencias 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. Estefichero se encuentra entre los archivos descargados de la API, aunque también se ofrecede forma online [6].La descripción WSDL indica que se soportan tres operaciones:DoSpellingSuggestion, doGetCachedPage y doGoogleSearch. La primera permite solicitara Google una sugerencia de escritura correcta para un término mal tecleado. La segundadevuelve la caché almacenada de Google para una URL dada. Porúltimo, doGoogleSearch, se corresponde con el servicio tradicional de búsquedas en laWeb.GOOGLE FREEGoogle Free es el nombre del servicio de Google en el que puedes conseguir el códigonecesario para poner una caja de Google en tu web. También existe en castellano, peromucho menos completo. El código de Google Free es un «formulario» (FORM) de caja debúsqueda que debes incluir en el HTML de la portada o de las páginas en que quierasque aparezca, normalmente en la plantilla de la cabecera o del lateral, si es que si utilizasun editor de contenidos.Poner una caja de búsqueda de Google tal cual «para buscar en toda la Internet» puedeno tener mucho sentido, pero Google Free with Site Search que es la tercera opción queofrece Google es la más interesante: con ella puedes hacer que esa caja de búsquedasque pones en tu web encuentre cosas únicamente dentro de tu propia web.
  10. 10. Principio del formulario WWW gerardoac.netau.netFinal del formularioEsto está bastante bien, sobre todo para páginas web que no tienen ningún tipo debuscador. Como se ve, la opción marcada por omisión es la de tu sitio y los resultados semuestran en Google pero limitados a la URL que le hayas indicado. Tecleando algo ypulsando Retorno el invento ya funciona.Pero lo más interesante es que sobre el código original de Google Free with Site Searchse pueden cambiar algunas cosas si necesitas personalizarlo más. Lo primero obviamentees cambiar YOUR DOMAIN NAME por el dominio de tu sitio web. Los dos primerosvalores van ocultos en el formulario, y el tercero es el que se ve realmente debajo de lacaja: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. 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 funcionabien, necesitas que Google ya haya leído todas tus páginas con anterioridad, de la mejorforma posible. Esto lo hace el famoso robot de Google automáticamente. Puedescomprobar cuántas páginas tiene indexadas buscando site:xyz.com en Google. Si no haymuchos resultados, la caja no servirá de gran cosa, pero normalmente el robot de Googlehabrá encontrado tu web y lo habrá indexado a fondo a las pocas semanas de haberlocreado.GOOGLE MAPSGoogle Sitemaps es un experimento en beta de Google que permite a los webmastersenviar mapas completos de sus sitios webs para que Google los indexe mejor. Los mapasson simplemente una lista con todas las URLs, bien en XML o en un fichero plano detexto. En Google Sitemaps with Wordpress explican cómo generarlo con WordPress. Conlos otros sistemas de bitácoras será igual de fácil. Se genera un fichero XML al que sepuede apuntar desde el directorio raíz (como el robots.txt) y Google lo usará. Tambiénpuedes registrarte y enviar una lista de tus URLs en formato texto, directamente (soluciónde baja tecnología).
  12. 12. El mapa del sitio web ayuda a la araña de Google a indexar ese sitio, evitando algunosproblemas habituales del rastreo automático, como bucles, zonas oscuras u ocultas ycosas así.¿Un Google en tiempo real?Pero lo más importante de Google Sitemaps es que en el futuro podría servir para poderhacer pings a Google cada vez que en un sitio web se publica algo - como los habitualespings y trackbacks que se envían unos weblogs a otros. De este modo se podría indicar aGoogle 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 lospuntos débiles del buscador: que el rastreo de las páginas es lento y a veces requieredías, semanas o incluso meses. Por ejemplo Technorati o Feedster lo hacen mucho másrápido gracias a los pings y se anuncian como «buscadores en tiempo real», aunque sóloabarquen la blogosfera o la RSS-esfera.Como siempre Dirson tiene información mucho más detallada al respecto, puedes leerloen Google Sitemaps, relativa al estándar abierto del formato de los mapas y elfuncionamiento de este nuevo servicio de Google para webmasters.GOOGLE TRADUCTORClaramente mas es mejor, al menos en este caso, si tu web está disponible en inglescomo mínimo además del español, claramente tendrás mas visitas y de paso mejoraras tuposición en google. Limitarnos al español es lo peor que podemos hacer, lo mejor es tenerdisponible el material al menos en ingles, en este caso lo más simple es agregar untraductor 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. Enestos casos el mayor problema es que como generalmente tenemos varias faltasortográficas, estas no se traducirán, así que hay que tener mucho cuidado con esto o sinolo que veran nuestras visitas será un span-glish.
  13. 13. Primero entramos a la pagina de google widgets:Luego como ven pueden personalizar algunas cosas, tales como el borde, el nombre dellink que esta sobre la caja, el tamaño del cuadro, además deben seleccionar el idioma enel que está escrito el sitio, y el idioma inferior corresponde al idioma de toda la página yademá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. 14. MICROSOFT OFFICE LIVEMicrosoft Office Live es un conjunto de servicios basados en Internet diseñado parausuarios y pequeñas empresas interesadas en crear un sitio Web o almacenar y compartirdocumentos en línea. A partir de 2009, consta de dos servicios, Office Live Workspace yOffice Live Small Business.Office Live WorkspaceOffice Live Workspace es un servicio gratuito para almacenar y compartir documentos enlínea. La empresa afirma que se suele utilizar para el trabajo, escuela y casa, porque losdocumentos pueden administrarse desde ubicaciones remotas sin una unidad flash.Disponible en más de 25 idiomas, Office Live Workspace requiere el acceso a Internet yun explorador compatible. Uso de un área de trabajo se puede mejorar mediante lainstalación de Silverlight, un complemento que hace más fácil de cargar variosdocumentos y colaborar con otras personas en un área de trabajo. Para que los espaciosde trabajo tener acceso directamente desde la Oficina, los usuariosde Word, Excel y PowerPoint deben instalar Office Live Update. Los archivos no puedeneditarse desde dentro de área de trabajo, pero al hacer clic en "Editar" se abrirán enMicrosoft Office. El área de trabajo no ofrece colaboración sin conexión — en su lugardocumentos son "desprotegido" y "protegidos", pero el servicio se integra con SharedViewpara compartir la pantalla en tiempo real.CaracterísticasAlmacenamiento en línea. Office Live permite a los usuarios ahorrar hasta5 gigabytes (GB) de la información en muchos formatos,3 que se pueden acceder desdecualquier ordenador con conexión a internet, de archivo, incluso si no está instaladoOffice. La compañía afirma esto reemplaza a la necesidad de unidades flash o CD comouna solución de almacenamiento y ofrece capacidades para la actualización de planes deproyecto, organizar eventos y delegar asignaciones sin programar una reunión odepender de correo electrónico.Intercambio de información. Office Live Workspace está diseñado para que los usuariosde PC puedan compartir un único documento o un área de trabajo que contiene variosdocumentos, así como colaborar en línea como un grupo. Áreas de trabajo son protegidospor contraseña y los usuarios pueden controlar quién ve y modifica la información. Losarchivos o áreas de trabajo pueden ser compartidos con hasta 100 personas.2Compatibilidad de software. Mientras Office Live Workspace trabaja con programas deMicrosoft Office como Word, Excel, PowerPoint y Outlook, también permite a los usuariosalmacenar los documentos de otros tipos de archivo. Si la actualización Office Live estáinstalada, archivos y documentos pueden ser abiertos y guardan directamentedesde Microsoft Office XP, 2003, o 2007. Los usuarios pueden tambiénsincronizar, contactos, tareas y listas de eventos con Outlook 2003 y 2007, y listas deárea de trabajo se pueden exportar a Excel.5
  15. 15. 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 responderpreguntas acerca del uso de Office Live Workspace.Microsoft Office Live Small BusinessMicrosoft Office Live Small Business es un servicio de basadas en Internet diseñado paraayudar a los usuarios no técnicos con la creación de un sitio Web de aspecto profesional.CaracterísticasHerramientas de diseño de sitio Web y alojamiento. Office Live Small Businessproporciona acceso a herramientas de diseño de web en línea y plantillas para eldesarrollo de sitio Web de los usuarios no técnicos gratuitos. Diseñador de sitio es unacaracterí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óduloscomo botones de PayPal, blogs y calendarios a páginas. Los usuarios web avanzadaspueden cargar código HTML para personalizar sus páginas web. Microsoft ofrecealojamiento de sitio Web libre y 5 gigabytes (GB) de espacio de almacenamiento paraarchivos de sitio. Espacio de almacenamiento adicional puede ser adquirido si sitio de unusuario excede este límite de almacenamiento.Dominio de nombre de registro y las empresas e-mail. Dentro de Office Live SmallBusiness, nombres de dominio pueden ser seleccionados y registrados. Los clientes queya tienen un nombre de dominio con otro proveedor pueden redirigir a Office Live SmallBusiness. Los usuarios pueden crear hasta 100 cuentas de correo electrónico basado endominio de forma gratuita. Se pueden comprar las cuentas de correo electrónicoadicionales. El precio es $ 14.95 un año e incluye registro privado. Administrador decontacto. El administrador de contacto está diseñado para organizar información delcliente, historiales de contactos y de información de ventas en un solo lugar y hacerlaaccesible 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 paralos documentos a fin de les fácilmente accesible a los empleados para facilitar lacolaboración.Área de equipo. La aplicación de Team Workspace crea un proyecto de sitio de Web parapublicar 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 lacompañía y descargar archivos grandes como sea necesario.Recursos y apoyo. Microsoft ofrece soporte de 24 horas técnica telefónica de formagratuita 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 responderpreguntas acerca del uso de Office Live Small Business.
  16. 16. SeguridadOffice Live Small Business, datos se almacenan en la red de Microsoft donde los serviciosde firewall de red ayudar a proteger los documentos, correo electrónico y otros datosalmacenados. La compañía afirma todos datos de negocio del cliente es una copia decada día, y que si los clientes inadvertidamente dañar su sitio web o archivos de áreas detrabajo, o eliminar los archivos importantes en Office Live Small Business, que puedenrecuperación sus datos de copia de seguridad almacenado en servidores de Microsoft.Características integradas-protección con contraseña se incluyen para aplicaciones denegocio como Team Workspace y administrador de documentos.SERVICIOS WEB DE SEGURIDADEl 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 cualquiercomentario acerca de la seguridad Web) se refieren a la seguridad de la aplicación unavez implementada y en ejecución.Las aplicaciones Web, por definición, permiten el acceso de usuarios a recursoscentrales, el servidor Web y, a través de éste, a otros como los servidores de base dedatos. 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, eincluye vínculos con temas adicionales en los que se pueden obtener más detalles acercade las tecnologías implicadas.Puede ayudar a proteger su aplicación de acceso no autorizado aprovechando estos tiposde 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.
  17. 17. ESCENARIOS DE USOEste tema se centra en la seguridad de los servicios Web (punto a punto) relativa tanto ala plataforma como al transporte que pueden ofrecer los servicios subyacentes deASP.NET, IIS y el sistema operativo. Mientras que la seguridad de la plataforma permitesoluciones seguras para escenarios de intranet estrechamente vinculados, no resultaconveniente para escenarios heterogéneos. Es por este motivo precisamente por el quese requiere la seguridad que ofrece la especificación de seguridad WS-Security de laarquitectura GXA. Utilice Web ServicesDevelopment Kit para crear soluciones deseguridad 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.
  18. 18. NTLMEs una suite de Microsoft de protocolos de seguridad que proporciona autenticación,integridad y confidencialidad de los usuarios.NTLM es el sucesor del protocolo deautenticación de Microsoft LAN Manager (LANMAN), un mayor producto de Microsoft, ylos 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 enWindows 2000), mejora la seguridad NTLM por el endurecimiento del protocolo contraataques de suplantación de muchos, y la adición de la capacidad de un servidor paraautenticar al cliente.Microsoft no recomienda el uso de NTLM en aplicaciones:Los ejecutores deben ser conscientes de que NTLM no es compatible con los últimosmétodos criptográficos, tales como AES o SHA-256. Se utiliza comprobación deredundancia cíclica (CRC) o un mensaje de algoritmos de resumen (RFC1321) para laintegridad, y lo utiliza para el cifrado RC4. Derivación de una clave de una contraseña escomo se especifica en RFC1320 y FIPS46-2. Por lo tanto, las aplicaciones generalmentese aconseja no utilizar NTLM.Mientras que Kerberos ha sustituido NTLM de forma predeterminada el protocolo deautenticación en un Active Directory basado en inicio de sesión único esquema, NTLM esaú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 deKerberos, el servidor no está unido a un dominio, o el usuario se autentica de formaremota a través de Internet.KERBEROSKerberos 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: KeyDistribution Center), el cual consiste de dos partes lógicas separadas: un "servidor deautenticación" (AS o Authentication Server) y un "servidor emisor de tiquets" (TGS oTicket Granting Server). Kerberos trabaja sobre la base de "tickets", los cuales sirven parademostrar la identidad de los usuarios.Kerberos mantiene una base de datos de claves secretas; cada entidad en la red seacliente o servidor comparte una clave secreta conocida únicamente por él y Kerberos. Elconocimiento de esta clave sirve para probar la identidad de la entidad. Para unacomunicación entre dos entidades, Kerberos genera una clave de sesión, la cual puedenusar para asegurar sus interacciones.
  19. 19. A continuación se describe someramente el protocolo. Se usaran las siguientesabreviaturas:AS = Authentication ServerTGS = Ticket Granting ServerSS = Service Server.FUNCIONAMIENTOEn resumen el funcionamiento es el siguiente: el cliente se autentica a sí mismo contra elAS, así demuestra al TGS que está autorizado para recibir un ticket de servicio (y lorecibe) y ya puede demostrar al SS que ha sido aprobado para hacer uso del serviciokerberizado.En más detalle:Un usuario ingresa su nombre de usuario y password en el clienteEl cliente genera una clave hash a partir del password y la usará como la clave secretadel cliente.El cliente envía un mensaje en texto plano al AS solicitando servicio en nombre delusuario. 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 clavesecreta utilizando la función hash con la password del cliente encontrada en su base dedatos. Entonces envía dos mensajes al cliente:Mensaje A: Client/TGS sessionkey cifrada usando la clave secreta del usuarioMensaje B: Ticket-Granting Ticket (que incluye el ID de cliente, la dirección de red delcliente, el período de validez y el Client/TGS sessionkey) cifrado usando la clave secretadel TGS.Una vez que el cliente ha recibido los mensajes, descifra el mensaje A para obtener elclient/TGS sessionkey. Esta sessionkey se usa para las posteriores comunicaciones conel TGS. (El cliente no puede descifrar el mensaje B pues para cifrar éste se ha usado laclave 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 serviciosolicitado.Mensaje D: Autenticador (compuesto por el ID de cliente y una marca de tiempo), cifradousando el client/TGS sessionkey.
  20. 20. 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 servercliente, 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 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 yque está cifrado usando el client/server s sessionkey.El SS descifra el ticket usando su propia clave secreta y envía el siguiente mensaje alcliente para confirmar su identidad:Mensaje H: la marca de tiempo encontrada en el último Autenticador recibido del clientemás uno, cifrado el client/server sessionkey. client/serveEl cliente descifra la confirmación usando el client/server sessionkey y chequea si lamarca de tiempo está correctamente actualizada. Si esto es así, el cliente confiará en elservidor y podrá comenzar a usar el servicio que este ofrece.El servidor provee del servicio al cliente.
  21. 21. 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

×