Computação Distribuída
2
Considerações:
Divisão da Aplicação em Máquinas Diferentes (Client x Server)1
Componentes são Acessados através de Protocolos (TCP, HTTP…)2
Benefícios: Performance, Manutenção, Reutilização3
OBS: Os Web Services são DLL’S que serão Acessadas pelo Protocolo HTTP
Tecnologias: .NET Remotting, WebServices, Microsoft MQ4
SOA (Service Oriented Architecture)
3
Considerações:
Funcionalidades devem ser Acessadas pelos Serviços1
Permite a Reutilização (FÁCIL) dos Serviços em outras Aplicações2
Desacoplamento das Regras de Negócio da Aplicação (UI)3
OBS: Os Web Services Trabalham com o Modelo SOA
Funcionalidades: Log, Xml, SQL Server, Arquivos4
Introdução Web Service
4
Considerações:
Tecnologia para Desenvolvimento de Aplicações Distribuídas1
É Mantido pelo W3C (World Wide Web Consortium)2
Utiliza Tecnologias Padrões (HTTP, SOAP (XML))3
Utiliza o Protocolo SOAP (Dados Trafegados no Formato XML)4
Pode ser Consumido por Qualquer Linguagem de Programação5
Considerações sobre Web Services
5
Considerações:
Incluídos na Plataforma .NET 1.01
Possuem a Extensão .ASMX2
Herdam da Classe Base System.Web.Services.WebService3
Podem ser Criados COM ou SEM o Visual Studio4
Possuem 3 Etapas: Criação, Disponibilização, Execução5
Aviso Importante
6
OBS: Na Plataforma .NET 4.0 (Não Existe o Template de Projeto Web Services)
Principais Cenários de Utilização
7
Considerações:
Integrar Sistemas X Linguagens (Windows, Web, Mobile)1
Integrar Plataformas (Java, .NET, MainFrame)2
Integrar Empresas (Brasil, EUA, Austrália) 3
Cenário Padrão de um Web Service
8
ServiçoAplicação
Principal Finalidade é Disponibilizar Métodos que serão Acessados Remotamente
Cenário de Vários Web Services
9
ServiçoPagSeguro Serviço
Correios
Internet
Aplicação
Cenário de Integração de Empresas
10
Empresa B
Serviço
Internet
Empresa C
Serviço
Aplicação
Cenário de Integração de Sistemas
11
Empresa
Financeiro
Jurídico
Vendas
Serviço
RH
IntranetServiçoServiço
Serviço
Demonstração
12
Criando um Projeto de Web Services (.NET 3.5)1
Visualizando o Web Service (Service (ASMX e CS))2
Visualizando o Atributo (WebService) -> Propriedade (Namespace)3
Visualizando o Atributo (WebServiceBinding) - > Propriedade (ConformsTo) 4
Visualizando o Atributo (ScriptService)5
Visualizando a Herança da Classe Base WebService6
Executando o Web Services (Service.asmx)7
Demonstração
13
Conhecendo a Página Padrão dos Web Services8
Alterando a Namespace (Tempuri.org)9
Visualizando os Parâmetros (?Disco e ?Wsdl)10
Conhecendo o Site www.xmethods.com11
InfraEstrutura dos Web Services
14
Serviço de Descoberta
Descrição do Serviço
Protocolo de Transporte
Serviço de Descoberta
15
Considerações:
Processo de Localização de um Web Service (Intranet, Internet)1
Arquivo .disco contém a Localização do Web Service no Servidor2
Servidores UDDI contém Diversos Web Services3
Descrição do Serviço
16
Considerações:
WSDL, Linguagem Baseada em XML1
Descreve o Web Service (Métodos, Parâmetros, Tipos de Dados)2
WSDL Permite que o Cliente Conheça os Membros do Web Service3
Protocolo de Transporte
17
Considerações:
A Mensagem SOAP é Enviada pelo Protocolo HTTP1
As Informações do Serviço ficam Dentro do Proxy2
Demonstração (Entity Framework)
18
Criando a Base (CURSO) e Tabelas (TB_LINGUAGEM, TB_DESENVOLVEDOR)1
Criando a Estrutura de Pastas do Projeto (Servicos)2
Criando o Entity Framework (Modelagem.edmx)3
Criando o Web Service (Servicos\wsTB_LINGUAGEM.asmx)4
Criando os Métodos (Listar, Inserir, Alterar, Excluir)5
Visualizando os Métodos (Ordenados ASC) no Web Service6
Visualizando os Parâmetros (?Disco e ?Wsdl)7
Demonstração (Entity Framework)
19
Executando os Métodos (Listar, Inserir, Excluir, Alterar)8
Ferramentas/Opções da Internet/Avançadas/Show Friendly HTTP Error Messages9
Demonstração (Consumindo WS)
20
Consumindo os Serviços (Service, wsTB_LINGUAGEM)1
Visualizando os Arquivos (Disco e Wsdl) do Proxy2
Visualizando o Caminho dos Serviços no Web.Config3
Criando a Estrutura de Pastas/Páginas do Projeto4
Atualizando o Proxy5
Executando a aplicação Cliente com o Serviço OFF-LINE6
Considerações sobre Métodos
21
Considerações:
O Atributo [WebMethod] Controla a Visibilidade do Método1
O Parâmetro [Description] Descreve a Funcionalidade do Método2
O Parâmetro [MessageName] Permite a Sobrecarga de Métodos3
Demonstração
22
Executando o Serviço (Service.asmx) COM/SEM o Atributo WebMethod1
Colocando Descrições no Serviço (Service.asmx) com o Parâmetro Description2
Conhecendo o parâmetro MessageName3