A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos Web Services

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos Web Services"— Transcrição da apresentação:

1 Sistemas Distribuídos Web Services
Silvia Cristina Sardela Bianchi

2 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;

3 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?

4 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;

5 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?

6 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

7 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

8 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

9 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

10 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

11 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

12 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.”

13 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;

14 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);

15 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;

16 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;

17 Web Services

18 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

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

20

21 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

22 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

23

24 WSDL Parte Abstrata Parte Concreta

25 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;

26 UDDI: Informações Páginas brancas: Busca de organizações pelo nome;
Informações sobre contato ( , 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;


Carregar ppt "Sistemas Distribuídos Web Services"

Apresentações semelhantes


Anúncios Google