SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Por :Jorge Gonzalez Ramirez
Introduccion

Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra
su complejidad a la hora de dar una adecuada definición que englobe todo lo que
son e implican. Una posible sería hablar de ellos como un conjunto de
aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas
aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer
unos servicios. Los proveedores ofrecen sus servicios como procedimientos
remotos y los usuarios solicitan un servicio llamando a estos procedimientos a
través de la Web.


La definicion de wikipedia:

Un servicio web (en inglés, Web service) es una pieza de software que utiliza un
conjunto de protocolos y estándares que sirven para intercambiar datos entre
aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de
programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar
los servicios web para intercambiar datos en redes de ordenadores como Internet.
La interoperabilidad se consigue mediante la adopción de estándares abiertos.
Las organizaciones OASIS y W3C son los comités responsables de la arquitectura
y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre
distintas implementaciones de servicios Web se ha creado el organismo WS-I,
encargado de desarrollar diversos perfiles para definir de manera más exhaustiva
estos estándares.


Estándares empleados

   • Web Services Protocol Stack: Así se denomina al conjunto de servicios y
     protocolos de los servicios Web.
   • XML (Extensible Markup Language): Es el formato estándar para los datos
     que se vayan a intercambiar.
   • SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure
     Call): Protocolos sobre los que se establece el intercambio.
   • Otros protocolos: los datos en XML también pueden enviarse de una
     aplicación a otra mediante protocolos normales como HTTP (Hypertext
     Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer
     Protocol).
   • WSDL (Web Services Description Language): Es el lenguaje de la interfaz
     pública para los servicios Web. Es una descripción basada en XML de los
     requisitos funcionales necesarios para establecer una comunicación con los
     servicios Web.
   • UDDI (Universal Description, Discovery and Integration): Protocolo para
     publicar la información de los servicios Web. Permite comprobar qué
     servicios web están disponibles.
• WS-Security (Web Service Security): Protocolo de seguridad aceptado como
      estándar por OASIS (Organization for the Advancement of Structured
      Information Standards). Garantiza la autenticación de los actores y la
      confidencialidad de los mensajes enviados.




Como Funciona




Funcionamiento de los Servicios Web

Según el ejemplo del gráfico, un usuario (que juega el papel de cliente dentro de
los Servicios Web), a través de una aplicación, solicita información sobre un viaje
que desea realizar haciendo una petición a una agencia de viajes que ofrece sus
servicios a través de Internet. La agencia de viajes ofrecerá a su cliente (usuario)
la información requerida. Para proporcionar al cliente la información que necesita,
esta agencia de viajes solicita a su vez información a otros recursos (otros
Servicios Web) en relación con el hotel y la compañía aérea. La agencia de viajes
obtendrá información de estos recursos, lo que la convierte a su vez en cliente de
esos otros Servicios Web que le van a proporcionar la información solicitada sobre
el hotel y la línea aérea. Por último, el usuario realizará el pago del viaje a través
de la agencia de viajes que servirá de intermediario entre el usuario y el servicio
Web que gestionará el pago.


En todo este proceso intervienen una serie de tecnologías que hacen posible esta
circulación de información. Por un lado, estaría SOAP (Protocolo Simple de Acceso
a Objetos). Se trata de un protocolo basado en XML, que permite la interacción
entre varios dispositivos y que tiene la capacidad de transmitir información
compleja. Los datos pueden ser transmitidos a través de HTTP , SMTP , etc. SOAP
especifica el formato de los mensajes. El mensaje SOAP está compuesto por un
envelope (sobre), cuya estructura está formada por los siguientes elementos:
header (cabecera) y body (cuerpo).




Ventajas de los servicios web

   • Aportan      interoperabilidad   entre    aplicaciones     de    software
     independientemente de sus propiedades o de las plataformas sobre las que
     se instalen.
   • Los servicios Web fomentan los estándares y protocolos basados en texto,
     que hacen más fácil acceder a su contenido y entender su funcionamiento.
   • Permiten que servicios y software de diferentes compañías ubicadas en
     diferentes lugares geográficos puedan ser combinados fácilmente para
     proveer servicios integrados.



Inconvenientes de los servicios Web

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



Razones para crear servicios Web

La principal razón para usar servicios Web es que se pueden utilizar con HTTP
sobre TCP (Transmission Control Protocol) en el puerto 80. Dado que las
organizaciones protegen sus redes mediante firewalls -que filtran y bloquean gran
parte del tráfico de Internet-, cierran casi todos los puertos TCP salvo el 80, que
es, precisamente, el que usan los navegadores. Los servicios Web utilizan este
puerto, por la simple razón de que no resultan bloqueados. Es importante señalar
que los servicios web se pueden utilizar sobre cualquier protocolo, sin embargo,
TCP es el más común.
Otra razón es que, antes de que existiera SOAP, no había buenas interfaces para
acceder a las funcionalidades de otros ordenadores en red. Las que había eran ad
hoc y poco conocidas, tales como EDI (Electronic Data Interchange), RPC (Remote
Procedure Call), u otras APIs.
Una tercera razón por la que los servicios Web son muy prácticos es que pueden
aportar gran independencia entre la aplicación que usa el servicio Web y el propio
servicio. De esta forma, los cambios a lo largo del tiempo en uno no deben afectar
al otro. Esta flexibilidad será cada vez más importante, dado que la tendencia a
construir grandes aplicaciones a partir de componentes distribuidos más
pequeños es cada día más utilizada.



Seguridad En Los Servicios Web

Como todas las aplicaciones, los servicios web requieren de mecanismos de
seguridad, tanto para los procesos de autenticación y autorización de usuarios,
como para impedir el acceso a la información que se transmite por Internet a
personas no autorizadas.

Dado que los servicios web ASP.NET son aplicaciones que se exponen a través de
una página ASP.NET de un servidor web como IIS, y utilizan el protocolo HTTP
como mecanismo de comunicación, se pueden utilizar los mecanismos de
seguridad que éstos proporcionan para la seguridad de la aplicación.

Autenticación

La autenticación es el proceso mediante el cual se identifica a un usuario y se le
concede acceso al sistema. IIS ofrece varios tipos de autenticación:
• Básica. Es un método de autenticación poco o nada seguro, ya que el nombre
de usuario y la contraseña se envían como texto codificado en base 64, que
puede ser fácilmente descodificado.

• Implícita. Utiliza algoritmos de hash para enviar los datos del cliente. Esta
opción no es compatible con todos los sistemas y herramientas de desarrollo de
servicios web.

• Autenticación de Windows integrada. Se utiliza el mismo mecanismo que el que
se utiliza para autenticar usuarios de un sistema Windows remoto. El cliente debe
pertenecer al mismo dominio que el servidor, o a un dominio en el que el servidor
confíe.

En cualquiera de los tipos de autenticación de IIS, se autorizará el acceso a los
servicios web si las credenciales coinciden con una cuenta de usuario valida. Las
páginas ASP.NET también proporcionan varios mecanismos de autenticación que
se pueden combinar con los mecanismos de autenticación de IIS. Los diferentes
tipos de autenticación son los siguientes:

• Autenticación mediante formularios. Las peticiones no autenticadas se redirigen
a un formulario HTML en el que el usuario proporciona sus credenciales y las
envía. Si la aplicación autentica la solicitud, se emite una cookie que contiene las
credenciales o una clave para emitir en posteriores peticiones en los encabezados
del mensaje.

• Autenticación mediante Passport. Se trata de un servicio de autenticación
centralizado, proporcionado por Microsoft, que ofrece a los sitios web suscritos
servicios de perfil básico e inicio de sesión único.

• Autenticación de Windows: ASP.NET utiliza la autenticación de Windows junto
con la autenticación de Servicios de Microsoft Internet Information Server (IIS).
Cuando IIS autentifica un usuario, ASP.NET utiliza sus datos para autorizar el
acceso.

Autorización

La autorización es un mecanismo por el cual se comprueba si un determinado
usuario tiene permiso para realizar una determinada acción solicitada. A
continuación, veremos algunos tipos de autorización que se pueden utilizar para
controlar el acceso a los servicios web:

• Seguridad de Windows NT. Se basa en la identidad del usuario y previene de
accesos no autorizados a recursos del sistema, mediante listas discrecionales de
control de acceso (DACL).

• Seguridad basada en roles. Se basa en los roles que un usuario puede asumir.
En función de los roles del usuario se determinan las acciones a las que este tiene
acceso o no.

Encriptación

La encriptación evita que los datos que se transmiten entre el consumidor y el
servicio web puedan ser interpretados por usuarios no autorizados. Se puede
utilizar un mecanismo de encriptación como SSL (Secure Sockets Layer) que
encripte toda la comunicación entre el consumidor servicio web, o implementar
una extensión personalizada de SOAP que permita encriptar solamente aquellas
partes del mensaje que lo requieran, para mejorar el rendimiento.



Creacion de Servicios Web

ASP.NET proporciona servicios de aplicación, a los que se puede obtener acceso
en la web, que permiten a las aplicaciones cliente usar la información de
autenticación, rol y perfil del usuario. Las aplicaciones cliente escritas en
lenguajes diferentes y que se ejecutan en sistemas operativos diferentes pueden
tener acceso a los servicios. El único requisito es que estos clientes deben poder
comunicar usando el protocolo SOAP 1.1.


Servicios web de google

Google ofrece Servicios a los desarrolladores para que puedan hacer peticiones a
Google desde sus propias aplicaciones.

Esta es una lista de los servicios.

   •   Google Trends se trata de una herramienta orientada a webmasters y
       profesionales creada para realizar análisis cualitativos de las búsquedas,
       pudiendose consultar estos por ciudades, regiones y por idioma. También
       permite comparar varios términos.
   •   Google Website Optimizer: Una herramienta para mejorar los ratios de
       conversiones de adwords de nuestras páginas
   •   Google Web Search motor de búsqueda de Google.
   •   Google Analytics analiza las páginas web, a través de un código javascript,
       guardando todo tipo de estadísticas de los visitantes. Permite la integración
       con una cuenta de AdWords.
   •   Google AdSense es el servicio de publicidad contextual de Google.
   •   Google AdWords es la otra parte de AdSense. Mientras AdSense permite a
       los webmasters poner los anuncios en sus web, Adwords permite la
       publicación de estos en la red de AdSense. Además el pasado 21 de
       noviembre Google liberó el "Onsite Advertiser Sign-Up" que permite a un
       anunciante publicar sus anuncios en sitios específicos de la red AdSense.
   •   Google Base Libreria de contenidos, portal de anuncios clasificados o
servicio inclasificable que permite añadir cualquier tipo de contenido a su
      base de datos.


Servicios de Microsoft

Los servicios de aplicación ASP.NET son servicios Web integrados que
proporcionan acceso a características como la autenticación de formularios, las
funciones y las propiedades de perfil. Estos servicios forman parte de una
arquitectura orientada a servicios (SOA), donde una aplicación está compuesta de
uno o más servicios que proporciona el servidor y de uno o más clientes. Para
obtener más información sobre SOA, vea Understanding Service-Oriented
Architecture en el sitio web de MSDN.
Una característica importante de los servicios de aplicación ASP.NET es que están
disponibles para diferentes aplicaciones cliente, no sólo para aplicaciones web
ASP.NET. Los servicios de aplicación ASP.NET están disponibles para cualquier
cliente basado en .NET Framework. Además, cualquier aplicación cliente que
puede enviar y recibir mensajes en formato SOAP puede usar los servicios de
aplicación ASP.NET

Las aplicaciones cliente para los servicios de aplicación ASP.NET pueden ser de
diferentes tipos y se pueden ejecutar en sistemas operativos diferentes. Entre
ellas se incluyen los siguientes tipos de clientes:
   • Clientes de AJAX. Son páginas web ASP.NET (archivos .aspx) que se ejecutan
     en el explorador y que tienen acceso a los servicios de aplicación desde
     script de cliente. Generalmente los clientes de AJAX usan el formato JSON
     para intercambiar datos.
   • Clientes de .NET Framework. Son aplicaciones para Windows de .NET
     Framework que tienen acceso a los servicios de aplicación a través de HTTP
     mediante la infraestructura de modelo del proveedor y que usan el
     protocolo JSON para intercambiar datos.
   • Clientes de SOAP. Son clientes que pueden obtener acceso a los servicios de
     la aplicación a través de SOAP 1.1. Esto resulta útil para los clientes que se
     ejecutan en otros sistemas operativos o que usan otras tecnologías, como
     las aplicaciones Java.




La ilustración siguiente muestra cómo diferentes clientes se comunican con los
servicios.
Comunicación de servicio Web
Los servicios de aplicación que proporciona ASP.NET permiten a las aplicaciones
cliente obtener acceso y compartir información que forma parte de una aplicación
web. ASP.NET dispone de los servicios de aplicación siguientes:
    • Servicio de autenticación. Este servicio permite conceder a los usuarios el
      inicio de sesión en una aplicación. El servicio acepta las credenciales de
      usuario y devuelve un vale de autenticación (cookie).
   • Servicio de funciones. Este servicio determina las funciones relacionadas
     con la aplicación para un usuario autenticado, basándose en la información
     que proporciona un proveedor de funciones de ASP.NET. Esto puede ser útil
     si desea proporcionar una interfaz de usuario específica o si desea permitir
     el acceso a recursos específicos según la función del usuario.
   • Servicio de perfil. Este servicio proporciona información por usuario como el
     perfil de un usuario que está almacenado en el servidor. Esto permite a la
     aplicación tener acceso a la configuración de un usuario en diferentes
     momentos y desde diferentes componentes de la interfaz de usuario cliente


Clientes del servicio de aplicación
Esta sección proporciona detalles sobre los tipos de aplicaciones cliente que
pueden usar servicios de aplicación ASP.NET y alguna información cómo el cliente
se comunica con un servicio de aplicación.

Clientes de AJAX
Los clientes de AJAX (páginas web ASP.NET habilitadas para AJAX) intercambian
datos con servicios de aplicación a través de HTTP mediante solicitudes POST. Los
datos se empaquetan en formato JSON. La aplicación cliente se comunica con los
servicios de aplicación a través de clases de proxy de script de cliente. El servidor
genera las clases de proxy, que se descargan al explorador como parte de
cualquier página que llame a un servicio de aplicación.
Clientes de .NET Framework
Los servicios de aplicación ASP.NET intercambian datos con clientes de .NET
Framework a través de HTTP mediante solicitudes POST. Los datos se empaquetan
en formato JSON. La aplicación cliente se comunica con los servicios de aplicación
mediante el modelo de proveedor de .NET Framework. En los servicios de
aplicación ASP.NET, el modelo de proveedor hace referencia a los tipos de cliente
de .NET Framework y a los proveedores de pertenencia relacionados que
almacenan y recuperan las credenciales de usuario de un origen de datos.La
comunicación entre el cliente y el servidor es sincrónica. Los tipos que se definen
en el espacio de nombres System.Web.ClientServices.Providers implementan los
servicios de aplicación.
Para tener acceso a un servicio de aplicación, una aplicación cliente de .NET
Framework se debe configurar de forma adecuada. La configuración del servidor
es igual que la utilizada para los servicios de aplicación en AJAX.



Clientes de SOAP
Puede tener acceso a los servicios ASP.NET, de autenticación, perfil y servicios
desde cualquier aplicación cliente en cualquier sistema operativo que puede usar
el protocolo SOAP 1.1. Los servicios de aplicación ASP.NET están integrados
en Windows Communication Foundation (WCF) e intercambian datos con el cliente
en formato SOAP. Para obtener más información, vea XML Web Services
Infrastructure en el sitio web de MSDN.
La comunicación entre el cliente y los servicios de aplicación se realiza mediante
clases de proxy que se ejecutan en el cliente y que representan el servicio de
aplicación. Puede generar clases de proxy compatibles con los servicios de
aplicación ASP.NET mediante la utilidad Service Model Metadata Utility Tool
(svcutil.exe)
Conclusiones


Los Servicios web tienen diversas ventajas como interoperabilidad y la
integración. Atravez de los Servicios Web, las empresas pueden compartir
servicios software con sus clientes y sus socios de negocio. Esto permite reducir
costos y la integracion de aplicaciones hce posible obtener la información
demandada en tiempo real, acelerando el proceso de toma de decisiones

Proveedores líderes promocionan los       Web Services como un modelo de
programación para la comunicación entre aplicaciones. Estas compañías piensan
que la conexión de aplicaciones a través de Internet mejorará la capacidad de las
empresas para trabajar conjuntamente con sus socios de negocio, proveedores y
clientes.

.

Más contenido relacionado

La actualidad más candente

4 servicios de internet
4 servicios de internet4 servicios de internet
4 servicios de internet
UVM
 
Presentación servicios web
Presentación servicios webPresentación servicios web
Presentación servicios web
Miguel Angel X T
 
WCF for Dummies (Parte I)
WCF for Dummies (Parte I)WCF for Dummies (Parte I)
WCF for Dummies (Parte I)
Will.i.am
 
Bases de datos en el web
Bases de datos en el webBases de datos en el web
Bases de datos en el web
alfredo
 
Base de datos en internet
Base de datos en internetBase de datos en internet
Base de datos en internet
Maria Garces
 
Bases de datos en el web
Bases de datos en el webBases de datos en el web
Bases de datos en el web
Cesar
 
Wimdows comunication foundation
Wimdows comunication foundationWimdows comunication foundation
Wimdows comunication foundation
Fabricio Macias
 

La actualidad más candente (19)

Servicios web internet
Servicios web   internetServicios web   internet
Servicios web internet
 
4 servicios de internet
4 servicios de internet4 servicios de internet
4 servicios de internet
 
Presentación servicios web
Presentación servicios webPresentación servicios web
Presentación servicios web
 
Diapositivas servicios web
Diapositivas servicios webDiapositivas servicios web
Diapositivas servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
 
WCF for Dummies (Parte I)
WCF for Dummies (Parte I)WCF for Dummies (Parte I)
WCF for Dummies (Parte I)
 
Bases de datos en el web
Bases de datos en el webBases de datos en el web
Bases de datos en el web
 
Servicios web
Servicios webServicios web
Servicios web
 
Introducción a WCF
Introducción a WCFIntroducción a WCF
Introducción a WCF
 
Base de datos en internet
Base de datos en internetBase de datos en internet
Base de datos en internet
 
Bases de datos en el web
Bases de datos en el webBases de datos en el web
Bases de datos en el web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
Servicios web
Servicios web Servicios web
Servicios web
 
Wimdows comunication foundation
Wimdows comunication foundationWimdows comunication foundation
Wimdows comunication foundation
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 

Similar a Servicios web

23444719 monografia-de-web-services
23444719 monografia-de-web-services23444719 monografia-de-web-services
23444719 monografia-de-web-services
casper088
 
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores WebC:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
losmassueltos
 
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
ballesterosymendoza
 
4 servicios de internet
4 servicios de internet4 servicios de internet
4 servicios de internet
UVM
 
04. bases de datos en internet
04. bases de datos en internet04. bases de datos en internet
04. bases de datos en internet
Mauro
 
Bases de datos en internet
Bases de datos en internetBases de datos en internet
Bases de datos en internet
sandrap0
 

Similar a Servicios web (20)

Java2 servicios web
Java2 servicios webJava2 servicios web
Java2 servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Semana 15 -servicios_web
Semana 15 -servicios_webSemana 15 -servicios_web
Semana 15 -servicios_web
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
23444719 monografia-de-web-services
23444719 monografia-de-web-services23444719 monografia-de-web-services
23444719 monografia-de-web-services
 
Servicios web ITT
Servicios web ITTServicios web ITT
Servicios web ITT
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
 
Servicios web itt
Servicios web ittServicios web itt
Servicios web itt
 
Ugmmontoya
UgmmontoyaUgmmontoya
Ugmmontoya
 
Informatik
InformatikInformatik
Informatik
 
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores WebC:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
C:\Documents And Settings\Pc 09\Mis Documentos\Servidores Web
 
Bd en paginas web
Bd en paginas webBd en paginas web
Bd en paginas web
 
Web services
Web servicesWeb services
Web services
 
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
Desarrollo de la web (laura ballesteros & gicela mendoza) 11.3
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
 
4 servicios de internet
4 servicios de internet4 servicios de internet
4 servicios de internet
 
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
9- Unidad 3: Webservices-3.1. Introducción, Conceptos y Características
 
04. bases de datos en internet
04. bases de datos en internet04. bases de datos en internet
04. bases de datos en internet
 
Bases de datos en internet
Bases de datos en internetBases de datos en internet
Bases de datos en internet
 
Servicios WEB
Servicios WEBServicios WEB
Servicios WEB
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Servicios web

  • 2. Introduccion Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra su complejidad a la hora de dar una adecuada definición que englobe todo lo que son e implican. Una posible sería hablar de ellos como un conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de la Web. La definicion de wikipedia: Un servicio web (en inglés, Web service) es una pieza de software que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares. Estándares empleados • Web Services Protocol Stack: Así se denomina al conjunto de servicios y protocolos de los servicios Web. • XML (Extensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar. • SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call): Protocolos sobre los que se establece el intercambio. • Otros protocolos: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol). • WSDL (Web Services Description Language): Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios Web. • UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la información de los servicios Web. Permite comprobar qué servicios web están disponibles.
  • 3. • WS-Security (Web Service Security): Protocolo de seguridad aceptado como estándar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados. Como Funciona Funcionamiento de los Servicios Web Según el ejemplo del gráfico, un usuario (que juega el papel de cliente dentro de los Servicios Web), a través de una aplicación, solicita información sobre un viaje que desea realizar haciendo una petición a una agencia de viajes que ofrece sus servicios a través de Internet. La agencia de viajes ofrecerá a su cliente (usuario) la información requerida. Para proporcionar al cliente la información que necesita, esta agencia de viajes solicita a su vez información a otros recursos (otros Servicios Web) en relación con el hotel y la compañía aérea. La agencia de viajes obtendrá información de estos recursos, lo que la convierte a su vez en cliente de esos otros Servicios Web que le van a proporcionar la información solicitada sobre el hotel y la línea aérea. Por último, el usuario realizará el pago del viaje a través de la agencia de viajes que servirá de intermediario entre el usuario y el servicio Web que gestionará el pago. En todo este proceso intervienen una serie de tecnologías que hacen posible esta circulación de información. Por un lado, estaría SOAP (Protocolo Simple de Acceso a Objetos). Se trata de un protocolo basado en XML, que permite la interacción entre varios dispositivos y que tiene la capacidad de transmitir información
  • 4. compleja. Los datos pueden ser transmitidos a través de HTTP , SMTP , etc. SOAP especifica el formato de los mensajes. El mensaje SOAP está compuesto por un envelope (sobre), cuya estructura está formada por los siguientes elementos: header (cabecera) y body (cuerpo). Ventajas de los servicios web • Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen. • Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento. • Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados. Inconvenientes de los servicios Web • Para realizar transacciones no pueden compararse en su grado de desarrollo con los estándares abiertos de computación distribuida como CORBA (Common Object Request Broker Architecture). • Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales como RMI (Remote Method Invocation), CORBA o DCOM (Distributed Component Object Model). Es uno de los inconvenientes derivados de adoptar un formato basado en texto. Y es que entre los
  • 5. objetivos de XML no se encuentra la concisión ni la eficacia de procesamiento. • Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear o auditar la comunicación entre programas a ambos lados de la barrera. Razones para crear servicios Web La principal razón para usar servicios Web es que se pueden utilizar con HTTP sobre TCP (Transmission Control Protocol) en el puerto 80. Dado que las organizaciones protegen sus redes mediante firewalls -que filtran y bloquean gran parte del tráfico de Internet-, cierran casi todos los puertos TCP salvo el 80, que es, precisamente, el que usan los navegadores. Los servicios Web utilizan este puerto, por la simple razón de que no resultan bloqueados. Es importante señalar que los servicios web se pueden utilizar sobre cualquier protocolo, sin embargo, TCP es el más común. Otra razón es que, antes de que existiera SOAP, no había buenas interfaces para acceder a las funcionalidades de otros ordenadores en red. Las que había eran ad hoc y poco conocidas, tales como EDI (Electronic Data Interchange), RPC (Remote Procedure Call), u otras APIs. Una tercera razón por la que los servicios Web son muy prácticos es que pueden aportar gran independencia entre la aplicación que usa el servicio Web y el propio servicio. De esta forma, los cambios a lo largo del tiempo en uno no deben afectar al otro. Esta flexibilidad será cada vez más importante, dado que la tendencia a construir grandes aplicaciones a partir de componentes distribuidos más pequeños es cada día más utilizada. Seguridad En Los Servicios Web Como todas las aplicaciones, los servicios web requieren de mecanismos de seguridad, tanto para los procesos de autenticación y autorización de usuarios, como para impedir el acceso a la información que se transmite por Internet a personas no autorizadas. Dado que los servicios web ASP.NET son aplicaciones que se exponen a través de una página ASP.NET de un servidor web como IIS, y utilizan el protocolo HTTP como mecanismo de comunicación, se pueden utilizar los mecanismos de seguridad que éstos proporcionan para la seguridad de la aplicación. Autenticación La autenticación es el proceso mediante el cual se identifica a un usuario y se le concede acceso al sistema. IIS ofrece varios tipos de autenticación:
  • 6. • Básica. Es un método de autenticación poco o nada seguro, ya que el nombre de usuario y la contraseña se envían como texto codificado en base 64, que puede ser fácilmente descodificado. • Implícita. Utiliza algoritmos de hash para enviar los datos del cliente. Esta opción no es compatible con todos los sistemas y herramientas de desarrollo de servicios web. • Autenticación de Windows integrada. Se utiliza el mismo mecanismo que el que se utiliza para autenticar usuarios de un sistema Windows remoto. El cliente debe pertenecer al mismo dominio que el servidor, o a un dominio en el que el servidor confíe. En cualquiera de los tipos de autenticación de IIS, se autorizará el acceso a los servicios web si las credenciales coinciden con una cuenta de usuario valida. Las páginas ASP.NET también proporcionan varios mecanismos de autenticación que se pueden combinar con los mecanismos de autenticación de IIS. Los diferentes tipos de autenticación son los siguientes: • Autenticación mediante formularios. Las peticiones no autenticadas se redirigen a un formulario HTML en el que el usuario proporciona sus credenciales y las envía. Si la aplicación autentica la solicitud, se emite una cookie que contiene las credenciales o una clave para emitir en posteriores peticiones en los encabezados del mensaje. • Autenticación mediante Passport. Se trata de un servicio de autenticación centralizado, proporcionado por Microsoft, que ofrece a los sitios web suscritos servicios de perfil básico e inicio de sesión único. • Autenticación de Windows: ASP.NET utiliza la autenticación de Windows junto con la autenticación de Servicios de Microsoft Internet Information Server (IIS). Cuando IIS autentifica un usuario, ASP.NET utiliza sus datos para autorizar el acceso. Autorización La autorización es un mecanismo por el cual se comprueba si un determinado usuario tiene permiso para realizar una determinada acción solicitada. A continuación, veremos algunos tipos de autorización que se pueden utilizar para controlar el acceso a los servicios web: • Seguridad de Windows NT. Se basa en la identidad del usuario y previene de accesos no autorizados a recursos del sistema, mediante listas discrecionales de control de acceso (DACL). • Seguridad basada en roles. Se basa en los roles que un usuario puede asumir. En función de los roles del usuario se determinan las acciones a las que este tiene
  • 7. acceso o no. Encriptación La encriptación evita que los datos que se transmiten entre el consumidor y el servicio web puedan ser interpretados por usuarios no autorizados. Se puede utilizar un mecanismo de encriptación como SSL (Secure Sockets Layer) que encripte toda la comunicación entre el consumidor servicio web, o implementar una extensión personalizada de SOAP que permita encriptar solamente aquellas partes del mensaje que lo requieran, para mejorar el rendimiento. Creacion de Servicios Web ASP.NET proporciona servicios de aplicación, a los que se puede obtener acceso en la web, que permiten a las aplicaciones cliente usar la información de autenticación, rol y perfil del usuario. Las aplicaciones cliente escritas en lenguajes diferentes y que se ejecutan en sistemas operativos diferentes pueden tener acceso a los servicios. El único requisito es que estos clientes deben poder comunicar usando el protocolo SOAP 1.1. Servicios web de google Google ofrece Servicios a los desarrolladores para que puedan hacer peticiones a Google desde sus propias aplicaciones. Esta es una lista de los servicios. • Google Trends se trata de una herramienta orientada a webmasters y profesionales creada para realizar análisis cualitativos de las búsquedas, pudiendose consultar estos por ciudades, regiones y por idioma. También permite comparar varios términos. • Google Website Optimizer: Una herramienta para mejorar los ratios de conversiones de adwords de nuestras páginas • Google Web Search motor de búsqueda de Google. • Google Analytics analiza las páginas web, a través de un código javascript, guardando todo tipo de estadísticas de los visitantes. Permite la integración con una cuenta de AdWords. • Google AdSense es el servicio de publicidad contextual de Google. • Google AdWords es la otra parte de AdSense. Mientras AdSense permite a los webmasters poner los anuncios en sus web, Adwords permite la publicación de estos en la red de AdSense. Además el pasado 21 de noviembre Google liberó el "Onsite Advertiser Sign-Up" que permite a un anunciante publicar sus anuncios en sitios específicos de la red AdSense. • Google Base Libreria de contenidos, portal de anuncios clasificados o
  • 8. servicio inclasificable que permite añadir cualquier tipo de contenido a su base de datos. Servicios de Microsoft Los servicios de aplicación ASP.NET son servicios Web integrados que proporcionan acceso a características como la autenticación de formularios, las funciones y las propiedades de perfil. Estos servicios forman parte de una arquitectura orientada a servicios (SOA), donde una aplicación está compuesta de uno o más servicios que proporciona el servidor y de uno o más clientes. Para obtener más información sobre SOA, vea Understanding Service-Oriented Architecture en el sitio web de MSDN. Una característica importante de los servicios de aplicación ASP.NET es que están disponibles para diferentes aplicaciones cliente, no sólo para aplicaciones web ASP.NET. Los servicios de aplicación ASP.NET están disponibles para cualquier cliente basado en .NET Framework. Además, cualquier aplicación cliente que puede enviar y recibir mensajes en formato SOAP puede usar los servicios de aplicación ASP.NET Las aplicaciones cliente para los servicios de aplicación ASP.NET pueden ser de diferentes tipos y se pueden ejecutar en sistemas operativos diferentes. Entre ellas se incluyen los siguientes tipos de clientes: • Clientes de AJAX. Son páginas web ASP.NET (archivos .aspx) que se ejecutan en el explorador y que tienen acceso a los servicios de aplicación desde script de cliente. Generalmente los clientes de AJAX usan el formato JSON para intercambiar datos. • Clientes de .NET Framework. Son aplicaciones para Windows de .NET Framework que tienen acceso a los servicios de aplicación a través de HTTP mediante la infraestructura de modelo del proveedor y que usan el protocolo JSON para intercambiar datos. • Clientes de SOAP. Son clientes que pueden obtener acceso a los servicios de la aplicación a través de SOAP 1.1. Esto resulta útil para los clientes que se ejecutan en otros sistemas operativos o que usan otras tecnologías, como las aplicaciones Java. La ilustración siguiente muestra cómo diferentes clientes se comunican con los servicios. Comunicación de servicio Web
  • 9. Los servicios de aplicación que proporciona ASP.NET permiten a las aplicaciones cliente obtener acceso y compartir información que forma parte de una aplicación web. ASP.NET dispone de los servicios de aplicación siguientes: • Servicio de autenticación. Este servicio permite conceder a los usuarios el inicio de sesión en una aplicación. El servicio acepta las credenciales de usuario y devuelve un vale de autenticación (cookie). • Servicio de funciones. Este servicio determina las funciones relacionadas con la aplicación para un usuario autenticado, basándose en la información que proporciona un proveedor de funciones de ASP.NET. Esto puede ser útil si desea proporcionar una interfaz de usuario específica o si desea permitir el acceso a recursos específicos según la función del usuario. • Servicio de perfil. Este servicio proporciona información por usuario como el perfil de un usuario que está almacenado en el servidor. Esto permite a la aplicación tener acceso a la configuración de un usuario en diferentes momentos y desde diferentes componentes de la interfaz de usuario cliente Clientes del servicio de aplicación Esta sección proporciona detalles sobre los tipos de aplicaciones cliente que pueden usar servicios de aplicación ASP.NET y alguna información cómo el cliente se comunica con un servicio de aplicación. Clientes de AJAX Los clientes de AJAX (páginas web ASP.NET habilitadas para AJAX) intercambian datos con servicios de aplicación a través de HTTP mediante solicitudes POST. Los datos se empaquetan en formato JSON. La aplicación cliente se comunica con los servicios de aplicación a través de clases de proxy de script de cliente. El servidor genera las clases de proxy, que se descargan al explorador como parte de cualquier página que llame a un servicio de aplicación.
  • 10. Clientes de .NET Framework Los servicios de aplicación ASP.NET intercambian datos con clientes de .NET Framework a través de HTTP mediante solicitudes POST. Los datos se empaquetan en formato JSON. La aplicación cliente se comunica con los servicios de aplicación mediante el modelo de proveedor de .NET Framework. En los servicios de aplicación ASP.NET, el modelo de proveedor hace referencia a los tipos de cliente de .NET Framework y a los proveedores de pertenencia relacionados que almacenan y recuperan las credenciales de usuario de un origen de datos.La comunicación entre el cliente y el servidor es sincrónica. Los tipos que se definen en el espacio de nombres System.Web.ClientServices.Providers implementan los servicios de aplicación. Para tener acceso a un servicio de aplicación, una aplicación cliente de .NET Framework se debe configurar de forma adecuada. La configuración del servidor es igual que la utilizada para los servicios de aplicación en AJAX. Clientes de SOAP Puede tener acceso a los servicios ASP.NET, de autenticación, perfil y servicios desde cualquier aplicación cliente en cualquier sistema operativo que puede usar el protocolo SOAP 1.1. Los servicios de aplicación ASP.NET están integrados en Windows Communication Foundation (WCF) e intercambian datos con el cliente en formato SOAP. Para obtener más información, vea XML Web Services Infrastructure en el sitio web de MSDN. La comunicación entre el cliente y los servicios de aplicación se realiza mediante clases de proxy que se ejecutan en el cliente y que representan el servicio de aplicación. Puede generar clases de proxy compatibles con los servicios de aplicación ASP.NET mediante la utilidad Service Model Metadata Utility Tool (svcutil.exe)
  • 11. Conclusiones Los Servicios web tienen diversas ventajas como interoperabilidad y la integración. Atravez de los Servicios Web, las empresas pueden compartir servicios software con sus clientes y sus socios de negocio. Esto permite reducir costos y la integracion de aplicaciones hce posible obtener la información demandada en tiempo real, acelerando el proceso de toma de decisiones Proveedores líderes promocionan los Web Services como un modelo de programación para la comunicación entre aplicaciones. Estas compañías piensan que la conexión de aplicaciones a través de Internet mejorará la capacidad de las empresas para trabajar conjuntamente con sus socios de negocio, proveedores y clientes. .