Revista MSDN Magazine Edição 02 - Microsoft Windows Code Name LONGHORN

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.

Clique aqui para ler este artigo em pdf

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.


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.

 


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.

 

Background="BlanchedAlmond"

FontFamily="Comic sans MS"

FontSize="36pt"

HorizontalAlignment="Center">

Hello, world!

 

Muitas aplicações escritas para o “Avalon” vão combinar o uso de código tradicional e XAML. Entretanto, o XAML destina-se apenas à definição da interface de usuário visual inicial e não permite escrever rotinas para processamento de dados em geral. Essa função continuará sendo executada pelo código tradicional, mas podemos optar por não usar o XAML e permanecer no código gerenciado .NET.

 

Armazenamento dos dados – O novo WinFS

"WinFS" é o nome código do subsistema de armazenamento e tratamento de dados do “Longhorn”. O "WinFS" simplifica o processo de armazenamento, organização, localização e compartilhamento de dados do usuário. Além do tradicional acesso a dados relacionais (ADO), o novo subsistema nos traz um sistema centralizado de armazenamento e um conjunto de APIs para armazenamento e localização de documentos e contatos.

O “WinFS” conserva o armazenamento de itens e suas propriedades e oferece um serviço do sistema “Longhorn” para recuperar essas informações quando necessário. Os usuários poderão organizar, relacionar e interagir com documentos, músicas, vídeos, fotos, e-mail, contatos, e todos os outros tipos de informações, de forma mais simples e eficiente. (Figura 3).



Figura 3
– Tipos de informações de um usuário e suas localizações.

 

O "WinFS" suporta eficientes mecanismos de indexação de conteúdo de arquivos, permitindo assim buscas altamente seletivas, impossíveis em outros sistemas de arquivos. Com o “WinFS", podemos pesquisar por meio de diversos critérios diferentes, como nome, autor, data de revisão, palavras-chave e títulos.

No "Longhorn", os arquivos poderão ser armazenados tanto no “WinFS" como no NTFS (que continua existindo). No entanto, o "WinFS" será muito mais eficiente para organizar, procurar e compartilhar arquivos. No "Longhorn" os arquivos vão poder ser armazenados tanto no “WinFS" ou no NTFS que continua existindo, porém o "WinFS" será muito mais eficiente para organizar, procurar e compartilhar arquivos. Podemos continuar utilizando o NTFS para armazenar os arquivos com pouca ou nenhuma necessidade de busca e compartilhamento.

A arquitetura básica do WinFS é mostrada na Figura 4. Seguindo o modelo padrão do “Longhorn”, as novas APIs utilizam código gerenciado e são acessadas da mesma forma que as APIs do “Avalon”, ou seja, por meio de linguagens .NET. Essa abordagem vai permitir a construção de aplicações que possam explorar de maneira eficiente os dados armazenados e abrirá novas possibilidades para aplicações de CRM, agendas, acompanhamento de vendas etc, que lidam com muitas partes de informações armazenadas de forma dispersa em diferentes arquivos.



Figura 4
– Arquitetura do WinFS.


Comunicação – O novo “Indigo”

"Indigo" é o conjunto de tecnologias .NET para construção e execução de sistemas conectados. Ele será parte integrante do “Longhorn” e também será suportado pelo Windows XP e pelo Windows Server 2003.

O “Indigo” foi construído com o intuito de permitir a comunicação de aplicações por meio da arquitetura Web services atual. O suporte do “Indigo” a essa arquitetura oferece segurança, alta disponibilidade e sistema de mensagens transacional.

O “Indigo” trabalhará no modelo de programação service-oriented e reunirá uma grande variedade de recursos do sistema distribuído em uma arquitetura extensível, que abrange transportes, segurança, padrões de mensagens, codificação, topologia de rede e modelos de hospedagem. (Figura 5).


Figura 5 – Arquitetura do Índigo.

 

O “Indigo” foi construído do zero e segue o princípio de orientação a serviços, isto é, enquanto o desenvolvimento orientado a objetos vê um sistema como um conjunto de classes interagindo entre si através de uma rede, a orientação a serviços trata o tema como um conjunto de serviços independentes que se comunicam através de redes públicas e privadas.

Todas as características do “Indigo” são oferecidas através de APIs gerenciadas .NET (managed code) e, por esse motivo, as aplicações “Indigo” são construídas com o .NET Framework. O “Indigo” pretende estender e aperfeiçoar a estrutura .NET atual, abrangendo ASP.NET Web services/ASMX, Web Service Enhancements (WSE), .NET Remoting, System.Messaging, e Enterprise services. Por fim, o “Indigo” oferecerá também um superset de funcionalidades atuais do MSMQ e do COM+.

 

Conclusão

Neste artigo introdutório, apresentamos o novo sistema operacional Windows “Longhorn”. Os seus principais subsistemas são o “Avalon” (para apresentação), “WinFS” (para armazenamento) e “Indigo” (para comunicação), todos inteiramente programáveis em código gerenciado .NET através de qualquer linguagem (como, por exemplo, C# ou Visual Basic .NET). Também descrevemos a nova e prática interface gráfica de usuário, que além de poder ser programada do modo tradicional, pode ser programada com a nova linguagem de markup XAML.

O objetivo do “Longhorn” é unificar (reunir) os modelos de aplicação Web e Windows, trazendo ao mundo uma nova e poderosa família de aplicações, independentemente de elas serem isoladas ou totalmente conectadas.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados