A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Plataforma Microsoft.NET Monique Monteiro.

Apresentações semelhantes


Apresentação em tema: "Introdução à Plataforma Microsoft.NET Monique Monteiro."— Transcrição da apresentação:

1 Introdução à Plataforma Microsoft.NET Monique Monteiro

2 Introdução à Plataforma Microsoft.NET Agenda Plataforma Microsoft.NETPlataforma Microsoft.NET.NET X J2EE.NET X J2EE Common Language InfrastructureCommon Language Infrastructure –Modelo de Compilação –Common Type System –CLI – Principais Implementações CLR X JVMCLR X JVM.NET – Arquitetura.NET – Arquitetura ASP.NETASP.NET Web ServicesWeb Services C# X JavaC# X Java ReferênciasReferências

3 Introdução à Plataforma Microsoft.NET Plataforma Microsoft.NET Plataforma de desenvolvimento multi- linguagem e multi-paradigmaPlataforma de desenvolvimento multi- linguagem e multi-paradigma Ambiente de execução gerenciado:Ambiente de execução gerenciado: –Máquina virtual –Compilação just-in-time –Gerenciamento automático de memória Integração de serviços para:Integração de serviços para: –Desenvolvimento Web (ASP.NET) –Service Oriented Architecture (Web Services) –Computação Distribuída (.NET Remoting) Principais linguagens: C#, VB.NET, J#Principais linguagens: C#, VB.NET, J#

4 Introdução à Plataforma Microsoft.NET.NET X J2EE J2EE.NET Web Struts, JSF, Laszlo ASP.NET Banco de Dados JDBC ADO.NET Web Services Suporte por meio de APIs Suporte embutido e simplificado Distribuição RMI, EJB.NET Remoting. NET:. NET: “Várias linguagens em um único ambiente” J2EEJ2EE –“Uma única linguagem em vários ambientes”

5 Introdução à Plataforma Microsoft.NET Common Language Infrastructure Infra-estrutura de execução padronizada pela ECMAInfra-estrutura de execução padronizada pela ECMA Especificação define:Especificação define: –Common Type System –Metadados –Common Language Specification –Virtual Execution System

6 Introdução à Plataforma Microsoft.NET Modelo de Compilação Código Fonte Linguagem X Manifesto Common Intermediate Language Assembly Código Nativo 1 2 (Compilação Just-In-Time) 2 (Interpretação) OU

7 Introdução à Plataforma Microsoft.NET Common Type System Tipo Por Valor (“Value Types”) Pré-definidos Inteiros Ponto Flutuante Definidos pelo Usuário Enumerações (“Enums”) Estruturas Por Referência (“Reference Types”) Auto-descritos Equivalentes por Nome Delegates “Boxed Value Types” “Boxed Enums” Equivalentes Estruturais Arrays InterfacePonteiroPré-definidos String Object

8 Introdução à Plataforma Microsoft.NET Estruturas Exemplo de value type (alocadas na pilha)Exemplo de value type (alocadas na pilha) Exemplo (C#):Exemplo (C#):

9 Introdução à Plataforma Microsoft.NET Enumerações Exemplo de value type (alocadas na pilha)Exemplo de value type (alocadas na pilha) Exemplo (C#):Exemplo (C#):

10 Introdução à Plataforma Microsoft.NET Delegates Versão OO e segura de ponteiros para funçãoVersão OO e segura de ponteiros para função Utilizados no modelo de eventosUtilizados no modelo de eventos Exemplo:Exemplo: public delegate int Function(int x, int y);... Function function1 = new Function(Sum); Function function2 = new Function(.Subtract); int result1 = function1(10, 20); int result2 = function2(30, 40);... static int Sum(int x, int y) { return x + y; }... int Subtract(int a, int b) { return x – y; } public delegate int Function(int x, int y);... Function function1 = new Function(Sum); Function function2 = new Function(.Subtract); int result1 = function1(10, 20); int result2 = function2(30, 40);... static int Sum(int x, int y) { return x + y; }... int Subtract(int a, int b) { return x – y; }

11 Introdução à Plataforma Microsoft.NET CLI – Principais Implementações Common Language Runtime (Microsoft.NET)Common Language Runtime (Microsoft.NET) Shared Source CLI (Rotor)Shared Source CLI (Rotor) –“Subconjunto” da CLR para fins de pesquisa MonoMono –Plataformas: Linux, Solaris, Mac OS X, Windows, Unix

12 Introdução à Plataforma Microsoft.NET CLR X JVM CLRJVM Suporte a Generics NativoSintático Boxing/UnboxingNativoSintático EnumeraçõesNativoSintático Sistema de Tipos Multi-paradigma Específico para Java

13 Introdução à Plataforma Microsoft.NET.NET – Arquitetura Common Language Runtime Biblioteca de Classes Básicas ADO.NET – Dados e XML Web ServicesWeb Forms Windows Forms ASP.NET

14 Introdução à Plataforma Microsoft.NET ASP.NET Tecnologia para criação de aplicações Web baseada no Framework.NETTecnologia para criação de aplicações Web baseada no Framework.NET Reformulação total da tecnologia ASPReformulação total da tecnologia ASP Compatível com qualquer linguagem.NETCompatível com qualquer linguagem.NET Gerenciamento automático de sessões em Web FarmsGerenciamento automático de sessões em Web Farms

15 Introdução à Plataforma Microsoft.NET ASP.NET Web FormsWeb Forms –Páginas ASP.NET compiladas dinamicamente –Correspondente ao Java Server Pages do J2EE –Componentes semelhantes aos encontrados em ferramentas RAD para desktop –Modelo declarativo –Suporte automático a validação –Portáveis entre diferentes navegadores (incluindo dispositivos móveis)

16 Introdução à Plataforma Microsoft.NET Web Forms – Ferramentas Visual Studio.NETVisual Studio.NET Web Matrix (gratuita)Web Matrix (gratuita) Macromedia Dreamweaver MXMacromedia Dreamweaver MX Borland C# BuilderBorland C# Builder Notepad...Notepad...

17 Introdução à Plataforma Microsoft.NET ASP.NET Web ServicesWeb Services “Serviços disponibilizados via WWW com base em padrões e especificações estabelecidos (SOAP, WSDL, UDDI, etc.), de forma independente de linguagem de programação.” Foco em facilidade de desenvolvimentoFoco em facilidade de desenvolvimento –Identificados por uma única palavra-chave –Mecanismos built-in de conversão entre SOAP/XML e o ambiente orientado a objetos

18 Introdução à Plataforma Microsoft.NET Web Services WebMethods FrameworkWebMethods Framework –Fornecido por ASP.NET –Extensível –Mapeia mensagens SOAP em chamadas/retorno de métodos

19 Introdução à Plataforma Microsoft.NET Arquivo.asmxArquivo.asmx Arquivo Fonte (pré-compilado)Arquivo Fonte (pré-compilado) Web Service – Exemplo using System.Web.Services; public class MathService { [WebMethod] public double Add(double x, double y) { return x + y;} [WebMethod] public double Sub(double x, double y) { return x – y;} public double Mul(double x, double y) { return x * y;} public double Div(double x, double y) { return x / y;} } using System.Web.Services; public class MathService { [WebMethod] public double Add(double x, double y) { return x + y;} [WebMethod] public double Sub(double x, double y) { return x – y;} public double Mul(double x, double y) { return x * y;} public double Div(double x, double y) { return x / y;} }

20 Introdução à Plataforma Microsoft.NET Web Services – Modelo de Execução 1.Requisição HTTP/SOAP é recebida e encaminhada ao arquivo.asmx correspondente 2.Classe e método são localizados 3.Processamento é realizado e retornado via HTTP/SOAP POST /math/math.asmx HTTP/1.1 … SOAPAction: "urn:math:subtract" 33 66

21 Introdução à Plataforma Microsoft.NET Web Services – Mapeamento XML – OO Deserialização SOAP → Objetos via ReflexãoDeserialização SOAP → Objetos via Reflexão Limitada ao padrão de esquemas (WSDL, XML Schemas)Limitada ao padrão de esquemas (WSDL, XML Schemas) Classe Objetos Esquema XML Objetos Documento XML

22 Introdução à Plataforma Microsoft.NET C# X Java – Similaridades Sintaxes praticamente idênticasSintaxes praticamente idênticas Todas as classes descendem de ObjectTodas as classes descendem de Object Não há funções ou constantes globaisNão há funções ou constantes globais –Tudo pertence a uma classe Falta de suporte a herança múltiplaFalta de suporte a herança múltipla –Suporte a interfaces Uso de exceçõesUso de exceções Conceito de espaço de nomes (namespaces X packages)Conceito de espaço de nomes (namespaces X packages) Comentário utilizado para documentaçãoComentário utilizado para documentação Classes e métodos com nomes parecidosClasses e métodos com nomes parecidos –Equals(), Finalize(), ToString(), etc.

23 Introdução à Plataforma Microsoft.NET C# X Java – Diferenças Sentença foreach para iteração por arrays e classes que implementam IEnumerableSentença foreach para iteração por arrays e classes que implementam IEnumerable –Introduzido no J2SE 5.0 Suporte a propriedadesSuporte a propriedades Enumerações, estruturasEnumerações, estruturas Métodos não virtuais por padrãoMétodos não virtuais por padrão –Declarados como virtual e sobrescritos com override Campos/métodos e propriedades private por padrãoCampos/métodos e propriedades private por padrão Sobrecarga de operador (inclusive coerção)Sobrecarga de operador (inclusive coerção) Documentação em XMLDocumentação em XML Uso de ponteiros (código marcado como unsafe )Uso de ponteiros (código marcado como unsafe )

24 Introdução à Plataforma Microsoft.NET Propriedades – Exemplo public class Pessoa { string nome; public string Nome{ get { return nome; } set { nome = value; } public class Pessoa { string nome; public string Nome{ get { return nome; } set { nome = value; }

25 Introdução à Plataforma Microsoft.NET Referências.NET Framework Developer Cente.NET Framework Developer Cente –http://msdn.microsoft.com/netframework/ ASP.NET:ASP.NET: –http://msdn.microsoft.com/ASP.NET/ –http://www.asp.net/whidbey/ Web Services:Web Services: –http://msdn.microsoft.com/webservices/ Mobile Developer Center:Mobile Developer Center: –http://msdn.microsoft.com/mobility/ C# para Programadores de Java. Brian Bagnall, Philip Chen, Stephen Golsberg. Alta Books.C# para Programadores de Java. Brian Bagnall, Philip Chen, Stephen Golsberg. Alta Books.

26 Introdução à Plataforma Microsoft.NET Monique Monteiro


Carregar ppt "Introdução à Plataforma Microsoft.NET Monique Monteiro."

Apresentações semelhantes


Anúncios Google