Class calculadora : Inherits WebService

Propaganda
www.vertisnet.com.br
*
Mauricio Di Bonifacio
.Net e WebServices
A Nova Geração de Aplicações Web
José Maurício Di Bonifácio Jr.
Diretor de Tecnologia
[email protected]
Vertis Tecnologia
www.vertisnet.com.br
www.vertisnet.com.br
Conteúdo
Visão geral da Palestra
Web Services do ponto
de vista de:

Tecnologia

Negócios

Aplicabilidade
*
Mauricio Di Bonifacio
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Situações Reais

Correios: cálculo de frete e base de
CEPs


Fedex: cálculo de frete, tracking e
restrições alfandegárias



Implementar lógica e dados no site
Disponibiliza componentes
Implementa lógica no site
Bradesco: geração de boleto e
pagamentos on-line

Disponibiliza componentes
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Dificuldades Encontradas
Lado Cliente
 Implementar e manter lógica de
terceiros
 Importar e atualizar bases de dados
 Implantar e atualizar componentes
externos
 Gerenciar versões, bugs e
incompatibilidades dos componentes
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Dificuldades Encontradas
Lado Servidor
 Divulgar e dar suporte a lógica de
negócios e bancos de dados para os
clientes
 Geração de componentes para várias
plataformas
 Controle de versão e atualização dos
componentes instalados
 Manter múltiplas versões do serviço em
fases de migração
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Visão Tecnológica
Web Services é uma tecnologia de
chamada remota de objetos
 Permite a infra-estrutura para criação de
aplicações distribuídas (web ou não)
 Permitem a criação de pequenos módulos
de código reutilizáveis e disponibilizados
para construção de aplicações “LEGO”
 Utiliza protocolos Web como meio de
transporte e comunicação
 Alto grau de abstração em relação a
linguagens de programação e plataformas
de hardware / software

www.vertisnet.com.br
*
Mauricio Di Bonifacio
Padronização
NÃO é uma tecnologia Microsoft!
 Composto por linguagens e protocolos
abertos e largamente adotados pelo
mercado:







HTTP
XML
SOAP
WSDL
UDDI
O .Net tem suporte nativo a todos estes
protocolos e linguagens
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Evolução
 RSH

Executar comandos de shell em
máquinas remotas
 RPC

(Remote Procedure Call)
Executar funções em máquinas
remotas
 RMI

(Remote Shell)
(Remote Method Invocation)
API Java para acesso remoto de
métodos
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Evolução

COM+ / DCOM (Distributed COM)



CORBA (Common Object Request Broker
Architecture)




Padrão para distribuir componentes COM
Padrão Microsoft
Baseada em ORBs
Acesso transparente
Padrão aberto de mercado (OMG)
IIOP (Internet Inter-ORB Protocol)

Permite ao CORBA passar por gateways e ter
interoperabilidade entre fabricantes
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Deficiências do Mercado

Muitos padrões!
“a vantagem de se ter muitos padrões é que
você pode escolher qual usar”





Diferenças entre linguagens
 IDL?!?
Compra de produtos (CORBA)
Interoperabilidade entre plataformas
Problemas com firewalls que barram portas
TCP/IP
Dificuldade em descobrir e distribuir objetos
para terceiros
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Web Services - Soluções

Utiliza HTTP para transporte de dados




Chamadas SOAP são chamadas HTTP GET ou
POST
Utiliza porta 80, permitida pelos firewalls
Padrão entre plataformas
Mensagens SOAP são formatadas em XML
(texto puro)


Não gera problemas de incompatibilidade
binária
Padrão entre linguagens
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Criando Web Services
Armazenados em um arquivo .asmx com a
diretiva Web Service
<%@ WebService Language="VB"
Class="Calculadora " %>
 Classe é derivada da classe
System.Web.Services.WebService
Class calculadora : Inherits WebService
 Métodos declarados com a diretiva
WebMethod
<WebMethod ()> Public Function Soma (n1
As Integer, n2 As Integer) As Integer

www.vertisnet.com.br
*
Mauricio Di Bonifacio
Consumindo Web Services
É possível testar um webservice com um
browser
 Para acessar um WebService, uma
aplicação precisa de uma classe proxy, que
irá esconder os detalhes de comunicação e
fazer parecer uma chamada local de
método
 O proxy é criado a partir do WSDL (Web
Service Description Language)



No .Net é utilizado o utilitário wsdl.exe
Após ser compilado, o proxy é utilizado
como um componente normal
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Chamada SOAP
www.vertisnet.com.br
*
Mauricio Di Bonifacio
SOAP em Outras Plataformas
 Atualmente
Java tem APIs para
SOAP
 Para aplicações Windows não .Net, a
Microsoft disponibiliza o MS SOAP
Toolkit 2.0 para download,
permitindo aplicações ASP ou VB6
acessarem Web Services
 Também é possível encapsular um
componente COM dentro de um Web
Service
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Encontrando Web Services
 UDDI
(Universal Description,
Discovery and Integration)
 Permite publicar detalhes de Web
Services que são coletados e
publicados em servidores centrais
 “Páginas amarelas” de Web Services
 http://uddi.microsoft.com
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Arquitetura 3-Tier
Lógica de
Lógica de
Acesso a
Apresentação
Negócios
Dados
www.vertisnet.com.br
*
Mauricio Di Bonifacio
3-Tier (.Net)
Lógica de
Apresentação
C
O
M
Lógica de
Negócios
A
D
O
.
N
E
T
Acesso a
Dados
HTML
COM+
RDBMS
ASP .Net
WebServices
Mainframe
XML
S
O
A
P
FileSystem
Email
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Visão de Negócios
 Permite
exportar, compartilhar,
distribuir, integrar, vender, alugar:
Lógica de negócios
 Transações
 Serviços
 Consultas
 Conteúdo
 ...

www.vertisnet.com.br
*
Mauricio Di Bonifacio
Modelos de Negócio I

Situações onde disponibilizar sua lógica de
negócio gratuitamente implica em:



Vantagem competitiva em relação a
concorrestes
Diminuição de custos de operação, integração e
manutenção
Exemplos:


Courrier: cálculo de frete, tracking, pedido online e restrições alfandegárias
Bancos: pagamentos on-line, geração de
boletos e tracking
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Modelos de Negócio II

Situações em que é necessária a integração
com parceiros e clientes:





Diminuição dos custos da operação
Redução no tempo da operação
Possibilidade de integração com plataformas
heterogêneas
Agilidade nas transações
Exemplo:




E-Procurement
B2B
Sistemas de franquias
Supply Chain
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Modelos de Negócio III

Situações em que é possível cobrar pela
utilização de um Web Service:




Venda de conteúdo jornalístico
Venda de indicadores de mercado
Venda de informações coletadas em tempo
real
Exemplos:



Agência Estado: conteúdo
Site Dinheiro Vivo: indicadores de mercado
Bovespa: status em tempo real da bolsa
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Segurança em Web Services
O
protocolo SOAP não faz
referência a questões sobre
segurança:
 Confidencialidade
dos dados
(conexão)
 Autenticação de usuários
 Autorização de acesso
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Adicionando Segurança
A segurança deverá ser prevista em
protocolos e servidores:
 Pode ser utilizado SSL para a
comunicação. Ao invés de HTTP,
HTTPS. Permite:
Confidencialidade da conexão
 Confirmação das pontas através de
certificados (Verisign)
 Garantia de não violação dos dados
trafegados

www.vertisnet.com.br
*
Mauricio Di Bonifacio
Adicionando Segurança
Firewalls, VPNs, IIS, NTFS, ACLs,
produtos de single sign-in, etc podem
oferecer:
 Autenticação de usuário

A chamada SOAP/HTTP pode levar
consigo informações de login/senha
 Autorização

de acesso
De acordo com o login fornecido ou
origem da requisição, determinados
recursos podem ser liberados ou negados
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Usabilidade de Web Services
A
utilização de Web Services implica
em overheads de:
Transformações XML
 Mensagens SOAP
 Comunicação via HTTP

 Para
sistemas locais, chamadas
COM/DCOM ou CORBA são muito
mais eficientes
www.vertisnet.com.br
*
Mauricio Di Bonifacio
Quando Utilizar
É
válido utilizar WebServices para:
Integrar sistemas heterogêneos
dentro da empresa
 Integrar sistemas remotos através da
Internet
 Integrar diferentes plataformas de
hardware / software / SO
 Fornecer serviços a terceiros

www.vertisnet.com.br
*
Mauricio Di Bonifacio
Obrigado/Dúvidas
?
José Maurício Di Bonifácio Jr.
Diretor de Tecnologia
[email protected]
Vertis Tecnologia
www.vertisnet.com.br
Download