Aug
15

Webcasts de Microsoft Silverlight 2.0 em Setembro

De 8 a 12 de Setembro decorrerá um ciclo de webcasts (sessões online) sobre Microsoft Silverlight 2.0.

O ciclo é composto por 5 sessões:

  • Desenvolvimento de soluções RIA (8 de Setembro)

Num momento em que o Silverlight 2.0 se encontra em fase terminal de desenvolvimento e já com a licença Go-Live, é importante perceber qual a real capacidade desta tecnologia. Com este WebCast iremos analisar a Arquitectura, Modelo e Ferramentas de Desenvolvimento, relação com o WPF, bem como uma utilização mais avançada com vista a desenvolver uma solução RIA de raíz utilizando esta versão do Silverlight, incluindo questões como gestão do Layout da solução e os controlos standard que são disponibilizados, como Button, Calendar, Listbox, Image, Grid, Slider, TextBox entre outros. Será também analisado o suporte de DataBinding disponibilizado por esta versão.

Inscrição

  • Desenvolvimento de soluções RIA -Tópicos avançados (9 de Setembro);

Num momento em que o Silverlight 2.0 se encontra em fase terminal de desenvolvimento e já com a licença Go-Live, é importante perceber qual a real capacidade desta tecnologia. Ao longo deste WebCast iremos dar atenção a tópicos mais avançados do desenvolvimento de Soluções RIA como são os casos da customização da aparência de controlos utilizando técnicas de Templating e Skinning, análise do VisualStateManager, e muito importante o Streaming Adaptativo que permite analisar as capacidades do cliente de forma a adaptar a experiência de utilização tendo como base a largura de banda e a velocidade do CPU. Se o tempo permitir iremos também ter uma primeira visão sobre o que nos espera no Silverlight for Mobile.

Inscrição

  • Introdução ao Deep Zoom (10 de Setembro);

Num momento em que o Silverlight 2.0 se encontra em fase terminal de desenvolvimento e já com a licença Go-Live, é importante perceber qual a real capacidade desta tecnologia. Este WebCast tem como objectivo demonstrar como poderão ser melhoradas as soluções RIA desenvolvidas com suporte á utilização da funcionalidade Deep Zoom disponibilizada pelo Silverlight 2.0, e que tem por base a tecnologia SeaDragon criada pela Microsoft Research e que torna mais fácil e rápida a navegação em imagens de elevada resolução.

Inscrição

  • Desenvolvimento soluções RIA distribuídas (11 de Setembro);

Num momento em que o Silverlight 2.0 se encontra em fase terminal de desenvolvimento e já com a licença Go-Live, é importante perceber qual a real capacidade desta tecnologia. Através deste WebCast iremos demonstrar as capacidades inerentes a esta tecnologia e que permitem o desenvolvimento de soluções RIA distribuídas, sendo que em primeiro lugar iremos analisar a arquitectura de comunicação (Networking stack) e a robustês da mesma, fazendo uma demonstração do consumo de diversos serviços que utilizam diferentes formas de comunicação, como o Representational State Trransfer (REST), SOAP, WS*, HTTP e também comunicações cross-domain. Um dos pontos importantes será também a análise das restrições existentes ao nível da camada de comunicações presente na mesma.

Inscrição

  • Framework de testes para Silverlight 2.0 (12 de Setembro);

Num momento em que o Silverlight 2.0 se encontra em fase terminal de desenvolvimento e já com a licença Go-Live, é importante perceber qual a real capacidade desta tecnologia. Com a disponibilização deste WebCasts pertende-se demonstrar que o desenvolvimento deste tipo de soluções também poderá e deverá ser efectuado utilizando Testes unitários de forma a garantir a qualidade do desenvolvimento efectuado ao longo de todo o ciclo de desenvolvimento do projecto, por isso mesmo iremos analisar um conjunto de testes built-in que abragem todos os elementos que foram disponibilizados com o Silverlight 2.0 e também a forma de criar novos ou extender os existentes pois todos eles são Open-Source.

Inscrição




Aug
08

Artigo sobre Rich Internet Applications na revista Invest

Há cerca de dois meses fui contactado pelo David Sousa da revista Invest para dar uma entrevista sobre Rich Internet Applications. Essa entrevista serviria de base para que construissem um artigo que saiu no número deste mês, e que passei a scanner e coloquei abaixo (clique para ampliar):

Só tive acesso ao artigo após ter dado entrada na gráfica, pelo que, na minha opinião, há algumas passagens que poderiam ter ficado mais precisas - nomeadamente, ser referida a Microsoft e não ser referida a Adobe (!!!), dar em alguns pontos a sensação de que as RIAs são gratuítas, e confundir-se algumas características que pertencem geralmente às Web Applications como características das RIAs. Ainda assim o artigo refere e bem a importância das RIAs para o negócio.

Coloco abaixo a entrevista original, que é mais específica e pormenorizada, podendo ser muito útil para elucidar algumas questões mais ligadas ao negócio que são feitas habitualmente por quem quer saber mais sobre o assunto. Curiosamente, estas são as questões que me são habitualmente feitas pelos clientes. Recordo que a entrevista não foi feita para publicação mas sim para ajudar o autor do artigo, pelo que poderão haver algumas “gralhas” de português.

A entrevista original

1- O que são as aplicações RIA?

Rich Internet Applications são aplicações com um interface gráfico, funcionalidades e interacção semelhantes ao de uma aplicação desktop, tal como o Microsoft Word, mas que correm dentro do web-browser. Imagine que não precisaria de instalar o Microsoft Word, sendo que para o usar bastaria abrir um endereço no seu web-browser. O endereço http://www.buzzword.com/ pode ser tomado como um exemplo de um processador de texto colaborativo no formato RIA.

2- Porque surgiram estas aplicações?

Este tipo de aplicações surgiu de uma evolução natural do software. Hoje em dia queremos aceder aos nossos dados e aplicações de qualquer local, dispositivo, e sistema operativo. Queremos simplicidade, não ter que passar pelo processo de instalação de software nem termos que nos preocupar com manutenção. Numa empresa, por exemplo, é penoso ter que instalar software em centenas ou milhares de computadores, dar manutenção, fazer actualizações, e por aí adiante - implica elevados custos, e demasiado tempo perdido. Daí as empresas hoje em dia terem convergido para o modelo de “Web-Application” - aplicações baseadas em html que correm remotamente sem terem que ser instaladas nos terminais. Infelizmente, as web-applications apesar de práticas possuem limitações a nível de interface gráfico e funcionalidades, sendo complicado imitar a interacção e objectividade do software desktop. As RIAs são no fundo o próximo passo: pegar no melhor das aplicações Web e das aplicações Desktop e juntar num único conceito.

3- Quais os seus objectivos principais?

As RIAs objectivam o mesmo que qualquer outra solução de software: resolver problemas. O cliente tem um problema, e precisa de uma solução. Essa solução pode ser desenvolvida no modelo “Desktop Application”, no modelo “Web Application”, e agora no modelo “RIA”. Portanto a nível de requisitos funcionais, os objectivos são os mesmos: resolver os problemas de negócio.
Porém, no que toca aos requisitos não funcionais - que se prendem com as características tecnológicas das aplicações - pretende-se com as RIAs disponibilizar software acessível de qualquer local e computador com ou sem restrições de segurança sendo dado especial destaque ao Interface Gráfico e interacção com o utilizador com vista a que o software seja o tão fácil de usar quanto possível. Regra geral é desdenhada a importância do interface gráfico e simplicidade de utilização, sendo esse um dos primeiros pontos que os clientes cortam no investimento - porém, surge a questão: de que serve software que funciona se ninguém o souber usar eficientemente?
Outra característica comum nas RIAs é que facilitam a colaboração: é possível que várias pessoas trabalhem sobre os mesmos dados ao mesmo tempo. Este é por exemplo o principal ponto forte do Buzzword: permite que várias pessoas estejam a trabalhar sobre o mesmo documento, algo que actualmente com o Microsoft Word não é possível.

4- Quem produz essas aplicações (empresas estrangeiras, portuguesas)? Há empresas a trabalhar exclusivamente nelas?

Sobretudo empresas estrangeiras. Posso referir com convicção a Cynergy Systems (http://www.cynergysystems.com/), líder mundial na matéria, a Fantasy Interactive, mais dotada no lado criativo (http://www.fantasy-interactive.com/) e a EffectiveUI (http://www.effectiveui.com/).
Em Portugal o conceito ainda é recente, e só agora se começa a ver algum interesse - em parte, um pouco graças aos www.riapt.org. Sei que existem algumas consultoras interessadas em apostar na matéria devido a contactos regulares que tenho recebido com questões sobre as tecnologias de desenvolvimento, procurando por técnicos especializados, ou solicitando a minha disponibilidade para dar formação e prestar serviços.
Enquanto estive em Madrid no Adobe onAir Tour - um evento sobre o assunto - conheci a Buzz-ID (http://www.buzz-id.com/), uma PME portuguesa que começa a dar cartas interessantes nesta matéria. No meu caso pessoal, comecei em 2005 a reunir esforços para criar uma equipa especializada na matéria - a Webfuel. Nestes dois anos estivemos essencialmente a reunir o know-how, a definir workflows e a preparar-mo-nos para o mercado. Neste momento falta simplesmente o “clique” - os clientes e projectos certos - para o arranque definitivo. (Neste momento já demos o clique e já ninguém nos pára )

5- A quem se destinam estas aplicações?

Estas aplicações são como quaisquer outras aplicações, portanto o destinatário é simplesmente qualquer utilizador de software que precise de uma ferramenta para o ajudar em algo. As RIAs podem portanto destinar-se ao end-user - que precisa por exemplo de ferramentas de manipulação de imagem, de processamento de texto, de agregração de informação, colaboração, etc - ou ao negócio em si - qualquer aplicação de business intelligence. Obviamente que os principais interessados serão aqueles que querem tirar partido do facto de não terem que instalar as aplicações podendo usá-las a partir de qualquer local e dispositivo mas sem se quererem limitar à típica “web application” baseada em HTML. Muitas empresas estrangeiras que trabalham com SAP começaram a desenvolver a camada de front-end das suas aplicações em tecnologias de desenvolvimento de RIAs - como o Adobe Flex -, integrando com os backends SAP existentes. A título de curiosidade, a SAP disponibiliza um livro exactamente sobre a integração com o Adobe Flex, e aborda os conceitos de RIA: http://www.sappress.com/product.cfm?account=&product=H1951

6- Quanto custa a sua criação?

Em termos de negócio, a diferença de uma RIA para outra aplicação reside sobretudo na camada de front-end. O investimento no backend é exactamente o mesmo, sendo que este simplesmente irá expôr os seus serviços tal como anteriormente na forma de Web-Services ou outra solução de comunicação (como o Flash Remoting). O investimento adicional é feito sobre a camada de front-end que implica colocar na equipa de desenvolvimento especialistas em design, interaction design, usabilidade e user experience. Porém, face ao custo total das aplicações habituais, o investimento adicional é ligeiro, facilmente suportável e perfeitamente justificado.


7- Qual o lucro/retorno que as empresas que criam estas aplicações obtêm ou esperam obter?

O ROI não é sobretudo dirigido a quem desenvolve o software, mas a quem o usa. As empresas que criam estas aplicações não são diferentes das outras empresas de desenvolvimento de software. Simplesmente, investiram numa área de ponta, inseriram na sua equipa criativos e especialistas nas plataformas de RIAs, de forma a desenvolver software que resulta na satisfação do cliente pela sua simplicidade de adopção e utilização.
Porém, empresas de desenvolvimento que criem as suas próprias aplicações genéricas podem usufruir de um novo modelo de negócio de distribuição de software denominado de “pay-per-use”. Ao invés de venderem um pacote que o cliente tem que comprar e instalar no seu computador, simplesmente disponibilizam a aplicação na Internet que pode ser usada através de um fee mensal, anual ou simplesmente pontual. (Faltou referir o modelo de negócio Software as a Service). A manutenção é feita simplesmente actualizando a aplicação no servidor central, sendo benéfico para quem desenvolve e para quem usa. Obtém-se um modelo de negócio mais fácil de gerir, e mais justo para ambas as partes. Uma vantagem que interessa realçar é que neste modelo não é possível piratear software. O que o utilizador compra é um acesso periódico à aplicação, pelo que a única hipótese para um pirata é roubar o acesso a outra pessoa.

Em certos casos específicos, também se pode adoptar um modelo de negócio de revenue-sharing, em que a empresa que desenvolve recebe parte dos lucros que a empresa que utiliza gera através do produto de software.
Outro modelo de negócio que não acho tão interessante, é a remuneração por publicidade, em que são colocados anúncios no meio da aplicação. Porém, é uma solução que a meu ver apenas se justifica em aplicações relacionadas com redes sociais online, e que para o negócio em si não faz sentido nenhum.

8- Que género de aplicações vão ser reformuladas para o formato RIA?

Quaisquer aplicações que não estejam dependentes das limitações da largura de banda actual, ou das restrições de segurança dos plugins das tecnologias em que se baseiam as RIAs. A título exemplificativo, podemos ir desde backoffices, CRMs, aplicações B2B, B2C às simples aplicações e ferramentas destinadas ao end-user, como processadores de texto, folhas de cálculo ou editores de imagem.

9- Quais as vantagens/desvantagens deste tipo de aplicações para as empresas clientes?

O custo de instalação de software desktop em centenas ou milhares de computadores é alto. No caso das aplicações empresariais, temos uma redução drástica no custo de deployment, na medida em que basta colocar a aplicação num servidor HTTP, e a partir daí milhares de terminais ficam com a aplicação disponível através do web-browser.  Além de que, ao se eliminar o passo do deployment, também se obtém um time-to-market muito menor, diminuindo o gap desde o momento em que se fechou o desenvolvimento até ao momento de início da sua utilização em ambiente de produção.
Na manutenção consegue-se novamente obter uma redução drástica de custos, visto que basta dar manutenção a um único ponto: o servidor HTTP onde é disponibilizada a aplicação. Ao actualizar essa aplicação, actualiza todos os clientes “em simultâneo”.

Quanto à sua utilização, o facto de regra geral serem dotadas de melhores interfaces gráficos resulta numa maior produtividade por parte dos seus utilizadores que se sentem mais confortáveis com a aplicação. Outra ponto que interessa realçar é que as RIAs são muito mais eficientes que as típicas web-applications no que toca à troca de informação com o servidor, obtendo-se tempos de espera muito menores.

Imaginemos por exemplo uma aplicação de B2B de gestão de stocks e encomendas. Um distribuidor pretende que os retalhistas com quem trabalha possam usar uma aplicação do distribuidor para fazer reposição de stocks. Se essa aplicação for uma RIA o distribuidor terá somente que entregar ao retalhista o URL da aplicação, com as respectivas credenciais de acesso. O retalhista simplesmente terá que utilizar o seu web-browser para abrir a aplicação, fazer o login, e utilizá-la. Isto é algo que acontece actualmente com as aplicações web, mas no caso das RIAs o retalhista irá usar algo que é realmente uma aplicação, com um interface gráfico e interacção em tudo idênticos ao software desktop, e não um conjunto de páginas HTML que se assemelham a uma aplicação.

10- Como é feito o controlo de acesso e a segurança às redes RIA?

Os sistemas de controlo de acessos e a segurança são em tudo idênticas às actuais aplicações Web. Os paradigmas e preocupações são exactamente os mesmos, pelo que não há alteração nem no investimento nem no know-how necessário. Qualquer aplicação distribuída, seja ela desktop, web, ou ria, que troque dados num canal deverá garantir que esse canal é seguro através de algumas técnicas habituais - como o https.

11- Não há riscos acrescidos de pirataria informática e uma espécie de terrorismo financeiro (caso haja bases de dados financeiras disponíveis na rede)?

Não mais que o risco actualmente existente quando utiliza um sistema de home-banking, como o CaixaDirecta. Porém, é natural que com a proliferação das aplicações RIAs surjam empresas com lacunas a nível de desenvolvimento e segurança e seja complicado para o utilizador distinguir se deve confiar nessa empresa/aplicação ou não. Mas como sabe que pode confiar no seu sistema de home-banking?  Os riscos dependem sobretudo da seriedade e experiência da equipa de desenvolvimento, e do investimento que foi feito em segurança.

No caso de aplicações críticas, estas podem e devem ser colocadas a correr em ambientes controlados, em que a aplicação está acessível somente dentro da rede da empresa. O acesso externo poderá ser concedido em condições especiais, como por exemplo, VPN’s, ou a partes limitadas do sistema consoante as credenciais do utilizador.

12- Como irá funcionar a utilização destas aplicações?


Simples: abre o seu browser, que regra geral vem equipado com um plugin como o Adobe Flash Player ou Microsoft Silverlight e coloca o endereço da aplicação. Por vezes pode ser necessário fazer um login, mas a partir daí a utilização da aplicação será em tudo idêntica à utilização do seu software habitual. Existem algumas pequenas limitações nos plugins que raramente se notam, mas independentemente disso estou convicto que até ao final deste ano até essas limitações estarão completamente ultrapassadas. (Falava do Flash Player 10)

13- É sabido que algumas das aplicações são open-source e outras são pagas. Como são definidas as que terão custos e o que as tornam pagas?

Cabe a quem desenvolve tomar essa decisão. Tem exclusivamente a ver com o modelo de negócio escolhido, e com as vantagens e desvantagens dos modelos de licenciamento de software aberto ou fechado. Há casos em que o software open-source é completamente justificado. Por exemplo, a empresa decide disponibilizar gratuitamente o código fonte sendo as receitas geradas pelo suporte e formação. Ou ainda, porque desenvolveu um produto para optimizar o seu negócio (i.e. as receitas são resultantes do negócio e não da venda do software), e acha que se disponibilizar o código fonte do seu produto este irá melhorar com o tempo graças à participação de outras pessoas, resultando consequentemente numa mais valia para o seu negócio que se torna mais eficiente à medida que o software é melhorado.

Porém, está é uma questão que não é inerente às RIAs, mas a qualquer tipo de software.

14- O que se espera do mercado das aplicações desktop? Vai entrar em falência?

Não acredito. Simplesmente vai ter que se adaptar a uma nova realidade, em que o destaque está nos dados e não na aplicação, e aprender a co-existir com as Rich Internet Applications. Começa a surgir um novo conceito, o de Rich Desktop Application. Uma Rich Desktop Application (RDA) consiste numa aplicação que é instalada no nosso computador, mas que regra geral é composta essencialmente por um interface gráfico. Os dados e a camada de negócio encontram-se num servidor remoto. E porque queremos instalar uma RDA no nosso computador, se podemos usar uma RIA? Porque podemos não estar sempre ligados à Internet, e não queremos deixar de usar as nossas aplicações quando a ligação está indisponível -  neste caso, quando a ligação é reposta, os dados são sincronizados com o servidor. Ou simplesmente porque as RDAs não estão limitadas pelas restrições de segurança das sandboxes dos plugins sobre as quais assentam as RIAs, permitindo uma maior integração com o sistema operativo.

Como disse atrás, o destaque hoje em dia está nos dados e não na aplicação em si. O que o utilizador quer é ubiquidade: manipular os seus dados a partir de qualquer local, independentemente do sistema operativo, dispositivo, ou meio de acesso. O que é criado pelas equipas de desenvolvimento são diferentes terminais: Desktop, Web, RIA, ou mesmo aplicações móveis, mas todos eles acedem e manipulam os mesmos dados. Tecnologias de desenvolvimento de RIAs como o Adobe Flex permitem facilmente criar uma RIA, e depois reutilizar o código para criar uma RDA (neste caso, assente sobre Adobe Air).

15- Existem problemas de compatibilidade entre máquinas e sistemas informáticos (ex: PC e MAC)?

A compatibilidade de acesso a uma RIA é definida pelo suporte do plugin sobre o qual a RIA assente nos diferentes sistemas operativos.
O Flash Player, por exemplo, é actualmente suportado em Windows (XP, Vista, 2003, 2000, ME e 98), Linux, Macintosh e Solaris, com uma penetração na ordem dos 95% (http://www.adobe.com/products/player_census/flashplayer/version_penetration.html) . A versão Lite do Flash Player pode ainda correr em dispositivos móveis, mas implica a criação de source code específico para essa versão.
O Microsoft Silverlight é actualmente suportado em Windows (Vista,2003, XP) e Mac OS. Está a ser desenvolvido suporte para Linux, e para dispositivos móveis com Windows Mobile 6 e Symbian S60.
A Adobe possui ainda uma tecnologia denominada Adobe Air que permite transformar uma RIA numa RDA dando-lhe funcionalidades adicionais de integração com o sistema operativo. O Adobe Air é compatível de forma idêntica em todos os sistemas operativos, tal como o Flash Player.

Em resumo, uma das vantagens das RIAs é efectivamente o facto de que não está dependente do sistema operativo.

top