Serviços Web: Arquitetura

Documentos relacionados
Serviços Web: Introdução

Introdução a Web Services

Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos

Programação Cliente em Sistemas Web

Web Services. (Introdução)

UFG - Instituto de Informática

A API de Publicação (Publishing API) suporta a operação publish que habilita empresas a colocarem e atualizarem a informação em um registro UDDI.

A Figura... mostra a arquitetura técnica de serviços na Web

Sistemas Distribuídos Arquiteturas Middlewares

Service Oriented Architecture SOA

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

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

WSDL e UDDI. Pedro Miguel Martins Nunes WSDL. WSDL Exemplo prático Resumo UDDI. Serviço UDDI Estruturas de dados UDDI e WSDL API Resumo

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

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

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

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

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

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

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

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

Elementos da Linguagem C#

REDES DE COMPUTADORES

Introdução à Camada de Aplicação. Prof. Eduardo

BPMN (Exemplos e Exercícios) e UDDI

Departamento de Informática

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

Camada de Aplicação. Prof. Eduardo

Introdução a Web Services

Sistemas Distribuídos e Paralelos

Kassius Vargas Prestes

Trabalho de Sistemas Distribuídos

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

ANEXO V Edital nº 03508/2008

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

Microsoft.NET. Desenvolvimento Baseado em Componentes

Service Oriented Architecture (SOA)

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

SISTEMAS DISTRIBUIDOS

Processos de Iniciação

Arquitetura de Sistemas Distribuídos

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira

e-ping - Padrões de Interoperabilidade de Governo Eletrônico

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

Camada de Transporte, protocolos TCP e UDP


Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Rede de Computadores (REC)

3 Serviços na Web (Web services)

Arquiteturas de Sistemas Distribuídos

Desenvolvimento de Aplicações Distribuídas

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

18/04/2006 Micropagamento F2b Web Services Web rev 00

Redes de Computadores II

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Redes de Computadores (LTIC) 2013/14. GRUPO 1 (7 valores) 1º Teste 1 de Abril de Nome: Nº de aluno:

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL

MINISTÉRIO DA EDUCAÇÃO

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

Departamento de Informática

Projeto: Plataforma de Integração. Data: 01/08/2014

TEMA TECNOLOGIA DA INFORMAÇÃO -Tipos de SI e Recursos de Software parte2. AULA DE SISTEMAS DE INFORMAÇÃO PROFa. ROSA MOTTA

Sistemas Distribuídos

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

ITBI ONLINE MANUAL DE INTEGRAÇÃO

REST Um Estilo de Arquitetura de Sistemas Distribuídos

Padrões de Interação com o Usuário

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Web Services: Metodologias de Desenvolvimento Carlos J. Feijó Lopes José Carlos Ramalho Fevereiro de 2004

Criando Web Services. Palestrante: Daniel Destro do Carmo

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Linha de Produto para BPM

Internet. Gabriela Trevisan Bacharel em Sistemas de Infomação

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Webservices. O que é um web service? Características. Por que web services? Tipos de web services

4 - Framework proposto para Sistemas Multi-Agentes Abertos

UML: Diagrama de Casos de Uso, Diagrama de Classes

Pró-Reitoria de Administração - PRAd Assessoria de Informática - AI SISTEMA DE PUBLICAÇÃO DE LICITAÇÕES. Manual de Procedimentos

Protocolos de Redes Revisão para AV I

Introdução ao icare 2

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Nome dos Alunos

Sistema Nacional de Registro de Hóspedes - SNRHos. PGTUR Plataforma de Gestão do Turismo Manual Técnico de Utilização do Web Service Versão 1.

Especificação do Trabalho

INSTITUTO PRESBITERIANO MACKENZIE COLÉGIO PRESBITERIANO MACKENZIE SP Informática Educacional

Capítulo 7 CAMADA DE TRANSPORTE

SOA na Prática Ricardo Limonta

Transcrição:

Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão

Objetivos Nesta aula iremos apresentar a solução baseada em serviços web, uma das principais soluções em sistemas distribuídos usados no dia a dia das grandes corporações em seus ambientes de desenvolvimento de software.

Plano de Aula Serviços Web: Arquitetura Introdução SOAP (Simple Object Access Protocol) Descrição de serviço e IDL para serviço Web Serviço de diretório para uso com Serviços Web Resumo

Introdução As principais tecnologias dos Serviços Web são: SOAP, WSDL e UDDI; SOAP é a estrutura de empacotamento padrão para transportar documentos XML através de protocolos da Internet (HTTP, SMTP, FTP); WSDL é a tecnologia que padroniza a descrição da interface de um Serviço Web; O UDDI é o repositório mundial de Serviços Web utilizado para publicar e/ou descobrir serviços que já foram criados e utilizar os já existentes.

Introdução Registro UDDI Legenda: 1. Publicação do WSDL 2. Pesquisando Web services 3. Retorna WSDL do serviço 4. Interação cliente-serviço usando SOAP WSDL 3 2 WSDL 1 Consumidor Serviço SOAP 4 Provedor Serviços

Introdução O processo para geração de um Serviço Web se resume em três passos: 1. Publicação 2. Localização 3. Consumação

Introdução Service Provider Responsável por prover o serviço. A técnica de troca de mensagens com o Service Requester ocorre com o uso de SOAP, um XML que contém dados sobre a requisição e os resultados encontrados; Service Requester Responsável por consumir o serviço. Efetua a troca de mensagens com o Service Provider com o uso do SOAP. Os métodos acessíveis no Web Service estão especificados no Service Broker através do uso da tecnologia WSDL, outro XML que prove estes dados; Service Broker Responsável por publicar e divulgar o serviço. O Service Provider disponibiliza as informações de seu Web Service ao Service Broker, o qual irá registrar este serviço em um diretório público e gerenciálo. Chamado de UDDI, teoricamente deveria ser uma espécie de Google aos consumidores de Web Services mas na prática ainda é pouco usual. Seu uso é vital para troca de dados WSDL.

SOAP (Simple Object Access Protocol) O protocolo SOAP é projetado para permitir interação cliente-servidor através da internet; Ela defini um esquema para uso da XML para representar o conteúdo de mensagens de requisição-resposta; Originalmente o SOAP era baseado apenas em HTTP, atualmente este usa SMTP, TCP e UDP; Conforme falamos anteriormente, o programador não precisa se preocupar com detalhes internos do uso de SOAP, visto há várias APIs SOAP implementadas em muitas linguagens de programação.

SOAP (Simple Object Access Protocol) Mensagem SOAP Uma mensagem SOAP é transportada em um envelope; Dentro do envelope existe um cabeçalho opcional e um corpo; Os cabeçalhos das mensagens podem ser usados para estabelecer contexto necessário para um serviço; O corpo da mensagem transporta um documento XML para um serviço Web em particular; Os elementos XML envelope, cabeçalho e corpo, juntos a outros atributos e elementos de mensagens SOAP, são definidos em um esquema no espaço de nomes XML do protocolo SOAP.

SOAP (Simple Object Access Protocol) Mensagem SOAP

SOAP (Simple Object Access Protocol) Mensagem SOAP Envelope (Exemplo)

SOAP (Simple Object Access Protocol) Mensagem SOAP No cabeçalho da mensagem SOAP podem ser definidas informações específicas para nós SOAP intermediários (roteadores SOAP)

Descrição de serviço e IDL para serviço Web Para Serviços Web, as definições de interface são fornecidas como parte de uma descrição de serviço geral, que especifica duas outras características: Como as mensagens devem ser comunicadas (por exemplo, por SOAP com HTTP); E o URI do serviço (URL); As descrições de serviço geralmente são usadas para gerar stubs de cliente associados ao comportamento do cliente; No contexto dos serviços web, a WSDL (Web Service Description Language) é usada para descrições de serviços; A WSDL defini um esquema XML para representar os nomes de elementos tais como: definições, tipos, mensagens, interface, vínculos e serviços.

WSDL (Web Service Description Language)

WSDL (Web Service Description Language) A WSDL separa a parte abstrata de uma descrição de serviço da parte concreta; A parte abstrata da descrição inclui um conjunto de definições (definitions) dos tipos usados pelo serviço, em particular os tipos dos valores trocados nas mensagens; O conjunto de nomes definido dentro da seção tipos (types) de uma definição WSDL é chamada de espaço de nomes de destino; A seção mensagem (message) da parte abstrata contém uma descrição do conjunto de mensagens trocadas; As operações são representadas na seção interface; A parte concreta especifica como e onde o serviço pode ser contatado.

WSDL (Web Service Description Language)

WSDL (Web Service Description Language) O conjunto de operações pertencentes a um serviço Web é agrupado em um elemento da XML chamado interface (também chamado de porttype); Cada operação deve especificar o padrão de troca de mensagens entre cliente e servidor; Algumas opções disponíveis podem ser encontradas abaixo:

WSDL (Web Service Description Language) A parte concreta do WSDL consiste: Na escolha de protocolos, definido pelo elemento binding; Na escolha do ponto final ou do servidor por meio do elemento serviço (service); As duas estão relacionadas pois a forma de endereço depende do tipo de protocolo que esta sendo utilizado (ponto final: SOAP usará: URI / ponto final: CORBA usará: ID específico CORBA); Binding (Vínculo): informa quais formatos de mensagem e forma de representação de dados externa devem ser usados (comumente SOAP, HTTP e MIME); Service: especifica o nome do serviço e um ou mais pontos finais (ou portas) onde uma instância do serviço pode ser contatada. Serviços Web: Arquitetura

Serviço de diretório para uso com Serviços Web Qualquer organização que pretenda basear suas aplicações em serviços Web achará mais conveniente usar um serviço de diretório para disponibilizar estes serviços aos clientes; Esse é o objetivo do UDDI (Universal Description Discovery and Integration specification) que fornece um serviço de nome e um serviço de diretório; As descrições WSDL podem ser pesquisadas pelo nome (estilo catálogo telefônico) ou pelo atributo (estilo páginas amarelas); Os clientes podem usar a estratégia das páginas amarelas para pesquisar uma categoria de serviço, como um agente de viagem ou uma livraria; Podem usar a estratégia do catálogo telefônico para pesquisar um serviço com referência à organização que o fornece.

UDDI (Universal Description Discovery and Integration specification) Estruturas de Dados As estruturas de dados que suportam o UDDI são projetadas para permitir todas as formas de interação explicadas anteriormente; Os dados são organizados em termos de quatro estruturas: businessentity: descreve a organização que fornece esses serviços Web, dando seu nome, endereço, atividades, etc; businessservice: armazena informações sobre um conjunto de instâncias de um serviço web, como seu nome e descrição; bindingtemplate: contém o endereço de uma instância de serviço web e referências para descrições do serviço; tmodel: contém descrições de serviço, normalmente documentos WSDL.

UDDI (Universal Description Discovery and Integration specification) Estruturas de Dados

UDDI (Universal Description Discovery and Integration specification) Estruturas de Dados

UDDI (Universal Description Discovery and Integration specification) Pesquisa O UDDI fornece uma API para pesquisar (lookup) serviços com base em dois conjuntos de operações de consulta; find_xxx (recuperar um conjunto de entidades) e get_xxx (recuperar diretamente uma entidade); Publicação O UDDI fornece uma interface para publicar (anunciar) e atualizar informações sobre serviços Web; Registros O serviço UDDI é baseado em dados replicados armazenados em registros. Um registro consiste em um ou mais servidores UDDI, cada um ou mais tendo uma cópia do mesmo conjunto de dados.

Resumo

Dúvidas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva

Próxima Aula Prática de Laboratório: Serviços Web

Referências Sistemas Distribuídos - Conceitos e Projeto, George Coulouris, 4ª Edição - Editora Bookman, 784 páginas.