The Club
quinta-feira, 29 de julho de 2010
Busca  
Porta 80 Web Hosting
 :: Acessibilidade
Ir para conteúdo principal: ALT + 1
 :: Participe
Seja um autor de CD/DVD de Treinamento
Publique um artigo
Publique uma oportunidade
Publique uma notícia
Publique um curso
Publique uma dica
Publique um código
 :: Informativo
Receba nossos informativos por e-mail.
E-mail:   
 
Digite a palavra abaixo:  
 
 
 :: Oportunidades
Cadastrar oportunidades
Gerenciar suas oportunidades
Cadastrar nova empresa
 :: Especiais
Básico de C++
C++ Builder
Curso ASP.NET 3.5 em VB.NET e C#
Guia Prático de HTML
Testes com Visual Studio Team System 2008
 :: Desenvolvimento
ActionScript
ADO.NET
ASP
ASP.NET
Automação Comercial
C#
C/C++
Coldfusion
CSS
Delphi
Disp. Móveis
HTML
Java
Javascript
LSL (Second Life)
Modelagem
PHP
Python
Sharepoint
Silverlight
SQL
VBA (Office)
Visual Basic
Visual Basic .NET
Visual Fox Pro
WCF/WPF
Web Services
XML
 :: Infra
BizTalk Server
CRM
Exchange Server
ForeFront / Antigen / IAG
Interoperabilidade
ISA Server
Linux
MOF
MS Dynamics CRM
Network
OCS / LCS
Outlook
Powershell e Scripts
Redes
Segurança
System Center e Gerenciamento
Virtualização
Windows
Windows Server
 :: Banco de Dados
Access
Caché
Firebird
Interbase
MySQL
Oracle
SQL Server
Sybase
 :: Gerência
Arquitetura
Ciclo de Vida de Desenvolvimento
Controle de Versão
Estimativas
Metodologias
MOF
Qualidade e Testes
 :: Design
Corel
Flash
Photopaint
Photoshop
 :: Livros
Análise Sistemas
Aplicativos
Banco de Dados
Certificação
Design e CAD
Gerência
Hardware
Internet
Programação
Programação Web
Rede
Segurança
Servidores
Sistemas Operacionais
 :: CDs/DVDs
Desenvolvimento
Infra
Design
 :: E-Books
.NET 2.0 (VS 2005)
.NET 1.1 (VS 2003)
SQL Server
Excel 2007
Excel 2003
Access 2003
ASP 3.0
Delphi
Java
Artigos


MVP Profile
Silverlight 2: Trabalhando com Web Services
Por: Rodrigo Kono
[Entre em contato com o autor ]
Trabalha com programação para web a 8 anos, é MVP da Microsoft em ASP.NET, MSP Mentor, MCP.NET 2.0, MCTS [WEB / SQL], líder do grupo de usuários DevGoiás .NET (www.devgoias.net), bacharel em Ciência da Computação, Mestrando na Faculdade de Engenharia Elétrica da UFG, desenvolve serviços na Secretaria da Fazenda do Estado de Goiás, é palestrante e membro do board da INETA Brasil, escreve e produz vídeos para o site Linha de Código, realizou o 1º treinamento de VB.NET 2.0 (windows forms) e ASP.NET 2.0 de Goiás. Já esteve palestrando em várias cidades do país, entre elas Campo Grande, Goiânia, São Paulo, Porto Alegre, Porto Velho e Curitiba, totalizando mais de 8500 pessoas nos últimos cinco anos. Trabalha a um bom tempo para disseminação e divulgação da plataforma .NET com treinamentos, reuniões e palestras. O seu trabalho pode ser acompanhado em seu blog: http://kono.spaces.live.com.
Feed de artigos.
Feed de artigos deste autor.
Gere seu feed personalizado  
Silverlight 2: Trabalhando com Web Services
Publicado em: 23/09/2008

Já é de conhecimento geral que é possível criar aplicações de negócio envolvendo dados com o Silverlight. Porém, alguns desenvolvedores possuem dificuldades em trabalhar com este recurso. Mesmo o Silverlight possuindo seus controles e objetos com suporte a XML/Web Services e com o poder de consumir dados, isto é apenas um conceito básico para melhores soluções e resultados.

Em boa parte dos casos, a boa dica é utilizar uma camada de Web Services, onde pode ser implementado o acesso a dados através de objetos personalizados, LINQ to SQL, Entity Framework, ADO.NET Data Services, entre outros que por fim expõe objetos de dados através desse Web Service, que torna-se um canal estratégico de acesso a dados nas aplicações RIA. Esta arquitetura é representada visualmente na figura 01.


Figura 01 – Arquitetura do serviço de acesso a dados em aplicações RIA

Nesse artigo irei explanar como podemos melhorar essa comunicação com a interface utilizando Web Services. Vamos ao trabalho!

No Visual Studio 2008, crie um novo projeto do tipo Silverlight Application como mostra a figura 02.


Figura 02 – Criando novo projeto Silverlight

Com o projeto criado, é hora de criarmos nosso Web Service neste mesmo projeto. Para isso vá na Solution Explorer, clique com o botão direito no nome do Web Site e selecione o menu “Add > New Item”.

Irá abrir uma janela, conforme mostra a figura 03. Escolha “Silverlight-enabled WCF Service” (que é o serviço WCF que dá suporte ao Silverlight), dê um nome (nesse caso usamos servico.svc) e clique no botão “Add”.


Figura 03 – Adicionando um serviço WCF ao projeto.

Por padrão, na classe do serviço recém criada, já vem uma função com o nome de DoWork(). Vamos criar mais uma função para retornar uma string conforme mostra a listagem 01. Lembrando que se pode trabalhar essa função de várias formas, como para retornar números, vetores binários, datasets, etc. Porém, no intuito de aprendizado, o retorno de string é o essencial.

public class servico

{

[OperationContract]

public void DoWork()

{

// Add your operation implementation here

return;

}

 

[OperationContract]

public string OlaPessoal()

{

return "Olá Pessoal!";

}

 

// Add more operations here and mark them with [OperationContract]

}
Listagem 01 – Criando função no serviço WCF que retorna string

Em seguida compile o seu projeto (CTRL + SHIFT + B) para gerar os assemblies e garantir a ligação por referência. Feito isso, o Web Service está pronto para ser utilizado.

Agora no projeto Silverlight vamos referenciar o nosso Web Service criado. Para isso clique com o botão direito no nome do projeto e seleciona “Add Service Reference” conforme mostra a figura 04.


Figura 04 – Selecionando a referência no menu

A janela de referência ao serviço será aberta. Nesse caso, como nosso Web Service está na mesma Solution, clique em “Discover”, conforme mostra a seta da figura 05, adicione um nome para a namespace e clique em Ok.


Figura 05 – Adicionando referência ao Web Service WCF criado.

Na sua Solution Explorer, a visualização dos projetos Web e Silverlight será como mostra a figura 06.


Figura 06 – Projeto Web com o Web Service criado e o projeto Silverlight com o Web Service referenciado.

No arquivo Page.xaml iremos criar um botão e um textbox para invocar e mostrar o resultado da chamada do Web Services na aplicação Silverlight. Veja o XAML na listagem 02.

Dica: Na função Click do botão, crie o handle do evento para que seja criada a função automaticamente no seu código gerenciado.

<Canvas>

<StackPanel>

<Button x:Name="btnOK" Width="200" Height="30" Content="Diga Olá" Click="btnOK_Click"></Button>

<TextBox x:Name="txtOK" Width="200" Height="30" Margin="0 10 0 0"></TextBox>

</StackPanel>

</Canvas>
Listagem 02 – XAML criado para chamar e renderizar o resultado do Web Service

No código gerenciado, nesse caso usando C#, repare que a função btnOk_Click está criada. Antes de trabalharmos nela, vamos criar outra função chamada “cliente_OlaPessoalCompleto” conforme mostra a listagem 03 Essa será a função que irá disparar o resultado do Web Service para o objeto da aplicação Silverlight.

private void cliente_OlaPessoalCompleto(object sender, SilverlightWS.ServiceReference1.OlaPessoalCompletedEventArgs e)

{

txtOK.Text = string.Format("Saída do WCF: {0}", e.Result.ToString());

}

Listagem 03 – Função criada para disparar resultado do Web Service para a aplicação Silverlight

Na função btnOk_Click vamos instanciar o web service utilizando o método client do serviço. Com a variável instanciada passe a função que acabamos de criar como argumento. Por fim use o método async do serviço, conforme é mostrado na listagem 04, para que seja feita a comunicação.

 

private void btnOK_Click(object sender, RoutedEventArgs e)

{

ServiceReference1.servicoClient cliente = new SilverlightWS.ServiceReference1.servicoClient();

cliente.OlaPessoalCompleted += new EventHandler<SilverlightWS.ServiceReference1.OlaPessoalCompletedEventArgs>(cliente_OlaPessoalCompleto);

cliente.OlaPessoalAsync();

}

Listagem 04 – instância do web service na função Click.

Pronto!
Agora compile, rode a aplicação e teste. O resultado será mostrado como na figura 07.
Obs.: Verifique se o projeto Web está como StartUp Project.


Figura 07 – Aplicação Silverlight utilizando dados de um Web Service


Por fim, alguns ainda devem se perguntar: Qual a diferença entre um WCF Web Service com um Web Service ASMX? A resposta é que com o WCF Web Service temos uma flexibilidade maior para manipulação dos dados, principalmente para interfaces como o Silverlight, que é o mais recomendado. Porém tudo que fazemos com Web Services ASMX, podemos fazer com o Web Services WCF também.

 

Conclusão

Utilizando Web Services é possível minimizar o trabalho e melhorar a manipulação de dados em aplicações Silverlight. Um excelente recurso para isso é a utilização do WCF.

 

Referências:

·         MSDN Data Development - http://msdn.microsoft.com/data

·         MSDN Windows Communication Foundation - http://msdn.microsoft.com/en-us/library/ms735119.aspx

·         Site official do Silverlight - http://silverlight.net

Espero que esse artigo lhe ajude e seja útil em seus projetos.

Para ficar por dentro das novidades do ASP.NET e Silverlight não deixe de visitar meu blog (Visão Widescreen – http://kono.spaces.live.com)

Rodrigo Kono
MVP – ASP.NET





MS TechEd 2010



 

Inclua um comentário sobre o artigo Topo
Elogios e críticas são muito bem vindos, porém o comentário deve ter referência ao artigo em pauta.
O portal e o autor agradecem.
Nome:    
E-mail:      
Comentários:    
Digite a palavra abaixo:  
Para dúvidas técnicas, NÃO UTILIZE ESTE ESPAÇO, utilize nosso fórum de discussão.
http://linhadecodigo.com.br/cs2/forum
 
Comentários sobre o artigo Ver Todos comentários
Ainda não existem comentários sobre este artigo. Seja o(a) primeiro(a)!
Outros artigos do autor Topo
Silverlight 2: Implementando Full Screen Mode (modo tela cheia)
Silverlight 2: Customizando a mensagem de Instalação do plugin
ASP.NET 2.0: Selecionando múltiplos registros no Gridview com Checkbox
ASP.NET 2.0 – Utilizando o Controle Wizard
Transmitindo imagens por WebServices e consumindo em um Pocket PC (Vídeo)
Considerações do .NET 2.0 - Evolução ou popularização dos programadores? - Comente sobre a opinião do autor
.NET: Gerando imagens dinamicamente
Encriptando senhas com ASP.NET
Artigos relacionados Topo
Consumindo serviços REST com HttpClient
REST e o WSDL
Implementando um Processo de Negócio com BPEL
Criando e consumindo um Serviço Web usando o Visual Studio 2008
Usando SOAP Headers - Segurança em WebService
WebServices usando soapHeader
WCF - Serviços RESTFul
Web Services via SOAP
Consumindo Web Services com ASP 3.0
Brincando com AJAX e SOAP na plataforma .NET
Desenvolvendo e Consumindo um Web Service com XML usando Visual Studio 2008 "Orcas" Beta 2
Acesso Assíncrono a WebServices na plataforma .NET - Parte II
Acesso Assíncrono a WebServices na plataforma .NET - Parte I
SoapUI: Testes de Web Services rápido e descomplicado
Chamadas assíncronas em web Services (Vídeo)
Expanda os limites do Office usando Web Services
WEB Services com Visual FoxPro 9.0
Desenvolvendo Aplicações Chrome com integração via WebServices usando Apache AXIS ou Webservices .NET
Delphi 2005 for .Net: Criando e Consumindo Webservices
Requisições SOAP_WSDL no PHP (webservices)
Desenvolvendo Aplicações j2me com integração via WebServices usando Apache AXIS ou Webservices .NET
Criando um cliente para Amazon Web Services (AWS) no Pocket PC
Testes com o PHP5 e Webservices
Consumindo um WebService através de uma Aplicação ASP.NET para Dispositivos Móveis
Criando um WebService para controle de Clientes utilizando C#
Desenvolvendo um Web Service com XML (parte 2)
Web Services Enhancements (2.0) - Anexando arquivos e segurança ao seu serviço web
Desenvolvendo WebServices com Apache AXIS
Web Services - criação, publicação e clientes
Desenvolvendo Web Services Seguros com Kerberos
Produtos relacionados Topo
Ainda não existem produtos relacionados.
Livro: Gerenciando Projetos de Desenvolvimento de Software com PMI, RUP e UML (4a. edição)
© Copyright 2001-2010 Codeline Editora, Comércio e Tecnologia Ltda. | Política de privacidade e de uso | Anuncie | Fale conosco

» Site hospedado na Porta 80 Web Hosting «
Nossos números
Dicas: 1.314
Códigos/scripts: 279
Funções de VBScript : 90
Funções JScript : 05
Livros: 1.805
Notícias: 2.488
Artigos: 2.972
Cases: 14
Oportunidades: 4.546
Publicidade

Conheça a loja do Linha de Código.

Microsoft indica Linha de Código.

Assine a Revista Mundo .NET
Portal de Vídeos .NET - os melhores vídeos .NET estão aqui
O que você fará com o Visual Studio 2010?
Revista Codificando .Net

Siga-nos no Twitter

Linha de Código no Orkut
Fórum de discussão do portal Linha de Código
Feeds
Oportunidades
Notícias
Artigos
Artigos personalizado
       (Por assunto)
Artigos personalizado
       (Por autor)
Portal Vídeos .NET
Portal Vídeos Delphi
LC Blog
       (Onde você faz a notícia)
Promoções
Promoção Mobile com entrega via download (válido somente para pagamento via boleto bancário)
Promoção Mobile com entrega via download (válido somente para pagamento via boleto bancário)
De: R$ 189,00
Por: R$ 126,00
Promoção Wordpress + Tabless (válido somente para pagamento via boleto bancário)
De: R$ 149,70
Por: R$ 99,80
Promoção C# Básico (válido somente para pagamento via boleto bancário)
De: R$ 185,90
Por: R$ 136,00
Promoção PHP + MYSQL Intelimax (válido somente para pagamento via boleto bancário)
De: R$ 308,00
Por: R$ 219,00
Promoção Especial Infra
De: R$ 175,95
Por: R$ 136,00
CDs/DVDs
DVD Desenvolvimento de Games - Programando Jogos com o 3D Game Studio
DVD Desenvolvimento de Games - Programando Jogos com o 3D Game Studio
Por: R$ 59,00
DVD Curso de CorelDraw X4
Por: R$ 79,90
DVD Curso de Fireworks CS4
Por: R$ 49,90
DVD Curso de Indesign CS4
Por: R$ 55,00
DVD Curso de Efeitos Digitais
Por: R$ 49,90
Livros
MSProject 2007 - Metodologia e Critérios de Qualidade para o Gerenciamento de Projetos
MSProject 2007 - Metodologia e Critérios de Qualidade para o Gerenciamento de Projetos
De: R$ 129,00
Por: R$ 77,40
Foundation FLASH CS3 para Designers
Ciência Moderna
De: R$ 139,00
Por: R$ 83,40
Recursos Visuais na Web com PHP
Ciência Moderna
De: R$ 49,00
Por: R$ 29,40
Crie um Sistema Web com PHP 5 e AJAX - Controle de Estoque
Erica
De: R$ 99,50
Por: R$ 84,50
Crie Projetos Gráficos com Adobe Photoshop CS4, CorelDRAW X4 e Adobe InDesign CS4 - em Português
Erica
De: R$ 77,50
Por: R$ 65,80
E-Books
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Por: R$ 30,00
Manual de Estudos - Exame 70-291 - Windows Server 2003 (606 páginas) - entrega via download
Por: R$ 30,00
Dominando MS – Visio ® em 20 Passos - Melhores Práticas em Gestão de Projetos (entrega via download)
Por: R$ 30,00
MS-Project® 2007 - Melhores Práticas de Gestão de Projetos - Dominando MS – Project ® em 20 Passos (e-book com entrega via download)
Por: R$ 20,00
Banco de dados com C# e Visual Studio .Net 2005 (entrega via download)
Por: R$ 20,00
Os 10+ | Autores do dia
Israel Aéce
Júlio Cesar Fabris Battisti
Anderson Patricio
Alfred Reinold Baudisch
Luiz Felipe de Freitas
Robert Martim
Ramon Durães
Alessandro de Oliveira Faria
José Carlos Macoratti
Eric C M Oliveira
Os 10+ | Artigos do dia
HTML Básico
HTML Avançado
Criando aplicativos para o Orkut
Tutorial de Tabelas Dinâmicas no Excel – Parte 1
Excel: fórmulas matriciais
ASP.NET 2.0 - Explorando o GridView
Iniciando um projeto de Nota Fiscal Eletrônica - NFe
PL/SQL - Procedures e Funções
Excel: Comparando Listas
PHP: Formulários e upload de múltiplos arquivos e fotos