.NET Framework e seus recursos : evoluir é preciso...

Olá pessoal, tudo certo?

Alguns posts atrás, falamos sobre os desafios para a evolução de soluções baseadas em versões antigas do .NET Framework. Na verdade, para muitas empresas essas versões ainda são plataformas correntes, devido uma série de fatores históricos de cada empresa ou indústria. Veja o post aqui.

O grande risco do adiamento dessa atualização é a perda de agilidade para o negócio, além da impossibilidade de utilização de recursos e avanços oferecidos pelas novas tecnologias.

Para relembrar os frameworks disponíveis na plataforma .NET e suas versões, veja a figura abaixo (atualizei a figura em relação ao post anterior):

image

Cada atualização do .NET Framework, a partir da versão 2.0, adicionou novos recursos e frameworks, acompanhando necessidades de mercado ou inovações oferecidas pela plataforma, como protocolos, bindings, estruturas, etc. Porém, ao longo dessa evolução, a CLR - Commun Language Runtime foi mantida, o que garantiu a compatibilidade entre todas as versões.

Além desses pacotes, outras tecnologias estão em desenvolvimento como Velocity - para construção de uma camada de cache unificado, Sync - para o tratamento de sessões de sincronização entre participantes de uma solução, além de melhorias adicionadas ao WCF 4.0, WF 4.0, Linguagem C#, etc. Tem muita coisa chegando em 2009, sem falar na interoperabilidade com a plataforma de serviços do Windows Azure (in the cloud), como o SQL Services, .NET Services, Live Services, etc.

image

Estive recentemente com uma empresa onde a área de usuários exigiu a migração de uma interface VB6 para WPF - Windows Presentation Foundation, para uma aplicação cliente desktop. O desempenho era bom, a aplicação era madura, os problemas eram mínimos, não havia de fato problema que justificasse mudar a aplicação. Mas o que chamou a atenção dos usuários foi a possibilidade de construir uma experiência de usuário mais rica, ao estilo RIA - Rich Internet Application, que esses mesmos usuários já utilizam na Web, no dia-a-dia. Customização de interface, gráficos dinâmicos, novas mídias, streamming, protocolos do Web 2.0, como POX, REST, sindicalização, etc, são inúmeros os recursos que podem ser adicionados na nova interface de hoje, suportando os conceitos de UX (Usabilidade).

Podemos até adaptar uma expressão da área de marketing que anda muito em alta, a chamada "OPEN brand". Falaríamos então de "OPEN interface" , um acrônimo para On-demand (sob-demanda), Personal (pessoal), Engaging (Envolvente) e Networks (Redes). Uma interface que aproveita a essência da força do Web 2.0, com as novas tendências de adaptação e flexibilidade entre ambientes on-premise e in the cloud.

Por isso, se sua empresa ainda trabalha com tecnologias anteriores ao .NET 3.0, recomendo começar um plano estratégico de evolução/atualização tecnológica. Veja que esse plano não deve relacionar todas as aplicações para recompilação apenas. Antes, vale identificar quais cenários são relevantes para a atualização, quais aplicações podem ser consolidadas, quais aplicações possuem um tempo de vida curto e ainda quais sistemas são estratégicos e merecem um cuidado especial ou prioritário.

Veja se você concorda comigo: Nossos usuários estão mais exigentes, assim como o mercado, em busca do negócio ágil. Verdade? Planejar o futuro para uma evolução constante do ambiente de TI, assim como acompanhar as tendências no setor é nossa obrigação como arquitetos. Verdade? Aplicações de composição integrando serviços locais e serviços remotos, com experiência rica é uma tendência. Verdade? :)

Por enquanto é só! Até o próximo post :)

Waldemir.