Você está na página 1de 31

Viso Geral do Arcabouo .

NET
Material produzido por
Alexandre Ricardo Nardi nardi@ime.usp.br

Apresentar os principais componentes do arcabouo, bem como as possibilidades de desenvolvimento de aplicaes

Introduo ao .NET Arcabouo .NET

Common language runtime


Tipos de Aplicaes
Interface com o usurio Middle-Tier Acesso a bancos de dados

Referncias

Lgica do Cliente

Servidores de Dados

Lgica de Negcio Navegadores


Servios de Infra

Aplicaes baseadas em HTML, sem interatividade


Tecnologias MS: COM, IIS (ASP) e Internet Explorer

Aplicaes empregavam o modelo cliente/servidor, com pginas ASP acessando servidores de dados

Cliente rico

Lgica de negcio

SGBD

Navegadores

Servios bsicos

Com estado Sem estado

Servios do COM+ para maior confiabilidade e escalabilidade. Internet Explorer fornece D/HTML, melhorando interatividade.
Componentes sem estado e gerenciamento de IP favorecem a escalabilidade.

Separao das camadas de dados e negcios aumentam a escalabilidade e a performance de acesso a dados empresariais.

Aplicaes podem se tornar Web services

Outros servios

Web Services pblicos

Clientes inteligentes Navegadores padro Dispositivos inteligentes

Lgica de Lgica de negcio e negcio Web services

Servios auxiliares Servios internos

Servios Servios bsicos bsicos Protocolos pblicos de comunicao (HTTP, SMTP, XML, SOAP)

SGBD
Potencial para aplicaes compostas por web services disponveis globalmente

Ferramental mais rico para o usurio

Janeiro de 1999 Microsoft contrata Anders Hejlsberg Anders Hejlsberg arquiteto de compiladores da Borland Foi desenvolvedor do Turbo Pascal e do Delphi Desenvolver linguagem Cool. Principal caracteristica suportar vrias linguagens Foi criada praticamente do zero Classes .NET Framework foram desenvolvidas em C#. Anders Hejlsberg, Distinguished Engineer na Microsoft.

Visual Studio .NET

Sua aplicao e web service


Orquestrao

Seus servios internos

Aplicaes usando seus servios

Arcabouo .NET

Servios COM+

Servidores .NET

Windows CE, 2000, XP, .NET


Aplicaes para usurio final
Protocolos de Internet SOAP, HTTP, SMTP, XML

Servios bsicos .NET

Web services de terceiros

Um conjunto de tecnologias que:


Como o .NET faz isso?


Une aplicaes web hoje isoladas Torna informao disponvel a qualquer hora, em qualquer lugar (anytime, anywhere) Simplifica desenvolvimento e implantao

Web services

Informaes transitam como ADO.NET DataSets, havendo suporte a XML Conjunto rico de ferramentas, servios para execuo (runtime services) e implantao baseada em XCOPY

Ponto focal da arquitetura do .NET Trata-se de um componente de aplicao programvel, acessvel atravs de protocolos web padro Expe funcionalidade que pode ser acessada a partir de sites
Possui semelhana com programao de componentes para uso na web, porm sem as dificuldades impostas pelo DCOM

Web service

XML

Web service

XML

XML

XML

Web service
XML HTML

Web service

Cliente

XML

Cliente

Visual Basic C++ C# JScript Common language specification

Visual Studio .NET

ASP.NET: Web services e Web Forms

Windows Forms

ADO.NET: Dados e XML Base class library

Common language runtime

Simplifica o desenvolvimento Implantao via XCOPY Potencialmente multi-plataforma Mltiplas linguagens (com herana entre linguagens) Aumenta a produtividade

ASP.NET

Web Forms

Evoluo do ASP (compilado) Cdigo gerenciado (mais elegante) Para desenvolvimento de interfaces para clientes ricos Novos objetos e maior suporte a trabalho desconectado

Windows Forms

ADO.NET, evoluo do ADO Suporte a XML

Common language runtime

IL para compiladores de cdigo nativo

Suporte a execuo

Segurana

GC, stack walk, code manager

Class loader

Desenvolvimento
Arcabouo com classes padro Gerenciamento automtico de memria Tratamento de erros consistente Aplicaes multi-linguagem Mltiplas plataformas Execuo mais segura

Implantao

No h dependncia do registry Menos problemas de versionamento Fim do DLL Hell

Os tipos de dados foram unificados Outras linguagens e compiladores devem seguir a especificao...
Common Language Specification (CLS)
Common Type System (CTS)

Cdigo fonte

Assembly

Compilador
Csc.exe, Vbc.exe,
C++, C#, Visual Basic ou qualquer outra linguagem .NET DLL ou EXE

MinhaBiblioteca.DLL

Metadados IL (cdigo gerenciado)


Recursos

Informaes de tipos
Conjunto mais completo do que a IDL (da MS) Armazenadas no assembly em formato binrio Descreve cada classe de tipo Usadas pelo IntelliSense no Visual Studio .NET

Descries de tipos Classes Classes base Interfaces Implementadas Membros Mtodos Assembly Manifest Nome Verso Cultura

Outros assemblies Permisses Tipos exportados

Um ou mais assemblies Resoluo de assemblies


Usando metadados
local (recomendado)

Aplicaes diferentes podem usar diferentes verses de um assembly


Mais fcil de atualizar Mais fcil de remover

Global Assembly Cache (GAC)

Cdigo Fonte

Visual Basic Compilador

C# Compilador Assembly Cdigo em IL

C++ Compilador Assembly Cdigo em IL Componente no gerenciado

Assembly Cdigo Cdigo em IL Gerenciado

Common language runtime


Compilador JIT
Cdigo nativo

Servios bsicos do SO

Interface com o usurio

Middle-tier

Windows Forms ASP.NET Web Forms Servios Web Services Componentes ADO.NET

Acesso a dados

Arcabouo para implementao de clientes ricos


RAD (rapid application development) Interfaces elaboradas Fcil integrao com web services Conjunto extenso de controles Controles data-aware Compatvel com ActiveX

ASP.NET X ASP

Desenvolvimento de interface para Windows Forms e Web Forms no mesmo IDE Manipulao de estado melhor do que no ASP Scripts de execuo no cliente em JavaScript ou VBScript Extenso conjunto de controles no servidor, inclusive

Cdigo isolado de interface Compilado em DLL Escrito em qualquer linguagem que siga a CLS Performance melhorada Mais produtivo

data-aware

Executa independentemente do ASP (pode haver integrao, se desejado)

So aplicaes que executam independentemente de um usurio estar logado Desenvolvidos em qualquer linguagem que siga a CLS Exemplo: servio de impresso

So aplicaes que disponibilizam funcionalidades acessveis via Internet


O cliente acessa atravs de URL Possui semelhanas com o uso de componentes distribudos via Internet Por seguir padres abertos, independe de plataforma
Baseado em SOAP/XML

Componentes .NET
Eliminam algumas complexidades dos componentes COM

Integrao com os servios do COM+


Transaes Filas

Novos objetos Maior suporte a XML


Melhor isolamento de trabalho conectado ou desconectado Acesso a bases de dados


.NET providers OLEDB providers ODBC

L/escreve em arquivos XML Objetos para navegao em XML Permite uso de XSL Componentes sem estado podem devolver informaes em XML

Usa os mesmos tipos previstos no CTS

http://msdn.microsoft.com http://msdn.microsoft.com/howto http://www.microsoft.com/net http://www.microsoft.com/usa/webcasts http://msdn.microsoft.com/xml msnews.microsoft.com


microsoft.public.dotnet.general microsoft.public.dotnet.xml

Você também pode gostar