Viso Geral do Arcabouo NET Alexandre Ricardo Nardi
Visão Geral do Arcabouço. NET Alexandre Ricardo Nardi nardi@ime. usp. br
Objetivo l Apresentar os principais componentes do arcabouço, bem como as possibilidades de desenvolvimento de aplicações
Roteiro Introdução ao. NET l Arcabouço. NET l Common language runtime l Tipos de Aplicações l – Interface com o usuário – Middle-Tier – Acesso a bancos de dados l Referências
Introdução ao. NET Cenário ~1996 Lógica do Cliente Servidores de Dados Lógica de Negócio Navegadores Serviços de Infra Aplicações baseadas em HTML, sem interatividade Tecnologias MS: COM, IIS (ASP) e Internet Explorer Aplicações empregavam o modelo cliente/servidor, com páginas ASP acessando servidores de dados
Introdução ao. NET Cenário ~2000 - Escalabilidade Cliente rico Lógica de negócio SGBD Serviços básicos Com estado Sem estado Navegadores Serviços do COM+ para maior confiabilidade e escalabilidade. Internet Explorer fornece D/HTML, melhorando interatividade. Componentes sem estado e gerenciamento de IP favorecem a escalabilidade. Separação das camadas de dados e negócios aumentam a escalabilidade e a performance de acesso a dados empresariais.
Introdução ao. NET Cenário ~2002 - Ubiqüidade Outros serviços Aplicações podem se tornar Web services Clientes “inteligentes” Navegadores padrão Dispositivos “inteligentes” Ferramental mais rico para o usuário XM L XML HTML L XM Lógica de negócio Web services Serviços básicos L XM XML XML Protocolos públicos de comunicação (HTTP, SMTP, XML, SOAP) Web Services públicos Serviços auxiliares Serviços internos SGBD Potencial para aplicações compostas por web services disponíveis globalmente
Introdução ao. NET A Plataforma. NET Visual Studio. NET Sua aplicação e web service Seus serviços internos Ap l i caçõ es u san d o seu s servi ço s Ap l i caçõ es p ara u s u á r i o fi n a l Arcab o u ço. NE T Serviços COM+ O r q u e s tr a ç ã o W i n d o w s CE , 2000, X P , . NE T Protocolos de Internet SOAP, HTTP, SMTP, XML Servidores. NET Serviços básicos. NET Web services de terceiros
O Arcabouço. NET O que é? l Um conjunto de tecnologias que: – Une aplicações web hoje isoladas – Torna informação disponível a qualquer hora, em qualquer lugar (anytime, anywhere) – Simplifica desenvolvimento e implantação l Como o. NET faz isso? – Web services – Informações transitam como ADO. NET Data. Sets, havendo suporte a XML – Conjunto rico de ferramentas, serviços para execução (runtime services) e implantação baseada em XCOPY
O Arcabouço. NET Web Services baseados em XML Ponto focal da arquitetura do. NET l Trata-se de um componente de aplicação programável, acessível através de protocolos web padrão l Expõe funcionalidade que pode ser acessada a partir de sites l – Possui semelhança com programação de componentes para uso na web, porém sem as dificuldades impostas pelo DCOM
O Arcabouço. NET Web Services baseados em XML Web service HTML XML Web service XML Cliente XML Web service
O Arcabouço. NET Visual Studio. NET Visual Basic® C++ C# JScript® … ASP. NET: Web services e Web Forms Windows Forms ADO. NET: Dados e XML Base class library Common language runtime V i s u a l S tu d i o ® . N E T Common language specification
O Arcabouço. NET Common Language Runtime l l l Simplifica o desenvolvimento Implantação via XCOPY Potencialmente multi-plataforma Múltiplas linguagens (com herança entre linguagens) Aumenta a produtividade
O Arcabouço. NET Serviços do Arcabouço l ASP. NET – Evolução do ASP (compilado) l Web Forms – Código gerenciado (mais elegante) l Windows Forms – Para desenvolvimento de interfaces para clientes ricos l ADO. NET, evolução do ADO – Novos objetos e maior suporte a trabalho desconectado l Suporte a XML
Common Language Runtime Common language runtime Arquitetura IL para compiladores de código nativo Suporte a execução Segurança GC, stack walk, code manager Class loader
Common Language Runtime Objetivos l Desenvolvimento – – – l Arcabouço com classes padrão Gerenciamento automático de memória Tratamento de erros consistente Aplicações multi-linguagem Múltiplas plataformas Execução mais segura Implantação – Não há dependência do registry – Menos problemas de versionamento – Fim do “DLL Hell”
Common Language Runtime Suporte a Múltiplas Linguagens l Os tipos de dados foram unificados – Common Type System (CTS) l Outras linguagens e compiladores devem seguir a especificação. . . – Common Language Specification (CLS)
Common Language Runtime Compilação Assembly Código fonte Compilador Csc. exe, Vbc. exe, … C++, C#, Visual Basic ou qualquer outra linguagem. NET DLL ou EXE
Common Language Runtime Assemblies Minha. Biblioteca. DLL Metadados IL (código gerenciado) Recursos
Common Language Runtime Metadados l Informações de tipos – Conjunto mais completo do que a IDL (da MS) – Armazenadas no assembly em formato binário – Descreve cada classe de tipo – Usadas pelo Intelli. Sense® no Visual Studio. NET
Common Language Runtime Metadados em um Assembly Descrições de tipos Classes base Interfaces Implementadas Membros Métodos Assembly Manifest Nome Versão Cultura Outros assemblies Permissões Tipos exportados
Common Language Runtime Aplicações Um ou mais assemblies l Resolução de assemblies l – Usando metadados l local (recomendado) Global Assembly Cache (GAC) Aplicações diferentes podem usar diferentes versões de um assembly – Mais fácil de atualizar – Mais fácil de remover
Common Language Runtime Modelo de Execução Código Fonte Visual Basic C# Compilador Código Gerenciado Compilador Assembly Código em IL C++ Compilador Assembly Código em IL Common language runtime Compilador JIT Código nativo Serviços básicos do SO Componente não gerenciado
Tipos de Aplicações l Interface com o usuário – Windows Forms – ASP. NET Web Forms l Middle-tier – Serviços – Web Services – Componentes l Acesso a dados – ADO. NET
Interface com o Usuário Windows Forms l Arcabouço para implementação de clientes ricos – – – RAD (rapid application development) Interfaces elaboradas Fácil integração com web services Conjunto extenso de controles Controles data-aware Compatível com Active. X
Interface com o Usuário ASP. NET Web Forms l ASP. NET X ASP – – – l l l Código isolado de interface Compilado em DLL Escrito em qualquer linguagem que siga a CLS Performance melhorada Mais produtivo Desenvolvimento de interface para Windows Forms e Web Forms no mesmo IDE Manipulação de estado melhor do que no ASP Scripts de execução no cliente em Java. Script ou VBScript Extenso conjunto de controles no servidor, inclusive data-aware Executa independentemente do ASP (pode haver integração, se desejado)
Middle-Tier Serviços São aplicações que executam independentemente de um usuário estar “logado” l Desenvolvidos em qualquer linguagem que siga a CLS l Exemplo: serviço de impressão l
Middle-Tier Web Services l São aplicações que disponibilizam funcionalidades acessíveis via Internet – Baseado em SOAP/XML O cliente acessa através de URL l Possui semelhanças com o uso de componentes distribuídos via Internet l Por seguir padrões abertos, independe de plataforma l
Middle-Tier Componentes l Componentes. NET – Eliminam algumas complexidades dos componentes COM l Integração com os serviços do COM+ – Transações – Filas
Acesso a Dados Evolução do ADO para ADO. NET l l Novos objetos Maior suporte a XML – – l l Melhor isolamento de trabalho conectado ou desconectado Acesso a bases de dados – – – l Lê/escreve em arquivos XML Objetos para navegação em XML Permite uso de XSL Componentes sem estado podem devolver informações em XML . NET providers OLEDB providers ODBC Usa os mesmos tipos previstos no CTS
Referências l l l 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
- Slides: 30