Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
A nova tecnologia de Microsoft oferece soluções aos problemas de programação atuais, como são a administração de código ou a programação para Internet. Para aproveitar ao máximo as características de .Net é necessário entender a arquitetura básica na que está implementada esta tecnologia e assim se beneficiar de todas as características que oferece esta nova plataforma. O Framework de .Net é uma infra-estrutura sobre a que se reúne todo um conjunto de linguagens e serviços que simplificam enormemente o desenvolvimento de aplicações. Mediante esta ferramenta se oferece um ambiente de execução altamente distribuído, que permite criar aplicações robustas e escaláveis. Os principais componentes deste ambiente são: Linguagens de compilação Biblioteca de classes de .Net CLR (Common Language Runtime) Atualmente, o Framework de .Net é uma plataforma não incluída nos diferentes sistemas operacionais distribuídos por Microsoft, pelo qual é necessária sua instalação prévia à execução de programas criados mediante .Net. O Framework se pode baixar gratuitamente através da web oficial de Microsoft (ver link de download nos recursos do final). .Net Framework suporta múltiplas linguagens de programação e embora cada linguagem tenha sua características próprias, é possível desenvolver qualquer tipo de aplicação com qualquer destas linguagens. Existem mais de 30 linguagens adaptadas a .Net, desde as mais conhecidas como C# (C Sharp), Visual Basic ou C++ até outras linguagens menos conhecidas como Perl ou Cobol. Common Language Runtime (CLR) O CLR é o verdadeiro núcleo do Framework de .Net, já que é o ambiente de execução no qual se encarregam as aplicações desenvolvidas nas distintas linguagens, ampliando o conjunto de serviços que oferece o sistema operacional padrão Win32. A ferramenta de desenvolvimento compila o código fonte de qualquer uma das linguagens suportadas por .Net em um mesmo código, denominado código intermediário (MSIL, Microsoft Intermediate Lenguaje). Para gerar tal código o compilador se baseia no Common Language Specification (CLS) que determina as regras necessárias para criar código MSIL compatível com o CLR. Desta forma, indistintamente da ferramenta de desenvolvimento utilizada e da linguagem escolhida, o código gerado é sempre o mesmo, já que o MSIL é a única linguagem que entende diretamente o CLR. Este código é transparente ao desenvolvimento da aplicação já que o gera automaticamente o compilador. Entretanto, o código gerado em MSIL não é código máquina e portanto, não pode se executar diretamente. Necessita-se um segundo passo no qual uma ferramenta denominada compilador JIT (Just-In-Time) gera o código máquina real que se executa na plataforma que tenha o computador. Desta forma se consegue com .Net certa independência da plataforma, já que cada plataforma pode ter seu compilador JIT e criar seu próprio código máquina a partir do código MSIL. A compilação JIT realiza o CLR à medida que se invocam os métodos no programa e, o código executável obtido, se armazena na memória cache do computador, sendo recompilado só quando se produz alguma mudança no código fonte. Biblioteca de classes de .Net Quando se está programando uma aplicação muitas vezes se necessitam realizar ações como manipulação de arquivos, acesso a dados, conhecer o estado do sistema, implementar segurança, etc. O Framework organiza toda a funcionalidade do sistema operacional em um espaço de nomes hierárquico de forma que na hora de programar resulta bastante simples encontrar o que se necessita. Para isso, o Framework possui um sistema de tipo universal, denominado Common Type System (CTS). Este sistema permite que o programador possa interagir os tipos que se incluem no próprio Framework (biblioteca de classes de .Net) com os criados por ele mesmo (classes). Desta forma se aproveitam as vantagens próprias da programação orientada a objetos, como a herança de classes pré-definidas para criar novas classes, ou o polimorfismo de classes para modificar ou ampliar funcionalidades de classes já existentes. A biblioteca de classes de .Net Framework inclui, entre outros, três componentes chave: ASP.NET para construir aplicações e serviços Web. Windows Forms para desenvolver interfaces de usuário. ADO.NET para conectar as aplicações a bancos de dados. A forma de organizar a biblioteca de classes de .Net dentro do código é através dos espaços de nomes (namespaces), onde cada classe está organizada em espaços de nomes segundo sua funcionalidade. Por exemplo, para manejar arquivos se utiliza o espaço de nomes System.IO e se o que se quer é obter informação de uma fonte de dados se utilizará o espaço de nomes System.Data. A principal vantagem dos espaços de nomes de .Net é que desta forma se tem toda a biblioteca de classes de .Net centralizada sob o mesmo espaço de nomes (System). Ademais, através de qualquer linguagem se usa a mesma sintaxe de invocação, já que a todas as linguagens se aplica a mesma biblioteca de classes. Ensamblados Um dos maiores problemas das aplicações atuais é que em muitos casos têm que tratar com diferentes arquivos binários (DLL´s), elementos de registro, conectividade aberta a bancos de dados (ODBC), etc. Para solucionar o Framework de .Net maneja um novo conceito denominado ensamblado. Os ensamblados são arquivos com forma de EXE ou DLL que contém toda a funcionalidade da aplicação de forma encapsulada. Portanto a solução ao problema pode ser tão fácil como copiar todos os ensamblados no diretório da aplicação. Com os ensamblados já não é necessário registrar os componentes da aplicação. Isto se deve a que os ensamblados armazenam dentro de si mesmos toda a informação necessária no que se denomina o manifesto do ensamblado. O manifesto percorre todos os métodos e propriedades em forma de meta-dados junto com outra informação descritiva, como permissões, dependências, etc. Para gerenciar o uso que fazem das aplicações dos ensamblados .Net utiliza o chamado cache global de ensamblados (GAC, Global Assembly Cache). Assim, .Net Framework pode hospedar no GAC os ensamblados que possam ser usados por várias aplicações e inclusive distintas versões de um mesmo ensamblado, algo que não era possível com o anterior modelo COM.