WebServices WCF (Serviço Web)

Nesta aula você irá aprender sobre WebServices e WCF, faremos 2 aplicações interligadas por este serviço.

assinaturaAssine nossa Comunidade

Web Services - WCF

Web Services WCF - Windows Communication Foundation, tem como principal função interligar um sistema a outro através do protocolo HTTP.

É um serviço de comunicação de serviços windows para serviços windows.

Para que o WCF funcione, precisamos executá-lo dentro de um servidor IIS, trafegando os dados em XML que é envelopado pelo protocolo SOAP, ou seja, conseguimos utilizar o WCF com outras aplicações, mas neste caso é recomendado que seja feita uma API em REST.

Sua única responsabilidade é fazer a interligação e a proteção da sua base de dados, permitindo que outras aplicações acessem facilmente seus modelos que foi criado de uma forma para ser distribuída entre todas as aplicações ao redor de uma aplicação.

Vamos criar um serviço WCF e criar uma aplicação que irá consumir este serviço WCF. Para isso, faremos um novo projeto:

  • Clicar com o botão direito no nome da solução do projeto;
  • Menu Adicionar->Novo Projeto;
  • Selecionar WCF;
  • Aplicativo de Serviço WCF;
  • nomear para ClienteWcfService;
  • clicar no botão OK para gerar a aplicação.

Ao criar o projeto precisamos prestar atenção na interface. Todo serviço WCF tem dois tipos de serviço:

  • Um serviço onde terá toda a documentação e faremos o código efetivo
  • E outro que será a interface, um objeto abstrato e será traduzido. Através desta abstração o .net consegue saber e fazer a documentação de tudo que é necessário para fazer o web service funcionar, e quando chamarmos uma interligação de um sistema a outro, ele consegue fazer essa interação.
      
        namespace ClienteWcfService
        {
          public class Service1 : IService1
          {

            public Cliente GetData(int value)
            {
              var cliente = new Cliente() { ID = 1, Nome = 'Danilo', CPF = "5425224"};
              return cliente;
            }


            public List< Cliente> All()
            {
              var clientes = new List< Cliente>(); 
              clientes.Add(new Cliente() { ID = 1, Nome = 'Danilo', CPF = "5425224"};
              clientes.Add(new Cliente() { ID = 2, Nome = 'Danilo', CPF = "5425224"};
              clientes.Add(new Cliente() { ID = 3, Nome = 'Danilo', CPF = "5425224"};
              return clientes;
            }

            public bool Save(string nome, cpf)
            {
              try 
              {
                bool saved = new Cliente(){ Nome = nome, CPF = cpf}.Save() };
                return saved;
              }
              catch { return false; }
            }

          }
        }
       
    

Criaremos a classe Cliente

      
        namespace ClienteWcfService
        {
          public class Cliente 
          {
            public int ID { get;set; }
            public string Nome { get;set; }
            public string CPF { get;set; }
          }

          in
        }
       
    

Criaremos a Interface IService1

      
        [ServiceContract]
        namespace ClienteWcfService
        {
          public interface IService1
          {
            [OperationContract]
            Cliente GetData(int value);

            [OperationContract]
            List< Cliente> All();
          
            [OperationContract]
            bool Save(string nome, cpf);
          
          }
          
        }
       
    

Ao compilar o código, veremos o serviço na lista de ftp e, ao clicar no arquivo Service1.svc temos a documentação.

Criaremos agora uma aplicação Web MVC, que irá consumir o serviço. Através deste código, faremos o registro e acessar os métodos da aplicação de serviço. Teremos então dois servidores executando no computador:

  • Clicar com o botão direito no nome da solução do projeto;
  • Menu Adicionar->Novo Projeto;
  • Selecionar Web;
  • Aplicativo Web ASP.net;
  • nomear para MVCWebServicesAcesso;
  • MVC;
  • clicar no botão OK para gerar a aplicação.

Vamos registrar a aplicação de Serviço na aplicação web MVC:

  • Clicar com o botão direito em References;
  • Adicionar o endereço da referência de serviço;
  • Clicar no botão OK;
  • Teremos uma lista com o nome da Interface IService1 com os métodos da interface;
  • No campo Namespace, digitar ClienteServiceReference;
  • Clicar no botão OK.

Vamos utilizar a classe ClienteServiceReference para chamarmos na controller.


      
        
        using System.Net;
        using System.Web;
        using System.Web.Mvc;
        using MVC.Models;
  
        namespace MVCWebServicesAcessor.Controllers
        {
          public class HomeController: Controller
          {
            public ActionResult Index()
            {
              var service = new ClienteServiceReference.Service1Client();
              
              var clientes = service.All;

              var cliente = service.GetData(1);

              var correto = service.Save("danilo", "323232323");

              return View ();
            }
          }
        }
      
      
    

WebServices WCF (Serviço Web)

Nesta aula você irá aprender sobre WebServices e WCF, faremos 2 aplicações interligadas por este serviço.

Próximas Aulas:
assinaturaAssine nossa Comunidade

Web Services - WCF

Web Services WCF - Windows Communication Foundation, tem como principal função interligar um sistema a outro através do protocolo HTTP.

É um serviço de comunicação de serviços windows para serviços windows.

Para que o WCF funcione, precisamos executá-lo dentro de um servidor IIS, trafegando os dados em XML que é envelopado pelo protocolo SOAP, ou seja, conseguimos utilizar o WCF com outras aplicações, mas neste caso é recomendado que seja feita uma API em REST.

Sua única responsabilidade é fazer a interligação e a proteção da sua base de dados, permitindo que outras aplicações acessem facilmente seus modelos que foi criado de uma forma para ser distribuída entre todas as aplicações ao redor de uma aplicação.

Vamos criar um serviço WCF e criar uma aplicação que irá consumir este serviço WCF. Para isso, faremos um novo projeto:

  • Clicar com o botão direito no nome da solução do projeto;
  • Menu Adicionar->Novo Projeto;
  • Selecionar WCF;
  • Aplicativo de Serviço WCF;
  • nomear para ClienteWcfService;
  • clicar no botão OK para gerar a aplicação.

Ao criar o projeto precisamos prestar atenção na interface. Todo serviço WCF tem dois tipos de serviço:

  • Um serviço onde terá toda a documentação e faremos o código efetivo
  • E outro que será a interface, um objeto abstrato e será traduzido. Através desta abstração o .net consegue saber e fazer a documentação de tudo que é necessário para fazer o web service funcionar, e quando chamarmos uma interligação de um sistema a outro, ele consegue fazer essa interação.
      
        namespace ClienteWcfService
        {
          public class Service1 : IService1
          {

            public Cliente GetData(int value)
            {
              var cliente = new Cliente() { ID = 1, Nome = 'Danilo', CPF = "5425224"};
              return cliente;
            }


            public List< Cliente> All()
            {
              var clientes = new List< Cliente>(); 
              clientes.Add(new Cliente() { ID = 1, Nome = 'Danilo', CPF = "5425224"};
              clientes.Add(new Cliente() { ID = 2, Nome = 'Danilo', CPF = "5425224"};
              clientes.Add(new Cliente() { ID = 3, Nome = 'Danilo', CPF = "5425224"};
              return clientes;
            }

            public bool Save(string nome, cpf)
            {
              try 
              {
                bool saved = new Cliente(){ Nome = nome, CPF = cpf}.Save() };
                return saved;
              }
              catch { return false; }
            }

          }
        }
       
    

Criaremos a classe Cliente

      
        namespace ClienteWcfService
        {
          public class Cliente 
          {
            public int ID { get;set; }
            public string Nome { get;set; }
            public string CPF { get;set; }
          }

          in
        }
       
    

Criaremos a Interface IService1

      
        [ServiceContract]
        namespace ClienteWcfService
        {
          public interface IService1
          {
            [OperationContract]
            Cliente GetData(int value);

            [OperationContract]
            List< Cliente> All();
          
            [OperationContract]
            bool Save(string nome, cpf);
          
          }
          
        }
       
    

Ao compilar o código, veremos o serviço na lista de ftp e, ao clicar no arquivo Service1.svc temos a documentação.

Criaremos agora uma aplicação Web MVC, que irá consumir o serviço. Através deste código, faremos o registro e acessar os métodos da aplicação de serviço. Teremos então dois servidores executando no computador:

  • Clicar com o botão direito no nome da solução do projeto;
  • Menu Adicionar->Novo Projeto;
  • Selecionar Web;
  • Aplicativo Web ASP.net;
  • nomear para MVCWebServicesAcesso;
  • MVC;
  • clicar no botão OK para gerar a aplicação.

Vamos registrar a aplicação de Serviço na aplicação web MVC:

  • Clicar com o botão direito em References;
  • Adicionar o endereço da referência de serviço;
  • Clicar no botão OK;
  • Teremos uma lista com o nome da Interface IService1 com os métodos da interface;
  • No campo Namespace, digitar ClienteServiceReference;
  • Clicar no botão OK.

Vamos utilizar a classe ClienteServiceReference para chamarmos na controller.


      
        
        using System.Net;
        using System.Web;
        using System.Web.Mvc;
        using MVC.Models;
  
        namespace MVCWebServicesAcessor.Controllers
        {
          public class HomeController: Controller
          {
            public ActionResult Index()
            {
              var service = new ClienteServiceReference.Service1Client();
              
              var clientes = service.All;

              var cliente = service.GetData(1);

              var correto = service.Save("danilo", "323232323");

              return View ();
            }
          }
        }