Professional Documents
Culture Documents
Net Framework
Aluno
Luiz GUStavo Martins
Matria
Sistemas de Objetos Distribudos
Roteiro
Origem
O que .NET , Caractersticas e Como funciona
CLR
Web Forms
Web Services
Servidores .NET
Pros e Contras
Referncias
2
Origem do .NET
1996
Internet
1st Gen
IE/IIS
1997
Internet
2nd Gen
2000
Internet
3rd Gen
WinDNA
1992
Client/Server
.NET
Win32
3
O que .NET?
Caractersticas da Plataforma
.Net
Independncia de Sistema Operacional
A plataforma compila o programa para cdigo
nativo antes da primeira execuo
Caractersticas da Plataforma
.NET
Facilidade de Distribuio
Ao ser compilado os executveis anotam as
verses das DLLs que foram utilizadas
Os executveis rodam utilizando sempre as
DLLs com que foram compilados
No necessrio mais registrar o programa. O
assemblie contm toda informao necessria
para o funcionamento do programa
7
Caractersticas da Plataforma
.NET
Confiabilidade
Tipagem forte (type safety) , todas as
classes .NET derivam de uma mesma classe
me, Object
Coleta de lixo em todas linguagens .NET
Como Funciona?
Source
code
Managed
code
VB
C#
C++
Compiler
Compiler
Compiler
Assembly
IL Code
Assembly
IL Code
Assembly
IL Code
Unmanaged
Component
CLR
Security
Execution
Support
Base Classes
IL to
native code
compilers
Frameworks
10
CLR
CLR Common Language Runtime
Foi escrita do 0
Controla a execuo de cdigo no .NET Framework
Compila cdigo IL para cdigo nativo da mquina
antes da primeira execuo do programa
Carrega classes necessrias para o programa sendo
executado
Refora as checagens de segurana
No uma Mquina Virtual como em Java
11
Como Funciona?
EXEs e DLLs tem um formato especfico de
arquivo (PE Portable Executable)
Windows consegue executar e carregar EXEs e
DLLs porque entende esse formato
Os programas .NET tem alguns dados a mais que
avisam o sistema operacional que a CLR deve ser
ativada e a partir disso cuida do carregamento e
execuo desse arquivo e de todos componentes
requisitados por ele
12
Como Funciona?
Gerando o Assemblie
Assemblie
Source Code
Compilador
csc.exe ou vbc.exe
C++, C#, VB ou
qualquer
linguagem .NET
DLL ou EXE
13
Executavel Porttil
Exemplo
MyExample.DLL
Metadata
IL
Managed
code
Resources
14
Meta-Dados
Dados sobre os dados
Inclui informaes sobre tipos que define
ou que utiliza
Informao sobre verso
Referncia a assemblies externos com dll
que so usadas e suas espectivas verses
Descries sobre mdulos, classes, campos,
propriedades, eventos, etc
15
Metadata
A CLR usa para verificao, reforo de segurana,
layout da memria e para a execuo
O Carregador de Classes utiliza para achar e
carregar classes .NET ja que os meta-dados
contm informao de onde essas classes se
encontram, mesmo que em outro assemblie na rede
JIT usa metadata para compilar o programa antes
da primeira execuo
16
Metadata
Classes reflexivas podem ler o metadata em
tempo de execuo
Sem metadata a plataforma no poderia
prover verificao de tipos, segurana,
adminstrao de memria, depurao, etc
Resumindo no existiria .NET sem metadados
17
18
Caractersticas Entre As
Linguagens
Suporte entre linguagens e componentes
Herana
Tratamento Excees
Depurao
20
Exemplo em VB.NET
Import System
Public Module modmain
Sub Main()
Console.WriteLine(visite www.gustheman.com !!)
End Sub
End Module
22
Exemplos em C#
using System;
class MainApp
{
public static void Main()
{
Console.WriteLine(visite www.gustheman.com !!);
}
}
23
Exemplo em IL
.class private auto ansi MainApp
Extends [mscorlib]System.Object
{
.method public hidesyg static
void Main() cil managed
{
.entrypoint
.maxstack 8
24
Exemplo de IL
ldstr visite www.gustheman.com!!
call void [mscorlib]System.Console::WriteLine( classe
System.String )
ret
} // fim do metodo MainApp::Main
.method public hydebysig specialname rtspecialname
instance void .ctor() cil managed
{
.maxstack 8
25
Exemplo de IL
ldarg.0
call instace void
[mscorlib]System.Object::.ctor()
ret
} // fim do metodo MainApp::.ctor
}// fim da classe MainApp
26
Web Forms
Nova maneira de se desenvolver pginas HTML
A pgina compilada na primeira execuo e a
verso compilada usada nas demais chamadas
Desenvolvimento fcil, parecido com o
desenvolvimento antigo do VB ou Visual C++
A Pgina gerada s tem HTML padro, podendo
ser vista em qualquer navegador (browser) sem
problemas
27
Web Forms
Separao clara entre a lgica da pgina
(cdigo) e o design (HTML)
A parte lgica pode ser escrita em qualquer
linguagem .NET
Cdigo ASP antigo ainda suportado
Melhor controle de sesso, permitindo
maior escalabilidade
28
Web Services
Software como um Servio
Possibilita o uso de componentes atravs do
protocolo padro de HTTP
Software podem se comunicar usando XML e
Internet
Micro$oft ja disponibiliza o sevio de
autenticao Passport
O projeto HailStorm uma evoluo do Passport,
com muito mais servios
29
Web Services
Web
Service
XML
XML
Web
Service
HTML
Cliente
XML
Web
Service
30
Web Services
UDDI Universal Description, Discovery and
Integration Pginas Amarelas de Web Services
SOAP + XML
WSDL Web Services Description Language
Descrio da interface oferecida pelo web service
Feita em XML
Parecido com IDL (COM)
31
Servidores .NET
Servidores que ajudam na distribuio e
hospedagem de software e servios .NET
Na famlia de servidores oferecidos temos:
SQL server 2000, alta disponibilidade e suporte a XML
nativo
Application center, servidor que controla grupos de
servidores, tornando mais fcil a administrao
33
Servidores .NET
Mais Servidores
Exchange servidor de mails
Biz talk fornece ferramentas necessrias para
integrao de aplicativos heterogneos.
Host Integration Server Integra novos
sistemas com os dados e recursos de mainframe
34
.Net Pros
Tem suporte a mltiplas linguagens
C#, Managed C++, VB.NET, ASP.NET
Perl, Cobol, Pascal esto sendo portados por outras
empresas
.Net contras
mais uma plataforma de
desenvolvimento, o que significa reescrever
cdigo e aprender novos truques
Atualmente s disponvel para Windows
36
Perguntas?
37
Referncias
MSDN
www.google.com
38