1.net framework aluno luiz gustavo martins matéria sistemas de objetos distribuídos
TRANSCRIPT
![Page 1: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/1.jpg)
1
.Net Framework
AlunoLuiz GUStavo Martins
MatériaSistemas de Objetos Distribuídos
![Page 2: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/2.jpg)
2
Roteiro
• Origem• O que é .NET , Características e Como funciona• CLR• Web Forms• Web Services• Servidores .NET• Pros e Contras• Referências
![Page 3: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/3.jpg)
3
Origem do .NET
20002000InternetInternet33rdrd Gen Gen
.NET.NET
19961996InternetInternet11stst Gen Gen
IE/IISIE/IIS
19971997InternetInternet22ndnd Gen Gen
WinDNAWinDNA19921992Client/ServerClient/Server
Win32Win32
![Page 4: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/4.jpg)
4
O que é .NET?
• Fábula dos 3 cegos• É só uma nova linguagem?• É um Visual Studio novo?• É só um ambiente para troca de mensagens
e dados baseados em SOAP e XML?• É tudo isso e muito mais!!!
![Page 5: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/5.jpg)
5
O que É .NET Framework?
• Plataforma para desenvolvimento e execução de software
• Criada visando o desenvolvimento de software para a internet e aplicações distribuídas
![Page 6: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/6.jpg)
6
Características da Plataforma .Net
• Independência de Sistema Operacional– A plataforma compila o programa para código
nativo antes da primeira execução
• Integração entre Linguagens– Todas as linguagens .NET utilizam a mesma
API de desenvolvimento
![Page 7: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/7.jpg)
7
Características da Plataforma .NET
• Facilidade de Distribuição– Ao ser compilado os executáveis anotam as
versões das DLL’s que foram utilizadas– Os executáveis rodam utilizando sempre as
DLL’s com que foram compilados– Não é necessário mais registrar o programa. O
“assemblie” contém toda informação necessária para o funcionamento do programa
![Page 8: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/8.jpg)
8
Características da Plataforma .NET
• Confiabilidade– Tipagem forte (“type safety”) , todas as
classes .NET derivam de uma mesma classe mãe, Object
– Coleta de lixo em todas linguagens .NET
![Page 9: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/9.jpg)
9
Como Funciona?VBVBSource Source
codecodeCompilerCompiler
C++C++C#C#
CompilerCompilerCompilerCompiler
AssemblyAssemblyIL CodeIL Code
AssemblyAssemblyIL CodeIL Code
AssemblyAssemblyIL CodeIL Code
Operating System ServicesOperating System Services
Common Language RuntimeCommon Language Runtime
JIT CompilerJIT Compiler
Native CodeNative Code
ManagedManagedcodecode
UnmanagedUnmanagedComponentComponent
![Page 10: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/10.jpg)
10
CLRC
omm
on L
angu
age
Run
time
Com
mon
Lan
guag
e R
untim
e
FrameworksFrameworks
Class loader and layoutClass loader and layout
IL to
IL
to
nativ
e co
de
nativ
e co
de
com
pile
rsco
mpi
lers
GC, stack walk, code managerGC, stack walk, code manager
Secu
rity
Secu
rity
Exec
utio
nEx
ecut
ion
Supp
ort
Supp
ort
Base ClassesBase Classes
![Page 11: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/11.jpg)
11
CLR
• CLR – Common Language Runtime– Foi escrita do 0– Controla a execução de código no .NET Framework– Compila código IL para código nativo da máquina
antes da primeira execução do programa– Carrega classes necessárias para o programa sendo
executado– Reforça as checagens de segurança– Não é uma Máquina Virtual como em Java
![Page 12: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/12.jpg)
12
Como Funciona?
• EXEs e DLLs tem um formato específico 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 execução desse arquivo e de todos componentes requisitados por ele
![Page 13: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/13.jpg)
13
Como Funciona?
• Gerando o Assemblie
Source CodeSource Code
C++, C#, VB ou C++, C#, VB ou qualquer qualquer linguagem .NETlinguagem .NET
csc.exe ou vbc.execsc.exe ou vbc.exeCompiladorCompilador
AssemblieAssemblie
DLL ou EXEDLL ou EXE
![Page 14: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/14.jpg)
14
Executavel Portátil
• Exemplo
MetadataMetadata
IL IL Managed Managed
codecode
ResourcesResources
MyExample.DLLMyExample.DLL
![Page 15: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/15.jpg)
15
Meta-Dados
• “Dados sobre os dados”• Inclui informações sobre tipos que define
ou que utiliza• Informação sobre versão• Referência a assemblies externos com dll
que são usadas e suas espectivas versões • Descrições sobre módulos, classes, campos,
propriedades, eventos, etc
![Page 16: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/16.jpg)
16
Metadata
• A CLR usa para verificação, reforço de segurança, layout da memória e para a execução
• O Carregador de Classes utiliza para achar e carregar classes .NET ja que os meta-dados contém informação de onde essas classes se encontram, mesmo que em outro assemblie na rede
• JIT usa metadata para compilar o programa antes da primeira execução
![Page 17: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/17.jpg)
17
Metadata
• Classes reflexivas podem ler o metadata em tempo de execução
• Sem metadata a plataforma não poderia prover verificação de tipos, segurança, adminstração de memória, depuração, etc
• Resumindo não existiria .NET sem meta-dados
![Page 18: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/18.jpg)
18
I.L. – Intermediate Language
• Linguagem totalmente orientada a objetos• Projetada para ser compilada e não
interpretada• A IL é para a plataforma .NET o que o
bytecode é para Java
![Page 19: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/19.jpg)
19
Operações entre as linguagens
• Um componente é criado usando a linguagem A e é chamado MyNamespace.dll
• Em um componente separado escrito na linguagem B nós podemos importar o assemblie...– #using MyNamespace.dll
• E então podemos acessar a classe normalmente– using namespace MyNamespace;– MyClass *cls = new MyClass();– result = cls->MyMethod();
![Page 20: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/20.jpg)
20
Características Entre As Linguagens
• Suporte entre linguagens e componentes– Herança– Tratamento Exceções – Depuração
• Bom para estender componentes de terceiros usando a linguagem de sua escolha
![Page 21: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/21.jpg)
21
Exemplo em Managed C++
#using <mscorlib.dll>using namespace System
void main(){ Console::WriteLine(L”visite www.gustheman.com
!!”);}
![Page 22: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/22.jpg)
22
Exemplo em VB.NET
Import System
Public Module modmain
Sub Main()Console.WriteLine(“visite www.gustheman.com !!”)
End Sub
End Module
![Page 23: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/23.jpg)
23
Exemplos em C#
using System;
class MainApp{
public static void Main(){Console.WriteLine(“visite www.gustheman.com !!”);}
}
![Page 24: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/24.jpg)
24
Exemplo em IL
.class private auto ansi MainAppExtends [mscorlib]System.Object{ .method public hidesyg static void Main() cil managed { .entrypoint
.maxstack 8
![Page 25: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/25.jpg)
25
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
![Page 26: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/26.jpg)
26
Exemplo de IL
ldarg.0 call instace void
[mscorlib]System.Object::.ctor()ret
} // fim do metodo MainApp::.ctor}// fim da classe MainApp
![Page 27: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/27.jpg)
27
Web Forms
• Nova maneira de se desenvolver páginas HTML• A página é compilada na primeira execução e a
versão compilada é usada nas demais chamadas• Desenvolvimento fácil, parecido com o
desenvolvimento antigo do VB ou Visual C++• A Página gerada só tem HTML padrão, podendo
ser vista em qualquer navegador (browser) sem problemas
![Page 28: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/28.jpg)
28
Web Forms
• Separação clara entre a lógica da página (código) e o design (HTML)
• A parte lógica pode ser escrita em qualquer linguagem .NET
• Código ASP antigo ainda é suportado• Melhor controle de sessão, permitindo
maior escalabilidade
![Page 29: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/29.jpg)
29
Web Services
• Software como um Serviço• Possibilita o uso de componentes através do
protocolo padrão de HTTP• Software podem se comunicar usando XML e
Internet• Micro$oft ja disponibiliza o seviço de
autenticação Passport• O projeto HailStorm é uma evolução do Passport,
com muito mais serviços
![Page 30: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/30.jpg)
30
Web Services
ClienteCliente WebWebServiceService
WebWebServiceService WebWeb
ServiceService
XMLXML
XMLXML
HTMLHTML
XMLXML
![Page 31: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/31.jpg)
31
Web Services
• UDDI – Universal Description, Discovery and Integration – Páginas Amarelas de Web Services
• SOAP + XML• WSDL – Web Services Description Language –
Descrição da interface oferecida pelo web service– Feita em XML– Parecido com IDL (COM)
![Page 32: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/32.jpg)
32
Smart Devices (aparelhos espertos)
• O que torna um aparelho esperto é o fato de ele poder acessar Web Services
• Possibilita o usuário interagir com seus dados não importando o lugar, o tipo nem o número de aparelhos que se usa
• Dentre os aparelhos espertos temos os PCs, laptops, telefones, palms e até mesmo o Xbox
![Page 33: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/33.jpg)
33
Servidores .NET
• Servidores que ajudam na distribuição e hospedagem de software e serviços .NET
• Na família de servidores oferecidos temos:– SQL server 2000, alta disponibilidade e suporte a XML
nativo– Application center, servidor que controla grupos de
servidores, tornando mais fácil a administração
![Page 34: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/34.jpg)
34
Servidores .NET
• Mais Servidores– Exchange – servidor de mails– Biz talk – fornece ferramentas necessárias para
integração de aplicativos heterogêneos.– Host Integration Server – Integra novos
sistemas com os dados e recursos de mainframe
![Page 35: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/35.jpg)
35
.Net Pros
• Tem suporte a múltiplas linguagens– C#, Managed C++, VB.NET, ASP.NET– Perl, Cobol, Pascal estão sendo portados por outras
empresas
• É amigável a padrões abertos (SOAP, HTML, XML)
• O código é compilado, não importando a linguagem ou o método de distribuição utilizados
![Page 36: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/36.jpg)
36
.Net contras
• É mais uma plataforma de desenvolvimento, o que significa reescrever código e aprender novos truques
• Atualmente só disponível para Windows
![Page 37: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/37.jpg)
37
Perguntas?
![Page 38: 1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos](https://reader036.vdocuments.site/reader036/viewer/2022062502/5706384b1a28abb8238f5de4/html5/thumbnails/38.jpg)
38
Referências
• Site oficial : www.microsoft.com/net• www.linhadecodigo.com.br• www.gotdotnet.com• www.oreilly.com• Livro .Net Framework Essentials
– Thuan Thai & Hoang Q. Lam – O´REILLY• MSDN• www.google.com