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

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

Vitor Santos Microsoft Corporation

Apresentações semelhantes


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

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

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

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

4 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

5 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

6 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

7 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

8 Demo

9 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

10 Demo Vídeo Web Services

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

12 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,

13 A plataforma .NET

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

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

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

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

18 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:

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

20 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

21 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”

22 .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

23 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

24 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

25 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

26 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

27 Demo Common Language Runtime

28 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

29 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();

30 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

31 .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

32 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

33 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, …

34 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

35 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();

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

37 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

38 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

39 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

40 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

41 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

42 Demo Suporte multilinguagem

43 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

44 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

45 .NET Compact Framework .NET Framework para dispositivos embebidos

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

47 .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

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

49 Muito Obrigado !


Carregar ppt "Vitor Santos Microsoft Corporation"

Apresentações semelhantes


Anúncios Google