Sistemas Distribuídos Web Services

Slides:



Advertisements
Apresentações semelhantes
GEOINFO 2004 Mecanismos para intercâmbio de dados geográficos através de Web Services Valéria Gonçalves Soares Michael Schuenck dos.
Advertisements

Desenvolvimento de Sistemas Distribuídos Web Services
Web Services aplicado à Computação em Grade
Novas Arquitecturas baseadas em Web Services
Sistemas Distribuídos Baseados na Web
Web Services Aluno: Fabiano Costa Teixeira
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Web Services Um Web Service é um bloco de software que pode ser acedido pela Internet e usado remotamente por outras aplicações Infra-estrutura para a.
Web Services 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
RMI-IIOP.
Introdução aos Serviços Web
Universal Description, Discovery and Integration (UDDI)
Web Services Erika Hmeljevski Estefania Borm Leonardo Malagoli
Bruno Tardiole Kuehne Orientador: Prof. Dr. Marcos José Santana
SOA e Web Services Aluno: Thiago Caproni Tavares
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
Área de Desenvolvimento de Sistemas
Objetos Distribuídos Padrão CORBA
DAS Sistemas Distribuídos para Automação Industrial
TCP/IP básico e outros protocolos
Sistemas Distribuídos
SOA - Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a serviços
Tópicos de Sistemas de Informação A
Desenvolvimento de Projetos e Aplicações Web
Funcionalidades e Protocolos da Camada de Aplicação
Tópicos de Sistemas de Informação A
Middleware e Sistemas Distribuídos
Minicurso PHP – Parte 2 João Paulo Ribeiro jpribeiro.com
Arquitetura CORBA e Objetos Distribuídos
Tópicos de Sistemas de Informação A
Tópicos de Sistemas de Informação A
Web Services Uninorte Semana de Tecnologia da Informação
Web Services Desmistificando o pré-conceito.
Concorrência e Java RMI
1 My GRID: Bio-informática personalizada em uma grade de informação. Francisco Silva
Projeto de Banco de Dados
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
Levantamento de Requisitos
Levantamento de Requisitos
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Da Introdução à Prática
Java RMI João Gabriel (jggxm).
RPC and Web Service André Pereira.
Comunicação.
Padrões de Interação com o Usuário
Web Services Equipe: Cláudia Brito Lyra Nunes da Silva
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
.NET com C#.  Conceitos e Características  Vantagens do SOAP  Descrição do WebService  Gerenciamento de Estados  UDDI  Novidades do Framework 2.0.
Integrando sistemas através de HTTP + XML. * Muitos processos manuais começam a ser realizados online. * Ferramentas desenvolvidas precisavam ser interoperáveis.
Web Services: Conceitos e Transações
Universidade Federal de Alagoas Instituto de Computação - IC Redes de Computadores 2 Serviços Web Felipe Santos José Oswaldo.
Tecnologias de Localização de Serviços Exame de Qualificação IME/USP Fev/2003.
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
© Copyright 2005 Rodrigo Rebouças de Almeida ( Estudo de caso: Café Expresso Ltda. A estória de João...
Web Services Marden Menezes Sharp Shooters.NET User’s Group Recife-PE11/11/2002.
Abstrações de um Sistema Utiliza um conjunto selecionado de conceitos e regras de forma a focar em aspectos específicos de interesse num sistema. Visão.
1 Web Services Uma Introdução Jacques P. Sauvé DSC/UFCG 2003.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Pesquisa sobre o uso de Web Service Alunos:Felipe Silveira Israel Andreis Programação Distribuída e Paralela Prof. Dr. Cláudio F. R. Geyer.
WebPTM Web Project and Time Manager Autor: Daniel Nicoletti Orientador: Prof. Dr. Carlos Miguel Tobar Toledo Co-Orientador: Murilo Woigt Miranda PONTIFÍCIA.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
SOA SOA – Arquitetura Orientada a Serviços Conceitos e Aplicações
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.
Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.
Transcrição da apresentação:

Sistemas Distribuídos Web Services Silvia Cristina Sardela Bianchi

Cenário Considere uma agência de viagens que quando vai vender um pacote precisa analisar: Empresas aéreas: Determinar a melhor opção entre os horários e preços dos vôos; Hotéis: Melhores condições e preços; Atualmente a negociação com o cliente é feita de forma “manual”. Ou seja, o cliente vai até à agência, informa o local de destino, a data de partida e retorno e o padrão de hotel e a classe de vôo desejados;

Cenário Como esse processo pode ser automatizado? Com a finalidade de propiciar uma maior comodidade aos clientes e agilizar o atendimento a agência deseja automatizar esse processo; É desejado que o site da agência possua recursos de forma que o cliente informe os dados e valor da viagem seja calculado; Como esse processo pode ser automatizado?

Cenário As empresas aéreas precisam disponibilizar formas para as agências consultarem suas tabelas de vôos e preços, Os hotéis precisam disponibilizar formas para as agências consultarem suas tabelas de preços e reservas; O sistema da agência precisa acessar os dados dos hotéis e das empresas aéreas para analisar a melhor condição e oferece-lá ao cliente;

Cenário Qual a solução para isso? Diferentes hotéis e empresas aéreas possuem diferentes estruturas de informática; Cada hotel e empresa aérea pode disponibilizar seus dados utilizando uma tecnologia e forma de acesso diferentes; Essa heterogeneidade complica o desenvolvimento da solução; A agência precisa saber quais as empresas aéreas e hotéis que oferecem tal recurso, de forma que ela possa incluí-los na consulta; Qual a solução para isso?

Motivação Mitigação para problemas de integração Dados, plataformas,etc. Simplificação da comunicação entre aplicações Menores custos de desenvolvimento, manutenção, implantação, etc. Eliminação do forte acoplamento das tecnologias RPC-style RPC, CORBA, RMI, e DCOM Flexibilidade e adaptabilidade Reuso para outras aplicações Heterogeneidade

Motivação Garantir inter-operabilidade Usar protocolos web (HTTP e HTTPS) para transporte Usar URLs e URIs como referências para serviços remotos Tratar problemas de heterogeneidade dos dados usando XML para representar os dados

Exemplo: Aplicação 3 camadas boa arquitectura DNA Aplicação Central Compras Data Layer Business Layer Presentation Layer Interface da aplicação dá acesso aos dados aplicacionais

Service Oriented Architecture Interface desacoplado da lógica de processamento dos dados troca de mensagens boa arquitectura 3-tier service Serviço Central Compras UI Business Layer Service Façade Data Layer Presentation Layer Web Service Standards permitem ligações cross-platform Dados e Lógica Negócio encapsulados por uma Web Service Façade

Automação de Processos de Negócio Serviços Contabilidade integração com diferentes plataformas Serviço Central Compras UI Processo Compras Business Process Automation Serviço RH Múltiplos serviços combinados num único processo de negócio

O que é? – Definição [1/2] De forma extremamente simplista... “Um site sem GUI” Imagine poder usar o engenho de busca do Google mas poder definir sua própria GUI Estabelecimento de um contrato de serviço para o cliente: Requisição => tratamento de resultados

O que é? – Definição [2/2] ... formalizando: “conjuntos de protocolos e padrões que permitem que aplicações se comuniquem via uma rede (geralmente Internet). Esta comunicação baseada em padrões permite que as aplicações descrevam o que fazem e permite então chamar ou utilizar os serviços de outra aplicação.”

Web Services Implementam serviços que precisam ser compartilhados; Podem ser desenvolvidos em qualquer plataforma utilizando qualquer ambiente de desenvolvimento; Devem ser capazes de comunicar com outros Web Services utilizando protocolos padrões; No cenário proposto (no início da apresentação) os hotéis e as empresas aéreas podem disponibilizar Web Services com operações para consulta de preços e condições;

Web Services O sistema da agência invocaria o Web Service oferecido pelo hotel ou empresa aérea, efetuando a consulta desejada; Middleware baseado em três padrões: Simple Object Access Protocol (SOAP); Web Services Description Language (WSDL); UDDI (Universal Description, Discovery and Integration);

Web Services: Arquitetura Camada de Transporte HTTP; SMTP; Etc; Camada de Mensagens: SOAP; Camada de Dados: XML (RPC Style, Document Style); Camada de descrição: WSDL; Camada de descoberta: UDDI;

Web Services: Papéis Provedor de Serviços: Disponibiliza um serviço Web para que esse possa ser invocado por um outro software; Registro de Serviços: Repositório que mantém e fornece informações sobre Web Services; Cliente de Serviços: Aplicação que localiza um serviço, implementa sua interface e invoca o serviço;

Web Services

SOAP Protocolo para trocar mensagens XML Inclui definição do formato das mensagens a trocar Inclui um mecanismo de ligação das mensagens SOAP com o protocolo de transporte usado: HTTP ou HTTPS (ou SMTP, …) Inclui mecanismo para tratar falhas

SOAP No SOAP toda a informação está incluída no envelope da mensagem O envelope inclui elementos de cabeçalho e de corpo

SOAP Oneway: mensagem undirecional do cliente para o servidor Pedido-resposta: interação cliente-servidor-cliente Notificação: interação unidirecional servidor-cliente E.g. callback, notificação Notificação-resposta: interação servidor-cliente-servidor

WSDL: IDL para WS Definição da interface em XML WSDL permite definir a interface do serviço, indicando quais as operações disponíveis WSDL define as mensagens trocadas na interação (e.g. na invocação de uma operação, quais as mensagens trocadas) WSDL permite também definir a forma de representação dos dados e a forma de aceder ao serviço  Especificação WSDL bastante verbosa – normalmente criada a partir de interface ou código do servidor  Em Java e .NET existem ferramentas para criar especificação a partir de interfaces Java  Sistemas de desenvolvimento possuem wizards que simplificam tarefa

WSDL Parte Abstrata Parte Concreta

UDDI Os clientes precisam de uma forma para encontrar Web Services que atendem a uma determinada necessidade; Exemplo: A agência de turismo precisa descobrir quais hotéis oferecem consultas através de Web Services; É necessário obter informações sobre o serviço oferecido; UDDI (Universal Description, Discovery and Integration) oferece a solução para tais questões;

UDDI: Informações Páginas brancas: Busca de organizações pelo nome; Informações sobre contato (e-mail, telefone, etc); Informações sobre os serviços oferecidos Páginas amarelas: Busca de organizações ou serviços por categoria; Categorias poder ser padronizadas ou definidas pelo usuário; Páginas verdes: Busca de serviços com base em características técnicas;