O documento discute computação distribuída, arquitetura orientada a serviços (SOA) e web services. Aborda conceitos como divisão de aplicações, protocolos de comunicação, reutilização de funcionalidades e desacoplamento de regras de negócio.
Computação Distribuída Considerações: 1 Divisão da Aplicação em Máquinas Diferentes (Client x Server) 2 Componentes são Acessados através de Protocolos (TCP, HTTP…) 3 Benefícios: Performance, Manutenção, Reutilização 4 Tecnologias: .NET Remotting, WebServices, Microsoft MQ OBS: Os Web Services são DLL’S que serão Acessadas pelo Protocolo HTTP 2
3.
SOA (Service OrientedArchitecture) Considerações: 1 Funcionalidades devem ser Acessadas pelos Serviços 2 Permite a Reutilização (FÁCIL) dos Serviços em outras Aplicações 3 Desacoplamento das Regras de Negócio da Aplicação (UI) 4 Funcionalidades: Log, Xml, SQL Server, Arquivos OBS: Os Web Services Trabalham com o Modelo SOA 3
4.
Introdução Web Service Considerações: 1 Tecnologia para Desenvolvimento de Aplicações Distribuídas 2 É Mantido pelo W3C (World Wide Web Consortium) 3 Utiliza Tecnologias Padrões (HTTP, SOAP (XML)) 4 Utiliza o Protocolo SOAP (Dados Trafegados no Formato XML) 5 Pode ser Consumido por Qualquer Linguagem de Programação 4
5.
Considerações sobre WebServices Considerações: 1 Incluídos na Plataforma .NET 1.0 2 Possuem a Extensão .ASMX 3 Herdam da Classe Base System.Web.Services.WebService 4 Podem ser Criados COM ou SEM o Visual Studio 5 Possuem 3 Etapas: Criação, Disponibilização, Execução 5
Cenário Padrão deum Web Service Aplicação Serviço Principal Finalidade é Disponibilizar Métodos que serão Acessados Remotamente 8
9.
Cenário de VáriosWeb Services Serviço PagSeguro Serviço Correios Internet Aplicação 9
10.
Cenário de Integraçãode Empresas Empresa B Serviço Internet Aplicação Empresa C Serviço 10
11.
Cenário de Integraçãode Sistemas Empresa Financeiro Vendas Serviço Serviço RH Jurídico Serviço Serviço Intranet 11
12.
Demonstração 1 Criando um Projeto de Web Services (.NET 3.5) 2 Visualizando o Web Service (Service (ASMX e CS)) 3 Visualizando o Atributo (WebService) -> Propriedade (Namespace) 4 Visualizando o Atributo (WebServiceBinding) - > Propriedade (ConformsTo) 5 Visualizando o Atributo (ScriptService) 6 Visualizando a Herança da Classe Base WebService 7 Executando o Web Services (Service.asmx) 12
13.
Demonstração 8 Conhecendo a Página Padrão dos Web Services 9 Alterando a Namespace (Tempuri.org) 10 Visualizando os Parâmetros (?Disco e ?Wsdl) 11 Conhecendo o Site www.xmethods.com 13
14.
InfraEstrutura dos WebServices Serviço de Descoberta Descrição do Serviço Protocolo de Transporte 14
15.
Serviço de Descoberta Considerações: 1 Processo de Localização de um Web Service (Intranet, Internet) 2 Arquivo .disco contém a Localização do Web Service no Servidor 3 Servidores UDDI contém Diversos Web Services 15
16.
Descrição do Serviço Considerações: 1 WSDL, Linguagem Baseada em XML 2 Descreve o Web Service (Métodos, Parâmetros, Tipos de Dados) 3 WSDL Permite que o Cliente Conheça os Membros do Web Service 16
17.
Protocolo de Transporte Considerações: 1 A Mensagem SOAP é Enviada pelo Protocolo HTTP 2 As Informações do Serviço ficam Dentro do Proxy 17
18.
Demonstração (Entity Framework) 1 Criando a Base (CURSO) e Tabelas (TB_LINGUAGEM, TB_DESENVOLVEDOR) 2 Criando a Estrutura de Pastas do Projeto (Servicos) 3 Criando o Entity Framework (Modelagem.edmx) 4 Criando o Web Service (ServicoswsTB_LINGUAGEM.asmx) 5 Criando os Métodos (Listar, Inserir, Alterar, Excluir) 6 Visualizando os Métodos (Ordenados ASC) no Web Service 7 Visualizando os Parâmetros (?Disco e ?Wsdl) 18
19.
Demonstração (Entity Framework) 8 Executando os Métodos (Listar, Inserir, Excluir, Alterar) 9 Ferramentas/Opções da Internet/Avançadas/Show Friendly HTTP Error Messages 19
20.
Demonstração (Consumindo WS) 1 Consumindo os Serviços (Service, wsTB_LINGUAGEM) 2 Visualizando os Arquivos (Disco e Wsdl) do Proxy 3 Visualizando o Caminho dos Serviços no Web.Config 4 Criando a Estrutura de Pastas/Páginas do Projeto 5 Atualizando o Proxy 6 Executando a aplicação Cliente com o Serviço OFF-LINE 20
21.
Considerações sobre Métodos Considerações: 1 O Atributo [WebMethod] Controla a Visibilidade do Método 2 O Parâmetro [Description] Descreve a Funcionalidade do Método 3 O Parâmetro [MessageName] Permite a Sobrecarga de Métodos 21
22.
Demonstração 1 Executando o Serviço (Service.asmx) COM/SEM o Atributo WebMethod 2 Colocando Descrições no Serviço (Service.asmx) com o Parâmetro Description 3 Conhecendo o parâmetro MessageName 22