Microsoft .NET

Download Report

Transcript Microsoft .NET

Microsoft .NET
Flávia Andrade de Souza
Rodrigo Mibielli Peixoto
O que é a plataforma .NET?

Plataforma de software que conecta informações, sistemas,
pessoas e dispositivos.

Possibilita a conexão de dados e transações entre sistemas
e aplicativos de forma independente de sistema
operacional, tipo de computador ou de dispositivo móvel
em que sejam utilizados, ou da linguagem de programação
utilizada na sua criação.

Desenvolvida sobre os padrões de Web Services XML.
Breve Histórico

Oficialmente apresentada ao mercado em 22 de
junho de 2001.

Principal objetivo: viabilizar o que a Microsoft
chama de "nova geração da Internet“ – união de
Informática e Telecomunicações, abordando o uso
da Web através de diversos dispositivos.

Premissas básicas:




software como serviço
variedade de dispositivos
nova experiência do usuário
XML como linguagem para troca de dados
Windows & Plataforma .NET

Opera um dispositivo inteligente

Windows XP é capaz de utilizar Web Services XML

Windows Messenger

Assistente para publicação na Web

Autenticação do Passport
Elementos básicos .NET
Elementos Básicos .NET

Dispositivos Inteligentes

São dispositivos capazes de:

Reconhecer o usuário
Reconhecer a rede
Distinguir as informações
Interagir com outros dispositivos

Identificar software e serviços




Exemplos:

PCs, laptops, workstations, telefones inteligentes, Tablet PCs, etc
Elementos Básicos .NET

Web Services XML

Componentes de software baseados em padrões
abertos – XML, SOAP, entre outros

Permitem que aplicações conectadas em rede
compartilhem dados, mesmo rodando em
plataformas diferentes
Elementos Básicos .NET

Web Services XML (cont.)

Cada web service executa um conjunto limitado
de tarefas

Exemplos:




Cliente-cliente
Cliente-servidor
Servidor-servidor
Serviço-serviço
Elementos Básicos .NET

Servidores

São a base da infra-estrutura para operar os Web
Services XML

Microsoft Windows Server System



Forte integração com o padrão XML
Acelera a integração de aplicações que usam web services
Exemplos:



MS Application Center 2000
MS BizTalk Server 2002
MS SQL Server 2000
Elementos Básicos .NET

Ferramentas de Desenvolvimento

Visual Studio .NET

versão atual (dezembro/2003): Visual Studio .NET 2003

conjunto de ferramentas independente da linguagem
do desenvolvedor

cria automaticamente a interface XML e SOAP necessária para
transformar a aplicação em um web service

Linguagens suportadas – Visual Basic, C#, C++, J++, JScript,
VBScript, Python, SmallTalk, Eiffel, etc
Elementos Básicos .NET

Ferramentas de Desenvolvimento (cont.)

.NET Framework

versão atual (dezembro/2003): .NET Framework 1.1

conjunto de interfaces de programação que constitui o núcleo da
plataforma .NET
componente do Windows que serve tanto como modelo de
programação quanto como ambiente de execução para os Web
Services XML, aplicações da Web e aplicativos cliente-servidor
inteligentes, dentro do padrão .NET
Componentes básicos:




CLR – Commom Language Runtime
Biblioteca de Classes
Elementos Básicos .NET

Ferramentas Desenvolvimento .NET Open-Source

Projeto Sharp Develop http://www.icsharpcode.net/opensource/sd/

Projeto Mono: C# para Linux! –
http://www.go-mono.com/
Produto .NET

Plataforma .NET

Visual Studio .NET

.NET Framework

Infraestrutura .NET Server

Building Blocks Services

serviços que constituem um conjunto integrado de XML Web
Services pelo qual o usuário torna-se o centro e podendo
controlar os dados.

Exemplo: Passport (para identificação do usuário)
Produto .NET

Plataforma .NET (cont.)

NET Device Software



constituído do Windows XP, Windows Me, Windows CE, Windows
Embedded, .NET Framework e da .NET Compact Framework
possibilita que toda uma nova geração de dispositivos inteligentes para
Internet, laptops e workstations operem no universo .NET
Iniciativas .NET



Meios para que os usuários finais interajam com os web services
XML
Podem ser criadas com o Visual Studio .NET
Exemplos - Microsoft Office, MSN, etc
Multilinguagem

A plataforma .NET suporta diversas linguagens de
programação e permite que elas se integrem

CLS – Commom Language Specification

Especificação comum para as linguagens

Contém as funcionalidades básicas necessárias às linguagens

Exemplos de funcionalidades da CLS:



Tipos primitivos – inteiro, double, boolean, etc
Eventos
Herança
Multilinguagem

Linguagem intermediária


o uso de código intermediário possibilita tanto a
multiplataforma quanto o desenvolvimento
multilingüagem
processo de compilação de código na plataforma .NET é
composto de duas etapas:


Compilação do código fonte utilizando compilador da linguagem
gera código em MSIL (MS Intermediate Language)
.NET Framework chama o JIT (Just-In-Time) Compiler através
da CLR para compilar o código em MSIL para código nativo do
computador
Multilinguagem
Compilação Código C#
Benefícios da plataforma .NET

Facilidade e Adaptabilidade

Escalabilidade e Confiabilidade

Suporte a várias linguagens de programação

Distribuição e Instalação

Performance
Arquitetura de Desenho - C#

Linguagem: C#

Mesmo desenvolvedor do Delphi - Anders Hejlsberg

todas as classes são derivadas de um ancestral
comum chamado object
a herança é simples, mas permite a
implementação de múltiplas interfaces
Garbage collection - as variáveis alocadas
dinamicamente não precisam ser liberadas, elas
estão sujeitas à “coleta de lixo”
Tipagem forte



Arquitetura de Desenho – C#

Visibilidade dos membros de uma classe

public
protected
internal
protected internal
private

Exemplo:




public class Point
{
public int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
Arquitetura de desenho – C#

Herança

Suporta somente herança simples

Apenas interfaces podem empregar herança múltipla

Uma classe pode implementar múltiplas interfaces
Arquitetura de Desenho – C#

Herança (cont.)

Exemplo:
interface IControl
{
void Paint( );
}
interface IDataBound
{
void Bind(Binder b);
}
public class EditBox: IControl, IDataBound
{
public void Paint( ) {...}
public void Bind(Binder b) {...}
}
Arquitetura de Desenho – C#

Polimorfismo

Overloading

Exemplo:
class Test
{
static void F(int x) {
Console.WriteLine("F(int)");
}
static void F(double x, double y) {
Console.WriteLine("F(double, double)");
}
static void Main() {
F(1);
// Invokes F(int)
F(1, 1);
// Invokes F(double, double)
}
}
Arquitetura de Desenho – C#

Polimorfismo (cont.)

Overriding

Exemplo:
public abstract class Expression
{
public abstract double Evaluate(Hashtable vars);
}
public class Constant: Expression
{
double value;
public Constant(double value) {
this.value = value;
}
public override double Evaluate(Hashtable vars) {
return value;
}
}
Arquitetura de Desenho – C#

Exceções

Try-catch

Try-finally

Try-catch-finally
Eiffel.NET

É uma implementação completa da linguagem
Eiffel rodando sobre o .NET Framework

Projetos em Eiffel.NET podem ser criados tanto a
partir do Visual Studio .NET como do Eiffel Studio

a combinação da linguagem Eiffel com a
plataforma .NET permite resolver questões como
herança múltipla.
Comparação C# x Eiffel
Característica
C#
Eiffel
Herança simples
Sim
Sim
Herança múltipla
Não
Sim
Polimorfismo
Sim
Sim
Desenho por contrato
Não
Sim
Tratamento de exceções
Sim
Sim
Invariantes/Pré-condições/ Póscondições
Não
Sim
Garbage Collection
Sim
Sim