Vitor Santos Microsoft Corporation

Slides:



Advertisements
Apresentações semelhantes
.NET Compact Framework Nuno Costa
Advertisements

Mudar para Service-Orientation ? Vitor Santos.NET Group Microsoft Corporation.
Segurança na .NET Framework
Noções de Sistemas Operacionais
Tipos de Sites Web gerados pelo VS2005
Criar uma Aplicação Web em ASP.NET v Tipos de Sites Web gerados pelo VS2005 File-system Web sites Ficheiros armazenados num directório local É utilizado.
Rational Unified Process
Capítulo 1 Introdução.
.Net Para Web Plataforma.Net 2º Semestre 2009 > PUCPR > Tecnologia de Programação II Bruno C. de Paula.
BD em.NET: Passo a passo conexão com SQL Server 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula.
ELEMENTOS DA INFORMÁTICA
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena
April 05 Prof. Ismael H. F. Santos - 1 Modulo II CheckStyle Professor Ismael H F Santos –
Caro Professor, Este material de apoio é gratuito e para uso exclusivo em sala de aula. Não pode ser comercializado. Ele não contém vírus ou qualquer instrumento.
Curso Sistemas de Informação I Disciplina: Arquitetura de Software
Área de Desenvolvimento de Sistemas
Auditoria de Segurança da Informação
Treinamento no GRADEp HelloWorld Args. Slide 2 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 HelloWorld e Args Autoria Autora.
III – Aplicações – Teleconferência Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP-018 – O Produto Internet e suas Aplicações.
Aula 3 Evolução da Principais Linguagens
Aula 8 Orientação à Objetos
Aula 10 Manipulação de Exceções
Arquivos. 2 Namespace System.IO Toda as classes relacionadas com dispositivos de entrada e saída encontram-se em System.IO Incluir no início do programa:
.NET FRAMEWORK. 2.NET Framework É uma plataforma que permite desenvolver aplicações de software e bibliotecas chamadas aplicações gerenciadas; Ele provê
Laboratório de Programação de Computadores I
Microsoft.NET Framework Luiz Miranda devgoiania.net Programas & Soluções.
Documentação da Neptus Framework
A linguagem C#.
Introdução a Programação Orientada a Objetos
Introdução a Programação JAVA
Conhecendo o Visual Studio.NET
Desenvolvimento de uma garra robótica para operações de bin-picking
Linguagem de Programação JAVA
PROGRAMAÇÃO I UNIDADE 1.
Elizeu Madeira Eduardo Cardoso João Paulo Duarte
Object Oriented Software Construction (MEYER, Bertrand)
Arquitetura Microsoft .Net
Flávia Andrade de Souza Rodrigo Mibielli Peixoto
Tecnologias.NET Equipe: Ayrton Johab Rejane Roosevelt Wanessa.
Introdução ao Desenvolvimento Web
Salas de Matemática.
Florin Zamfir Portal de Comunidade Educativa – Serviços e Conteúdos Portal da Comunidade Educativa Serviços e Conteúdos Florin Zamfir, Fernando Delgado,
Linguagem Técnica de Programação VI Prof.: Luiz Gustavo Jordão Soares.
Trabalho realizado por
Paradigmas da Programação – Semestre 2 – Aula 2 Introdução ao VS.Net Professores: Fábio de Paula Santos Eduardo Mantovani.
Higher Education Statistics in C# Language
Web Services Desmistificando o pré-conceito.
Fevereiro/ Resultado dos Projetos de Software Pesquisa Motivação.
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Noções de Software Escola Almirante Soares Dutra
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
1 2 Observa ilustração. Cria um texto. Observa ilustração.
XIV Jornada de Cursos .NET com C# Antônio Júnior Bruno Inojosa.
Adriano Melo Introdução ao ASP.NET Adriano Melo
T. D. S. I. PARA WEB Prof. Emmanuel Nolêto. Java RMI.
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Introdução aos Protocolos de Roteamento Dinâmico
Módulo I Capítulo 1: Introdução ao curso
Introdução JAVA Faculdade Mauricio de Nassau
.NET com C#.  Conceitos e Características  Vantagens do SOAP  Descrição do WebService  Gerenciamento de Estados  UDDI  Novidades do Framework 2.0.
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas.
Alexandre Ricardo Nardi
Introdução a Programação Orientada a Objetos
Java Disciplina: Programação II Professora: Mai-Ly Vanessa.
Visão Geral do Arcabouço.NET Alexandre Ricardo Nardi
1.Net Framework Aluno Luiz GUStavo Martins Matéria Sistemas de Objetos Distribuídos.
Módulo II Capítulo 2: Bibliotecas
LINGUAGEM DE PROGRAMAÇÃO I
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Transcrição da apresentação:

Vitor Santos Microsoft Corporation A Plataforma .NET Vitor Santos Microsoft Corporation

Agenda Web Services e Smart Devices A Plataforma .NET O Modelo de programação Sumário

Agenda Web Services e Smart Devices A Plataforma .NET O Modelo de programação Sumário

Empregados no Exterior Empregados no Exterior A empresa “Virtual” Empresa A Empresa B Clientes Parceiros Fornecedores Escrit.Remoto/Consumidores Empregados no Exterior Escrit.Remoto/Consumidores Empregados no Exterior Exigencia de negócio = Estar tudo ligado

Exigencia de negócio = tudo ligado Empresa A Escrit.Remoto/Consumidores Empregados no Exterior Company C Escrit.Remoto/Consumidores Clientes Parceiros Fornecedores Empregados no Exterior Empresa B Escrit.Remoto/Consumidores Clientes Parceiros Fornecedores Empregados no Exterior Empresa D Escrit.Remoto/Consumidores Clientes Parceiros Fornecedores Empregados no Exterior Empresa E Escrit.Remoto/Consumidores Clientes Parceiros Fornecedores Empregados no Exterior Empresa F Escrit.Remoto/Consumidores Clientes Parceiros Fornecedores Empregados no Exterior Exigencia de negócio = tudo ligado

A Integração Problema clássico Exemplos Costuma ficar para o fim Demasiado difícil, cara, lenta e frágil Ilhas de tecnologia no mar da conectividade As soluções estão a evoluir para constelações Exemplos Dentro das empresas Entre empresas O indivíduo e diferentes tecnologias

Web Services Conceptualmente “Pequenos componentes de funcionalidade disponibilizadas para poderem ser consumidos como serviços através de uma rede” Tecnicamente “Conjunto de operações acessíveis através de mensagens “standard” sobre uma rede

Demo

Novos dispositivos Uma plataforma de desenvolvimento tem de integrar os novos dispositivos de forma transparente; Conectividade Baixo custo, a Internet a universalizar-se Wireless, acesso a banda larga Proliferação de equipamentos Equipamentos ligados à Internet - PDAs, Telefones celulares etc. Standards para a Internet Integração assente em XML

Demo Vídeo Web Services

Agenda Web Services e Smart Devices A plataforma .NET O Modelo de Programação Sumário

O que é o .NET? Uma plataforma de desenvolvimento: interfaces, componentes e ferramentas para desenvolver software. A maior alteração dentro da Microsoft desde que o Windows NT substituíu o DOS As alterações incluem: Formato do código, compiladores, Modelos de carregamento e execução do código, Modelo de segurança, Modelo de objectos, metadados, protocolos remoting Bibliotecas de classes, …

A plataforma .NET

O valor estratégico da plataforma Suporte ao desenvolvimento de novos negócios assentes na tecnologia

Novos modelos de negócio AUTENTICAÇÃO Leilões Fornecedor A Fornecedor B ……… Fornecedor C

Novos modelos de negócio Pagamentos AUTENTICAÇÃO Leilões Fornecedor A Fornecedor B ……… Fornecedor C Empresa A Empresa B Empresa C

Novos modelos de negócio Pagamentos AUTENTICAÇÃO Leilões Fornecedor A Fornecedor B ……… Fornecedor C Empresa A Empresa B Empresa C

O Software será a base dos novos modelos de negócio Experiências de utilização de software consistentes entre os diversos dispositivos; Produção de software como um serviço; Modelo de programação consistente. O software tem de permitir:

Agenda Web Services e Smart Devices A plataforma .NET O Modelo de Programação Sumário

O modelo de programação tem de: Simplificar o desenvolvimento de aplicações Fornecer um ambiente de execução seguro e robusto Suporte para múltiplas linguagens de programação Simplificar a distribuição e manutenção de aplicações

As ferramentas de desenvolvimento XML Web Services HTML, scripting Visual Basic PowerBuilder Delphi MS-BASIC Turbo Pascal QuickBasic A Web Cobol RPG GUI O PC O “sistema”

.NET: Princípios Visão Microsoft para a computação Tornar a computação distribuida na Internet comum Explorar o poder de processamento e largura de banda cada vez mais baratos Integração natural entre múltiplas aplicações e dispositivos Disponibilizar software como um serviço Experiência de utilização nova e mais rica A .NET Framework é o modelo de programação que serve de base para a visão .NET

Common Language Runtime .NET Framework Common Language Runtime (CLR) Suporte múltiplas linguagens Sistema único de tipos Deployment simplificado Code Access Security Bibliotecas base ricas Modelo de programação poderoso e consistente Focus no código e funcionalidade Integração com as tools de desenvolvimento Suporte de funcionalidade design-time Suporte para Debugging, profiling e instrumentação ASP.NET Web Forms Web Services Mobile Devices Windows Forms ADO.NET and XML Base Class Library Common Language Runtime

Common Language Runtime Desenvolvimento Assembly public static void Main(String[] args ) usr=Environment.GetEnvironmentVariable("USERNAME"); try { { String usr; FileStream f; StreamWriter w; w.WriteLine(usr); w=new StreamWriter(f); f=new FileStream(“C:\\test.txt",FileMode.Create); Console.WriteLine("Exception:"+e.ToString()); } catch (Exception e){ w.Close(); } Compilador public static void Main(String[] args ) usr=Environment.GetEnvironmentVariable("USERNAME"); try { { String usr; FileStream f; StreamWriter w; w.WriteLine(usr); w=new StreamWriter(f); f=new FileStream(“C:\\test.txt",FileMode.Create); Console.WriteLine("Exception:"+e.ToString()); } catch (Exception e){ w.Close(); } Código C# J# VB Cobol … CIL Metadata Resources

Common Language Runtime Distribuição Assembly Desenvolvimento Compilador Assembly Desenvolvimento C# J# VB Cobol … CIL Metadata Resources try { { String usr; FileStream f; StreamWriter w; public static void Main(String[] args ) w.WriteLine(usr); w=new StreamWriter(f); f=new FileStream(“C:\\test.txt",FileMode.Create); usr=Environment.GetEnvironmentVariable("USERNAME"); } catch (Exception e){ w.Close(); } Console.WriteLine("Exception:"+e.ToString()); Código Global Assembly Cache (GAC) Install Setup Copy Browser Application Directory Download Cache

Common Language Runtime Assembly Desenvolvimento Application Directory Setup Copy Browser Download Cache Distribuição Global Assembly Cache (GAC) Assembly on Target Machine Install Policy <security> <mscorlib> <configuration> <?xml version="1.0" encoding="utf-8" ?> <policy> version="1" <CodeGroup class="UnionCodeGroup" <PolicyLevel version="1"> PermissionSetName="Nothing" Description="Code group grants no permissio ns and forms the root of the code group tree."> Name="All_Code" <IMembershipCondition clas s="AllMembershipCondition" version="1"/> PermissionSetName="FullTrust" Execução IL to Native Compiler Class Loader Security Assembly Loader Garbage Collection Native .exe + GC table Code Manager Exception Manager Thread Support COM Interop Debug Engine

Demo Common Language Runtime

Objectivos no desenho da .NET Framework Simplificar o desenvolvimento de aplicações Fornecer um ambiente de execução seguro e robusto Suporte para múltiplas linguagens de programação Simplificar a distribuição e manutenção de aplicações

Simplificar o desenvolvimento Windows API HWND hwndMain = CreateWindowEx( 0, "MainWinClass", “Janela Principal", WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, hInstance, NULL); ShowWindow(hwndMain, SW_SHOWDEFAULT); UpdateWindow(hwndMain); .NET Framework Form form = new Form(); form.Text = “Janela Principal"; form.Show();

Simplificar o desenvolvimento Organização O código é organizado em classes e namespaces hierárquicos Sistema de tipos unificado Tudo é um objecto, não há Variants, um só tipo string, todas as strings são Unicode Orientado a Componentes Suporte nativo para propriedades, métodos, eventos, e atributos Funcionalidade Design-time

.NET Framework Namespace System.Web System.WinForms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml ADO SQL XSLT Serialization Design SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading

Robusto e Seguro Gestão automática da “existência” dos objectos Todos os objectos no.NET são geridos pelo “garbage collector” Não há pointers “perdidos” ou referências circulares Code correctness and type-safety O código IL pode ser verificado para garantir que é “type-safe” Não existem casts inválidos, variavéis não inicializadas, acesso a posições incorrectas nos arrays… Segurança baseada em “provas” Baseada na origem do código, assim como do utilizador As permissões são extensíveis

Plataforma Multi-Linguagem Liberdade de escolha da linguagem Todas as funcionalidades da .NET Framework estão disponíveis para qualquer linguagem .NET Os componentes de uma aplicação podem ser escritos em várias linguagens Os Debuggers, profilers, code coverage analyzers, etc…, funcionam para todas as linguagens Compiladores disponíveis Da Microsoft: VB.NET, C++, C#, JScript.NET, J# De outras companhias / universidades: APL, COBOL, Eiffel, Fortran, Haskell, ML, Perl, Python, RPG, Scheme, Smalltalk, …

Unificação de Modelos Programação .NET Framework As APIs são disponibilizadas de forma consistente Independentemente da linguagem ou modelo de programação VB Forms RAD, Composição, Delegação MFC/ATL Subclassing, Poder, Expressividade ASP Stateless, Código embedido em páginas HTML Windows API

Suporte a várias linguagens Dim s as String s = "authors" Dim cmd As New SqlCommand("select * from " & s, sqlconn) cmd.ExecuteReader() VB.NET string s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader(); C# C++ String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s), sqlconn); cmd.ExecuteReader();

Suporte a várias linguagens J# String s = "authors"; SqlCommand cmd = new SqlCommand("select * from "+s, sqlconn); cmd.ExecuteReader();

Suporte a várias linguagens var s = "authors" var cmd = new SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader() Jscript.NET String *s = S"authors"; SqlCommand cmd = new SqlCommand(String::Concat(S"select * from ", s), sqlconn); cmd.ExecuteReader(); Perl s = "authors" cmd =SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader() Python

Suporte a várias linguagens ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. CLASS SqlCommand AS "System.Data.SqlClient.SqlCommand"     CLASS SqlConnection AS "System.Data.SqlClient.SqlConnection". DATA DIVISION. WORKING-STORAGE SECTION. 01 str PIC X(50). 01 cmd-string PIC X(50). 01 cmd OBJECT REFERENCE SqlCommand. 01 sqlconn OBJECT REFERENCE SqlConnection. PROCEDURE DIVISION. *> Establish the SQL connection here somewhere. MOVE "authors" TO str. STRING "select * from " DELIMITED BY SIZE,    str DELIMITED BY " " INTO cmd-string. INVOKE SqlCommand "NEW" USING BY VALUE cmd-string sqlconn RETURNING cmd. INVOKE cmd "ExecuteReader". Cobol

Suporte a várias linguagens RPG   DclFld MyInstObj Type( System.Data.SqlClient.SqlCommand )  DclFld s Type( *string )  s = "authors"  MyInstObj = New System.Data.SqlClient.SqlCommand("select * from "+s, sqlconn)  MyInstObj.ExecuteReader() assembly_external(name="System.Data.SqlClient.SqlCommand") sqlcmdcharacter*10 xsqlcmd Cmd x='authors' cmd = sqlcmd("select * from "//x, sqlconn)           call cmd.ExecuteReader() end  Fortran

Suporte a várias linguagens APL s←String.New ‘authors’ cmd←SqlCommand.New (‘select * from ‘,s.ToString σ) sqlconn cmd.ExecuteReader     |s| := 'authors'.     |cmd| := SqlCommand('select * from '+s, sqlconn).     cmd.ExecuteReader(). Smalltalk

Suporte a várias linguagens (let* ( (s "authors")   (cmd (new-SqlCommand (string-append "select * from " s) sqlconn))) (execute-command cmd)) Scheme local       s: STRING       cmd: SQLCOMMAND do      s := "authors"       create cmd("select * from " + s, sqlconn)       cmd.ExecuteReader() end Eiffel ExecuteReader = invoke System.Data.SqlClient.ExecuteReader(); SqlCommand = create System.Data.SqlClient.SqlCommand(String,\ System.Data.SqlClient.SqlConnection); query = sqlconn -> let{ s = "authors"; } in {    cmd <- SqlCommand ("select * from "+s, sqlconn);   cmd # ExecuteReader();    };  Mondrian

Demo Suporte multilinguagem

Standardização do .NET CLI e C# “standardizados” pela ECMA Submissão conjunta com Intel e Hewlett-Packard A 13 de Dezembro de 2001, ECMA General Assembly ractificou as especificações do C# e da “common language infrastructure” (CLI) para standards internacionais. Existem companhias a implementar as especificações ECMA. Por exemplo, a Ximian com o Project Mono (.NET em Linux) Está disponível para download “The Microsoft Shared Source CLI Implementation” para Windows e FreeBSD http://msdn.microsoft.com/net/ecma/

Como saber mais sobre a .NET Framework? .NET Framework SDK (essencial!) CLR, compiladores de linha de comando, debuggers, class libraries, documentação, … Download grátis Size: ~100 MB Visual Studio .NET (opcional) IDE (Ambiente de Desenvolvimento Integrado) Size: ~1.5 GB

.NET Compact Framework .NET Framework para dispositivos embebidos

Agenda Web Services e Smart Devices A plataforma .NET O Modelo de Programação Sumário

.NET em suma A plataforma de desenvolvimento de software da Microsoft para a próxima década Baseada em standards, para múltiplas linguagens e múlplipos dispositivos Baseada na ideia dos Web Services

Referências: Sites: News Groups http://msdn.microsoft.com/net http://www.microsoft.com/portugal http://www.microsoft.com/portugal/msdn News Groups News.microsoft.com Microsoft.public.pt.vsnet

Muito Obrigado !