Sunteți pe pagina 1din 26

Introduo Plataforma Microsoft .

NET
Monique Monteiro

Agenda
Plataforma Microsoft .NET .NET X J2EE Common Language Infrastructure
Modelo de Compilao Common Type System CLI Principais Implementaes

CLR X JVM .NET Arquitetura ASP .NET Web Services C# X Java Referncias

Introduo Plataforma Microsoft .NET

Plataforma Microsoft .NET


Plataforma de desenvolvimento multilinguagem e multi-paradigma Ambiente de execuo gerenciado:
Mquina virtual Compilao just-in-time Gerenciamento automtico de memria

Integrao de servios para:


Desenvolvimento Web (ASP .NET) Service Oriented Architecture (Web Services) Computao Distribuda (.NET Remoting)

Principais linguagens: C#, VB .NET, J#


Introduo Plataforma Microsoft .NET

.NET X J2EE
.NET:
Vrias linguagens em um nico ambiente

J2EE
Uma nica linguagem em vrios ambientes

J2EE

.NET

Web

Struts, JSF, Laszlo

ASP .NET
ADO .NET Suporte embutido e simplificado .NET Remoting

Banco de Dados JDBC Web Services Suporte por meio de APIs Distribuio
Introduo Plataforma Microsoft .NET

RMI, EJB

Common Language Infrastructure


Infra-estrutura de execuo padronizada pela ECMA Especificao define:
Common Type System Metadados Common Language Specification Virtual Execution System

Introduo Plataforma Microsoft .NET

Modelo de Compilao
Manifesto

1 Cdigo Fonte Assembly

Linguagem X 2

Common Intermediate Language

(Compilao Just-In-Time) OU 2 Cdigo Nativo

(Interpretao)
Introduo Plataforma Microsoft .NET

Common Type System


Tipo Por Valor (Value Types) Por Referncia (Reference Types) Pr-definidos Definidos pelo Usurio Auto-descritos Interface Ponteiro Pr-definidos

Inteiros

Enumeraes (Enums)

Equivalentes por Nome

String

Ponto Flutuante

Estruturas

Delegates

Object

Boxed Value Types

Boxed Enums

Equivalentes Estruturais

Arrays

Introduo Plataforma Microsoft .NET

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

Introduo Plataforma Microsoft .NET

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

Introduo Plataforma Microsoft .NET

Delegates
Verso OO e segura de ponteiros para funo Utilizados no modelo de eventos Exemplo:
public delegate int Function(int x, int ... Function function1 = new Function(Sum); Function function2 = new Function(<some int result1 = function1(10, 20); int result2 = function2(30, 40); ... static int Sum(int x, int y) { return x ... int Subtract(int a, int b) { return x y);

object>.Subtract);

+ y; } y; }

Introduo Plataforma Microsoft .NET

CLI Principais Implementaes


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

Introduo Plataforma Microsoft .NET

CLR X JVM
CLR Suporte a Generics Boxing/Unboxing Nativo Nativo JVM Sinttico Sinttico

Enumeraes
Sistema de Tipos

Nativo
Multi-paradigma

Sinttico
Especfico para Java

Introduo Plataforma Microsoft .NET

.NET Arquitetura
Web Services Web Forms
Windows Forms

ASP .NET

ADO .NET Dados e XML Biblioteca de Classes Bsicas Common Language Runtime

Introduo Plataforma Microsoft .NET

ASP .NET
Tecnologia para criao de aplicaes Web baseada no Framework .NET Reformulao total da tecnologia ASP Compatvel com qualquer linguagem .NET Gerenciamento automtico de sesses em Web Farms

Introduo Plataforma Microsoft .NET

ASP .NET
Web Forms
Pginas ASP .NET compiladas dinamicamente Correspondente ao Java Server Pages do J2EE Componentes semelhantes aos encontrados em ferramentas RAD para desktop Modelo declarativo Suporte automtico a validao Portveis entre diferentes navegadores (incluindo dispositivos mveis)

Introduo Plataforma Microsoft .NET

Web Forms Ferramentas


Visual Studio .NET Web Matrix (gratuita) Macromedia Dreamweaver MX Borland C# Builder Notepad...

Introduo Plataforma Microsoft .NET

ASP .NET
Web Services
Servios disponibilizados via WWW com base em padres e especificaes estabelecidos (SOAP, WSDL, UDDI, etc.), de forma independente de linguagem de programao.

Foco em facilidade de desenvolvimento


Identificados por uma nica palavra-chave Mecanismos built-in de converso entre SOAP/XML e o ambiente orientado a objetos

Introduo Plataforma Microsoft .NET

Web Services
WebMethods Framework
Fornecido por ASP .NET Extensvel Mapeia mensagens SOAP em chamadas/retorno de mtodos

Introduo Plataforma Microsoft .NET

Web Service Exemplo


Arquivo .asmx
<%@ WebService class="MathService"%>

Arquivo Fonte (pr-compilado)


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;} }
Introduo Plataforma Microsoft .NET

Web Services Modelo de Execuo


1. 2. 3. Requisio HTTP/SOAP recebida e encaminhada ao arquivo .asmx correspondente Classe e mtodo so 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>

Introduo Plataforma Microsoft .NET

Web Services Mapeamento XML OO


Deserializao SOAP Objetos via Reflexo
Classe
Esquema XML

Objetos Objetos Objetos

Objetos Objetos Documento XML

Limitada ao padro de esquemas (WSDL, XML Schemas)


Introduo Plataforma Microsoft .NET

C# X Java Similaridades
Sintaxes praticamente idnticas Todas as classes descendem de Object No h funes ou constantes globais
Tudo pertence a uma classe

Falta de suporte a herana mltipla


Suporte a interfaces

Uso de excees Conceito de espao de nomes (namespaces X packages) Comentrio utilizado para documentao Classes e mtodos com nomes parecidos
Equals(), Finalize(), ToString(), etc.
Introduo Plataforma Microsoft .NET

C# X Java Diferenas
Sentena foreach para iterao por arrays e classes que implementam IEnumerable
Introduzido no J2SE 5.0

Suporte a propriedades Enumeraes, estruturas Mtodos no virtuais por padro


Declarados como virtual e sobrescritos com override

Campos/mtodos e propriedades private por padro Sobrecarga de operador (inclusive coero) Documentao em XML Uso de ponteiros (cdigo marcado como unsafe)

Introduo Plataforma Microsoft .NET

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

Introduo Plataforma Microsoft .NET

Referncias
.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.
Introduo Plataforma Microsoft .NET

Introduo Plataforma Microsoft .NET


Monique Monteiro

S-ar putea să vă placă și