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

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

A Plataforma.NET Vitor Santos Microsoft Corporation.

Apresentações semelhantes


Apresentação em tema: "A Plataforma.NET Vitor Santos Microsoft Corporation."— Transcrição da apresentação:

1

2 A Plataforma.NET Vitor Santos Microsoft Corporation

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

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

5 4 Empresa A A empresa Virtual Escrit.Remoto/Consumidores Empregados no Exterior Empresa B ClientesParceirosFornecedores Escrit.Remoto/Consumidores Empregados no Exterior Exigencia de negócio = Estar tudo ligado

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

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

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

9 8 Demo

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

11 10 Demo Vídeo Web Services

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

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

14 13 A plataforma.NET

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

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

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

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

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

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

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

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

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

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

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

26 25 Compilador AssemblyDesenvolvimentoC#J#VBCobol… CILMetadataResources public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } public static void Main(String[] args ) { String usr; FileStream f; StreamWriter w; try { usr=Environment.GetEnvironmentVariable("USERNAME"); f=new FileStream(C:\\test.txt",FileMode.Create); w=new StreamWriter(f); w.WriteLine(usr); w.Close(); } catch (Exception e){ Console.WriteLine("Exception:"+e.ToString()); } Código AssemblyDesenvolvimento Application Directory Global Assembly Cache (GAC) Common Language Runtime Distribuição SetupCopyBrowser Download Cache Install

27 26 Debug Engine IL to Native Compiler Application Directory SetupCopyBrowser Download Cache Global Assembly Cache (GAC) Assembly on Target Machine Common Language Runtime AssemblyDesenvolvimentoDistribuição Install Execução AssemblyLoader Security Class Loader Native.exe + GC table Code Manager Garbage Collection Exception Manager Thread Support COM Interop Policy

28 27 Demo Common Language Runtime

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

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

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

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

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

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

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

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

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

38 37 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 var s = "authors" var cmd = new SqlCommand("select * from " + s, sqlconn) cmd.ExecuteReader() Jscript.NET Suporte a várias linguagens

39 38 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

40 39 assembly_external(name="System.Data.SqlClient.SqlCommand") sqlcmdcharacter*10 xsqlcmd Cmd x='authors' cmd = sqlcmd("select * from "//x, sqlconn) call cmd.ExecuteReader() end Fortran 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() RPG Suporte a várias linguagens

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

42 41 (let* ( (s "authors") (cmd (new-SqlCommand (string-append "select * from " s) sqlconn))) (execute-command cmd)) Scheme 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 local s: STRING cmd: SQLCOMMAND do s := "authors" create cmd("select * from " + s, sqlconn) cmd.ExecuteReader() end Eiffel Suporte a várias linguagens

43 42 Demo Suporte multilinguagem

44 43 Standardização do.NET CLI e C# standardizados pela ECMA CLI e C# standardizados pela ECMA Submissão conjunta com Intel e Hewlett-Packard 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. 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) 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 Está disponível para download The Microsoft Shared Source CLI Implementation para Windows e FreeBSD / /

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

46 45.NET Compact Framework.NET Framework para dispositivos embebidos.NET Framework para dispositivos embebidos

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

48 47.NET em suma A plataforma de desenvolvimento de software da Microsoft para a próxima década 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 em standards, para múltiplas linguagens e múlplipos dispositivos Baseada na ideia dos Web Services Baseada na ideia dos Web Services

49 48 Referências: Sites: Sites: News Groups News Groups News.microsoft.com News.microsoft.com News.microsoft.com Microsoft.public.pt.vsnet Microsoft.public.pt.vsnet Microsoft.public.pt.vsnet

50 49 Muito Obrigado !


Carregar ppt "A Plataforma.NET Vitor Santos Microsoft Corporation."

Apresentações semelhantes


Anúncios Google