1 / 26

Introdução à Plataforma Microsoft .NET

Introdução à Plataforma Microsoft .NET. Monique Monteiro. 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.

fayola
Download Presentation

Introdução à Plataforma Microsoft .NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introdução à Plataforma Microsoft .NET 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: “Várias linguagens em um único ambiente” • J2EE • “Uma única linguagem em vários ambientes”

  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. 2 2 Manifesto Modelo de Compilação 1 Código Fonte Assembly Common Intermediate Language LinguagemX (Compilação Just-In-Time) OU CódigoNativo (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

  13. .NET – Arquitetura Web Services Web Forms Windows Forms ASP .NET 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 “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;} [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. 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. Classe Esquema XML Objetos Objetos Objetos Objetos Objetos Documento XML Web Services – Mapeamento XML – OO • Deserialização SOAP → Objetos via Reflexão • Limitada ao padrão de esquemas (WSDL, XML Schemas)

  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 • http://msdn.microsoft.com/netframework/ • ASP .NET: • http://msdn.microsoft.com/ASP.NET/ • http://www.asp.net/whidbey/ • Web Services: • http://msdn.microsoft.com/webservices/ • Mobile Developer Center: • http://msdn.microsoft.com/mobility/ • C# para Programadores de Java. Brian Bagnall, Philip Chen, Stephen Golsberg. Alta Books.

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

More Related