Introdução a Web Services



Documentos relacionados
Introdução a Web Services

Serviços Web: Arquitetura

UFG - Instituto de Informática

UNIVERSIDADE. Sistemas Distribuídos

Web Services. (Introdução)

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

Programação Cliente em Sistemas Web

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

Serviços Web: Introdução

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

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

3 Serviços na Web (Web services)

Service Oriented Architecture SOA

BPM e SOA. Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Sistemas Distribuídos

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

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

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

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

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

ANEXO V Edital nº 03508/2008

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

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

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

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

Kassius Vargas Prestes

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

Web Services. Autor: Rômulo Rosa Furtado

Service Oriented Architecture (SOA)

Microsoft.NET. Desenvolvimento Baseado em Componentes

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Fase 1: Engenharia de Produto

Sistemas Distribuídos Arquiteturas Middlewares

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

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

Rede de Computadores (REC)

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.

ITBI ONLINE MANUAL DE INTEGRAÇÃO

Aula 03-04: Modelos de Sistemas Distribuídos

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

Sistemas Distribuídos

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

2 Engenharia de Software

SOA na Prática Ricardo Limonta

Integração Orientada a Serviços

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira

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

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.

Criando Web Services. Palestrante: Daniel Destro do Carmo

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

Integre pela Internet com os Web Services OpenEdge

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

: : Interoperabilidade entre Sistemas de Informação baseados na WEB - uma abordagem Multicanal

Serviços Web Semânticos

Diagrama lógico da rede da empresa Fácil Credito

Programação para Web

GERENCIAMENTO DE TRANSAÇÕES DISTRIBUÍDAS EM WEB SERVICES

Casos de uso Objetivo:

ESTUDO DE CASO: LeCS: Ensino a Distância

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

Arquitetura de Software: Uma Central para Gestão da execução de serviços

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, Todos os direitos reservados.

Arquitetura Orientada a Serviço

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

FUNDAÇÃO PARQUE TECNOLÓGICO DE SANTOS

UFG - Instituto de Informática

Abstraindo as Camadas de SOA & Aplicações Compostas

INT-9: Implementing ESB Processes with OpenEdge and Sonic David Cleary

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Arquiteturas SOA, WOA, e REST

Introdução à Informática

Camada de Aplicação. Prof. Eduardo

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

Camada de Transporte, protocolos TCP e UDP

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

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

White-box test: Também conhecido como teste estrutural, tem por objetivo validar os dados derivados das funções do sistema.

4 - Framework proposto para Sistemas Multi-Agentes Abertos

Sistemas Distribuídos

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

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

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

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

2 Ferramentas Utilizadas

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

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Transcrição:

Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas e descobertas como artefatos XML. As interações de um Web Service com outras aplicações usam mensagens baseadas em XML, trocadas por meio de protocolos baseados na Internet. Um serviço web é um sistema de software projetado para suportar interações interoperáveis entre máquinas, em uma rede. Possui uma interface descrita em um formato processável por máquina (). Outros sistemas interagem com o Web Service segundo uma maneira pré-definida pelo próprio serviço, utilizando mensagens SOAP, que são transportadas usando HTTP com serialização XML, conjuntamente com outros padrões da web. Simplificando: é um serviço disponível em uma internet, acessível por meio de padrões da web e interoperável (independente de plataforma computacional). 2 O mais importante é... A tecnologia de Web Services (WS) viabiliza uma computação orientada a serviços, baseada em componentes, em ambientes distribuídos e heterogêneos A linguagem de programação em que um WS está implementado ou a plataforma em que está implantado (deployed) são irrelevantes para os clientes Sistemas fracamente acoplados Um WS não precisa existir necessariamente na Web! Os clientes dos serviços podem ser programas comuns. De fato, um WS pouco tem a ver com browsers, HTML e similares Visão de Negócios Serviços web permitem a integração de aplicações dentro de uma mesma organização ou entre organizações diferentes (não é algo que nunca tenha sido tentado antes...) A tecnologia de WS baseia-se em padrões abertos: integração mais simples e mais barata Numa visão de negócios, um WS é um processo de negócio disponível em uma rede para parceiros internos ou externos a fim de atingir um objetivo de negócio 3 4

Visão Técnica Um serviço web nada mais é do que um conjunto de operações relacionadas (porttype) acessíveis a partir de uma rede (SOAP) e definidas por uma descrição de serviços () Isto não é algo novo. Está-se tentando resolver um antigo desafio em sistemas distribuídos: a localização e acesso a componentes remotos. O que é novo é a utilização de padrões abertos somente: XML, HTTP, SOAP,, etc. Uma aplicação de WS normalmente é construída a partir de componentes pré-existentes, possivelmente dispersos, fracamente acoplados. O foco dos WS está na interface dos serviços, uma espécie de contrato entre o WS e o componente que o invoca. A novidade aqui é combinar uma abordagem de desenvolvimento baseada em componentes fracamente acoplados com as lições aprendidas a partir da Web: o poder de padrões abertos para se atingir uma infra-estrutura ubíqua e interoperável Arquitetura Orientada a Serviços (SOA) Numa SOA, todos os componentes de software são modelados como serviços O foco do projeto do sistema está na interface do serviço, similar ao desenvolvimento baseado em componentes. Só que, com WS, o foco consiste em compor serviços invocados através de uma rede O objetivo não é construir um programa, mas sim organizar um serviço com uma interface definida As aplicações SOA são fracamente acopladas, estando integradas no nível de interface (contrato), não no de implementação Portanto, diferentes provedores (da mesma interface) podem ser escolhidos de acordo com políticas específicas da organização 5 6 Papéis e Operações SOA SOA x Web Services Três papéis são definidos em uma SOA: Provedor do serviço (provider) Solicitante do serviço (requestor) Registro do serviço (registry) Assim como três operações fundamentais: Publish (registro) Find (busca) Bind (interação C/S) Find Service Requestor Service Registry Bind Publish Service Provider 7 Embora freqüentemente usados em conjunto, esses dois termos não são a mesma coisa SOA Abordagem arquitetural que visa construir sistemas a partir de um conjunto de componentes fracamente acoplados (serviços) que podem ser combinados dinamicamente Serviços Web Uma abordagem para construir uma SOA Refere-se a um conjunto de tecnologias baseadas em XML que podem ser usadas para a construção de sistemas SOA 8

Serviços Web Arquitetura de Serviços Web Web Services integram dados e aplicações através de padrões XML em diferentes plataformas e sistemas operacionais interoperabilidade, independência de plataforma Requisitos (padrões) Comunicação SOAP (Simple Object Access Protocol) Descrição das interfaces dos serviços (Web Services Description Language) Tipos de dados XML Schema Descoberta de serviços UDDI (Universal Description, Discovery and Integration) 9 Agentes: consumidores e provedores de serviços (C/S) Todo serviço web deve ter um documento associado Os agentes interagem através de mensagens SOAP UDDI é usado para publicação e descoberta de serviços 10 Organismos e Empresas Modelo Conceitual de Serviços Web Organizações: W3C (World Wide Web Consortium): http://www.w3.org/2002/ws WS-I (Web Services Interoperability Organization): http://www.ws-i.org OASIS (Organization for the Advancement of Structured Information Standards): http://www.oasis-open.org Empresas: Sun, Apache, Microsoft, IBM... 11 12

Arquitetura Estendida de Serviços Web (outra visão) Modelos de Serviços Web Call/Response O agente consumidor, após obter a descrição da interface em, interage com o serviço usando mensagens SOAP Interação cliente/servidor de duas camadas Invocação estática ou dinâmica 13 14 Modelos de Serviços Web Mediador (Brokered) Modelos de Serviços Web Encadeado (Chained) O mediador age como um proxy para o agente consumidor, interagindo com múltiplos provedores, compilando suas respostas e garantindo segurança e autenticação Este modelo adapta-se mais facilmente a mudanças na interface ou na localização do serviço Os agentes podem chamar vários outros agentes para completar suas tarefas Este modelo permite executar transações multicamadas de serviços web, com facilidades de autenticação, assinatura digital, commit/rollback e workflow 15 16

SOAP Simple Object Access Protocol Permite a troca de mensagens entre serviços web, viabilizando um mecanismo de computação distribuída sobre a infra-estrutura da web Torna possível invocar aplicações remotas, independentemente de plataforma ou linguagem de programação, a exemplo de CORBA Uma mensagem SOAP é um documento XML, podendo ser transportada através de RPC ou de protocolos como HTTP e SMTP O protocolo HTTP não foi originalmente projetado com essa finalidade HTTP header O método POST deve ser usado para chamadas a serviços web via SOAP URI: /axis/servico.jws 17 18 Mensagem SOAP SOAP Request SOAP Envelope SOAP Header Header Block 1 Header Block M SOAP Body Body Block 1 Body Block N O envelope SOAP é construído a partir da interface do serviço web, descrita em A chamada ao serviço web segue empacotada em <soma>... </soma>, juntamente com seus parâmetros, <arg0> e <arg1> 19 20

SOAP Response A resposta do serviço web também vem dentro de um envelope SOAP, com a palavra Response anexada ao nome do método chamado Web Services Description Language Todo serviço web deve ter sua interface descrita em Um documento descreve a assinatura das operações (métodos) fornecidas por um serviço web, bem como sua localização, protocolo utilizado e outras informações As mensagens SOAP são construídas a partir da descrição dos serviços em Uma descrição em é um documento XML, podendo ser obtida de forma estática ou dinâmica pelos clientes 21 22 Estrutura do documento Servico.wsdl <definitions> <types> </types> DESCRIÇÃO ABSTRATA <message> </message> o quê? <porttype> </porttype> DESCRIÇÃO CONCRETA <binding> </binding> como? <service> </service> onde? </definitions> 23 24

Mensagens & Operações Bindings Cada operação (método) de um serviço web compõe-se de uma mensagem de entrada e outra de saída, onde são passados os parâmetros e valores de retorno Faz-se a associação (binding) do porttype Servico com o tipo de transporte RPC (SOAP) sobre HTTP Definem-se as regras de codificação das mensagens 25 26 Serviços & Portas Faz-se a associação do serviço web com a sua real localização (URL): 27