A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tecnologia para Web WebServices

Apresentações semelhantes


Apresentação em tema: "Tecnologia para Web WebServices"— Transcrição da apresentação:

1 Tecnologia para Web WebServices
Enrique Pimentel Leite de Oliveira

2 Web Services Introdução SOAP WSDL e UDDI Serialização Atributos
4/2/2017 6:58 AM Web Services Introdução SOAP WSDL e UDDI Serialização Atributos WebService WebMethods Ciclo de vida dos Web Services © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3 Web Services Construindo Web Service Integração com ADO.NET
Exercício Prático

4 Web Services Introdução SOAP WSDL e UDDI Serialização Atributos
4/2/2017 6:58 AM Web Services Introdução SOAP WSDL e UDDI Serialização Atributos WebService WebMethods Ciclo de vida dos Web Services © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

5 4/2/2017 6:58 AM Introdução Definição Considerados um evolução no projeto e implementação de sistemas distribuídos, os Web Services são aplicações capazes de fornecerem dados e serviços através da Web; Tecnologia de chamada remota de objetos, que permite a infra-estrutura para criação de aplicações distribuídas (Web ou não); Baseado em protocolos e padrões aberto e largamente utilizados pelo mercado; © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6 Introdução Podem ser utilizados em ambientes com firewalls;
Tecnologia de padrão aberto (definida pelo W3C), utilizada por empresas como a SUN, Microsoft, IBM, HP etc Alto grau de abstração em relação a linguagens de programação e plataformas de hardware / software Permitem a criação de pequenos módulos de código reutilizáveis e disponibilizados para construção de aplicações © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

7 Introdução O que é WS-I? É o consórcio que garante a interoperabilidade entre os Webservices ( ) para garantir sempre que Web services em diferentes plataforma possam comunicar-se entre si.

8 Web Services Introdução SOAP WSDL e UDDI Serialização Atributos
4/2/2017 6:58 AM Web Services Introdução SOAP WSDL e UDDI Serialização Atributos WebService WebMethods Ciclo de vida dos Web Services © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

9 4/2/2017 6:58 AM SOAP O protocolo SOAP (Simple Object Access Protocol) é um protocolo simples e leve para troca de informação em um ambiente distribuído e descentralizado, como é o ambiente Web; Protocolo de padrão aberto adotados por grande empresas; © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

10 SOAP Principais características Definido pelo consórcio W3C
Baseado em XML para intercambio de informações Padrão utilizado para acessar Web Services Utiliza HTTP como protocolo de transporte Interoperabilidade entre sistemas utilizando linguagens e protocolos padronizados largamente difundidos como XML e HTTP

11 SOAP Principais características
Permite a comunicação entre sistemas protegidos por firewalls, sem precisar abrir portas adicionais e possivelmente não seguras. Utiliza (na maioria dos servidores) a porta 80; SOAP descreve completamente cada elemento na mensagem, facilitando o entendimento e a proteção contra erros.

12 Elementos da mensagem SOAP
Descrição Envelope É o elemento principal do XML que representa a mensagem. Cabeçalho É um mecanismo genérico de adição de características à mensagem SOAP em maneira descentralizada sem acordo anterior entre as partes comunicantes Corpo Contém a codificação atual de uma chamada a um método e todos os argumentos de entrada ou uma resposta codificada que contém o resultado de uma chamada a um método.

13 SOAP Exemplo de comunicação entre um cliente e um Web Service
Internet Requisição Resposta

14 SOAP Exemplo de requisição SOAP
POST /MyWebService/Service.asmx HTTP/1.1 Host: Content-Type: text/xml; charset=utf-8 Content-Length: 19 SOAPAction: “http://tempuri.org/HelloWorld” <?xml version=”1.0” encoding=”utf-8”?> <soap:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”> <soap:Body> <HelloWorld xmlns=”http://tempuri.org/” /> </soap:Body> </soap:Envelope>

15 SOAP Exemplo de resposta SOAP HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8 Content-Length: 14 <?xml version=”1.0” encoding=”utf-8”?> <soap:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”> <soap:Body> <HelloWorldResponse xmlns=”http://tempuri.org/”> <HelloWorldResult>Hello World</HelloWorldResult> </HelloWorldResponse> </soap:Body> </soap:Envelope>

16 Web Services Introdução SOAP WSDL e UDDI Serialização Atributos
4/2/2017 6:58 AM Web Services Introdução SOAP WSDL e UDDI Serialização Atributos WebService WebMethods Ciclo de vida dos Web Services © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

17 WSDL e UDDI Web Service Description Language (WSDL) é um documento XML que descreve os métodos que podem ser utilizados para acessar o Web Service (contrato); Universal Definition, Discovery Interface (UDDI) é considerado as páginas amarelas dos Web Services

18 WSDL e UDDI Processo de comunicação completo entre um cliente e um Web Service: Diretório UDDI DISCO SOAP Descoberta Comunicação Locate a Service Link para o documento de descoberta (discovery) Requisição do documento de Descoberta Resposta do Documento de Descoberta (XML) Resposta do Método (XML) Requisição do Método Cliente Web Service Web Service WSDL Descrição Resposta do serviço de Descrição (XML) Requisição do serviço de Descrição

19 Web Services Introdução SOAP WSDL e UDDI Serialização Atributos
4/2/2017 6:58 AM Web Services Introdução SOAP WSDL e UDDI Serialização Atributos WebService WebMethods Ciclo de vida dos Web Services © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

20 Serialização Serialização é o nome dado para o armazenamento e recuperação de um objeto, seja em um arquivo, memória ou qualquer outro lugar. Quando serializados, todos os dados da instância persistem no meio de armazenagem e, quando desserializados, o objeto é montado novamente de forma idêntica a sua instância original.

21 Serialização Uma das formas de serializar objetos e .Net é através das classes do Namespace System.Runtime.Serialization, as quais permitem trabalhar com serialização em dois formatos: Binário e XML/SOAP Para isso utiliza-se o atributo Serializable nas classes indicando que todo conteúdo da de um objeto instanciado poderá ser serializado Caso seja necessário evitar que um atributo da classe seja serializado, deve-se utilizar o atributo NonSerializable

22 Serialização Exemplo de serialização de um objeto:
[Serializable()]public class Pedido    {       private int _id;       private DateTime _data;       [NonSerialized]private string _obs;       private Cliente _cliente;            public Pedido(int id, DateTime data, string obs, Cliente cli)       {           _id = id; _data = data; _obs = obs; _cliente = cli;       }       public int id {     get{return _id;}     }       public DateTime data {     get{return _data;}     }      public string obs {   get{return _obs;}     }       public Cliente cliente {   get{return _cliente;}     }    }

23 Serialização Classe que será serializada junto com a Pedido, por ser um atributo da mesma. [Serializable()]public class Cliente     {       private int _id;       private string _nome;       [NonSerialized]private double _limiteCredito;      public Cliente(int id, string nome, double limite)       {         _id = id;         _nome = nome;         _limiteCredito = limite;       }       public double limiteCredito { get{return _limiteCredito;} }     }

24 Serialização Código utilizado para serializar o objeto
using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Soap; using System.IO; ... IFormatter formato = new SoapFormatter(); Stream file = new FileStream("Pedido.xml", FileMode.Create,FileAccess.Write, FileShare.None); Pedido ped = new Pedido(10, DateTime.Now, “Falta de produtos na entrega",  new Cliente(10, "Linha de Código", 15)); //agora sim, vamos serializar o objeto formato.Serialize(file, ped); //Stream fechado file.Close();

25 Serialização O Processo de Desserialização é exatamente o inverso da serialização: // Definindo o formato e criando uma instância da classe SoapFormatter IFormatter formato = new SoapFormatter();         //Definindo o Stream de onde será lido o arquivo .xml Stream file = new FileStream("Pedido.xml", FileMode.Open ,FileAccess.Read , FileShare.Read ); //criando uma variável do tipo Pedido (vazia) Pedido ped; //Desserializando o objeto ped = (Pedido)formato.Deserialize(file); //Stream fechado file.Close();

26 Web Services Introdução SOAP WSDL e UDDI Serialização Atributos
4/2/2017 6:58 AM Web Services Introdução SOAP WSDL e UDDI Serialização Atributos WebService WebMethods Ciclo de vida dos Web Services © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

27 Atributos Atributos Um atributo é uma informação declarativa associada a um elemento da linguagem de programação. Isto significa que um atributo é composto essencialmente de dados, não de código. O atributo pode ser associado aos seguintes elementos: Assembly (.exe ou .dll); Campo; Evento; Método; Parâmetros; Propriedades; Valor de returno; Tipo.

28 Atributos Os atributos são colocados antes do elemento a que se referem. Em C# eles aparecem entre colchetes, como por exemplo no atributo WebMethod usado para indicar que um determinado método pode ser chamado via HTTP: [WebMethod] public string HelloWorld() { return “Hello World”; }

29 Web Services Introdução SOAP WSDL e UDDI Serialização Atributos
4/2/2017 6:58 AM Web Services Introdução SOAP WSDL e UDDI Serialização Atributos WebService WebMethods Ciclo de vida dos Web Services © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

30 [WebService (Namespace = “http://tempuri.org”)]
Todos os Web Services são encapsulados dentro de uma classe, que é definida como Web Service pela adição do atributo WebService antes da declaração da classe [WebService (Namespace = “http://tempuri.org”)]

31 WebService O atributo WebService pode conter as seguinte propriedades:
Nome Descrição Description Mensagem descritiva do Web Service Name Retorna ou atribui o nome do Web service Namespace Retorna ou atribui o XML Namespace padrão utilizado pelo Web Service. O Padrão é: TypeId Quando implementado em uma classe derivada, retorna o identificador único para esse atributo (herdado de Attribute.)

32 Web Services Introdução SOAP WSDL e UDDI Serialização Atributos
4/2/2017 6:58 AM Web Services Introdução SOAP WSDL e UDDI Serialização Atributos WebService WebMethods Ciclo de vida dos Web Services © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

33 WebMethod Um Web Service é um conjunto de métodos (WebMethods) logicamente associados invocados remotamente através de mensagens SOAP A diferença entre um WebMethod e um método comum é a presença de um atributo WebMethod, uma espécie de diretiva de compilação que determina que o método será acessível remotamente

34 WebMethod O atributo WebMethod pode conter as seguinte propriedades:
Nome Descrição BufferResponse Quando definido com o valor True, a resposta do Web Service é armazenada em memória e envidada como um pacote completo. Caso seja definido como False (valor padrão), a resposta é enviado ao cliente conforme é construída no sservidor CacheDuration Especifica o número de segundos que a resposta deverá ser armazenada no cache do sistema. O padrão é 0, significando que o cache está desabilitado Description Texto descritivo do WebMethod que aparece na página de teste do Web Service. EnableSession Quando atribuído o valor True habilita a utilização de sessão no método. O padrão é False MessageName Aplica um nome único ao WebMethod. TransactOption Especifica suporte transacional ao WebMethod. O padrão é Disabled. Outros valores possíveis são: NotSupported, Supported, Required, RequiresNew

35 Web Services Introdução SOAP WSDL e UDDI Serialização Atributos
4/2/2017 6:58 AM Web Services Introdução SOAP WSDL e UDDI Serialização Atributos WebService WebMethods Ciclo de vida dos Web Services © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

36 Ciclo de Vida dos Web Services
Processo de comunicação entre aplicação cliente e Web Service (desenvolvido na plataforma .Net utilizando ASP.NET)

37 Web Services Construindo Web Service Integração com ADO.NET
Exercício Prático

38 Construindo Web Service
Criação de um Web Service

39 Web Services Construindo Web Service Integração com ADO.NET
Exercício Prático

40 Integração com o ADO.NET
Todos os conceitos visto durante o desenvolvimento de aplicações com ADO.NET poderá ser utilizado com Web Service Criar um Web Service que retorne um DataSet tipado.


Carregar ppt "Tecnologia para Web WebServices"

Apresentações semelhantes


Anúncios Google