Post on 18-Apr-2015
Web ServicesDesmistificando o pré-conceito
Web Services, Desmistificando o Pré-Conceito
2
Problema:
Como interagir dois projetos desenvolvidos em tecnologias distintas, mas com regras relacionadas?
Web Services, Desmistificando o Pré-Conceito
3
Soluções propostas
Troca de arquivos;
Sistemas intermediários para troca de informações;
Relatórios diários com resumo de informações;
Web Services;
Web Services, Desmistificando o Pré-Conceito
4
Solução escolhida
Web Services!
Web Services, Desmistificando o Pré-Conceito
5
Por que usar Web Services?
Necessidade de Integraçãonão só de sistemas,mas negócios em geral;
Tendência do Software como Serviço;
Web Services, Desmistificando o Pré-Conceito
6
O que é Web Service?
É um serviço disponível na Internet, através de um Servidor Web;
Possui funções contendo suas regras de negócios, que podem ser acessadas através de aplicativos;
Web Services, Desmistificando o Pré-Conceito
7
O que é Web Service?
Possibilita a comunicação entre Sistemas; Tecnologia que torna possível realizar transações,
troca de dados entre empresas, que antes eram difíceis ou impossíveis;
Web Services, Desmistificando o Pré-Conceito
8
Características
São baseados em Padrões da Web; Os dados trafegam em formato XML, através do
protocolo SOAP; Não depende de plataforma, ou seja, sistemas
heterogêneos podem se comunicar facilmente; Pode retornar vários tipos de dados, como por
exemplo uma tabela do banco de dados;
Web Services, Desmistificando o Pré-Conceito
9
Como se comunicam?
Utilizam protocolo de comunicação;(história Árabe no Brasil)
Troca de mensagens cliente/servidor;
Web Services, Desmistificando o Pré-Conceito
10
XML
eXtensible Markup Language; Utiliza tags de marcação; Formato de troca de dados; Permite a troca de informações entre diferentes
sistemas;
Web Services, Desmistificando o Pré-Conceito
11
XML
Conjunto de regras que planeja e estrutura formatos de dados;
Tecnologia recente, tornou-se recomendação da W3C em 1998;
<?xml version=“1.0” encoding=“UTF-8”?><dados_envio>
<nome>meu nome</nome></dados_envio>
Web Services, Desmistificando o Pré-Conceito
12
O que é SOAP?
Simple Object Access Protocol; Define como as mensagens podem ser trocadas
entre dois sistemas; Protocolo projetado para invocar aplicações
remotas; Garante a interoperabilidade e intercomunicação; Pode ser veiculado pela porta 80, sem a
necessidade de abrir portas no firewall;
Web Services, Desmistificando o Pré-Conceito
13
Estrutura do SOAP
Envelope*: contém declarações de namespaces e atributos adicionais; (definição do estilo de codificação por exemplo)
Header: carrega informações adicionais; (processamento por um determinado nó intermediário)
Body*: contém a informaçãoa ser transportada para o seudestino final (também chamado de payload)
*elementos obrigatórios da estrutura
Web Services, Desmistificando o Pré-Conceito
14
Antes do Web Service
Disquete, Email, FTP ou Compartilhamento de Redes
Comunicação Aplicativo X Aplicativo– Banco de Dados– Arquivos (Texto, CSV, Planilhas)– Invocação de objetos remotos (CORBA, DCOM,
IIOP, ORB)
Web Services, Desmistificando o Pré-Conceito
15
Problemas antes do Web Service
Tecnologias dependentes de plataforma; Difícil integração (necessidade de bridge); Criava-se um pequeno protocolo de comunicação;
Necessidade de Transformação de Dados; Pouco segura, complexas, caras, baixa
produtividade e pouco robustas;
Web Services, Desmistificando o Pré-Conceito
16
Solução Integrada?
Deve ser independente de software e hardware; Prover Serviços através das barreiras existentes
entre diferentes companhias; Promover automação;
Web Services, Desmistificando o Pré-Conceito
17
Integração entre plataformas
Web ServicesIntegration
Plataforma Integrada Microsoft
AS400
OS390Linux
Unix
Web Services, Desmistificando o Pré-Conceito
18
Web Service
SOAPMessage
XML
SOAPMessage
XML
SOAPMessage
XML
SOAPMessage
XML
XMLWeb Service
SOAPResponse
SOAPRequest
Rede
HTTPMessage
HTML
HTTPMessage
HTML
HTTPRequest
GET- POST
Servidor WebCliente do Web ServiceWindows Application
Web Services, Desmistificando o Pré-Conceito
19
Web App + Web Service
Cliente doWeb
Service
Web App
HTTPMessage
HTML
HTTPMessage
HTML
SOAPMessage
XML
SOAPMessage
XML
SOAPMessage
XML
SOAPMessage
XML
XMLWeb Service
HTTPResponse
HTTPRequest
SOAPResponse
SOAPRequest
Rede Rede
HTTPMessage
HTML
HTTPMessage
HTML
HTTPRequest
GET- POST
HTTPMessage
HTML
HTTPMessage
HTML
ServidorWebBrowser
Web Services, Desmistificando o Pré-Conceito
20
WSDL
WSDL – Web Services Description Language; Documento XML que define as interfaces de seu
Web Service; Mostra os métodos e suas assinaturas;
Web Services, Desmistificando o Pré-Conceito
21
UDDI
Universal Description, Discovery and Integration; Incorpora XML e outros padrões; Localiza e estabelece relacionamentos com
serviços de comércio eletrônico; Arquitetura equivalente ao DNS;
Web Services, Desmistificando o Pré-Conceito
22
Simplificando
Permite o registro e descoberta de Web Services de forma dinâmica;
Web Services, Desmistificando o Pré-Conceito
23
Pesquisa de Web Services
Podem ser feitas por diferentes tipos, denominadas páginas, sendo:
Amarelas (área de negócio)Brancas (contatos das empresas)Verdes (interface do serviço)
Web Services, Desmistificando o Pré-Conceito
24
Funcionamento
Acha o Serviço
Conversando (SOAP)
Como conversar? (WSDL)
Pesquisa o Serviço
ClienteDo
WebService
UDDI
WebService
http://www.uddi.org
URL de um documento DISCO ou WSDL
http://yourservice.com
HTML ou XML com URL para WSDL
http://yourservice.com/?WSDL
Descrições do serviço em XML
http://yourservice.com/svc1
XML/SOAP
Web Services, Desmistificando o Pré-Conceito
25
Requisitos - Desenvolvimento
IDE de Desenvolvimento (ex. Visual Studio)IDE de Desenvolvimento (ex. Visual Studio)
ASP.NetASP.NetMáquina de
Desenvolvimento
Código
Servidor da
Aplicação
.NET Framework.NET Framework
AplicaçãoAplicação
ASP.NetASP.Net
IISIIS
.NET Framework.NET Framework
IIS – Servidor IDEIIS – Servidor IDE
Web Services, Desmistificando o Pré-Conceito
26
Requisitos - Produção
.NET Framework.NET Framework
AplicaçãoAplicação
Cliente
AplicaçãoAplicação
ASP.NetASP.Net
asmx SOAP (xml)
IISIIS
Servidor da
Aplicação
Web Services, Desmistificando o Pré-Conceito
27
Agradecimentos
Comissão organizadora da Jornada na Unesp; João Gilberto Felix Ribeiro; Rafael Xavier Felipe; Juliana Ferrarezi; Mayckel B.O. Camargo.