Esse artigo faz parte da revista WebMobile edição 24. Clique aqui para ler todos os artigos desta edição

 

>

    Neste artigo veremos o que é o XBAP e como fazer aplicações complexas para WEB. Veremos como consumir um serviço proveniente do WCF com XBAP, transformando informações JSON em objetos do .NET.

Para que serve?

    Criar aplicações na web com recursos similares a desktop e integração com recursos SOA torna este tipo de aplicação ainda mais flexível, permitindo criar facilmente funcionalidades até então extremamente difíceis de serem construídas.

Em que situação o tema é útil?

   Projetos para web com características similares a aplicações desktop.

 

Resumo do DevMan

         Neste artigo vamos conhecer o que é o XBAP e como ele pode nos facilitar a criar aplicações mais complexas para a WEB. Veremos também como consumir um serviço do WCF utilizando o XBAP. Como exemplo prático será feita uma pesquisa utilizando a API do Google que retorna uma resposta JSON.

 

Desenvolver aplicações na Web está cada vez mais complexo, e com mais opções. A exigência dos usuários quanto à usabilidade, velocidade, e complexidade em relação às aplicações online só cresce. Ao mesmo tempo que os usuários exigem uma interface mais rica, eles querem cada vez menos instalar softwares em sua máquina, e a exigência de poder acessar o sistema via Web é cada vez maior.

Se a aplicação não puder prover uma boa experiência de uso, segurança e mobilidade, tenha certeza que o usuário não usará. XBAP (XAML Browser Applications) é a nova tecnologia da Microsoft usada para desenvolvimento de aplicações ricas na Web. Enquanto as aplicações Windows Forms devem ser executadas, e possivelmente instaladas, na máquina do cliente, as aplicações XBAP rodam diretamente no web browser sem precisar de uma instalação convencional de aplicativos desktop, dentro de uma camada de segurança que isola a máquina do cliente. Aplicações XBAPs rodam em navegadores como o Internet Explorer e o Firefox com o .NET 3.5 SP1.

 

 

Nota DevMan

XAML (pronuncia-se "zamel"), (sigla de eXtensible Application Markup Language) é a principal linguagem de interface da Microsoft para o Windows Vista usada para criar interfaces de usuário de forma simples e rápida. Para criar aplicações em WPF o XAML é utilizado para definir os elementos e marcações da interface.

 

Criar aplicações web com recursos 3D, animações complexas com fontes de texto personalizadas, capazes de acessar lógicas de negócios, compartilhadas com outros sistemas até então era um trabalho certamente árduo e que exigia muito do time de desenvolvimento. Muitos recursos disponíveis em aplicações off-line (desktop), não estão disponíveis em aplicações online (via browser), e sua reprodução é extremamente complexa. Com a camada de aplicações WEB do WPF, o XBAP, estas barreiras são quebradas, permitindo que o desenvolvedor crie facilmente aplicações que antes eram extremamente complexas. Em suma, XBAP é uma aplicação XAML, que roda no browser de forma isolada, dando segurança ao usuário, e que necessita de apenas um clique para sua inicialização, sem grandes controles de permissão. A Figura 1 mostra como é feita a inicialização de uma aplicação XBAP dentro no navegador. Ao acessar o endereço, uma tela de download da aplicação é exibida com o status.  

 

Nota DevMan

O Windows Presentation Foundation (WPF), assim como o WCF, foi introduzido na versão 3.0 da plataforma .Net. Utiliza uma linguagem de markup XAML para desenvolvimento de aplicações ricas, baseando-se na estrutura XML. Com o WPF é possível criar interfaces com um apelo visual muito grande, e facilita muito a criação de gráficos, animação, vídeo entre outros. Controles com uma grande capacidade de customização gráfica estão disponíveis pelo WPF.

O Silverlight, assim como o XBAP é uma versão do WPF para a Web, e também utiliza XAML para marcações da sua interface gráfica. Ambos podem utilizar-se de softwares como o Blend Expression, para a criação de interfaces gráficas.

 

 

Figura 01. Exemplo da inicialização da aplicação XBAP

XBAP vs aplicações desktop WPF

Enquanto as aplicações desktop do WPF e Windows Forms precisam ser instaladas na máquina do usuário, ou seja, ocupa espaço permanente na máquina do usuário, registra dlls, possuí um atalho no menu iniciar, é exibido em adicionar ou remover programas do Windows entre outras características que interagem diretamente com a máquina do usuário. Aplicações XBAP rodam automaticamente via WEB, e são automaticamente instalados através do ClickOnce.

Diferente do WPF, o XBAP roda dentro de uma zona de segurança (Sandbox), que limita a aplicação e protege a máquina do usuário contra operações não autorizadas, como, por exemplo, excluir arquivos. Nenhum acesso a drives é permitido com o XBAP, porém praticamente todas as demais funcionalidades do WPF estão presentes nele.

Em artigo anterior, mostro como integrar WPF com WCF, em aplicações XBAP o acesso ao WCF não é permitido. Para atualizar aplicações WPF o processo pode não ser tão automatizado, e depender de uma aprovação do usuário. Em ambientes corporativos o usuário necessitará de um privilégio especial para instalar o programa. Apesar de o WPF ter acesso ao ClickOnce, que automatiza o processo de atualização do software, o usuário deve aprovar, e ter as permissões necessárias.

 

 

Nota DevMan

 O ClickOnce é uma tecnologia de implantação e atualização de aplicações Windows. Têm como objetivo simplificar a implantação e a atualização de aplicativos Windows, de forma que o usuário possa instalar e atualizar aplicação Windows a partir de uma página Web com apenas um clique em um link.

Aplicações XBAP utilizam conceitos do ClickOnce, pois somente com um clique a aplicação é enviada e estará pronta para uso. Sempre que o usuário acessar o endereço da aplicação, é feita uma verificação de versão. Se o usuário já possuir a ultima versão da aplicação em cachê, então os arquivos não serão enviados. Caso contrário, a nova versão é enviada e o usuário já fará uso das novas funcionalidades.

 

WCF

Windows Communication Foundation (codinome Indigo) foi projetado pela Microsoft para permitir a construção de aplicações orientadas a serviços (Service Oriented Architecture) utilizando a plataforma .NET, disponibilizado a partir da versão 3.0. O WCF foi projetado para ser extensível e permitir comunicação entre aplicativos independente da linguagem, estilo ou protocolo. Boa parte do WCF foi projetado para ser utilizado com serviços RPC com SOAP, mas é possível também expor e consumir serviços REST, ficando mais fácil com o .NET 3.5 e mais aperfeiçoado com o SP1. ...

Quer ler esse conteúdo completo? Tenha acesso completo