Instituto Tecnológico de Reynosa
Carrera: TIC
Grado y Grupo: 6 Semestre
Materia: Programacion Web
Nombre del Maestro: Ing. Mario Santiago
Nombre del Alumno: Edilberto Gonzalez Rios
Nombre del Proyecto: Unidad 6 - Servicios Web
SERVICIOS WEB
Son tecnologías que sirven para intercambiar datos entre diferentes
aplicaciones. Esos servicios están desarrollados en diferentes lenguajes de
programación diferentes, y ejecutadas sobre cualquier plataforma. Estas redes
de servicios pueden usarse para intercambiar datos entre ordenadores o
dispositivos móviles inteligentes o tablets
atraves de internet.
http://es.wikipedia.org/wiki/Servicio_web
VIDEO
CONCEPTOS GENERALES
La principal razón para usar servicios Web es que se pueden utilizar con
HTTP sobre TCP (Transmisión Control Protocolo) 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.
Servicios Web utilizan este puerto, por la simple razón de que no resultan
bloqueados.
Es importante señalar que:
W3C define un "servicio
web" como "un sistema de software diseñado para soportar la
interacción interoperable de máquina a máquina en una red".
Cuenta con una interfaz descrita en
un formato procesable por máquina (específicamente Servicios Web de lenguaje de
descripción, conocido por el acrónimo WSDL).
Otros sistemas interactúan con el servicio Web de una manera prescrita por
su descripción utilizando mensajes SOAP,
típicamente transportados utilizando HTTP con una serialización XML en
conjunción con otros estándares relacionados con la Web.
Además W3C indica que podemos identificar dos clases
principales de servicios Web, servicios Web REST-compliant, en la
que el objetivo principal del servicio es de manipular representaciones XML de
recursos web utilizando un conjunto uniforme de "operacionesn
stateless"; y servicios Web arbitrariOS , en el que el servicio puede
exponer un conjunto arbitrario de operaciones.
=================================================
REFERENCIA
http://www.prograweb.com.mx/pweb/0601ServiciosWeb.php
=================================================
ESTANDARES
REFERENCIA
http://www.prograweb.com.mx/pweb/0601ServiciosWeb.php
=================================================
ESTANDARES
Internet se compone de tecnologías heterogéneas que operan conjuntamente de
modo satisfactorio mediante protocolos compartidos. Esto impide que los
proveedores individuales impongan un estándar en Internet. El desarrollo del
software de código fuente abierto desempeña un rol fundamental para proteger la
interoperatividad de implementaciones de estándares del proveedor.
Los estándares siguientes desempeñan roles clave en servicios Web:
UDDI (Universal Description, Discovery and Integration),
WSDL (Web Services
Description Language),
WSIL (Web Services Inspection Language),
SOAP y WS-I (Web
Services Interoperability).
La relación entre estos estándares se describe en la Figura siguiente.
La especificación UDDI define
estándares abiertos independientes de la plataforma que permiten a las empresas
compartir información en un registro de empresa global, encontrar servicios en
el registro y definir cómo actúan conjuntamente en Internet.
WSIL: es una especificación abierta
basada en XML que define un método de descubrimiento de servicios distribuidos
que suministra referencias a descripciones de servicio en el punto de ofertas
del proveedor de servicios, especificando cómo comprobar si hay servicios Web
disponibles en un sitio Web.
WSDL: es una especificación abierta
basada en XML que describe las interfaces y las instancias de servicios Web en
la red. Es ampliable, de modo que se pueden describir los puntos finales
independientemente de los formatos de mensaje o de los protocolos de red que se
utilicen para comunicarse.
SOAP es un estándar basado en XML para la
transmisión de mensajes en HTTP y otros protocolos de Internet. Es un protocolo
ligero para el intercambio de información en un entorno descentralizado y
distribuido. Se basa en XML y consta de tres partes:
*Un sobre que define una infraestructura para describir el contenido del
mensaje y cómo procesarlo.
*Un conjunto de normas de codificación para expresar instancias de tipos
de datos definidos por la aplicación.
*Una convención para representar llamadas y respuestas a procedimiento
remoto.
=================================================
REFERENCIA
http://www.prograweb.com.mx/pweb/0602Estandar.php
=================================================
REFERENCIA
http://www.prograweb.com.mx/pweb/0602Estandar.php
=================================================
SEGURIDAD E INTEROPERABILIDAD
La seguridad es un concepto considerado clave dentro de los que
comprenden el aseguramiento de calidad dentro del servicio Web.
Si se realiza una catalogación básica de los servicios de seguridad son
la confidencialidad, integridad, autenticidad de origen, no repudio y control
de acceso.
Autenticación
de los participantes. Los servicios
Web por definición tienen mucha heterogeneidad, lo que provoca que los sistema
de autenticación tengan que ser flexibles. Si imaginamos un servicio Web que
necesita comunicarse con otro servicio, este podría solicitar al demandante
credenciales junto a una demostración de que es el propietario de las mismas.
Resulta necesario conseguir un estandarización de los protocolos y en los
formatos a utilizar.
Autorización. Con frecuencia, es
necesario aplicar unos criterios que permitan controlar el acceso a los
diferentes recursos. Es necesario definir los usuarios que pueden realizar
diversas acciones sobre los diferentes recursos. En combinación con la
autenticación, permite a las identidades conocidas realizar las acciones para
las que tienen permisos.
Confidencialidad. Es necesario asegurar que el contenido incluido
en los mensajes que se intercambian se mantiene como información confidencial.
Es muy habitual emplear técnicas de cifrado, ya muy extendidas. Obviamente, la
confidencialidad del mensaje va más allá que el canal por el que es
transmitido.
Integridad. Esta propiedad
garantiza que la información que se ha recibido, es exactamente la misma que se
envió desde el cliente.
No
repudio. En una comunicación que se
realizan transacciones, es necesario registrar que las mismas se han producido
y registrar el autor que lo ejecutó. En el caso de los servicios Web,
trasladamos esta política la uso del servicio. Se comprueba que cierto cliente
hizo uso de un servicio a pesar de que éste lo niegue (no repudio del
solicitante) así como probar la ejecución se llevó a cabo (no repudio del
receptor).
Disponibilidad. Uno de los ataques
mas frecuentes a las aplicaciones se basa en la denegación de servicios. Se
lanzan múltiples solicitudes falsas para inundar el servicio y provocar su
caída. Es necesario contemplar la disponibilidad, como punto muy importante en
el diseño de servicio web, ya que permiten cierta redundancia de los sistemas.
Auditabilidad. El registro de las acciones en los servicios
Web permite mantener una traza de las mismas de manera que se puedan realizar
análisis posteriores de los datos.
Seguridad
extremo-a-extremo. Cuando se ejecuta un servicio es necesario garantizar
la seguridad durante todo el recorrido que efectúan los mensajes. Dado que
normalmente existen Routers como intermediarios de la comunicación, esto
provoca un aumento de la política de seguridad que garantice que se realiza el
transporte de forma segura y confirme la seguridad de los intermediarios. Es
importante disponer de un contexto de seguridad único y que incluya el canal de
comunicación.
Requisitos de Seguridad
Si realizamos una abstracción sobre la problemática, el objetivo
principal es conseguir un entorno para las transacciones y los procesos que sea
seguro para todo el canal de comunicación. Obviamente, es necesario garantizar
la seguridad durante el tránsito de la comunicación, ya sea con intermediarios
o sin ellos durante la misma. Por otra parte, se necesita asegurar la seguridad
de la información en los procesos de almacenamiento: A continuación se ofrece
una revisión breve de los principales requisitos para asegurar la seguridad en
la comunicación.
Interoperabilidad
La interoperabilidad entre los servicio web de ASP.NET y los servicio
web de Windows Communication Foundation (WCF) se puede lograr asegurando que
los servicios implementados usen ambas tecnologías de acuerdo con la
especificación WS-I Basic.
El uso de esta opción es preferible, porque la interfaz con el
atributo WebService constituye un contrato para las operaciones realizadas
por el servicio, que puede reutilizarse con diferentes clases que podrían
implementar ese mismo contrato de distintas maneras.
·
Evite usar el
atributo SoapDocumentServiceAttribute para que los mensajes se
enruten a métodos en función del nombre completo del elemento de cuerpo del
mensaje SOAP en lugar del encabezado HTTP SOAPAction.
·
El XML en el que XmlSerializer se
realiza de forma predeterminada un tipo es semánticamente idéntico al XML,
dando por hecho que el espacio de nombres para el XML se define explícitamente.
Cuando defina un tipo de datos para su uso con los servicios web de ASP.NETy en
previsión de que se adoptará WCF, haga lo siguiente:
Defina el tipo mediante las clases de .NET Framework en lugar de
mediante el Esquema XML.
Agregue
solo SerializableAttribute y XmlRootAttribute a la clase,
utilizando el último para definir explícitamente el espacio de nombres del
tipo.
No agregue atributos adicionales del espacio de nombres
System.Xml.Serialization para controlar cómo se traducirá la clase de .NET
Framework a XML.
=================================================
REFERENCIA
http://www.prograweb.com.mx/pweb/0603Seguridad.php
=================================================
=================================================
REFERENCIA
http://www.prograweb.com.mx/pweb/0603Seguridad.php
=================================================