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



Documentos relacionados
UFG - Instituto de Informática

Introdução a Web Services

Sistemas Distribuídos

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

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

Web Services. Autor: Rômulo Rosa Furtado

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

Kassius Vargas Prestes

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

Serviços Web: Arquitetura

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica

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

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

UNIVERSIDADE. Sistemas Distribuídos

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

Camada de Aplicação. Prof. Eduardo

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

Programação Cliente em Sistemas Web

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.

Departamento de Informática

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

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

Web Services. (Introdução)

Unified Modeling Language. Diagramas de Implementação

Serviços Web: Introdução

Java NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio,

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

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

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

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

ARQUITETURAS DOS SISTEMAS DE EMPRESARIAIS (ERP) Arquitetura cliente-servidor Arquitetura aberta

CA Nimsoft Service Desk. Guia de serviços web

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

Service Oriented Architecture SOA

REDES DE COMPUTADORES

MINISTÉRIO DA EDUCAÇÃO

Projuris Enterprise Visão Geral da Arquitetura do Sistema

Diagrama de Estrutura Composta

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia

dados abertos cartilha para desenvolvedores

ITBI ONLINE MANUAL DE INTEGRAÇÃO

11/20/10. Resoluções: Teste de Áudio. Não suporto esses malucos de TI. Só inventam despesas. Não acredito que teremos que pagar por mais softwares.

Aplicação de Estatísticas de Ensino Superior

ANEXO V Edital nº 03508/2008

O Gerenciamento de Documentos Analógico/Digital

Cálculo Remoto de Preços e Prazos de Encomendas

HTML Página 1. Índice

Requisitos de Sistemas

SOA na Prática Ricardo Limonta

Microsoft.NET. Desenvolvimento Baseado em Componentes

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

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

Departamento de Informática

Tecnologia WEB II. Prof. Erwin Alexander Uhlmann. Introdução ao PHP. UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012.

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

Arquiteturas de Sistemas Distribuídos

Web Design Aula 01: Conceitos Básicos

Criando Web Services. Palestrante: Daniel Destro do Carmo

UltraCard Manual de integração via WebService Página 1/13. UltraCard. Manual de integração via WebService. Versão 2.5

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Pessoa Física NFE (RFB) Versão: 1.0. Autor: Angelo Bestetti Junior

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

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

Humano-Computador (IHC)

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

Sistema de Controle de Posicionamento de Estações Móveis via Internet e GPS

Arquiteturas SOA, WOA, e REST

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

Calculador de preços e prazos de encomendas

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.

JavaServer Faces. Parte 2

LED BACKUP. Para realizar Backups e Transmitir arquivos para Ledware, basta acessar o Menu Gerenciamento, Efetuar / Recuperar Backup:

Integração de Sistemas de Informação Universitários via Web Services

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

3 Serviços na Web (Web services)

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011


Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Estrutura Básica do Documento HTML

ESTUDO DE CASO: LeCS: Ensino a Distância

PSIU Protocolo Simples de Intercomunicação Unificado

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

Gerenciamento do ciclo de vida de um documento Simone de Abreu

Linguagem de Estruturação e Apresentação de Conteúdos

Aula 1 Cleverton Hentz

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

AtoM Access to Memory

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

Comunicando através da rede

Software e Serviços MANUAL DE HOMOLOGAÇÃO WEB SERVICE X SISTEMA DE AUTOMAÇÃO COMERCIAL

QUESTÕES PROVA 2 (28 a 44)

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

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

Backsite Serviços On-line

Transcrição:

Webservices O que é um web service? Solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes Permite que um código rodando em uma máquina (cliente) interaja com um código rodando em outra (servidor) Permite que sistemas desenvolvidos em plataformas diferentes sejam compatíveis Características O transporte de mensagens é através do protocolo HTTP Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, um formato intermediário como XML, Json, CSV, etc Web Service faz com que os recursos da aplicação do software estejam disponíveis sobre a rede de uma forma normalizada Outras tecnologias fazem a mesma coisa, como por exemplo, os browsers da Internet acessam às páginas Web disponíveis usando por norma as tecnologias da Internet, HTTP e HTML. No entanto, estas tecnologias não são bem sucedidas na comunicação e integração de aplicações. Por que web services? Frequentemente, é mais fácil integrar do que re construir Permite combinar o melhor de cada ferramenta Segurança: publica serviços de forma simples e totalmente isolados da base de dados Muitos consideram que os Web services corrigem um grande problema da informática: a integração de sistemas. Os Web services permitem que a integração de sistemas seja realizada de maneira compreensível, reutilizável e padronizada. É uma tentativa de organizar um cenário cercado por uma grande variedade de diferentes aplicativos, fornecedores e plataformas. Muitas empresas temiam, no passado, prover funcionalidades na Internet devido ao medo de expor seus dados. Mas com advento dos Web services elas podem publicar serviços de forma simples e que são totalmente isolados da base de dados Tipos de web services

estilo RPC: Arquitetura orientada ao serviço Foco na ação sendo realizada estilo REST: Arquitura orientada ao recurso Foco no objeto que está sendo manipulado XML-RPC Passa as mensagens em um formato simples baseado em XML. Exemplo de requisição: <?xmlversion="1.0"?> <methodcall> <methodname> examples.getstatename </methodname> <params> <param> <value><i4> 40 </i4></value> </param> </params> </methodcall> Exemplo de resposta: <?xmlversion="1.0"?> <methodresponse> <params> <param> <value><string> SouthDakota </string></value> </param> </params> </methodresponse> Biblioteca Python: xmlrpclib XML-RPC (Exemplo 1) Vamos fazer uma query no PyPI >>>importxmlrpclib >>>frompprintimportpprint >>>client=xmlrpclib.serverproxy('http://pypi.python.org/pypi') >>>client.release_urls('plone','4.0.1') >>>pprint(client.release_urls('plone','4.0.1')) [{'comment_text':'', 'downloads': 177, 'filename':'plone-4.0.1.zip', 'has_sig': False, 'md5_digest':'be72596d49295b7207f0a861ee3530ed',

'packagetype':'sdist', 'python_version':'source', 'size': 1507065, 'upload_time': <DateTime'20101004T02:30:01' at10071a248>, 'url':'http://pypi.python.org/packages/source/p/plone/plone-4.0.1.zip'}] XML-RPC (Exemplo 2) O pacote wsapi4plone.core é um exemplo de uso do XML RPC. Esse pacote provê uma interface XML RPC para se interagir com um site Plone. Vamos falar mais sobre ele adiante SOAP "web services grandes": descritos por vários padrões WS * W3C Assim como XML RPC, transmite mensagens em XML porém, mais complicadas (podem descrever tipos complexos) WSDL (web service description language) descreve a interface em XML (para leitura por máquinas) Bibliotecas Python: soaplib suds SOAP (Exemplo de requisição) <?xmlversion="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:ns0= "http://cicero.azavea.com/" xmlns:ns1= "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi= "http://www.w3.org/2001/xmlschema-instance" xmlns:soap-env= "http://schemas.xmlsoap.org/soap/envelope/" > <SOAP-ENV:Header/> <ns1:body> <ns0:getofficialsbyaddress> <ns0:authtoken> FOO </ns0:authtoken> <ns0:address> 14023rdAve </ns0:address> <ns0:city> Seattle </ns0:city> <ns0:state> WA </ns0:state> <ns0:postalcode> 98101 </ns0:postalcode> <ns0:country> US </ns0:country> <ns0:districttype> NATIONAL_UPPER </ns0:districttype> <ns0:includeatlarge> false </ns0:includeatlarge> </ns0:getofficialsbyaddress> </ns1:body> </SOAP-ENV:Envelope>

SOAP (Exemplo de resposta) <?xmlversion="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap= "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi= "http://www.w3.org/2001/xmlschema-instance" xmlns:xsd= "http://www.w3.org/2001/xmlschema" > <soap:body> <GetOfficialsByAddressResponse xmlns= "http://cicero.azavea.com/" > <GetOfficialsByAddressResult> <ElectedOfficialInfo> <ElectedOfficialID> 326f9123-4196-49ff-a9ab-cca8194a12a8 </ElectedOfficialID> <AssemblyName /> (snip) <FirstName> Maria </FirstName> <MiddleInitial> E. </MiddleInitial> <LastName> Cantwell </LastName> (snip) <LastUpdateDate> 2009-03-26T00:00:00 </LastUpdateDate> </ElectedOfficialInfo> </GetOfficialsByAddressResult> </GetOfficialsByAddressResponse> </soap:body> </soap:envelope> SOAP (Exemplo usando a biblioteca suds) Vamos usar o Azavea, que provê um serviço para informações geográficas sobre candidatos eleitos nos EUA. Instalar suds: sudopipinstallsuds Exemplo: >>>fromsuds.clientimportclient >>>url_service=' http://www.webservicex.net/globalweather.asmx?wsdl ' >>>client=client(url_service) >>>cidades=client.service.getcitiesbycountry(countryname="france") >>>tempo_em_belo_horizonte=client.service.getweather(countryname="brazil", CityName="BeloHorizonte") REST Orientado a recursos Encoraja o uso direto de funcionalidades do HTTP (métodos de requisição, passagem de parâmetros, caching, etc)

A representação das respostas pode varia, XML e JSON são comuns. Bibliotecas em Python: urllib/urlib2 para transferência ElementTree, lxml, etc para processar XML json para processar JSON REST (Exemplo) O OpenWeatherMap provê acesso à informações do clima de mais de 200.000 cidades do mundo. Podemos fazer uma requisição nesse serviço usando urllib: >>>fromurllibimporturlopen >>>url='http://api.openweathermap.org/data/2.5/weather?q=belohorizonte' >>>res=urlopen(url).read() >>>res >>>res_dic=eval(res) >>>res_dic