Seguridad en Web Services

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Seguridad en Web Services"

Transcripción

1 Seguridad en Web Services Seguridad de la Información Depto. De Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Julio 2006 Hernán Garrido Cristian Zunino

2 Indice 1 Acerca de este documento Introducción a Web Services Tecnología de Web Services Roles en Web Services Stack de protocolos en Web Services Perspectivas Perspectiva del usuario Perspectiva del proveedor XML: Gramática de Web Services XML-RPC Estructura XML-RPC Modelo de datos Estructura del XML-RPC Request Estructura del XML-RPC Response WSDL: Descripción de Web Services Especificación WSDL Ejemplo SOAP: Acceso a Web Services UDDI: Publicación y Descrubimiento de Web Services Conceptos Básicos de Seguridad en Web Services XML-Signature: Firma Digital en XML Estructura básica de XML Signature Enveloping Signature Enveloped Signature Detached Signature Esquema detallado del elemento Signature Ejemplo completo Proceso de Generación de la firma Generación de las referencias Generación de la firma Proceso de Verificación de la firma Verificación de las referencias Verificación de la firma Algoritmos Disponibles XML-Encryption: Encriptación en XML Estructura de XML Encryption Ejemplo completo Proceso de Encriptación Proceso de Desencriptación Algoritmos disponibles Combinando XML Encryption y XML Signature SAML: Autenticación en XML Modo de trabajo de SAML Aserciones Aserciones de Autenticación Aserciones de Atributos Aserciones de Autorización... 37

3 12.3 Protocolo Authentication Request Attribute Request Authorization Request SAML Protocol Response Bindings WS-Security: Seguridad en SOAP Seguridad de Mensaje vs Seguridad de Transporte Extendiendo la Seguridad en SOAP Security Tokens en WS-Security Ejemplo de token username/password Ejemplo de ticket Kerberos Ejemplo de certificado X Ejemplo de token SAML Assertion Flujo de mensajes XML Encryption en WS-Security XML Signature en WS-Security Firmando parte o todo el mensaje Firmando un Security Token Ejercicio Práctico Enunciado Resolución Referencias...51

4 1 Acerca de este documento El presente documento analiza el uso de los métodos existentes para implementar seguridad en Web Services. En primer lugar se presentan a grandes rasgos los conceptos básicos de Web Services, luego se entrará más en detalle en estos conceptos y se irán agregando conceptos de seguridad en XML, que serán necesarios para poder brindar seguridad en Web Services. Por último se presenta un problema de ejemplo y se procede a analizarlo utilizando los conceptos descriptos en este documento. 1

5 2 Introducción a Web Services Casi todas las empresas, instituciones y organismos gubernamentales cuentan con distintas áreas o departamentos que usan sistemas informáticos y bases de datos específicos para realizar sus tareas y administrar su información. En la gran mayoría de los casos estos sistemas no fueron desarrollados para trabajar juntos y en muchos casos ni siquiera fueron desarrollados por el mismo equipo de desarrolladores. Sin embargo, tarde o temprano surge la necesidad natural de integrarlos, ya sea porque se necesita una interfase unificada que permita cruzar información de diferentes fuentes, evitar la duplicación de información y los problemas de consistencia asociados, o bien ofrecer servicios que utilicen Internet, e- commerce u otras tecnologías nuevas. Por este motivo surgen los Web Services que proveen un mecanismo de comunicación débilmente acoplado e independiente de la plataforma definidos sobre una gramática XML estándar que facilita la integración de los datos. 2.1 Tecnología de Web Services Los web services proveen un mecanismo estándar para que las aplicaciones puedan publicar y subscribirse a servicios de software a través de Internet o de una intranet. Las aplicaciones clientes (usuarios de web services) pueden localizar los servicios que proveen los servidores de aplicaciones (proveedores de web services) usando el estándar Universal Distribution Discovery and Integration (UDDI), obtener la definición de la interfase usando Web Services Description Language (WSDL), e intercambiar datos usando documentos XML a través de SOAP sobre protocolos universales tales como HTTP, FTP, y SMTP. El funcionamiento de los web services es comparable al de la web estándar en la que un servidor HTTP responde pedidos de un web browser enviándole páginas HTML. En contraste, en los web services existe un servidor SOAP basado en HTTP que escucha pedidos SOAP de aplicaciones cliente. El servidor SOAP interpreta los pedidos (que incluyen datos en formato XML) y luego responde al cliente. La respuesta puede consistir de una descripción en formato WSDL de los web services disponibles en el servidor, un mensaje de estado tal como la indicación de que un recurso no está disponible o que una transacción fue exitosa, o datos encapsulados en un documento XML. Para la aplicación cliente de un web service, éste aparece como una llamada a un método local, sólo que la llamada es traducida a XML (basándose en el estándar SOAP) y enviada a través de la red a la aplicación proveedora del servicio. Debido a que los web services son accesibles usando URLs, HTTP, y XML, están al alcance de cualquier aplicación desde cualquier plataforma de software o hardware. Resumiendo, un web service es cualquier servicio que esté disponible en Internet o en una red privada, use un sistema de mensajería XML estandarizado y no se encuentre atado a ningún sistema operativo ni lenguaje de programación. Además, hay dos propiedades adicionales que son deseables: un web service debería ser self-describing -si se publica el servicio también se debería publicar su interfase y alguna documentación mínima- que se logra mediante WSDL, y descubrible -discoverable, si se crea un web service debe haber un mecanismo fácil de publicación- que se logra gracias a UDDI. 2

6 2.2 Roles en Web Services Hay tres grandes roles en la arquitectura de web services: El Service provider es el proveedor del web service, que lo implementa y lo disponibiliza Un Service requestor es cualquier consumidor del web service, que lo accede a través de una conexión de red enviando un XML request Un Service registry es un directorio de servicios lógicamente centralizado donde los desarrolladores pueden publicar nuevos servicios o encontrar otros ya existentes El siguiente diagrama muestra los roles en un web service y la interacción entre ellos: 2.3 Stack de protocolos en Web Services El stack de protocolos en la arquitectura de web services tiene cuatro grandes capas: Servicio de transporte: es la capa responsable de transportar mensajes entre aplicaciones; pueden utilizarse los protocolos HTTP, SMTP, FTP u otros más nuevos (como BEEP) Mensajería XML: es la capa responsable de codificar mensajes en un formato XML común para que pueda ser entendido por ambos extremos; los protocolos más usados son SOAP y XML-RPC (XML Remote Procedure Call), aunque también se pueden usar los métodos GET/POST de HTTP y pasar documentos XML arbitrarios. Descripción del servicio: es la capa responsable de describir la interface pública de un web service específico; se utiliza WSDL (Web Service Description Language) Descubrimiento del servicio: es la capa responsable de centralizar web services en un lugar común y proveer funcionalidades de publicación y búsqueda; se utiliza UDDI (Universal Description, Discovery and Integration). El siguiente diagrama muestra el stack de protocolos de un web service: 3

7 2.4 Perspectivas Para entender con mayor claridad la interacción entre estos elementos, se puede ver el proceso desde la perspectiva del proveedor del servicio o desde la del usuario Perspectiva del usuario La perspectiva del usuario del servicio (service requestor) es la siguiente: 1. Identificar y descubrir los servicios relevantes a la aplicación buscándolos en el directorio UDDI. 2. Una vez identificado el servicio, localizar su descripción. Si es un servicio SOAP hallar el documento WSDL, y si es un servicio XML-RPC hallar documentación human-readable para conocer detalles de la integración. 3. Crear la aplicación cliente en algún lenguaje de programación (generalmente utilizando alguna herramienta automática). 4. Ejecutar la aplicación cliente para que invoque el web service Perspectiva del proveedor La perspectiva del proveedor del servicio (service provider) es la siguiente: 1. Implementar el servicio en algún lenguaje. 2. Desarrollar un wrapper del servicio, ya sea en XML-RPC o en SOAP. 3. Proveer documentación del servicio (en el caso XML-RPC) o un documento WSDL (en el caso SOAP). 4. Instalar el servicio y disponibilizarlo (deploy). 5. Publicar la existencia y especificación del servicio (en un directorio UDDI global o uno privado de la compañía). 4

8 3 XML: Gramática de Web Services XML (extensible Markup Language) fue desarrollado para representar datos de manera totalmente independiente de toda aplicación, protocolo, vocabulario, sistema operativo y lenguaje de programación con el objetivo de superar las limitaciones de HTML y, en particular, mejorar la creación y el manejo de contenido dinámico. Usando XML se pueden definir elementos que asocien significado a los datos, es decir, se describen los datos y qué hacer con ellos. XML es la base de descripción, descubrimiento e invocación de web services, a tal punto que WSDL, SOAP, XML Signature, XML Encryption y SAML se basan en XML. Por lo tanto, en nuestro contexto XML no sólo es utilizado para el formato de los mensajes sino también para definir los servicios y cómo utilizarlos. Dos partes que intercambian datos XML tienen que poder entenderlos e interpretarlos en la misma manera. Esto ocurre únicamente si ambos comparten la misma definición de los elementos que componen los datos. Para evitar que los nombres en un documento XML se confundan con otros, los XML namespaces proveen un mecanismo para mantenerlos separados y seguros, permitiendo que se creen los propios elementos y nombres de atributos sin que existan colisiones con otros ya existentes. Un esquema XML (XML Schema) define las reglas de un documento XML y permite que sea posible la validación automática (utilizando alguna herramienta para tal fin) del documento. Los esquemas definen los tipos de datos y su orden en el documento. Generalmente el prefijo de namespace xsd: identifica un elemento como parte de un esquema XML, como puede verse en el siguiente ejemplo: <xsd:schema xmlns:xsd="http://www.w3.org/1999/xmlschema"> <xsd:element name="customernumber" type="xsd:integer"/> 5

9 4 XML-RPC XML-RPC provee un mecanismo basado en HTTP y XML para hacer llamados a procedimientos o funciones remotos en una red. Utiliza el protocolo HTTP para pasar información de un cliente a un servidor de la siguiente manera: el cliente especifica el procedimiento y los parámetros en un XML request y el servidor devuelve un valor o un error en un XML response. Los parámetros son una lista simple de valores y tipos, y se debe tener en cuenta que los tipos de datos disponibles más complejos son los structs y arrays (XML-RPC no maneja objetos ni mecanismos más complejos de definición de tipos). Aunque XML-RPC posee ciertas limitaciones, su simplicidad es de mucha utilidad cuando los desarrolladores necesitan integrar sistemas de tipos muy diferentes. Al basarse en HTTP y XML, XML-RPC es independiente de la plataforma y se utiliza mayormente en dos escenarios, que a veces se superponen: Glue Code: los programadores e integradores de sistemas distribuidos suelen utilizar XML-RPC como glue code para conectar módulos dispares. En lugar de crear protocolos y formatos customizados que requieren testing, documentación y debugging, utilizan XML-RPC para conectar programas que corren en distintos entornos y sistemas, y de esta manera se focalizan en las interfaces específicas y no en el protocolo de conexión. En este escenario de uso, la distinción entre cliente y servidor es insignificante: un mismo programa puede tener implementaciones de cliente y servidor. Publicación de servicios: los desarrolladores pueden implementar un web service en cualquier lenguaje arbitrario y publicarlo a través de XML-RPC definiendo las interfaces apropiadas. Una vez disponible en la web, cualquier cliente que interprete XML-RPC puede utilizar el servicio. Este escenario es similar a las publicaciones webs, y también ocurre que el desarrollador tiene control sobre el servidor pero no necesariamente sobre el cliente. 4.1 Estructura XML-RPC XML-RPC consiste de tres pequeñas partes, que combinadas definen una llamada completa a un procedimiento remoto: Modelo de datos XML-RPC: es el conjunto de tipos de datos usados para pasar parámetros, devolver resultados y generar códigos de error (faults). Estructura XML-RPC Request: es un HTTP POST request que contiene información del método y los parámetros. Estructura XML-RPC Response: es un HTTP response que contiene el valor resultante o información de error, según el caso. 6

10 4.1.1 Modelo de datos La siguiente tabla contiene los tipos de datos básicos de XML-RPC, que pueden ser combinados en arrays y structs: Tipo de Dato Valor Ejemplos int o i4 entero de 32 bits <int>27</int> <i4>27</i4> flotants de 64 bits <double> </double> Double <double> </double> true (1) o false (0) <boolean>1</boolean> Boolean <boolean>0</boolean> texto ASCII <string>hello</string> String datetime.iso8 601 base64 fecha en formato ISO8601 información binaria codificada en base 64 (RFC 2045) Estructura del XML-RPC Request <datetime.iso8601> T02:20:04 </datetime.iso8601> <base64> SGVsbG8sIFdvcmxkIQ==</base64> Los XML-RPC requests son una combinación de headers HTTP con contenido XML. Cada request contiene un único documento XML cuyo elemento raiz es un methodcall, que a su vez contiene un elemento methodname que identifica el procedimiento a llamar y un elemento params que especifica los parámetros y sus valores. A modo de ejemplo, presentamos un XML-RPC request a un método llamado circlearea que toma como parámetro un radio de tipo double y devuelve el área del círculo: POST /xmlrpc HTTP 1.0 User-Agent: myxmlrpcclient/1.0 Host: Content-Type: text/xml Content-Length: 169 <?xml version="1.0"?> <methodcall> <methodname>circlearea</methodname> <params> <param> <value><double>2.41</double></value> </param> </params> </methodcall> Estructura del XML-RPC Response Los XML-RPC responses son muy parecidos a los requests pero con un par de detalles extra: el elemento methodcall se reemplaza por el elemento methodresponse y desaparece el elemento methodname. Si el llamado fue exitoso (es decir: el procedimiento fue encontrado, se ejecutó correctamente y devolvió un resultado), el elemento methodresponse contiene el resultado del procedimiento: 7

11 HTTP/ OK Date: Sat, 06 Oct :20:04 GMT Server: Apache (Unix) Connection: close Content-Type: text/xml Content-Length: 124 <?xml version="1.0"?> <methodresponse> <params> <param> <value><double> </double></value> </param> </params> </methodresponse> Si en cambio hubo algún problema, el elemento methodresponse contiene un elemento fault (en lugar de params) que indica el error encontrado: HTTP/ OK Date: Sat, 06 Oct :20:04 GMT Server: Apache (Unix) Connection: close Content-Type: text/xml Content-Length: 124 <?xml version="1.0"?> <methodresponse> <fault> <value> <struct> <member> <name>code</name> <value><int>26</int> </member> <member> <name>message</name> <value><string>no existe el método</string></value> </member> </struct> </value> </fault> </methodresponse> XML-RPC no estandariza los códigos de error en absoluto, por lo que se debe verificar cada documentación en particular para manejar los errores. Además, un XML-RPC response puede devolver un único valor, por lo que es necesario armar un struct si se desean devolver varios valores, como se muestra en el ejemplo anterior. Notar que al igual que los request, los responses también se empaquetan en headers HTTP, y por lo tanto todos los XML-RPC responses usan el código 200 OK, aunque el mensaje contenga un error. 8

12 5 WSDL: Descripción de Web Services WSDL (Web Service Description Language) es una especificación en XML que permite definir web services para que otros servicios sepan cómo invocarlo y dónde encontrarlo. Básicamente, describe cuatro tipos importantes de información asociada al web service: Interfaces de las funciones disponibles Tipos de datos de todos los mensajes request/response Binding information acerca del transporte a usar Ubicación del servicio Es decir, WSDL define qué funcionalidad provee el web service (interface y tipos de datos), cómo se comunica (es decir, cómo debe empaquetarse el mensaje en SOAP y cómo debe transferirse, lo que modifica el header SOAP) y dónde se encuentra. Cada uno de estos elementos puede ser especificado en un documento XML por separado y luego ser combinados para crear la descripción del web service o bien tener todos los elementos definidos en el mismo documento. WSDL es independiente de la plataforma y del lenguaje, y se usa principalmente (aunque no exclusivamente) para describir servicios SOAP. Permite que un cliente pueda localizar un web service e invocar cualquiera de sus funciones disponibles públicamente. Existen herramientas WSDL-aware que permiten automatizar este proceso, permitiendo que las aplicaciones integren fácilmente nuevos servicios automáticamente o con muy poco código. 5.1 Especificación WSDL La especificación define seis grandes elementos: El elemento definitions debe ser el elemento raíz de todo documento WSDL. Define el nombre del web service, declara los namespaces que utiliza y contiene los elementos restantes, descriptos a continuación. El elemento opcional types describe los tipos de datos usados entre el cliente y el servidor. Como ya se ha dicho, WSDL es independiente de la plataforma y del sistema de tipado, pero por defecto se puede utilizar la especificación de tipos W3C XML Schema, en cuyo caso no es necesario declarar el elemento. El elemento message describe un mensaje en un sentido, ya sea un request o un response. Define el nombre del mensaje y contiene cero o varios elementos part que hacen referencia a los parámetros o valores de retorno del mensaje, según el caso. El elemento porttype combina múltiples elementos message para formar una operación completa de ida y vuelta. El caso más común en servicios SOAP es combinar un mensaje request con otro mensaje response en una operación simple de request/response. Un puerto es básicamente un endpoint del servicio. El elemento binding especifica concretamente la implementación del service en la red: determina el método de transporte de red que llevará el mensaje a destino. El elemento service define la dirección para invocar el servicio, comúnmente incluyendo un URL. 9

13 WSDL también define el elemento documentation que puede ser usado para proveer documentación human-readable. La siguiente figura resume la especificación WSDL: 5.2 Ejemplo A modo de ejemplo, presentamos un documento WSDL que describe un servicio muy simple denominado HelloService, el cual provee una única función llamada sayhello que recibe un parámetro de tipo string y devuelve otro string con un saludo. Luego presentamos una breve descripción de la especificación. <?xml version="1.0" encoding="utf-8"?> <definitions name="helloservice" targetnamespace="http://www.ecerami.com/wsdl/helloservice.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.ecerami.com/wsdl/helloservice.wsdl" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <message name="sayhellorequest"> <part name="firstname" type="xsd:string"/> </message> <message name="sayhelloresponse"> <part name="greeting" type="xsd:string"/> </message> <porttype name="hello_porttype"> <operation name="sayhello"> <input message="tns:sayhellorequest"/> <output message="tns:sayhelloresponse"/> </operation> </porttype> <binding name="hello_binding" type="tns:hello_porttype"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="sayhello"> <soap:operation soapaction="sayhello"/> <input> <soap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:helloservice" use="encoded"/> </input> <output> <soap:body encodingstyle="http://schemas.xmlsoap.org/soap/encoding/" 10

14 namespace="urn:examples:helloservice" use="encoded"/> </output> </operation> </binding> <service name="hello_service"> <documentation>wsdl File for HelloService</documentation> <port binding="tns:hello_binding" name="hello_port"> <soap:address location="http://localhost:8080/soap/servlet/rpcrouter"/> </port> </service> </definitions> El elemento definitions define que el documento es HelloService y especifica varios namespaces (que empiezan con xmlns:) que son útiles para referenciar múltiples especificaciones externas, incluyendo las especificaciones WSDL, SOAP y el XML Schema. Además, especifica el namespace por default (xmlns=...) para los elementos que no posean un namespace como prefijo y, por ende, se asumen parte del default (como message o porttype). Se definen 2 elementos message: uno representa un mensaje request (SayHelloRequest) cuyo subelemento part especifica el nombre y tipo de parámetro, y el otro representa un mensaje response (SayHelloResponse) cuyo subelemento part especifica el valor y tipo de retorno. Notar que los tipos type hacen referencia al tipo de datos definidos en el esquema XML Schema (xsd:). El elemento porttype define una operación simple (sayhello) combinando los dos elementos message recientemente definidos (SayHelloRequest y SayHelloResponse). Como era de esperar, se definen como request (input) y response (output) respectivamente. En este punto es interesante notar que WSDL soporta 4 tipos básicos de operación: One-way (el service recibe un mensaje), Request/Response (hay un mensaje de ida y otro de vuelta, es el caso ilustrado en el ejemplo y el más comunmente usado), Solicit/Response (el service envía un mensaje y luego recibe una respuesta) y Notification (el service envía un mensaje). El siguiente esquema muestra los 4 tipos básicos de operación: 11

15 El elemento binding provee detalles específicos sobre cómo la operación porttype recientemente definida será transmitida por la red. Pueden utilizarse varios métodos de transporte, incluyendo HTTP GET, HTTP POST o SOAP. Finalmente, el elemento service especifica la ubicación del servicio, de tipo SOAP en este ejemplo. Notar que se incluye también un elemento documentation con documentación on-line. El esquema del servicio presentado en el ejemplo es el siguiente: Dada la especificación WSDL del ejemplo, se puede crear manualmente un servicio SOAP que invoque el service definido o se pueden utilizar herramientas específicas que automatizan el proceso. De la misma manera, existen herramientas que generan automáticamente las descripciones WSDL a partir de servicios existentes. 12

16 6 SOAP: Acceso a Web Services Una vez que está definido el documento WSDL asociado al servicio, debemos definir la forma en la que los mensajes son enviados de una computadora a otra y de qué forma se ponen a disposición del destinatario. SOAP se define en XML y provee un mecanismo simple, independiente de la plataforma, consistente y extensible para transportar mensajes XML (framework de mensajería) de una computadora a otra a través de protocolos estándares de transporte, de los cuales HTTP es el más común. SOAP es lo que hace posible la integración de aplicaciones ya que una vez definido el contenido del mensaje en XML lo transporta de una máquina a otra. SOAP provee un envelope que empaqueta el mensaje XML y puede ser entendido por varios protocolos de transporte evitando que las aplicaciones se preocupen por el transporte. Dentro del elemento envelope hay otros dos grandes elementos: el encabezado (SOAP header) y el cuerpo (SOAP body). El elemento header contiene información acerca del mensaje SOAP en sí (a diferencia del mensaje XML contenido en el cuerpo SOAP) que es utilizada para manejar y asegurar el paquete. (Como se verá más adelante, WS-Security se incluye aquí.) SOAP es extensible, es decir que permite agregar nuevas funcionalidades a futuro, y el área para incluir estas extensiones es justamente el header. El elemento body contiene el payload XML original del mensaje, enviado desde una aplicación a otra. Puede ser un documento completo que el receptor decide cómo procesar o una descripción a una llamada remota, incluyendo los métodos y parámetros. El siguiente ejemplo ilustra estos elementos. <?xml version="1.0"?> <env:envelope xmlns:env="http://www.w3.org/2001/12/soap-envelope"> <env:header> <n:alertcontrol xmlns:n="http://example.org/alertcontrol"> <n:priority>1</n:priority> <n:expires> t14:00:00-5:00</n:expires> </n:alertcontrol> </env:header> <env:body> <m:alert xmlns:m="http://example.org/alert"> <m:msg>alerta!!!</m:msg> </m:alert> </env:body> </env:envelope> Como ya se ha dicho, SOAP puede usarse sobre cualquier protocolo de transporte, tales como TCP, HTTP y SMTP. La especificación de SOAP provee un framework flexible para definir bindings de protocolo arbitrarios y provee un binding explícito para HTTP debido a su popularidad de forma tal de mantener la interoperabilidad. Más aún, el modelo de procesamiento de SOAP permite incluso la presencia de múltiples nodos intermediarios, cada uno con su propio protocolo, como lo ilustra la siguiente figura: 13

17 Cada nodo, ya sea intermediario o final, puede procesar, agregar o eliminar información del header SOAP que puede contener directivas de procesamiento y seguridad, pero por ningún motivo pueden alterar el cuerpo del mensaje. Si un nodo intermediario no reconoce algún elemento, puede ignorarlo, desechar el paquete SOAP completo o realizar un graceful failure, según lo especifique el emisor. Esto es importante desde el punto de vista de seguridad: uno no quiere que un nodo intermediario forwardee un paquete SOAP si el header contiene información crítica de seguridad y el nodo lo ignora por no entenderlo. Debido a la popularidad de RPC, SOAP define además una manera de realizar llamadas remotas sobre HTTP. En el modo de operación normal (o sea, orientado a documento) el cliente envía el documento XML como payload del mensaje SOAP y espera el mensaje de respuesta del servidor. En este caso el cliente desconoce cómo se encuentra implementado el servicio y cómo se procesa su mensaje. Por el contrario, en el modo de operación RPC se provee un mecanismo de llamada remota transparente para el cliente donde se traduce la llamada a XML, se la envía al servidor y se toma el mensaje de respuesta como el valor de retorno. Este modo de operación es recomendable en comunicaciones sincrónicas entre servicios fuertemente acoplados. Aunque suelen confundirse, request/response no es lo mismo que RPC: si bien es cierto que RPC usa request/response, lo contrario no es cierto. Un request SOAP se envía comúnmente como un HTTP POST con el content type seteado como text/xml y un campo SOAPAction seteado en vacío o con el nombre del método, según el caso. De esta manera, el receptor detecta el mensaje SOAP y actúa en cuestión. El siguiente ejemplo muestra mensajes SOAP request y SOAP response (se omiten los headers): <SOAP-ENV:Envelope... <SOAP-ENV:Body> <m:getorderstatus xmlns:m="www.myservice.com/orderentry"> <orderno>43564</orderno> </m:getorderstatus> </SOAP-ENV:Body> </SOAP-ENV:Envelope> <SOAP-ENV:Envelope... <SOAP-ENV:Body> <m:getorderstatusreply xmlns:m="www.myservice.com/orderentry"> <orderstatus>shipped June 18</orderstatus> </m:getorderstatusreply> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 14

18 7 UDDI: Publicación y Descrubimiento de Web Services Una vez que se definieron los datos en el mensaje (XML), se detallaron las interfaces que provee y dónde se encuentra el servicio (WSDL) e identificado el método de envío y recepción de los mensajes (SOAP), se necesita una forma de publicar el servicio ofrecido y buscar los servicios que otros ofrecen y uno quisiera usar. Esta es la función que UDDI (Universal Distribution, Discovery and Integration) provee: un repositorio administra información en formato XML acerca de proveedores y tipos de servicios y la disponibiliza a potenciales clientes de web services. Los datos almacenados se dividen en 3 categorías: White Pages: incluye información general acerca de una compañía específica, como por ejemplo nombre, descripción y dirección. Yellow Pages: incluye datos clasificados por categoría tanto de servicios como de compañías, como por ejemplo el tipo industrial. Green Pages: incluye información técnica sobre el web service: un link a la especificación externa (WSDL) y la ubicación del servicio. UDDI puede utilizarse dentro de grandes compañías para centralizar la publicación y búsqueda de servicios internos o directamente en Internet para hallar web services públicos. Los pedidos UDDI también viajan sobre SOAP, tal como muestra el siguiente ejemplo de consulta que, incluido en el cuerpo de un SOAP envelope, trae información sobre la compañía Microsoft: <find_business generic="1.0" xmlns="urn:uddi-org:api"> <name>microsoft</name> </find_business> 15

Firma Digital en SOA

Firma Digital en SOA Firma Digital en SOA Agenda SOAP XML - Signature WS-Digital Signature Métodos de Canonicalización 2 SOAP - Se creó como una forma de transporte en XML de un ordenador a otro a través de una serie de protocolos

Más detalles

Transmision de datos SOAP. Transmision de Datos

Transmision de datos SOAP. Transmision de Datos Transmision de datos SOAP Introduccion Creciente complejidad de los entornos Uso de programación distribuida buscando la especializacion Fomentos reutilizacion componentes software Necesidades de interactuar

Más detalles

Manual de Desarrollador Autenticación Automática

Manual de Desarrollador Autenticación Automática Manual de Desarrollador Autenticación Automática OI2007_AUTAUTOM_MDE_1.9 Subdirección Informática Servicio Impuestos Internos Fecha:18/11/2007 INTRODUCCIÓN... 5 CAPÍTULO 1... 6 ANÁLISIS DEL SISTEMA...6

Más detalles

Documento de Recomendación de Uso de Firma Digital en Comunicación PISEE. Ministerio Secretaría General de la Presidencia

Documento de Recomendación de Uso de Firma Digital en Comunicación PISEE. Ministerio Secretaría General de la Presidencia Documento de Recomendación de Uso de Firma Digital en Comunicación PISEE Ministerio Secretaría General de la Presidencia Santiago, septiembre de 2011 Índice Índice... 2 Abstracto... 3 Resumen... 3 Generación

Más detalles

Servicios web. Contenido. Programación en Internet Curso 2007-2008. Introducción Los pilares (SOAP, WSDL, UDDI) Desarrollo de un servicio web

Servicios web. Contenido. Programación en Internet Curso 2007-2008. Introducción Los pilares (SOAP, WSDL, UDDI) Desarrollo de un servicio web Departamento de Lenguajes y Sistemas Informáticos Servicios web Programación en Internet Curso 2007-2008 Contenido Introducción Los pilares (SOAP, WSDL, UDDI) Desarrollo de un servicio web DLSI - Universidad

Más detalles

TEMA 5. Otras arquitecturas distribuidas IV. Web Services

TEMA 5. Otras arquitecturas distribuidas IV. Web Services TEMA 5. Otras arquitecturas distribuidas IV. Web Services IV. Web Services 1. Qué son los Web Services? 2. Ejemplos de Web Services 3. Tecnologías y arquitectura 3.1. Arquitectura 3.2. Lenguaje de descripción:

Más detalles

Seguridad en Web Services. Junio/2010

Seguridad en Web Services. Junio/2010 Seguridad en Web Services Por: Jorge Mario Calvo L. Junio/2010 Objetivo Proveer una visión de los principales aspectos de seguridad de los Web Services y cuales alternativas y estándares existen para resolverlos

Más detalles

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes

Más detalles

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web Servicio Web Un servicio web (en inglés, Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones

Más detalles

DESARROLLO WEB EN ENTORNO SERVIDOR

DESARROLLO WEB EN ENTORNO SERVIDOR DESARROLLO WEB EN ENTORNO SERVIDOR CAPÍTULO 7: Programación de servicios Web Marcos López Sanz Juan Manuel Vara Mesa Jenifer Verde Marín Diana Marcela Sánchez Fúquene Jesús Javier Jiménez Hernández Valeria

Más detalles

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services)

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services) Introducción a los Servicios Web (Web Services) 2 Evolución de la Web Pasado: Web de documentos Páginas estáticas Web como un enorme repositorio de información Tecnologías: HTTP + HTML Presente: Web de

Más detalles

Seguridad XML: Su Importancia en el E-Comercio

Seguridad XML: Su Importancia en el E-Comercio Seguridad XML: Su Importancia en el E-Comercio Greg Werner, CISSP Advantage Security, S. de R.L. de C.V. Av. Prolongación Reforma 625, Desp. 402 Torre Lexus Paseo de las Lomas, Santa Fe México, DF C.P.

Más detalles

Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect

Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect IT Insight podcast Este podcast pertenece a la serie IT Insight Pueden suscribirse al podcast a través de

Más detalles

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB Existen varios tipos de tecnologías para los Servidores Web, estas tecnologías se pueden dividir en 4 grupos principales que son: Tecnologías al lado del cliente

Más detalles

Firma Digital. Author: Eng. Eduardo Casanovas

Firma Digital. Author: Eng. Eduardo Casanovas Firma Digital Agenda Introducción a SOA (Service Oriented Architecture) SOAP (Simple Object Access Protocol) - Security XML - Signature Métodos de Canonicalización WS-Security Como Firmar Digitalmente

Más detalles

Especificación Técnica del Web Service de Autenticación y Autorización WSAA Para el desarrollo de Clientes de Entidades Externas

Especificación Técnica del Web Service de Autenticación y Autorización WSAA Para el desarrollo de Clientes de Entidades Externas Servicio Nacional de Aduanas Subdirección de Informática Departamento de Desarrollo de Sistemas Especificación Técnica del Web Service de Autenticación y Autorización WSAA Para el desarrollo de Clientes

Más detalles

Web Services. Richard Rossel rrossel@inf.utfsm.cl. 23 de noviembre de 2004. Web Services

Web Services. Richard Rossel rrossel@inf.utfsm.cl. 23 de noviembre de 2004. Web Services Richard Rossel rrossel@inf.utfsm.cl 23 de noviembre de 2004 JAVA2 TOC s JAVA2 JAVA2 Definición Aplicaciones Autocontenidas y Modulares Basado en estándares (XML,HTTP) Aplicaciones se anuncian por la red

Más detalles

SISTEMAS DE INFORMACIÓN III TEORÍA

SISTEMAS DE INFORMACIÓN III TEORÍA CONTENIDO: Introducción a los Web services Las bases de los Web services La nueva generación de la Web Interactuando con los Web services La tecnología de Web services XML: Lo fundamental WSDL: Describiendo

Más detalles

Qué son los Web Services?

Qué son los Web Services? III. Web Services 1. Qué son los Web Services? 2. Ejemplos de Web Services 3. Tecnologías y arquitectura 3.1. Arquitectura 3.2. Lenguaje de descripción: WSDL 3.3. Protocolo: SOAP 3.4. Registro de servicios:

Más detalles

CORPORACION UNIVERSITARIA AUTONOMA DEL CAUCA PROGRAMA DE INGENIERIA DE SISTEMAS 2o Periodo de 2014 MATERIA: ELECTIVA IV (MEJORAMIENTO DE PROCESOS)

CORPORACION UNIVERSITARIA AUTONOMA DEL CAUCA PROGRAMA DE INGENIERIA DE SISTEMAS 2o Periodo de 2014 MATERIA: ELECTIVA IV (MEJORAMIENTO DE PROCESOS) Servicios Web en PHP Contenido Configuración Web Services en PHP o Cliente o Servidor Generación del WSDL Web Services en PHP Configuración Se debe actualizar el archivo de configuración del servidor APACHE

Más detalles

Cursos de Extensión Universitaria UNIVERSIDAD DE OVIEDO. Servicios Web (II)

Cursos de Extensión Universitaria UNIVERSIDAD DE OVIEDO. Servicios Web (II) Fernández Acebal acebal@ieee.org OOTLab PROGRAMACIÓN ORIENTADA A OBJETOS CON C# EN LA PLATAFORMA.NET (II) Dpto. de Informática Lab - Laboratorio de Tecnologías Orientadas a Objetos www.ootlab.uniovi.es

Más detalles

Seguridad en la capa de Transporte Vs Seguridad a nivel de Mensaje

Seguridad en la capa de Transporte Vs Seguridad a nivel de Mensaje Seguridad en la capa de Transporte Vs Seguridad a nivel de Mensaje Agenda Sesión SSL Frima de un mensaje SOAP Proceso de verificación Problemas de perfomace Parsing y Canonicalización Forma del mensaje

Más detalles

Seguridad -- básico. Subtemas. XML Web Services Security. Criptografía (transporte sobre un medio no fiable),

Seguridad -- básico. Subtemas. XML Web Services Security. Criptografía (transporte sobre un medio no fiable), Según NL security labs Libro de texto de Koulouris La definicion según w3.org http://www.w3.org/tr/2013/rec-xmlenc-core1-20130411/ Seguridad -- básico Criptografía (transporte sobre un medio no fiable),

Más detalles

Aplicaciones y Servicios Web (Web Services)

Aplicaciones y Servicios Web (Web Services) Aplicaciones y Servicios Web (Web Services) Joaquín Salvachúa DIT- jsalvachua@.upm.es -1- Internet NG Índice Problema a resolver Arquitectura SOAP WSDL UDDI Conclusiones -2- Internet NG Aplicaciones WEB

Más detalles

Protocolo de intercambio de información (Web Services)

Protocolo de intercambio de información (Web Services) CMT Sistema de Gestión de Datos de Abonado (SGDA) Nº Proyecto: SAT2004-0419 Protocolo de intercambio de información (Web Services) Nivel de seguridad: N1 Versión: 1.5 17/06/2004 Autores Carlos Guardiola

Más detalles

INTEROPERABILIDAD ESTÁNDARES APLICADOS EN COSTA RICA

INTEROPERABILIDAD ESTÁNDARES APLICADOS EN COSTA RICA INTEROPERABILIDAD ESTÁNDARES APLICADOS EN COSTA RICA Ing. Marco Jiménez HA-2508 SEMINARIO DE TEMAS ARCHIVÍSTICOS 21-09-2010 Temas de la presentación Definiciones Interoperabilidad Sistema Importancia de

Más detalles

MANUAL PARA EMPRESAS USUARIAS

MANUAL PARA EMPRESAS USUARIAS MANUAL PARA EMPRESAS USUARIAS AMBIENTE DE CERTIFICACIÓN FACTURA ELECTRONICA Fecha Documento: 2 Febrero 2009 2009 Servicio de Impuestos Internos SII Chile REGISTRO DE CAMBIOS: 26 de Noviembre 2003. Se incorpora

Más detalles

Servicios web. Jorge Iván Meza Martínez jimezam@gmail.com

Servicios web. Jorge Iván Meza Martínez jimezam@gmail.com Servicios web Jorge Iván Meza Martínez jimezam@gmail.com Especialización en Gestión de Redes de Datos Universidad Nacional de Colombia Sede Manizales 1/71 Contenidos Que es un servicio web. Tecnologías

Más detalles

Documentación Técnica Conector

Documentación Técnica Conector Documentación Técnica Conector Torre Ejecutiva Sur Liniers 1324, piso 4 Montevideo Uruguay Tel/Fax: (+598) 2901.2929* Email: contacto@agesic.gub.uy www.agesic.gub.uy Indice 1 Introducción...4 2 Casos

Más detalles

GALA. Servicios WEB. Curso ASP.NET Desarrollo de Sitios y Servicios Web con Visual Basic 2010, 24 h. L25. Servicios Web en Integración

GALA. Servicios WEB. Curso ASP.NET Desarrollo de Sitios y Servicios Web con Visual Basic 2010, 24 h. L25. Servicios Web en Integración L25. Servicios Web en Integración L25. en ASP.NET Tipo de proyecto Archivos.ASMX Igual que los.aspx, UN URL Imports System Imports System.Web.Services

Más detalles

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS Ingeniería de Ap plicaciones Web Clase 2 Diego C. Martínez Departamento de Ciencias e Ing geniería de la Computación Universidad Nacional del Sur Internet y sus servicios Internet define una forma de conexión

Más detalles

Tesis de Maestría en Ingeniería en Computación

Tesis de Maestría en Ingeniería en Computación Instituto de Computación Facultad de Ingeniería Universidad de la República Tesis de Maestría en Ingeniería en Computación Framework para Acceder a Bases de Datos Relacionales a Través de Internet Ing.

Más detalles

Capacitación Efectiva SOA y Web Services con Java

Capacitación Efectiva SOA y Web Services con Java Descripción: SOA es un paradigma de arquitectura para diseñar y desarrollar sistemas distribuidos. Las soluciones SOA han sido creadas para satisfacer los objetivos de negocio las cuales incluyen facilidad

Más detalles

API DE INTEROPERACION ENTRE TELCEL Y MOVILTEK PARA EL REGISTRO DE EQUIPOS AVL

API DE INTEROPERACION ENTRE TELCEL Y MOVILTEK PARA EL REGISTRO DE EQUIPOS AVL MANUEL J. CHAVIRA INS-035R04 10-Nov-06 1 de 23 TABLA DE CONTENIDO 1 1 INTRODUCCIÓN 2 1.1 COMUNICACIÓN 2 1.2 INTERCAMBIO DE DATOS 2 1.3 SOAP 3 1.4 SEGURIDAD 4 1.5 FASES OPERATIVAS 4 2 REFERENCIA PARA CONSUMIR

Más detalles

Apéndice 1. SOAP 2 2. CORBA 4 3. JMS 6 4. RMI 8

Apéndice 1. SOAP 2 2. CORBA 4 3. JMS 6 4. RMI 8 Apéndice A Conectividad 1. OAP 2 2. CORBA 4 3. JM 6 4. RMI 8 OAP OAP (imple Object Access Protocol) es un protocolo basado en XML que permite comunicar componentes y aplicaciones mediante HTTP. Es como

Más detalles

Sistemas Distribuidos Servicios web. Rodrigo Santamaría

Sistemas Distribuidos Servicios web. Rodrigo Santamaría + Sistemas Distribuidos Servicios web Rodrigo Santamaría + Servicios web Introducción IDL SOAP REST XML/JSON-RPC 2 + Introducción 3 n Java RMI o Sun RPC son middleware de nivel alto, aptos para realizar

Más detalles

Desarrollo y servicios web

Desarrollo y servicios web Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2014-2 Qué vimos la clase pasada? Introducción a Big Data Introducción a bases de datos NOSQL Características bases de datos NOSQL MongoDB como motor

Más detalles

Tema 4. Servicios WEB

Tema 4. Servicios WEB Tema 4. Servicios WEB SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs octubre 2008 FJRP, FMBR 2008/09 ccia SCS 4.1 Servicios WEB Un Servicio Web es un componente software

Más detalles

La aplicación práctica en el mundo empresarial de los estándares Web

La aplicación práctica en el mundo empresarial de los estándares Web La aplicación práctica en el mundo empresarial de los estándares Web El problema de la integración inter/intra empresas y la familia "XML" Enrique Bertrand XML Business Integration, Regional Director Software

Más detalles

2524 Developing XML Web Services Using Microsoft ASP.NET

2524 Developing XML Web Services Using Microsoft ASP.NET 2524 Developing XML Web Services Using Microsoft ASP.NET Introducción La meta de este curso es de proveer a los estudiantes con el conocimiento y habilidades requeridas para desarrollar soluciones basadas

Más detalles

Introducción a los Servicios Web

Introducción a los Servicios Web Introducción a los Servicios Web Simon Pickin Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Algunas cifras (muy aproximadas) La compañía de investigación de mercado IDC estima

Más detalles

Web Services. Introducción y Escenarios para su Uso. Moisés Daniel Díaz Toledano. www.moisesdaniel.com

Web Services. Introducción y Escenarios para su Uso. Moisés Daniel Díaz Toledano. www.moisesdaniel.com Web Services. Introducción y Escenarios para su Uso. Moisés Daniel Díaz Toledano. www.moisesdaniel.com 1.- Introducción a los WebServices. 1.1.- Definición de la W3C. 1.2.- Un poco de perspectiva. 1.3.-

Más detalles

Servicios Web. Andrés Pastorini. TRIA Tecnólogo Informático

Servicios Web. Andrés Pastorini. TRIA Tecnólogo Informático Andrés Pastorini TRIA Tecnólogo Informático Un servicio web expone un conjunto de servicios para ser consumidos a través de la red. En otras palabras, un servicio web especifica un conjunto de operación(funciones

Más detalles

Telnet. Telnet Operación

Telnet. Telnet Operación Telnet Protocolo utilizado para la ejecución de procesos en sistemas remotos. Emulación de Terminal Utiliza las funcionalidades de TCP Well Known Service, port number 23 Telnet Operación NVT (Network Virtual

Más detalles

Oracle Service Bus: Entorno de Desarrollo

Oracle Service Bus: Entorno de Desarrollo Oracle Service Bus: Entorno de Desarrollo Mayo 2012 Versión 1.1 ÍNDICE 1. Introducción al Oracle Service Bus I. Conceptos II. Ventajas del OSB III. Arquitectura Mensajería adaptable Seguridad Unificada

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

Recomendaciones para procesos de integración con Web-Services

Recomendaciones para procesos de integración con Web-Services Recomendaciones para procesos de integración con Web-Services Este documento es producto de la experiencia en integración vía Web Services. La información recopila una serie de lecciones aprendidas a partir

Más detalles

2.3.5 Capa de sesión. Protocolos

2.3.5 Capa de sesión. Protocolos 2.3.5 Capa de sesión Protocolos RPC El RPC (del inglés Remote Procedure Call, Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de computadora ejecutar código en otra máquina remota

Más detalles

Manual de usuario. Descripción del servicio de envío de mensajes

Manual de usuario. Descripción del servicio de envío de mensajes GUIA DE CONEXIÓN CON CENTRAL VIA WEB SERVICES 2010 INDICE 1. Introducción 1.1 Objetivo del documento 1.2 Variables de entorno 2. Descripción del servicio 2.1 Aspectos comunes de todos los servicios. 2.2

Más detalles

1. Introducción a los Servicios web

1. Introducción a los Servicios web 1. Introducción a los Servicios web Los servicios web son un tipo de middleware mediante el que pueden comunicarse aplicaciones remotas. En esencia, funciona como cualquier otro tipo de middleware (rmi,

Más detalles

JAVA EE 5. Arquitectura, conceptos y ejemplos.

JAVA EE 5. Arquitectura, conceptos y ejemplos. JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones

Más detalles

1.9.- Descripción del servicio: WSDL (VI)... - 12 -

1.9.- Descripción del servicio: WSDL (VI)... - 12 - TEMA 6 Contenido 1.- Servicios web... - 2-1.1.- Características.... - 3-1.2.- Intercambio de información: SOAP.... - 4-1.3.- Intercambio de información: SOAP (II).... - 5-1.4.- Descripción del servicio:

Más detalles

Desarrollo de Servicios Web para la ETN

Desarrollo de Servicios Web para la ETN ........... Desarrollo de Servicios Web para la ETN Primer Informe de Avance JULIO, 2010 Primer Informe de Avance Desarrollo de Servicios Web para la ETN Crear Servicios Web que hagan disponible la información

Más detalles

Tema 18. Servicios Web.

Tema 18. Servicios Web. Tema 18. Servicios Web. Los web services son componentes software que permiten a los usuarios usar aplicaciones de negocio que comparten datos con otros programas modulares, vía Internet. Son aplicaciones

Más detalles

Prueba de conectividad y soluciones de integración para sistemas de salud

Prueba de conectividad y soluciones de integración para sistemas de salud 4 CONGRESO IBEROAMERICANO DE INFORMÁTICA MÉDICA NORMALIZADA Foro de Conectividad Foro de Informática Normalizada para Enfermería Foro de Informática Normalizada en Registros Médicos Prueba de conectividad

Más detalles

Tecnologías de Información y Comunicación

Tecnologías de Información y Comunicación Tecnologías de Información y Comunicación TECNOLOGÍAS DE INFORMACIÓN Y COMUNICACIÓN 1 Sesión No. 7 3. Tecnología Web Parte 3 Objetivo Al término de la sesión, el alumno explicará el funcionamiento de un

Más detalles

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES Introducción Protocolo de capa de aplicación utilizado para la transferencia de Recursos u objetos. Opera sobre TCP típicamente en el puerto 80 Simple Stateless Genérico Utiliza las extenciones MIME. Transporte

Más detalles

Por qué MobilityGuard OneGate?

Por qué MobilityGuard OneGate? Para Acceso de Cualquier Escenario Solo Una Solución Por qué MobilityGuard OneGate? Escenarios 1 Acceda desde cualquier lugar 2 Identifique sólidamente los usuarios 3 No más notas de recordatorio con ingreso

Más detalles

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico de Telecomunicación Especialidad en Sonido e Imagen 3º curso Temario

Más detalles

Conceptos de Orquestador O2 EMPRESAS TUXPAN www.tuxpan.com

Conceptos de Orquestador O2 EMPRESAS TUXPAN www.tuxpan.com EMPRESAS TUXPAN www.tuxpan.com AÑO 2007 INDICE DE CONTENIDO 1 Software de Servicios y Orquestación de Procesos 2 1.1.1 Introducción 2 1.1.2 Software de Orquestación como Integrador 3 1.1.3 Automatización

Más detalles

WbS Web Services. Roberto Gómez Cárdenas rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez. Web Services

WbS Web Services. Roberto Gómez Cárdenas rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez. Web Services WbS Web Services Roberto Gómez Cárdenas rogomez@itesm.mx http://homepage.cem.itesm.mx/rogomez mx/rogomez Lámina 1 Web Services Servicios web. Interfaz red a una aplicación basada en tecnologías internet

Más detalles

PUBLICACIÓN DE SERVICIOS WEB(SW) EN EL BUS DE SERVICIOS GUBERNAMENTALES (BSG)

PUBLICACIÓN DE SERVICIOS WEB(SW) EN EL BUS DE SERVICIOS GUBERNAMENTALES (BSG) SECRETARÍA NACIONAL DE LA ADMINISTRACIÓN PÚBLICA Manual de Procedimiento PUBLICACIÓN DE SERVICIOS WEB(SW) EN EL BUS DE SERVICIOS GUBERNAMENTALES (BSG) Versión: 1.0 ENERO 2014 QUITO - ECUADOR ÍNDICE 1 INTRODUCCIÓN

Más detalles

REST API para Timbrado

REST API para Timbrado 25 ENERO Guia de Integracion Autor: Fernando Gonzalez Categorias: Programacion, Integracion, otros Introduccion Este documento contiene una explicacion detallada del funcionamiento del servicio de timbrado

Más detalles

Oracle WebLogic Server 11g: Manejo de Usuarios y Grupos

Oracle WebLogic Server 11g: Manejo de Usuarios y Grupos Newsletter Noviembre 2012 Oracle WebLogic Server 11g: Manejo de Usuarios y Grupos Contenido Por Ing. Iván García igarcia@datum.com.gt Página: El manejo de seguridad en los ambientes Web es uno de los puntos

Más detalles

Principios de Web Services

Principios de Web Services Web Services con C# Capítulo 1 Principios de Web Services En este capítulo veremos para qué sirven los Web Services y sus principios describiendo los protocolos como, y WSDL. Por último haremos una breve

Más detalles

Guía de migración a firma HMAC SHA256 Conexión por Redirección

Guía de migración a firma HMAC SHA256 Conexión por Redirección Guía de migración a firma HMAC SHA256 Conexión por Redirección Versión: 2.0 19-10-2015 SERVICIO TECNICO TPV VIRTUAL Teléfono: 902 365 650 opción 2 tpvvirtual@bancsabadell.com Atención especial para migración

Más detalles

Glosario Acoplamiento. API. Archivos de recursos. ASCII. Balanceo de carga. Bases de datos federadas. BBDD. Clientes. Constructores.

Glosario Acoplamiento. API. Archivos de recursos. ASCII. Balanceo de carga. Bases de datos federadas. BBDD. Clientes. Constructores. GLOSARIO Glosario Acoplamiento. Posibilidad que tiene un servicio de funcionar de forma autónoma. Se dice que un servicio o aplicación es bajamente acoplado cuando puede funcionar de forma independiente

Más detalles

DNA. Cliente WSAA Especificaciones Técnicas. Versión <1.4>

DNA. Cliente WSAA Especificaciones Técnicas. Versión <1.4> DNA Cliente WSAA Especificaciones Técnicas Versión Revisiones Fecha Versión Descripción Autor 29/OCT/2007 1.0 Elaboración inicial Marcelo Alvarez 12/MAY/2008 1.1 Corrección en la sección 4.1 Marcelo

Más detalles

Servicios Web: Concepto

Servicios Web: Concepto Servicios Web y RMI http://www.it.uc3m.es/pedmume/ Servicios Web: Concepto Uso más habitual de un servidor es dar una respuesta al usuario de una determinada página (PHP, ASP, J2EE ). Las páginas están

Más detalles

Especificación Técnica de Protocolo Para el intercambio de información entre Telecom Personal y sus proveedores de servicios

Especificación Técnica de Protocolo Para el intercambio de información entre Telecom Personal y sus proveedores de servicios Especificación Técnica de Protocolo Para el intercambio de información entre Telecom Personal y sus proveedores de servicios Página 1 de 26 09/12/2009 Página 2 de 26 09/12/2009 Índice OBJETIVOS... 5 INTRODUCCIÓN...

Más detalles

Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal

Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal Presenta: Mtro. Israel Ortega Cuevas para la Red Universitaria de Colaboración en Ingeniería de Software y Base

Más detalles

Curso de SOA. Nivel Avanzado

Curso de SOA. Nivel Avanzado Región de Murcia Consejería de Hacienda y Administración Pública Curso de SOA. Nivel Avanzado Módulo 3 Seguridad en SOA Escuela de Administración Pública de la Región de Murcia Contenidos del MODULO 3

Más detalles

Service Broker. Bind. Service Consumer. Service Provider

Service Broker. Bind. Service Consumer. Service Provider En este capítulo, usted podrá empezar por mirar a la arquitectura orientada al servicio como un concepto en arquitectura para aplicaciones distribuidas. A continuación usted examinará cómo estas arquitecturas

Más detalles

URL. Después de los dos puntos: se interpreta según el método de acceso. Suele contener direcciones y puntos de acceso en una máquina. Esquema URL.

URL. Después de los dos puntos: se interpreta según el método de acceso. Suele contener direcciones y puntos de acceso en una máquina. Esquema URL. URL. Un URL ó Uniform Resource Locator (Localizador Uniforme de Recurso) es un medio estándar de identificar direcciones internet en la Web. Tiene dos partes, separadas por dos puntos: Antes de los dos

Más detalles

DIA 22: DESARROLLO DE APLICACIONES CON EL DNI- E/FORMATOS DE FIRMA ELECTRÓNICA

DIA 22: DESARROLLO DE APLICACIONES CON EL DNI- E/FORMATOS DE FIRMA ELECTRÓNICA DIA 22: DESARROLLO DE APLICACIONES CON EL DNI- E/FORMATOS DE FIRMA ELECTRÓNICA FERNANDO PINO DIRECTOR DE TECNOLOGÍA LEGAL ALBALIA INTERACTIVA 22 DE NOVIEMBRE DE 2007 1º ENCUENTRO NACIONAL DE LA INDUSTRIA

Más detalles

Seguridad del Protocolo HTTP

Seguridad del Protocolo HTTP Seguridad del Protocolo HTTP - P R O T O C O L O H T T P S. - C O N E X I O N E S S E G U R A S : S S L, TS L. - G E S T IÓN D E C E R T IF I C A D O S Y A C C E S O --S E G U R O C O N H T T P S Luis

Más detalles

Un servicio Web para investigación operativa

Un servicio Web para investigación operativa VIII Congreso de Ingeniería de Organización Leganés, 9 y 10 de septiembre de 2004 Un servicio Web para investigación operativa Marcos Calle Suárez, Gabriel Villa Caro, José Manuel García Sánchez, Jesús

Más detalles

PROTOCOLOS DE APLICACIÓN PRÁCTICA EN INFOMED INTEROPERABILIDAD

PROTOCOLOS DE APLICACIÓN PRÁCTICA EN INFOMED INTEROPERABILIDAD PROTOCOLOS DE INTEROPERABILIDAD APLICACIÓN PRÁCTICA EN INFOMED PRESENTA: ING. VICTOR RICARDO DÍAZ COORDINADOR DEL GRUPO DE DESARROLLO CNICM - INFOMED GRUPO DE DESARROLLO: DESARROLLO@INFOMED.SLD.CU OBJETIVO

Más detalles

Especificación Técnica del WebService de Autenticación y Autorización

Especificación Técnica del WebService de Autenticación y Autorización Especificación Técnica del WebService de Autenticación y Autorización Índice de contenido Introducción...3 Propósito...3 Descripción General del Servicio...3 Referencias...4 Invocación del WSAA...4 Sincronización

Más detalles

Funcionamiento de Servicios Web, FTP

Funcionamiento de Servicios Web, FTP Funcionamiento de Servicios Web, FTP Tema 2.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material adaptado del libro Computer

Más detalles

En este capitulo analizaremos los cuatro diferentes métodos para obtener la

En este capitulo analizaremos los cuatro diferentes métodos para obtener la 2. Marco Teórico En este capitulo analizaremos los cuatro diferentes métodos para obtener la información, para que en base a los resultados de este análisis, poder seleccionar la plataforma de diseño adecuada,

Más detalles

Sede Electrónica del Automóvil

Sede Electrónica del Automóvil Gestores 1880 SAU Sede Electrónica del Automóvil Consulta de datos EITV Proyecto: Sede Electrónica del Automóvil (SEA) Contenido: Consulta de datos EITV Identificador: SEA19202412 Versión: v5 Creación

Más detalles

DESARROLLO WEB EN ENTORNO SERVIDOR

DESARROLLO WEB EN ENTORNO SERVIDOR DESARROLLO WEB EN ENTORNO SERVIDOR CAPÍTULO 9: Desarrollo de aplicaciones Web híbridas Marcos López Sanz Juan Manuel Vara Mesa Jenifer Verde Marín Diana Marcela Sánchez Fúquene Jesús Javier Jiménez Hernández

Más detalles

Cómo afrontar la Seguridad en Redes Abiertas: Consideraciones Técnicas y Escenarios.

Cómo afrontar la Seguridad en Redes Abiertas: Consideraciones Técnicas y Escenarios. Cómo afrontar la Seguridad en Redes Abiertas: Consideraciones Técnicas y Escenarios. Encarnación Sánchez Vicente 1. INTRODUCCIÓN No cabe ninguna duda que en nuestros días, la información es la clave. Esta

Más detalles

Criptografía. Kerberos PGP TLS/SSL SSH

Criptografía. Kerberos PGP TLS/SSL SSH Criptografía Kerberos PGP TLS/SSL SSH Kerberos Kerberos - Características Protocolo de autenticación. Pensado para cliente-servidor. Acceso a servicios distribuidos en una red no segura. Provee autenticación

Más detalles

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.

Más detalles

Seguridad en SSO. 02/27/06 José Ramón Palanco jose.palanco@hazent.com. Hazent Systems SL

Seguridad en SSO. 02/27/06 José Ramón Palanco jose.palanco@hazent.com. Hazent Systems SL Seguridad en SSO 02/27/06 José Ramón Palanco jose.palanco@hazent.com Hazent Systems SL Antecedentes Internet = negocio + interacciones personales. La identidad en internet ahora está fragmentada a través

Más detalles

Especificación Funcional del Protocolo de Sustitución de Certificados en Soporte Papel SCSPv3

Especificación Funcional del Protocolo de Sustitución de Certificados en Soporte Papel SCSPv3 Especificación Funcional del Protocolo de Sustitución de Certificados en Soporte Papel SCSPv3 Sustitución de Certificados en Soporte Papel Ministerio de Política Territorial y Administración Pública Especificación

Más detalles

Notas técnicas de SAP / ABAP - Tip en detalle Nro. 16

Notas técnicas de SAP / ABAP - Tip en detalle Nro. 16 Notas técnicas de SAP / ABAP - Tip en detalle Nro. 16 (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Los nuevos escenarios de programación con SAP Netweaver (serie de varios

Más detalles

Tema 4. Diseño arquitectónico.

Tema 4. Diseño arquitectónico. Tema 4. Diseño arquitectónico. Introducción, Objetivos del Diseño. Ingeniería del Software II 2011 Para la transformación del modelo de análisis en un modelo de diseño del sistema, se definen los objetivos

Más detalles

VPN RED PRIVADA VIRTUAL INTEGRANTES: ALEXANDER BERNAL RAMIREZ CARLOS TRANCA JOSUE FLORES MIGUEL ANGEL VILLANUEVA

VPN RED PRIVADA VIRTUAL INTEGRANTES: ALEXANDER BERNAL RAMIREZ CARLOS TRANCA JOSUE FLORES MIGUEL ANGEL VILLANUEVA VPN RED PRIVADA VIRTUAL INTEGRANTES: ALEXANDER BERNAL RAMIREZ CARLOS TRANCA JOSUE FLORES MIGUEL ANGEL VILLANUEVA CONCEPTO VPN DEFINICIÓN, QUE SE PUEDE HACER CON UN VPN TIPOS DE VPN - ARQUITECTURA VPN ACCESO

Más detalles

PWSP Manual de Usuario

PWSP Manual de Usuario PWSP Manual de Usuario Plataforma de Servicios Web del Grupo PentaSoft Febrero 2007 http://ws.pentasoft.es http://ws.test.pentasoft.es PWSP PentaSoft Web Services Platform es un producto registrado de

Más detalles

Manual de integración con el TPV Virtual para comercios con conexión por Redirección

Manual de integración con el TPV Virtual para comercios con conexión por Redirección Manual de integración con el TPV Virtual para comercios con conexión por Redirección Versión: 1.6 Versión: 1.6 i Autorizaciones y control de versión Versión Fecha Afecta Breve descripción del cambio 1.0

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

Curso SOA and Java Web Services with JAX-WS

Curso SOA and Java Web Services with JAX-WS Curso SOA and Java Web Services with JAX-WS Descripción: Los servicios Web están diseñados para permitir acceso basado en Web a software distribuido y servicios de negocio. Ofrecen un estándar y una arquitectura

Más detalles

Arquitectura de Proyectos de IT

Arquitectura de Proyectos de IT Arquitectura de Proyectos de IT Apunte: Introducción a MQ y conceptos de mensajería Autores: Patricio Echagüe patricioe@gmail.com Ing. Gastón Escobar gescobar@gmail.com Versión: 0.1 Octubre, 2005 1 Índice

Más detalles

con certif icado de profesionalidad

con certif icado de profesionalidad CARACTERÍSTICAS El diseño web está cambiando en poco tiempo. Las nuevas tecnologías y estándares de programación están revolucionando tanto la forma de crear web como de interactuar con ellas. En nuestro

Más detalles

WEB SERVICE FACTORUMCFDISERVICE

WEB SERVICE FACTORUMCFDISERVICE WEB SERVICE FACTORUMCFDISERVICE HOME FactorumCFDiService es la plataforma web service de Factorum para generar los Comprobantes Fiscales Digitales (CFDi) y obtener el código bidimensional (QRCode), a través

Más detalles

Sistemas Distribuidos Basados en la WEB

Sistemas Distribuidos Basados en la WEB Sistemas Distribuidos Basados en la WEB Andrew Tanembaum M. L. Liu Contenido Introducción Lenguajes: HTML, XML El Protocolo: HTTP Contenido Web Generado en Forma Dinámica: CGI Sesiones Web y datos de estado

Más detalles

DOCUMENTACION A PRESENTAR: TRABAJADORES (RÉGIMEN GENERAL, ADMINISTRACIÓN PÚBLICA, AUTÓNOMOS) DEMANDANTES DE EMPLEO

DOCUMENTACION A PRESENTAR: TRABAJADORES (RÉGIMEN GENERAL, ADMINISTRACIÓN PÚBLICA, AUTÓNOMOS) DEMANDANTES DE EMPLEO MF0492_3 PROGRAMACION WEB EN EL ENTORNO SERVIDOR (IFCD0210: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB) 240 HORAS PRESENCIALES Nº DE EXPEDIENTE: FC/2013/0064 ACCION 217 GRUPO 1 ACCIÓN FORMATIVA FINANCIADA

Más detalles