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

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

Introdução à Plataforma Microsoft .NET

Apresentações semelhantes


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

1 Introdução à Plataforma Microsoft .NET
Essa apresentacao é uma breve introducao ao que é a plataforma .NET e aos seus principais recursos, principalmente em comparacao com a plataforma J2EE Monique Monteiro

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

3 Plataforma Microsoft .NET
Plataforma de desenvolvimento multi-linguagem e multi-paradigma 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: Desenvolvimento Web (ASP .NET) Service Oriented Architecture (Web Services) Computação Distribuída (.NET Remoting) Principais linguagens: C#, VB .NET, J#

4 .NET X J2EE .NET: J2EE J2EE .NET Web Struts, JSF, Laszlo ASP .NET
“Várias linguagens em um único ambiente” J2EE “Uma única linguagem em vários ambientes” 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

5 Common Language Infrastructure
Infra-estrutura de execução padronizada pela ECMA Especificação define: Common Type System Metadados Common Language Specification Virtual Execution System

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

7 Common Type System

8 Estruturas Exemplo de value type (alocadas na pilha) Exemplo (C#):

9 Enumerações Exemplo de value type (alocadas na pilha) Exemplo (C#):

10 Delegates Versão OO e segura de ponteiros para função
Utilizados no modelo de eventos Exemplo: public delegate int Function(int x, int y); ... Function function1 = new Function(Sum); Function function2 = new Function(<some object>.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 CLI – Principais Implementações
Common Language Runtime (Microsoft .NET) Shared Source CLI (Rotor) “Subconjunto” da CLR para fins de pesquisa Mono Plataformas: Linux, Solaris, Mac OS X, Windows, Unix

12 CLR X JVM CLR JVM Suporte a Generics Nativo Sintático Boxing/Unboxing
Enumerações Sistema de Tipos Multi-paradigma Específico para Java

13 Biblioteca de Classes Básicas Common Language Runtime
.NET – Arquitetura Web Services Web Forms ASP .NET Windows Forms ADO .NET – Dados e XML Biblioteca de Classes Básicas Common Language Runtime

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

15 ASP .NET Web 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 Web Forms – Ferramentas
Visual Studio .NET Web Matrix (gratuita) Macromedia Dreamweaver MX Borland C# Builder Notepad...

17 ASP .NET Web Services Foco em facilidade de desenvolvimento
“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 desenvolvimento Identificados por uma única palavra-chave Mecanismos built-in de conversão entre SOAP/XML e o ambiente orientado a objetos

18 Web Services WebMethods Framework Fornecido por ASP .NET Extensível
Mapeia mensagens SOAP em chamadas/retorno de métodos

19 Web Service – Exemplo Arquivo .asmx Arquivo Fonte (pré-compilado)
WebService class="MathService"%> using System.Web.Services; public class MathService { [WebMethod] public double Add(double x, double y) { return x + y;} 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 Web Services – Modelo de Execução
Requisição HTTP/SOAP é recebida e encaminhada ao arquivo .asmx correspondente Classe e método são localizados Processamento é realizado e retornado via HTTP/SOAP POST /math/math.asmx HTTP/1.1 SOAPAction: "urn:math:subtract" <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Subtract xmlns="http://example.org/math"> <x>33</x> <y>66</y> </Subtract> </soap:Body> </soap:Envelope>

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

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

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

24 Propriedades – Exemplo
public class Pessoa { string nome; public string Nome{ get return nome; } set nome = value;

25 Referências .NET Framework Developer Cente ASP .NET: Web Services:
ASP .NET: Web Services: Mobile Developer Center: 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"

Apresentações semelhantes


Anúncios Google