Microsoft Silverlight 2.0 Beta 1 : uma arquitetura RIA.
Olá pessoal, tudo certo?
No post anterior, começamos nossa conversa sobre Silverlight 2.0 Beta 1. Hoje, vamos avançar no assunto, com um foco na arquitetura RIA - Rich Internet Application - e como o Silverlight está relacionado.
Para começar, a arquitetura RIA oferece uma aplicação Web que contêm características e funcionalidades de uma aplicação desktop tradicional. Tipicamente, uma aplicação RIA transfere a necessidade de processamento do cliente (numa arquitetura cliente-servidor) para o navegador, mantendo o processamento mais pesado no servidor de aplicação.
Vejamos um desenho que apresenta os principais componentes e interações numa arquitetura RIA com Silverlight:
Note que na arquitetura Silverlight, o contexto da aplicação é garantido através do Plug-in de Silverlight, que é responsável pela execução dos assemblies em XAML e XAP, da aplicação. Também, uma vez que o código escrito para o code behind é .NET, a aplicação pode interagir com serviços quaisquer no ambiente do servidor, consumindo interfaces em WCF, RSS, SOAP, etc., reaproveitando os serviços e funcionalidades existentes no ambiente legado.
E devido as características da arquitetura RIA, a aplicação Silverlight pode manter uma elevada interatividade com o usuário, ainda que mantendo um consumo de rede reduzido na comunicação com o servidor.
De modo geral, podemos citar os seguintes benefícios nesse tipo de arquitetura:
- Riqueza da interface: disponibilizando recursos típicos de uma interface desktop em uma aplicação Web, envolvendo conceitos de UX – User eXperience e grande interatividade;
- Melhor resposta ao usuário: apresentando uma interface mais interativa e inteligente, otimizando o número de acessos ao servidor. O usuário tem a sensação de estar utilizando uma aplicação desktop.
- Equilíbrio entre Cliente/Servidor: maior equilíbrio na carga de processamento entre Cliente e Servidor.
- Comunicação assíncrona: algumas interações da aplicação podem ser feitas de forma assíncrona, evitando períodos de espera de respostas do servidor.
- Otimização no uso da rede: devido maior especialização de componentes gráficos, o fluxo de dados na rede pode ser muito reduzido, uma vez que os dados só são transferidos quando realmente necessários.
A partir dos pontos acima, vejamos algumas questões comuns no processo de definição de um projeto RIA com Silverlight:
Quando adotar Silverlight como base para construção da interface na web?
- O projeto exige alta interatividade e execução a partir do browser?
- Será fácil para o usuário instalar o plug-in do Silverlight, caso ele não esteja instalado?
- É uma aplicação inteligente, não apenas um display de imagens e animações?
- Quanto mais interação e comunicação com a retaguarda, maior a vantagem no uso de Silverlight.
- O ambiente de retaguarda responsável pela aplicação é baseado em plataforma .NET?
- Se a aplicação for desktop no enterprise, o mais indicado é o uso de Windows Presentation Foundation (WPF), devido maior disponibilidade de recursos e direito de acesso a dispositivos no modelo local.
As questões acima são aspectos importantes para a aplicação de Silverlight. Responda “sim” para a maioria das questões e teremos maior indicação do Silverlight para o cenário envolvido.
Quais aplicações são indicadas para o uso de Silverlight?
- Aplicações multimídia baseadas em bancos de dados;
- Interfaces de Internet Banking e e-Commerce;
- Sites de redes sociais e comunicação entre usuários;
- Sites de rádios e TV’s online;
- E-mail, entre outras, que exigem maior interatividade da aplicação com o usuário.
Qual o perfil dos profissionais envolvidos?
- Desenvolvedor: que pode aproveitar todo o conhecimento sobre o ambiente Visual Studio, para a construção do modelo de objetos em .NET da aplicação Silverlight;
- Designer: que pode aproveitar todo conhecimento sobre o ambiente Flash ou Photoshop, pois as ferramentas do Expression Studio são rapidamente dominadas por esse tipo de profissional.
- De fato, quanto mais o desenvolvedor e o designer dominarem o XAML, mais poderosas serão suas aplicações em Silverlight.
Uma lista de exemplos em Silverlight é dada a seguir (retirada do blog do Renê de Paula ):
Zoo Sorocaba...
Ref.: https://zoo.sorocaba.sp.gov.br/
Hardrock Memorabilia
Ref.: https://memorabilia.hardrock.com/
Death & Taxes
Ref.: https://www.wallstats.com/deathandtaxes/zoom-silverlight.php
Patient Journey
Ref.: https://www.mscui.net/PatientJourneyDemonstrator/
A partir dos exemplos acima, notamos que cada vez mais um Projeto Visual é importante para uma aplicação RIA. Um bom projeto visual envolve um bom designer, que estabeleça a melhor abordagem para a interface.
Finalmente, no contexto da tecnologia Silverlight, o uso da linguagem de marcação XAML oferece uma integração ainda maior entre o mundo do designer e o mundo do desenvolvedor. Sem XAML, o layout de interface definido pelo designer é normalmente perdido no ambiente do desenvolvedor, baseado na renderização limitada de objetos sobre o HTML e folhas de estilo, como vemos a seguir:
Com o uso de XAML, é possível transitar entre o ambiente do designer e o ambiente do desenvolvedor mantendo a qualidade dos objetos gráficos definidos para a interface, como vemos a seguir:
Sem dúvida, essa maior integração gráfica no projeto RIA é um grande benefício de produtividade para as equipes de design e desenvolvimento.
Esses foram alguns pontos importantes sobre o uso de Silverlight e arquiteturas RIA.
Como recomendação final, verifique a real necessidade de um bom projeto visual para sua aplicação. Nesse caso, o envolvimento da equipe de designers e usabilidade de sua empresa será uma condição de sucesso para o uso de Silverlight.
Por enquanto é só! Até o próximo post :)
Waldemir.
Comments
- Anonymous
June 03, 2008
PingBack from http://www.beraldideveloper.com/blog/?p=112