Clique aqui para ler este artigo em pdf imagem_pdf.jpg

msdn02_capa.jpg

Clique aqui para ler todos os artigos desta edição

 

Microsoft Windows Code Name LONGHORN

 

A Nova Versão do Windows

por Eurico Soalheiro Brás

O novo sistema operacional da Microsoft, atualmente conhecido pelo nome código “Longhorn”, trará ao mercado uma plataforma para escrita de um novo tipo de aplicações, combinando completamente o melhor da Web e do Windows.

A versão liberada no último Microsoft Professional Developers Conference em Los Angeles, no mês de outubro, é voltada exclusivamente aos desenvolvedores, que são os maiores beneficiados por esse sistema operacional. Aliás, podemos definir o “Longhorn” como um grande avanço em relação ao Windows XP e ao modelo atual de desenvolvimento de aplicações, e não apenas como uma simples versão de atualização. Os profissionais de infra-estrutura poderão continuar a trabalhar com o atual Windows Server 2003 em seus servidores, que juntamente com o “Longhorn”, será o suporte à estratégia de sistemas operacionais da Microsoft para os próximos anos.

O novo Windows “Longhorn” é otimizado para aplicações que se caracterizem por uma combinação de recursos locais e da rede. Essas aplicações se comunicam entre si por meio de recursos de rede ou internamente, no servidor hospedeiro, através da componentização do sistema (participando de uma arquitetura orientada a serviços). Isso tornará as aplicações disponíveis o tempo inteiro, seja online ou offline.

Os serviços e as novas APIs do “Longhorn” estão sendo desenvolvidos para atender as necessidades de desenvolvimento dessas aplicações novas, que hoje trazem uma série de problemas no que se refere à abordagem “online x offline / Web x Windows” do desenvolvimento, à conexão, à manutenção, à instalação e ao suporte. As soluções para esses problemas oferecidas pelas ferramentas e estratégias atuais obrigam o desenvolvedor a utilizar diferentes caminhos para cada tipo de aplicação, o que faz com que ele canalize seu tempo em questões menos importantes, tornando o desenvolvimento de software muitas vezes improdutivo e sem criatividade.

As novas aplicações “Longhorn” apresentarão as seguintes características:

Ø      Funcionamento online ou offline com no-touch deployment;

Ø      Conectividade total independentemente da topologia ou do mecanismo utilizado na rede;

Ø      Colaboração total com outras aplicações através de diversos mecanismos, como shared-data, eventos e comunicação;

Ø      Segurança reforçada através de políticas de acesso (CAS – Code Access Security).

 

O sistema "Longhorn" também será totalmente compatível com as aplicações atuais, o que tornará a execução transparente e permitirá atualizá-las gradualmente por meio da incorporação das novas funcionalidades. Em resumo, no “Longhorn” podemos ter aplicações totalmente escritas para ele, aplicações híbridas com características novas e antigas ou aplicações antigas (legado), rodando lado a lado sem problemas de compatibilidade ou desempenho.

Um dos objetivos do "Longhorn" é facilitar a instalação das aplicações através de uma tecnologia chamada “ClickOnce”, que permitirá distribuir correções e novas versões da aplicação através de tecnologia de instalação baseada na Web. Para os interessados em começar a trabalhar desde já com o “ClickOnce”, aconselho um estudo da nova versão do Visual Studio .NET “Whidbey”.

 

Introdução ao Novo Sistema

O sistema operacional apresenta um novo conjunto de APIs para desenvolvimento em código totalmente gerenciado, chamado WinFX. Esse novo conjunto de APIs equivale em termos de funcionalidade às APIs do Win32, porém apresenta muitas classes novas que anteriormente só eram possíveis através de diferentes mecanismos indiretos, tais como COM+, ATL e MFC. O ponto chave consiste no fato de o código das APIs ser totalmente gerenciado, como encontramos atualmente no .NET Framework, o que nos leva a acrescentar que o WinFX contém as todas classes presentes no .NET Framework, além de novas classes.

Nos próximos artigos, discutiremos em detalhes esse completo e sofisticado conjunto de APIs. Por ora, vamos nos limitar a apresentar as principais novidades e vantagens desse revolucionário sistema operacional.

Podemos dividir as principais características do “Longhorn” em três partes (subsistemas), a saber: “Avalon”, “WinFS” e “Indigo”, conforme mostrado na Figura 1.


image001.gif

Figura 1 – Fundamentos do Longhorn, os três principais pilares.

 

Estes três principais pilares, “Avalon”, “WinFS” e “Indigo” são, respectivamente, os responsáveis por atender às necessidades de apresentação, armazenamento e comunicação dos dados da aplicação. A seguir, conheceremos os principais problemas relacionados a eles.

Apresentação

A Apresentação vai levar em conta uma série de aspectos que costumamos tratar de forma distinta, dependendo do tipo da aplicação desenvolvida, isto é, Web ou Windows. Em geral, desenvolvemos uma aplicação Web quando visamos a facilidade de distribuição, uma vez que não é necessário nenhum tipo de instalação. Entretanto, elas possuem uma séria desvantagem no que se refere a problemas com a infra-estrutura de comunicações, sendo praticamente impossível operarem no modo desconectado (offline). Nesse caso, utilizamos as aplicações Windows tradicionais, que apresentam ainda mais dificuldades quando se trata de navegar em busca de informações, característica excelente no ambiente Web mas inexistente ou difícil de implementar no ambiente Windows.

Armazenamento

O Armazenamento de informações também é um problema atual da maioria das aplicações, especialmente quando se trata de buscar dados armazenados. Os computadores pessoais possuem capacidade de armazenamento acima de 50 GB, e todo usuário já enfrentou o pesadelo de tentar achar um documento específico no meio desse mar de dados. Os mecanismos atuais de busca não atendem plenamente a essa necessidade e com o incremento da capacidade de armazenamento e sofisticação das aplicações, teremos cada vez mais dados para guardar, classificar e recuperar.

Comunicação

Com o advento da Internet, as aplicações deixaram de ser ilhas isoladas e a conectividade tornou-se onipresente (e, com ela, o compartilhamento de dados entre aplicações, sejam Web ou não). No ambiente de desenvolvimento, existem diversos mecanismos com este objetivo, tais como Web Services, .Net Remoting, RPC, COM+ e vários outros proprietários, que tornam muitas vezes o desenvolvimento de aplicações interoperáveis um tanto complexo e não-padronizado.

Também é necessário obter mecanismos que permitam que aplicações escritas para funcionar conectadas (online) funcionem parcialmente quando desconectadas (offline), sem necessidade de se alterar radicalmente seu desenvolvimento e funcionalidade.

Conhecidos os problemas principais, passemos agora às soluções apresentadas pelo “Longhorn”.

 

Avalon – O subsistema de Apresentação

"Avalon" é o nome código para o novo subsistema de apresentação e mídia do “Longhorn”. O subsistema "Avalon" representa uma significativa evolução da tecnologia de apresentação atual, e tem por objetivo permitir aos desenvolvedores a construção de interfaces de usuário de alta qualidade que integrem o conteúdo multimídia. Outro ponto fundamental é que este desenvolvimento não é impactado por diferenças no estado e na localização da aplicação, ou seja, teremos o mesmo aplicativo independentemente de este ter sido desenvolvido para Web ou para Windows ou se vai ser executado conectado ou desconectado.

O subsistema “Avalon” incluirá, além das classes atuais do .NET Framework, algumas classes novas, como MSAvalon.Windows, MSAvalon.Windows.Controls e MSAvalon.Windows.Media. O desenvolvedor poderá utilizar todas as linguagens de programação suportadas pela .NET Common Language Specification (CLS), como o C# e o Visual Basic® .NET. Essas linguagens permitirão o desenvolvimento de aplicações semelhantes às atuais Windows Forms. Por fim, a ferramenta Visual Studio .NET será utilizada da mesma forma.

Além disso, o “Avalon” também trará uma novidade à area de desenvolvimento de interfaces de usuário: o uso de uma nova linguagem markup, a “XAML"—Extensible Application Markup Language. A utilização de XAML é muito parecida com o uso de HTML, e poderemos definir o layout de textos, imagens e controles. Por analogia, podemos comparar o desenvolvimento com XAML ao de páginas ASP.NET. Da mesma forma que nas páginas ASP.NET a lógica da aplicação fica completamente separada da interface de usuário, no XAML os elementos da interface do usuário ficam separados da lógica que os gerou. Veja a seguir a tradicional aplicação “Hello World” (Figura 2) e seu respectivo código.

 

image002.gif
Figura 2
– A tradicional aplicação “HELLO WORLD” em “Avalon”.

 

Pelo exemplo de código XAML notamos que a sintaxe é a mesma do XML ou HTML, ou seja, tags, elementos e textos.