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

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

1 Plataforma de desenvolvimento Ricardo Cavalcanti Sérgio Clemente Ricardo Cavalcanti Sérgio Clemente.

Apresentações semelhantes


Apresentação em tema: "1 Plataforma de desenvolvimento Ricardo Cavalcanti Sérgio Clemente Ricardo Cavalcanti Sérgio Clemente."— Transcrição da apresentação:

1 1 Plataforma de desenvolvimento Ricardo Cavalcanti (roc3@cin.ufpe.br) Sérgio Clemente (sscf@cin.ufpe.br) Ricardo Cavalcanti (roc3@cin.ufpe.br) Sérgio Clemente (sscf@cin.ufpe.br) Centro de Informática – 19/07/2005

2 2 Windows Longhorn Nova versão do sistema operacional windows Grande mudança desde o windows 95 e o modelo de computação de 32 bits Criado em.NET Primeiro SO feito parcialmente em código gerenciado Nova versão do sistema operacional windows Grande mudança desde o windows 95 e o modelo de computação de 32 bits Criado em.NET Primeiro SO feito parcialmente em código gerenciado

3 3 Windows Longhorn Evolução do sistema operacional Windows. Evolução da concepção do software. Evolução do sistema operacional Windows. Evolução da concepção do software. Richness Win16 Win32 COM MFC Componentes Serviços APIs Windows 3.0WinFX.NET Framework “Whidbey”

4 4 Roteiro da apresentação Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação)

5 5 Plataforma de desenvolvimento Win32.NET Framework WinFX SDK

6 6 Plataforma de desenvolvimento Componentes Nova api (WinFX) Antiga api (Win32) Contém ferramentas envolvidas na fase de desenvolvimento do software Compilador, runtime, etc. Semelhante ao JDK ou ao.NET Framework Componentes Nova api (WinFX) Antiga api (Win32) Contém ferramentas envolvidas na fase de desenvolvimento do software Compilador, runtime, etc. Semelhante ao JDK ou ao.NET Framework

7 7 Roteiro da apresentação Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação)

8 8 WinFX - Win Effects Funcionalidades do SO acessíveis através de uma API de código gerenciado orientado a objetos Sucessora da API Win32 Não roda em cima da Win32 WinFX está para.NET assim como Win32 está para C++. Funcionalidades do SO acessíveis através de uma API de código gerenciado orientado a objetos Sucessora da API Win32 Não roda em cima da Win32 WinFX está para.NET assim como Win32 está para C++.

9 9 WinFX TM ApresentaçãoArmazenamentoComunicação Serviços básicos do sistema operacional Avalon WinFSIndigo Base

10 10 WinFX Codigo.NET.NET Class Library Win32 API Codigo.NET WinFX Passado Presente Código feito em C Código feito em.NET Interoperabilidade custa caro!

11 11 WinFX – Uma API extensa.Net Framework 1.0Longhorn (build beta) Assemblies 39172 4.4x Namespaces 121438 3.6x Types 3,88913,595 3.5x Membros implementados 32,52393,217 2.9x APIs para acesso a funcionalidades de baixo nível Mais funcionalidades de alto nivel para aumentar produtividade

12 12 Roteiro da apresentação Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação)

13 13 WinFS - Windows File System Novo sistema de arquivos utilizado no longhorn Motivação Grande volume de dados Desktops no futuro terão hds em tera bytes Dificuldade de achar documentos Pesquisa indica que de 15-30% do tempo do funcionário são gastas com buscas e 50% delas falham. [IDC] Dificuldade de relacionar dados Dificuldade de achar documentos de um determinado autor Novo sistema de arquivos utilizado no longhorn Motivação Grande volume de dados Desktops no futuro terão hds em tera bytes Dificuldade de achar documentos Pesquisa indica que de 15-30% do tempo do funcionário são gastas com buscas e 50% delas falham. [IDC] Dificuldade de relacionar dados Dificuldade de achar documentos de um determinado autor Segundo [WinFS101]

14 14 WinFS Um sistema de arquivos totalmente novo? Não! Construido sobre o NTFS Totalmente compatível com o sistema de arquivos atual Utiliza uma base de dados relacional para armazenar metadados dos arquivos Procurar documentos word cujo nome do autor é ‘Smith’ Possibilidade de relacionar fotos com pessoas, documentos com pessoas, etc Um sistema de arquivos totalmente novo? Não! Construido sobre o NTFS Totalmente compatível com o sistema de arquivos atual Utiliza uma base de dados relacional para armazenar metadados dos arquivos Procurar documentos word cujo nome do autor é ‘Smith’ Possibilidade de relacionar fotos com pessoas, documentos com pessoas, etc

15 15 WinFS API orientada a objetos Utiliza uma linguagem denominada OPATH SQL Utiliza T-SQL API orientada a objetos Utiliza uma linguagem denominada OPATH SQL Utiliza T-SQL Dim personItem As Person For Each personItem In Person.FindAll(context, "PersonalNames.Surname=’Smith’")... Next select p._Item from [System.Storage.Contacts.Store].[Person] p where exists (select * from unnest (p.PersonalNames) n where n.Surname=‘Smith')

16 16 Roteiro da apresentação Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação)

17 17 Avalon Subsistema para apresentação do longhorn Sucessor do GDI / GDI+ (motor de desenho do windows) Integração de IU para aplicativos, documentos e conteúdos multimídia Interfaces independentes do destino (web ou desktop) Uso de XAML para definição da interface Linguagem declarativa Subsistema para apresentação do longhorn Sucessor do GDI / GDI+ (motor de desenho do windows) Integração de IU para aplicativos, documentos e conteúdos multimídia Interfaces independentes do destino (web ou desktop) Uso de XAML para definição da interface Linguagem declarativa

18 18 Avalon O motor do Avalon é criado sobre o DirectX Motor utiliza figuras em formato vetorial Utilizando o poder da placa de vídeo (que passa grande parte do seu tempo ociosa) Dois modelos de programação Declarativa (Designers) Procedural (Programadores) O motor do Avalon é criado sobre o DirectX Motor utiliza figuras em formato vetorial Utilizando o poder da placa de vídeo (que passa grande parte do seu tempo ociosa) Dois modelos de programação Declarativa (Designers) Procedural (Programadores)

19 19 Avalon Melhor da Web, Melhor do Windows Web Implantação e atualização simples e fácil gerenciamento Flow layout Modelo declarativo Windows Não restrição de funcionalidade (drag and drop) Integração com desktop Bom suporte offline (Smart Clients) Escalabilidade e Performance Melhor da Web, Melhor do Windows Web Implantação e atualização simples e fácil gerenciamento Flow layout Modelo declarativo Windows Não restrição de funcionalidade (drag and drop) Integração com desktop Bom suporte offline (Smart Clients) Escalabilidade e Performance

20 20 XAML Linguagem declarativa baseada em XML para definir interface gráfica Separação de apresentação e código permite que o designer trabalhe na IU enquando que o desenvolvedor trabalhe na lógica Linguagem declarativa baseada em XML para definir interface gráfica Separação de apresentação e código permite que o designer trabalhe na IU enquando que o desenvolvedor trabalhe na lógica

21 21 XAML Exemplo Hello World

22 22 XAML Elementos do XML estão associados a classes Atributos dos elementos estão associados a propriedades dos objetos Tudo muito simples, mas onde colocar o código para os eventos?? Inline Codebehind Elementos do XML estão associados a classes Atributos dos elementos estão associados a propriedades dos objetos Tudo muito simples, mas onde colocar o código para os eventos?? Inline Codebehind Button btn = new Button(); btn.Width = new Length(90); btn.Height = new Length(32); Canvas.SetTop(btn, new Length(10)); Canvas.SetLeft(btn, new Length(10)); btn.Content = "Click Me"; <Button Canvas.Left="10" Canvas.Top="10" Width="90px" Height="32px">Click Me Codigo procedural no longhorn Funcionalidade idêntica feita em XAML

23 23 XAML Inline <Button ID="btn1" Height="50" Width="200" Background="Red" Foreground="White" FontFamily="Times New Roman" FontSize="14" Content="Red Button" Click="ButtonClickMethod"/> <![CDATA[ void ButtonClickMethod(object sender, EventArgs e) { btn1.Background = Brushes.Green; MessageBox.Show("Red Button clicked"); } ]]>

24 24 XAML Codebehind <Window xmlns="http://schemas.microsoft.com/2003/xaml" xmlns:def="Definition" def:Class="Form1" def:CodeBehind="Form1.xaml.cs" Text="Form1" Visible="True" > Click Me public partial class Form1 : Window { private void Click(object sender, MouseButtonEventArgs e) { //... }

25 25 Roteiro da apresentação Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) Plataforma de desenvolvimento (SDK) WinFX WinFS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação)

26 26 O que é o Indigo? É um conjunto de tecnologias para criar aplicações distribuídas e de grande porte. Baseado em orientação a serviços Implementa SOAP e outras tecnologias Interoperabilidade inclusive com aplicações não- Microsoft É um conjunto de tecnologias para criar aplicações distribuídas e de grande porte. Baseado em orientação a serviços Implementa SOAP e outras tecnologias Interoperabilidade inclusive com aplicações não- Microsoft

27 27 Orientação a serviços [Chappell] Um serviço é um programa que interage com outros através de mensagens. Fronteiras bem definidas Autonomia Apenas esquemas e contratos compartilhados Baseados em políticas (WS-Policy-based) Um cliente é um programa que torna os serviços usáveis por pessoas. Um sistema conectado é uma coleção de serviços interconectados. Um serviço é um programa que interage com outros através de mensagens. Fronteiras bem definidas Autonomia Apenas esquemas e contratos compartilhados Baseados em políticas (WS-Policy-based) Um cliente é um programa que torna os serviços usáveis por pessoas. Um sistema conectado é uma coleção de serviços interconectados.

28 28 Indigo [INDIGO] Protocolos WS-* InteroperabilidadeSOA Transações Distribuídas, etc Enfileiramento de Mensagens Comunicação.NET –.NET WSEASMXRemoting EnterpriseServices MSMQ

29 29 Dúvidas?

30 30 Referências Microsoft Longhorn http://msdn.microsoft.com/Longhorn/http://msdn.microsoft.com/Longhorn/ [IDC] http://www.idc.comhttp://www.idc.com Introduction - Windows 2000 Graphics API Black Book - http://graphicsbb.itgo.com/intro.html http://graphicsbb.itgo.com/intro.html Revolutionary File Storage System Lets Users Search and Manage Files Based on Content - http://msdn.microsoft.com/longhorn/default.aspx?pull=/msdnmag/iss ues/04/01/WinFS/default.aspx http://msdn.microsoft.com/longhorn/default.aspx?pull=/msdnmag/iss ues/04/01/WinFS/default.aspx CLI201: WinFS Overview: The New Storage Subsystem In Longhorn [WinFS 101] WinFS 101: Introducing the New Windows File System http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnwinfs/html/winfs03112004.asp http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnwinfs/html/winfs03112004.asp [INDIGO] Longhorn Developer Corner: Indigo http://msdn.microsoft.com/Longhorn/Indigo/default.aspx http://msdn.microsoft.com/Longhorn/Indigo/default.aspx [Chappell] Chappell, David. Introducing Indigo: An Early Look. Disponível em http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/def ault.as:px?pull=/library/en-us/dnlong/html/introindigov1-0.asp http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/def ault.as:px?pull=/library/en-us/dnlong/html/introindigov1-0.asp Microsoft Longhorn http://msdn.microsoft.com/Longhorn/http://msdn.microsoft.com/Longhorn/ [IDC] http://www.idc.comhttp://www.idc.com Introduction - Windows 2000 Graphics API Black Book - http://graphicsbb.itgo.com/intro.html http://graphicsbb.itgo.com/intro.html Revolutionary File Storage System Lets Users Search and Manage Files Based on Content - http://msdn.microsoft.com/longhorn/default.aspx?pull=/msdnmag/iss ues/04/01/WinFS/default.aspx http://msdn.microsoft.com/longhorn/default.aspx?pull=/msdnmag/iss ues/04/01/WinFS/default.aspx CLI201: WinFS Overview: The New Storage Subsystem In Longhorn [WinFS 101] WinFS 101: Introducing the New Windows File System http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnwinfs/html/winfs03112004.asp http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnwinfs/html/winfs03112004.asp [INDIGO] Longhorn Developer Corner: Indigo http://msdn.microsoft.com/Longhorn/Indigo/default.aspx http://msdn.microsoft.com/Longhorn/Indigo/default.aspx [Chappell] Chappell, David. Introducing Indigo: An Early Look. Disponível em http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/def ault.as:px?pull=/library/en-us/dnlong/html/introindigov1-0.asp http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/def ault.as:px?pull=/library/en-us/dnlong/html/introindigov1-0.asp

31 31 Referências Windows Longhorn Developer Center http://www.c- sharpcorner.com/Longhorn/http://www.c- sharpcorner.com/Longhorn/ A First Look at Writing and Deploying Apps in the Next Generation of Windows http://msdn.microsoft.com/longhorn/understanding/pillars/fundament als/default.aspx?pull=/msdnmag/issues/04/01/DevelopingAppsforLo nghorn/default.aspx http://msdn.microsoft.com/longhorn/understanding/pillars/fundament als/default.aspx?pull=/msdnmag/issues/04/01/DevelopingAppsforLo nghorn/default.aspx Introduction To WinFX http://www.deepwinfx.com/Articles/IntroductionToWinFX.aspx http://www.deepwinfx.com/Articles/IntroductionToWinFX.aspx Introduction to Win32 http://www.functionx.com/win32/Lesson01.htmhttp://www.functionx.com/win32/Lesson01.htm Introduction to XAML http://www.longhorncorner.com/UploadFile/mahesh/XAMLIntro03282 005195730PM/XAMLIntro.aspx?ArticleID=ed4b789e-7b95-4e25- 8860- c0f7f3511d7b&PagePath=/UploadFile/mahesh/XAMLIntro03282005 195730PM/XAMLIntro.aspx http://www.longhorncorner.com/UploadFile/mahesh/XAMLIntro03282 005195730PM/XAMLIntro.aspx?ArticleID=ed4b789e-7b95-4e25- 8860- c0f7f3511d7b&PagePath=/UploadFile/mahesh/XAMLIntro03282005 195730PM/XAMLIntro.aspx Avalon November 2004 Community Technology Preview http://msdn.microsoft.com/Longhorn/understanding/pillars/avalon/avn ov04ctp/default.aspx http://msdn.microsoft.com/Longhorn/understanding/pillars/avalon/avn ov04ctp/default.aspx WinFS Data Model http://www.longhorncorner.com/UploadFile/jrodriguez/WinFSDataMo del03072005041249AM/WinFSDataModel.aspx?ArticleID=5ddee374 -f09a-45b9-a9b8-cd22ef5d0897 http://www.longhorncorner.com/UploadFile/jrodriguez/WinFSDataMo del03072005041249AM/WinFSDataModel.aspx?ArticleID=5ddee374 -f09a-45b9-a9b8-cd22ef5d0897 Windows Longhorn Developer Center http://www.c- sharpcorner.com/Longhorn/http://www.c- sharpcorner.com/Longhorn/ A First Look at Writing and Deploying Apps in the Next Generation of Windows http://msdn.microsoft.com/longhorn/understanding/pillars/fundament als/default.aspx?pull=/msdnmag/issues/04/01/DevelopingAppsforLo nghorn/default.aspx http://msdn.microsoft.com/longhorn/understanding/pillars/fundament als/default.aspx?pull=/msdnmag/issues/04/01/DevelopingAppsforLo nghorn/default.aspx Introduction To WinFX http://www.deepwinfx.com/Articles/IntroductionToWinFX.aspx http://www.deepwinfx.com/Articles/IntroductionToWinFX.aspx Introduction to Win32 http://www.functionx.com/win32/Lesson01.htmhttp://www.functionx.com/win32/Lesson01.htm Introduction to XAML http://www.longhorncorner.com/UploadFile/mahesh/XAMLIntro03282 005195730PM/XAMLIntro.aspx?ArticleID=ed4b789e-7b95-4e25- 8860- c0f7f3511d7b&PagePath=/UploadFile/mahesh/XAMLIntro03282005 195730PM/XAMLIntro.aspx http://www.longhorncorner.com/UploadFile/mahesh/XAMLIntro03282 005195730PM/XAMLIntro.aspx?ArticleID=ed4b789e-7b95-4e25- 8860- c0f7f3511d7b&PagePath=/UploadFile/mahesh/XAMLIntro03282005 195730PM/XAMLIntro.aspx Avalon November 2004 Community Technology Preview http://msdn.microsoft.com/Longhorn/understanding/pillars/avalon/avn ov04ctp/default.aspx http://msdn.microsoft.com/Longhorn/understanding/pillars/avalon/avn ov04ctp/default.aspx WinFS Data Model http://www.longhorncorner.com/UploadFile/jrodriguez/WinFSDataMo del03072005041249AM/WinFSDataModel.aspx?ArticleID=5ddee374 -f09a-45b9-a9b8-cd22ef5d0897 http://www.longhorncorner.com/UploadFile/jrodriguez/WinFSDataMo del03072005041249AM/WinFSDataModel.aspx?ArticleID=5ddee374 -f09a-45b9-a9b8-cd22ef5d0897

32 32 Plataforma de desenvolvimento Ricardo Cavalcanti (roc3@cin.ufpe.br) Sérgio Clemente (sscf@cin.ufpe.br) Ricardo Cavalcanti (roc3@cin.ufpe.br) Sérgio Clemente (sscf@cin.ufpe.br)

33 33 Avalon Application Model Composable component architecture Layout engine Two-way transformable data binding Rich visual styling and theming Browser hosting Graphics Model 2D & 3D Graphics Imaging Text Video and audio Animation Document Model Fixed, flow and adaptive layouts Advanced typography Container services Rights management Application Model Composable component architecture Layout engine Two-way transformable data binding Rich visual styling and theming Browser hosting Graphics Model 2D & 3D Graphics Imaging Text Video and audio Animation Document Model Fixed, flow and adaptive layouts Advanced typography Container services Rights management Media Integration Layer Media Integration Layer Element Services Application Model Application Model Document Model Document Model Graphics Model Graphics Model Composition and Rendering.NET Framework DirectX Avalon Tools and Languages

34 34 WinFS 12 536 1. 1.Sistema de arquivos NTFS 2. 2.Motor relacional sqlserver 3. 3.Serviços base de um sistema de arquivos, importação/exportação. 4. 4.Fornece o relacionamento entre itens 5. 5.Definição de itens complexos 6. 6.Serviços de notificação, sicronização, etc. 7. 7.API para acesso as funcionalidades 74

35 35 XAML Elementos raiz possíveis Window (Windows/Web) Canvas Paineis Elementos raiz possíveis Window (Windows/Web) Canvas Paineis

36 36 XAML Necessita ou não ser compilado Caso não contenha código, pode ser aberto no browser Caso contenha código, precisa ser compilado Necessita ou não ser compilado Caso não contenha código, pode ser aberto no browser Caso contenha código, precisa ser compilado

37 37 XAML Processo de compilação Arquivo XAML (Form1.xaml) Code behind (Form1.xaml.cs) Arquivo de projeto do longhorn (Application1.proj) Executável (Aplication1.exe) Build (msbuild.exe)

38 38 WinFX Communication AvalonWinFSIndigo Windows Forms ASP.NET ObjectSpaces DataSet SQL XML Providers Framework Services Schemas Data Model ADO.NET Connectivity Synchronization (WinFS, Win32..) InfoAgent (PreferenceRules..) InfoAgent (PreferenceRules..) FileSystem Services (MetaDataHandlers..) FileSystem Services (MetaDataHandlers..) Calendar Media Document … … Items Relationships Extensions Communications Manager (Port) Messaging Services Transport Channels (IPC, HTTP, TCP…) Transport Channels (IPC, HTTP, TCP…) Channels (Datagram, Reliable, Peer, …) Policy Engine Policy Engine Message Encoder Message Encoder Channel Security Channel Security Queuing Eventing Routing Transaction Desktop Services Desktop Services Desktop Window Manager Desktop Window Manager Presentation Object Manager Desktop Composition Engine Animation and Composition Media Services Hardware Rendering Hardware Rendering Media Processing Capture and Sourcing Capture and Sourcing Software Rendering and Sinks Software Rendering and Sinks Adaptive UI Engine Adaptive UI Engine Page/Site Composition Personalization and Profiling Services Personalization and Profiling Services Membership and Security Services Membership and Security Services Designer Services Designer Services Controls Interop Engine Controls Interop Engine Controls Windows Forms Application Services Application Services People Group Collaboration People and Groups People and Groups Collaboration History Collaboration History Real-Time Activities Real-Time Activities Signaling Federation System Services TransactionsStorage Protocols Network Services Kernel Mode Base Class Libraries Memory Manager Hosting Layer Code Execution Loader Security Serialization Lightweight Transactions Lightweight Transactions Transaction Coordinator Kernel Transaction Manager Logging Service Kernel Hardware Abstraction Layer Process Manager Process Manager Security Reference Monitor LPC Facility Memory Manager Power Manager Config Manager Plug and Play Transacted NTFS Transacted NTFS Cache Manager Cache Manager Universal Data Format Universal Data Format Filter Engine Filter Engine TCP, UDP IPV4, IPV6 TCP, UDP IPV4, IPV6 IPSEC QOS HTTP Listener HTTP Listener Internet Connection Firewall Demand Activation and Protocol Health PNRP Native WiFi Native WiFi SIP TCP Listener TCP Listener UDP Listener UDP Listener IPC Listener IPC Listener Network Class Library GDI/GDI+ Window Manager Window Manager Global Audio Engine Global Audio Engine Direct 3D Graphics Graphics drivers DDI Input Manager Input Manager Audio Drivers Audio Drivers DirectX Graphics Mini port DirectX Graphics Mini port Redirectors SCSI/FC 802.3 802.11.. Device Drivers Management Services (Event Logs, Tracing, Probes, Auto Update, Admin) Management Services (Event Logs, Tracing, Probes, Auto Update, Admin) IO Manager Application Deployment Engine (Click-Once) Application Deployment Engine (Click-Once) Identity & Security System Identity & Security System FAT 16/32 Filter Manager Filter Manager Distributed File System Distributed File System Virtual Shadow Copy Service Virtual Shadow Copy Service File Replication Service File Replication Service Virtual Disk Service Virtual Disk Service Models Service Object T/SQL XML Document UI Media CLR ApresentaçãoArmazenamentoComunicação Serviços básicos do sistema operacional AvalonWinFSIndigo TM


Carregar ppt "1 Plataforma de desenvolvimento Ricardo Cavalcanti Sérgio Clemente Ricardo Cavalcanti Sérgio Clemente."

Apresentações semelhantes


Anúncios Google