Carregar apresentação
A apresentação está carregando. Por favor, espere
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 !
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.