Web Services. Sistemas Distribuídos Marcos Costa

Documentos relacionados
Introdução a Web Services

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

STD29006 Sistemas Distribuídos

Web Services. Tópicos. Introdução (1/3) CONTEXTO HISTÓRICO WEB SERVICES Conclusões

Universidade Federal Fluminense Mestrado em Sistemas de Telecomunicações. Disciplina: Fundamentos de Sistemas Multimídia.

Desenvolvimento de Aplicações Distribuídas

Web Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services

Desenvolvimento de Aplicações Corporativas Avançadas. Web Services

Introdução a Web Services

O Processo da Descoberta de um Serviço: Discovery

PMR3507 Fábrica digital

INFORMÁTICA. Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir:

UNIVERSIDADE. Sistemas Distribuídos

SOLUÇÃO DE INTEGRAÇÃO PARA O SISPORTOS

Engenharia de Software Orientada a Serviços

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello

Programação Cliente em Sistemas Web

Sistemas Operacionais II

O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.

SERVIÇOS WEB. Frankley Gustavo F. Mesquita, Tamiris Souza Fonseca. 27 de junho de 2016

Sistemas distribuídos. Prof. Emiliano Monteiro

Web Services. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Simplificada (Juridica) Versão: 1.0. Autor: Angelo Bestetti Junior

Service Oriented Architectures (SOA)

Sistemas Distribuídos. Visão Geral Expandida

Serviços Web: Arquitetura

UFG - Instituto de Informática

Roteiro. Por que Web Services? Computação Distribuída - DCOM e CORBA. Visão Geral XML. João Gustavo Gazolla Borges, Maverson Eduardo Schulze Rosa SOAP

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Service Oriented Architecture SOA

SERVIDORES MÓVEIS EM REDES AD HOC

3 Serviços na Web (Web services)

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Programa Conhecendo Padrões Abertos para Interoperabilidade. Oficina I: Curso de Web Services. Profrª Everlin Marques Profrª Cinara Menegazzo

Web Services. (Introdução)

GERENCIAMENTO BASEADO NA WEB. Baseado em slides gentilmente cedidos pelo Prof. João Henrique Kleinschmidt da UFABC.

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

Chamada Remota de Métodos. Marco Túlio de Oliveira Valente

Microsoft.NET. Desenvolvimento Baseado em Componentes

Desenvolvendo um protótipo do UDDI. Luís Fernando Jordan. 1. Introdução. 1.1 Apresentação.

Arquitetura Orientada a Serviços A Evolução de Estruturas Complexas a partir de Estruturas Simples. Neil Paiva Tizzo GEINFO

AUTOMATIZAÇÃO NA COTAÇÃO DE LIVROS UTILIZANDO WEB SERVICE. Universidade Federal de Santa Catarina UFSC Departamento de Informática e Estatística INE

Message Oriented Middleware (MOM)

SERVIÇO CONTRATO Especificação das operações de Serviço

Comentários: Desenvolvimento de Sistemas Rogério Araújo

Webservices LEANDRO MENDES FERREIRA

Aula 12 Modelagem de Processos de Negócio Prof. Filipe Wall Mutz

Sistemas Distribuídos. Web Services. Edeyson Andrade Gomes.

LEIC/LERC 2007/08 Exame de Época Especial de Sistemas Distribuídos

DESENVOLVIMENTO DE SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/ Faculdade de Ciências da Universidade de Lisboa

Domínios da Arquitectura

Prof. Me. Sérgio Carlos Portari Júnior

Aula 23: Web Services (I)

Sistemas Distribuídos

Serviços para a Web Semântica

Web Services. Tópicos. Motivação. Tecnologias Web Service. Passo a passo Business Web Conclusão. Integração de aplicações SOAP, WSDL, UDDI, WSFL

2ª edição. Daniel Adorno Gomes. Novatec

Conteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens

Sumário. Message Oriented Middleware (MOM) Sincronização na Comunicação. Comunicação Assíncrona

Web Services REST. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Técnicas de Programação para a Web. Luiz Cláudio Silva. Novembro de Apresentação

Integração de sistemas utilizando Web Services do tipo REST

Web Services SOAP. Introdução

ANTHONY FERREIRA LA MARCA DIRETRIZES PARA DESENVOLVIMENTO DE APLICAÇÕES COM SERVIÇOS WEB

Projeto. Observatório Nacional de Clima e Saúde

Engenharia de Software Orientada a Serviços

Aspectos Práticos de Segurança em Web Services utilizando o Padrão WS-Security

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

Smart Proxies para Invocação de Serviços Web Replicados

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

Kassius Vargas Prestes

Sistemas Distribuídos na Web

Sistemas Distribuídos

2 Conceitos relativos a Web services e sua composição

Aula 12 -QS -Engenharia de SW Orientada a Serviço

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO FERNANDO YUJI MIYAKAWA

Manual de Integração WebService

SERVIÇO CONTRATO. Especificação das operações de Serviço MANUAL DO USUÁRIO CONSULTAR CONTRATO. Projeto: Plataforma de Integração.

Sistemas Distribuídos Arquiteturas Middlewares

CAPÍTULO 36 Como utilizar os serviços da Web

PROVIDING DEPENDABILITY FOR WEB SERVICES

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Serviços Web: Introdução

Web Services. Melhor aceite que RPC, CORBA e DCOM devido à simplificação dos protocolos (> 90 implementações) Web Services. UDDI e Outras normas

3 Implementações Vinci

Sistemas Operacionais II

Principais conceitos de CORBA

Gerenciamento e Interoperabilidade de Redes

SOA Introdução. SOA Visão Departamental das Organizações

PROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA AGÊNCIA DE TRANSPORTES INTERNACIONAIS

Sumário. 1 Caracterização de Sistemas Distribuídos 1. 2 Modelos de Sistema Redes de Computadores e Interligação em Rede 81

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping;

MARCELO DA MOTA LOPES. Uma Arquitetura Orientada a Serviço para Aplicações com Restrições Temporais

UNIVERSIDADE FEDERAL DO MARANHÃO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO DIEGO RABELO MACIEL

Transcrição:

Web Services Sistemas Distribuídos Marcos Costa masc@cin.ufpe.br

Definição! WebServices.org! Web Services are encapsulated, loosely coupled contracted functions offered via standard protocols 2

Definição 3! Encapsulada! Implementações da função não são visíveis externamente! Baixo grau de acoplamento! Mudanças na implementação de uma função não implica em mudança na invocação! Contratada! Há informações públicas disponíveis sobre a função, que possibilitam sua invocação

Características! Web services podem ser publicados, localizados e invocados através da Internet! Independência! de linguagem de programação! de sistema operacional! Fácil integração de sistemas heterogêneos 4

Características! Utilização de protocolos padrões! baseados em XML! SOAP! Simple Object Access Protocol! WSDL! Web Services Description Language! UDDI! Universal Description, Discovery, and Integration directory 5

Arquitetura Service Broker WSDL 6 Service Requester Service Provider

SOAP! Simple Object Access Protocol! Protocolo de comunicação Web Services! Criado pela Microsoft em 1998! Desenvolvido juntamente com IBM, Lotus e UserLand! Trabalha sobre protocolos padrões! HTTP, SMTP 7

SOAP SOAP Envelope SOAP Header SOAP Body! Envelope é um wraper para o conteúdo! Header contém informações de controle! Body contém os dados transmitidos 8

SOAP <SOAP:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP:Body> <m:getflightinfo xmlns:m="http://www.acme-travel.com/flightinfo" SOAP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > <airlinename xsi:type="xsd:string">vasp</airlinename> <flightnumber xsi:type="xsd:int">100</flightnumber> </m:getflightinfo> </SOAP:Body> </SOAP:Envelope> 9

SOAP! Dois estilos de mensagens! RPC! Sincronismo! Requisição SOAP é tal como uma chamada de método com zero ou mais parâmetros! Messaging! Assincronismo! Emissor envia uma mensagem SOAP e o receptor determina o que fazer com ela 10

SOAP! Determina uso do protocolo MIME! Multipurpose Internet Mail Extensions! Para dados em formatos não XML 11

WSDL! Web Services Description Language! Desenvolvido pela IBM, Microsoft e Ariba! Versão 1.0 data de 2000! Mantido pela W3C! World Wide Web Consortium (W3C)! Focado no desenvolvimento de protocolos comuns! Com o objetivo de promover a evolução e assegurar a interoperabilidade na Web 12

WSDL! Um documento WSDL descreve! Interface! Ponto de acesso! Protocolo de comunicação 13

WSDL <wsdl:definitions...> <wsdl:types/> <wsdl:message name="getflightinforequest"> <wsdl:part name="airlinename" type="xsd:string"/> <wsdl:part name="flightnumber" type="xsd:int"/> </wsdl:message> <wsdl:message name="getflightinforesponse"> <wsdl:part name="getflightinforeturn" type="xsd:string"/> </wsdl:message> 14

WSDL <wsdl:porttype name="airportserviceporttype"> <wsdl:operation name="getflightinfo"> <wsdl:input message="intf:getflightinforequest" name="getflightinforequest"/> <wsdl:output message="intf:getflightinforesponse" name="getflightinforesponse"/> </wsdl:operation> </wsdl:porttype> 15

WSDL <wsdl:binding name="airportserviceporttypesoapbinding" type="intf:airportserviceporttype"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getflightinfo">... </wsdl:operation> </wsdl:binding> 16

WSDL <wsdl:service name="airportserviceporttypeservice"> <wsdl:port binding="intf:airportserviceporttypesoapbinding" name="airportserviceporttype"> <wsdlsoap:address location="http://acmetravel.com/travelservice"/> </wsdl:port> </wsdl:service> </wsdl:definitions> 17

UDDI! Universal Description, Discovery, and Integration directory! Criado por! Microsoft, IBM, Ariba! Mantido pela OASIS! Consórcio que dirige o desenvolvimento, convergência e adoção de e-business patterns! OASIS UDDI Specification Commitee 18

UDDI! Registro e localização de Web services User UDDI Request UDDI Response SOAP UDDI Registry Node HTTP Server SOAP Processor UDDI Registry Service Create, View, Update, and Delete registrations B2B Directory Implementation-neutral 19

UDDI 20! White pages! Business Name! Contato! E-mail, telefone, endereço! Yellow pages! Categorização do negócio! Localização geográfica! Tipo de produto ou serviço! Tipo de indústria

UDDI! Green pages! Dados técnicos! URL de acesso! Endereço do WSDL 21

Desafios! Padrões para! Segurança! Transação! Propostas de padrões! Concorrentes 22

WSS! OASIS Web Services Security Committe! The purpose of the OASIS Web Services Security (WSS) TC is to continue work on the Web Services security foundations as described in the WS-Security specification! Especificação inicial da IBM e Microsoft 23

WS-Security! Especifica um modo seguro para troca de mensagens SOAP! Criptografia! Certificados digitais! Propagação de tokens seguros! Não especifica um protocolo particular 24

25 WS-Security <S:Header> <wsse:security> <wsse:binarysecuritytoken ValueType="wsse:X509v3...> MIIEZzCCA9CgAwIBAgIQEmtJZc0rqrKh5i... </wsse:binarysecuritytoken> <xenc:encryptedkey> <xenc:encryptionmethod Algorithm=...rsa-1_5"/> <xenc:cipherdata> <xenc:ciphervalue>d2fpdgr...</xenc:ciphervalue> </xenc:cipherdata> <xenc:referencelist> <xenc:datareference URI="#enc1"/> </xenc:referencelist> </xenc:encryptedkey>

WS-Security <ds:signature> <ds:signaturevalue>z2lxdhm5gk...</ds:signaturevalue> </ds:signature> </wsse:security> </S:Header> <S:Body> <xenc:encrypteddata Id="enc1"> <xenc:encryptionmethod Algorithm=...3des-cbc"/> <xenc:cipherdata> <xenc:ciphervalue>amw8kead...</xenc:ciphervalue> </xenc:cipherdata> </xenc:encrypteddata> </S:Body> 26

Liberty Alliance! Consórcio de mais de 50 empresas! Sun, Sony, RSA Security, Nokia, etc.! Gerenciamento de identidades na Internet de uma maneira descentralizada e segura 27

Liberty Alliance! Provedores de serviços! Provedores de identidade 28! Possuem informações sobre a identidade de seus clientes! Oferecem incentivos para que outros provedores de serviço se afiliem a eles! Network Identity! Single Sign-On! Federations

Liberty Alliance 29

Pontos Positivos! Web Services são ótimos para compartilhamento de informações! Sistemas anteriormente isolados podem passar a interagir com outros sistemas! Permite interoperabilidade entre aplicações de diferentes plataformas: CORBA, J2EE 30

Pontos Negativos! Necessidade de padronização! Segurança! Transação! Implementações! Extensões proprietárias! Comprometimento de interoperabilidade 31

E o futuro?! Futuras aplicações serão compostas por grupos de Web Services! Web Services serão agregação de outros Web Services! Reusabilidade extendida a nível de execução! Versus reusabilidade a nível de design 32

Perguntas? 33

Referências 34! WebServices.org! http://www.webservices.org/! SOAP! http://www.w3.org/tr/soap/! WSDL! http://www.w3.org/tr/wsdl! UDDI! http://www.uddi.org/

Referências 35! WSS! http://www.oasisopen.org/committees/ tc_home.php?wg_abbrev=wss! Liberty Alliance! http://www.projectliberty.org/! BTP! http://www.oasisopen.org/committees/ tc_home.php?wg_abbrev=business-transaction

Referências 36! WS-Transaction! ftp://www6.software.ibm.com/software/developer/libra ry/ws-transpec.pdf! WS-Coordination! ftp://www6.software.ibm.com/software/ developer/library/ws-coordination.pdf! BPEL4WS! ftp://www6.software.ibm.com/software/developer/ library/ws-bpel.pdf