O documento discute a plataforma .NET da Microsoft, abordando sua introdução, arquitetura, linguagem C# e evolução das arquiteturas. A introdução descreve o que é .NET e sua framework, enquanto a arquitetura trata da máquina virtual, compilação e execução. A linguagem C# é a ênfase da plataforma e as arquiteturas evoluíram de cliente-servidor para N camadas.
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
Fundamentos do .NET Framework - Parte 1
2. Microsoft .NET C#
I) Introdução à plataforma .NET
.NET Framework no mundo do desenvolvimento
II) Arquitetura .Net
maquina virtual, compilação e execução
III) A linguagem C#
ênfase na linguagem
IV) Evolução de arquiteturas
I) Introdução a plataforma .NET
• O que é a Microsoft .NET?
• O que é a .NET Framework?
• Fundamentos da .NET Framework
• Common Language Runtime
• Base Class Library
3. Microsoft .NET é uma iniciativa da Microsoft que visa uma
plataforma única para desenvolvimento e execução de
sistemas e aplicações. Todo e qualquer código gerado para
.NET, pode ser executado em qualquer dispositivo ou
plataforma que possua um framework: a "Plataforma .NET".
Com idéia semelhante à plataforma Java, o programador
deixa de escrever código para um sistema ou dispositivo
específico e passa a escrever para a plataforma .NET.
Fonte: Wikipedia. Disponivel em http://pt.wikipedia.org/wiki/Microsoft_.NET .Acesso em:03/09/2008
4. A .NET Framework é a plataforma da Microsoft para construção
de aplicativos de interface rica (RIA), comunicação segura e a
capacidade para modelar vários processos de negócio.
Provê modelagem de programação consistente e um conjunto
comum de APIs ( Base Class Library (BCL) também conhecida
como Framework Class Library (FCL) ) ajudando a construir
aplicações que funcionam da maneira que você deseja, na
linguagem de programação de sua preferência, através de
software, serviços e dispositivos.
Fonte: Microsoft. Disponivel em http://www.microsoft.com/net/Overview.aspx. Acesso em:06/10/2008
5. A .NET Framework tem dois componentes principais: o ambiente comum de
execução de linguagem (Common Language Runtime (CLR) e a Base Class
Library (FCL).
CLR : é o alicerce da .NET
Framework. Podemos pensar o
runtime como um agente que gera
código em tempo de execução
prestando serviços essenciais.
Base Class Library: coleção de
tipos orientada a objetos reutilizáveis
que podem ser usados para
desenvolver aplicações que vão da
tradicional linha de comando até
interface gráfica com o usuário
(GUI).
Fonte: Microsoft http://msdn.microsoft.com/en-us/library/zw4w595w.aspx Acessado em 08/10/2008
8. Partial Class
Permite dividir a definição de uma classe (linha de código) em diversos
arquivos;
Windows Form: Form1.cs e Form1.Designer.cs.
Generics Class
Permite definir uma classe sem especificar o tipo dos parâmetros
ou o tipo dos membros da classe;
Acaba com a necessidade de Boxing e UnBoxing;
Collections Generics.
8
9. Microsoft .NET C#
I) Introdução à plataforma .NET
.NET Framework no mundo do desenvolvimento
II) Arquitetura .Net
maquina virtual, compilação e execução
III) A linguagem C#
ênfase na linguagem
IV) Evolução de arquiteturas
II) Arquitetura .Net
• Vantagens
•Desvantagens
•User Interfaces
•Arquitetura .Net
•Coleta de lixo
• Máquina virtual
•Como funciona?
10. Alta escalabilidade para ambientes de missão crítica.
Interoperabilidade entre plataformas e componentes
desenvolvidos em outras linguagens suportadas pela .NET
Framework.
Sintonizado com as últimas tecnologias.
Solução sendo mundialmente adotada.
Tecnologia baseada em máquina virtual.
Rotina automática de “coleta de lixo” que permite remoção
de variáveis e objetos que não são mais utilizados.
Novo ambiente de desenvolvimento acelerado (IDE VS).
Fim do “Dll HELL”
11. É um novo paradigma e requer aprendizado de novas
técnicas para fazer o melhor uso da
ferramenta, principalmente em POO.
Requer a distribuição do framework.
Em alguns casos de migração, requer reengenharia ou
reescrita completa do código.
12. O .NET Framework suporta tres tipos de interfaces com o
usuario:
Windows Forms (WinForms) o qual roda sobre cliente Win32.
Web Forms o qual roda com o ASP.NET
Console Applications, aplicacoes estilos DOS, “command prompt
window”.
12
13. Desenvolvimento para ambiente web e desktop de forma
simples e acelerada.
Funcionalidades que tornam a integração entre os dois
ambientes de forma fácil e ágil.
Ferramentas RAD para desenvolvimento.
Independência de linguagem de programação ( CLS ).
Compartilhamento de componente desenvolvidos entre as
diversas linguagens de forma transparente para o desenvolvedor.
FCL – Framework Class Library
16. Mecanismo de limpeza e desalocação de memória ;
Destrói e limpa automaticamente objetos que saíram de
referência;
Termina com o problema da referência circular;
Termina com problema de objetos órfãos que ocupam
memória.
16
17. Uso real de herança, polimorfismo e sobrecarga;
Fácil extensão de funcionalidades (escalabilidade);
Prepara o programador para as metodologias de
desenvolvimento orientadas a objeto.
17
18. Máquina virtual: o código gerado é compilado em linguagem
intermediária (MSIL).
O IL é distribuído para os clientes.
O compilador “just in time” (JIT) compila o código em IL para
linguagem de máquina.
20. Código Fonte F# C++ C#
Componente não
gerenciado
Compilador Compilador Compilador
Gerenciado
Assembly Assembly Assembly
MSIL MSIL MSIL
CLR
Compilador JIT
Código Nativo
Serviços do Sistema Operacional
21. Microsoft .NET C#
I) Introdução à plataforma .NET
.NET Framework no mundo do desenvolvimento
II) Arquitetura .Net
maquina virtual, compilação e execução
III) A linguagem C#
ênfase na linguagem
IV) Evolução de arquiteturas
III) A linguagem C#
• Por que C#?
• A linguagem C#
• ASP.NET
• Componentes importantes
22. Linguagem de programação criada para funcionar em
.Net.
Primeiro compilador a ser desenvolvido para a plataforma.
A maior parte da .NET Framework é escrita em C#.
Por tudo isto, a linguagem C# é considerada a linguagem
de desenvolvimento símbolo da .NET Framework.
23. É uma linguagem da família C++. Possui similaridades com a
linguagem Java e agrega alguns conceitos difundidos pelo
Object Pascal, como o uso de estruturas “properties” no
código.
Possui o conceito de programação genérica (Generics), que
permite implementação parametrizada em design-time
eliminando a necessidade de conversões de tipos e
verificações em run-time (similar aos templates da linguagem
C++).
24. A tecnologia ASP.Net é uma evolução da antiga tecnologia ASP (Active
Server Pages) da Microsoft.
Ao contrário da sua antecessora, as aplicações ASP.NET são compiladas
antes da execução, o que proporciona um maior ganho em desempenho.
Tecnologia da Plataforma .Net voltada para o desenvolvimento de
aplicações Web.
Componente do Internet Information Service (IIS).
Permite a criação de páginas HTML dinâmicas através de linguagem de
programação.
As aplicações podem ser escritas em várias linguagens (desde que
suportadas pela .Net Framework).
26. Remoting: Infra-estrutura de interação remota da plataforma. Permite a
comunicação dos clientes com objetos hospedados em domínios, locais
ou remotos.
Reflection (Reflexão): É um processo da .Net Framework que permite
obter informações sobre assemblies e tipos definidos dentro destes, além
da criação, invocação e acesso às instâncias de tipos em tempo de
execução.
Generics : É um mecanismo de linguagem de programação pelo qual um
único pedaço de código (método, objeto, interface, etc) pode manipular
tipos diferentes de dados sem ter explicitamente uma entidade separada
para cada tipo de dado.
27. Microsoft .NET C#
I) Introdução à plataforma .NET
.NET Framework no mundo do desenvolvimento
II) Arquitetura .Net
maquina virtual, compilação e execução
III) A linguagem C#
ênfase na linguagem
IV) Evolução das arquiteturas
IV) Evolução das arquiteturas
• Arquitetura Cliente/Servidor
• Arquitetura N camadas ( MVC )
28. Arquitetura Cliente/Servidor em Win32
Vantagens
É mais simples desenvolver as aplicações.
É mais simples testar as aplicações.
É mais simples distribuir e instalar as aplicações.
Desvantagens
Maior acoplamento da regra de negócio com a interface de usuário.
Menor coesão dos módulos devido a dependências através de hard-code.
Maior dificuldade de integração entre os módulos.
Maior dificuldade de atualizações de versão no cliente.
Desenvolvimento de ambiente web (Ex.: ASP) e desktop (Ex.: Borland Delphi)
com tecnologias distintas.
Maior custo para desenvolvimento de aplicações com flexibilidade e
escalabilidade (COM+,).
29. Interface web
Tecnologia de
acesso a dados SGBD
SQL Server ou
Oracle
Interface desktop
30. Arquitetura N Camadas com .Net
Vantagens
Menor acoplamento da regra de negócio com a interface de usuário.
Maior coesão dos módulos devido a independência de código.
Maior facilidade de integração entre os módulos.
Maior facilidade de atualizações de versão no cliente, podendo atualizar apenas parte de
um módulo.
Desenvolvimento de ambiente web e desktop com tecnologia unificada (.Net).
Menor custo para desenvolvimento de aplicações com flexibilidade e escalabilidade
(Remoting).
Permite maior escalabilidade.
Permite reaproveitamento de regras de negócio e cálculo.
Permite execução remota via WEB.
Desvantagens
Mais difícil de desenvolver as aplicações.
Mais difícil de distribuir e instalar.
Mais difícil de testar.
31. Interface ASP.NET/
WebForms
Regras de negócio Tecnologia
compartilhadas com ADO.NET de
Remoting acesso a dados SGBD
Interface WinForms
32. Front-end Servidor de Aplicação Banco de Dados
.NET Framework .NET Framework
Cliente do Banco de Dados
33. Front-end Banco de Dados
Servidores de Aplicação