Plataforma de desenvolvimento Ricardo Cavalcanti roc 3cin ufpe

  • Slides: 38
Download presentation
Plataforma de desenvolvimento Ricardo Cavalcanti (roc 3@cin. ufpe. br) Sérgio Clemente (sscf@cin. ufpe. br)

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

Windows Longhorn Nova versão do sistema operacional windows Grande mudança desde o windows 95

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 2

Windows Longhorn Evolução do sistema operacional Windows. Evolução da concepção do software. Richness Win.

Windows Longhorn Evolução do sistema operacional Windows. Evolução da concepção do software. Richness Win. FX Windows 3. 0 Win 16 s API s e t n e n po m Co COM Win 32 MFC s o ç i v Ser . NET Framework “Whidbey” 3

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação)

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) 4

Plataforma de desenvolvimento Win. FX Win 32 . NET Framework SDK 5

Plataforma de desenvolvimento Win. FX Win 32 . NET Framework SDK 5

Plataforma de desenvolvimento Componentes Nova api (Win. FX) Antiga api (Win 32) Contém ferramentas

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

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação)

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) 7

Win. FX - Win Effects Funcionalidades do SO acessíveis através de uma API de

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

Win. FX TM Apresentação Avalon Armazenamento Win. FS Comunicação Indigo Serviços básicos do sistema

Win. FX TM Apresentação Avalon Armazenamento Win. FS Comunicação Indigo Serviços básicos do sistema operacional Base 9

Win. FX Passado Codigo. NET Código feito em C Win 32 API Interoperabilidade custa

Win. FX Passado Codigo. NET Código feito em C Win 32 API Interoperabilidade custa caro! Presente Codigo. NET Win. FX 10

Win. FX – Uma API extensa. Net Framework 1. 0 Assemblies Namespaces Types Membros

Win. FX – Uma API extensa. Net Framework 1. 0 Assemblies Namespaces Types Membros implementados 39 121 3, 889 32, 523 Longhorn (build beta) 172 4. 4 x 438 3. 6 x 13, 595 3. 5 x 93, 217 2. 9 x • APIs para acesso a funcionalidades de baixo nível • Mais funcionalidades de alto nivel para aumentar produtividade 11

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação)

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) 12

Win. FS - Windows File System Novo sistema de arquivos utilizado no longhorn Motivação

Win. FS - 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 13 Segundo [Win. FS 101]

Win. FS Um sistema de arquivos totalmente novo? Não! Construido sobre o NTFS Totalmente

Win. FS 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 arquivos Procurar documentos word cujo nome do autor é ‘Smith’ Possibilidade de relacionar fotos com pessoas, documentos com pessoas, etc 14

Win. FS API orientada a objetos Utiliza uma linguagem denominada OPATH Dim person. Item

Win. FS API orientada a objetos Utiliza uma linguagem denominada OPATH Dim person. Item As Person For Each person. Item In Person. Find. All(context, "Personal. Names. Surname=’Smith’"). . . Next SQL Utiliza T-SQL select p. _Item from [System. Storage. Contacts. Store]. [Person ] p where exists (select * from unnest (p. Personal. Names) n where n. Surname=‘Smith') 15

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação)

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) 16

Avalon Subsistema para apresentação do longhorn Sucessor do GDI / GDI+ (motor de desenho

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 17

Avalon O motor do Avalon é criado sobre o Direct. X Motor utiliza figuras

Avalon O motor do Avalon é criado sobre o Direct. X 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) 18

Avalon Melhor da Web, Melhor do Windows Web Implantação e atualização simples e fácil

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 19

XAML Linguagem declarativa baseada em XML para definir interface gráfica Separação de apresentação e

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 20

XAML Exemplo <Window xmlns="http: //schemas. microsoft. com/2003/xaml"> <Button>Hello World</Button> </Window> 21

XAML Exemplo <Window xmlns="http: //schemas. microsoft. com/2003/xaml"> <Button>Hello World</Button> </Window> 21

XAML Elementos do XML estão associados a classes Atributos dos elementos estão associados a

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 Button btn = new Button(); btn. Width = new Length(90); btn. Height = new Length(32); Canvas. Set. Top(btn, new Length(10)); Canvas. Set. Left(btn, new Length(10)); btn. Content = "Click Me"; <Canvas xmlns="http: //schemas. microsoft. com/2003/xaml "> <Button Canvas. Left="10" Canvas. Top="10" Width="90 px" Height="32 px">Click Me</Button> </Canvas> 22 Codigo procedural no longhorn Funcionalidade idêntica feita em XAML

XAML Inline <Dock. Panel> <Button ID="btn 1" Height="50" Width="200" Background="Red" Foreground="White" Font. Family="Times New

XAML Inline <Dock. Panel> <Button ID="btn 1" Height="50" Width="200" Background="Red" Foreground="White" Font. Family="Times New Roman" Font. Size="14" Content="Red Button" Click="Button. Click. Method"/> <x: Code> <![CDATA[ void Button. Click. Method(object sender, Event. Args e) { btn 1. Background = Brushes. Green; Message. Box. Show("Red Button clicked"); } ]]> </x: Code> </Dock. Panel> 23

XAML Codebehind <Window xmlns="http: //schemas. microsoft. com/2003/xaml " xmlns: def="Definition" def: Class="Form 1" def:

XAML Codebehind <Window xmlns="http: //schemas. microsoft. com/2003/xaml " xmlns: def="Definition" def: Class="Form 1" def: Code. Behind="Form 1. xaml. cs" Text="Form 1" Visible="True" > <Button Width="90 px" Height="25 px" Click="Click"> Click Me </Button> </Window> public partial class Form 1 : Window { private void Click(object sender, Mouse. Button. Event. Args e) { //. . . } } 24

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação)

Roteiro da apresentação Plataforma de desenvolvimento (SDK) Win. FX Win. FS (Armazenamento) Avalon (Apresentação) XAML Indigo (Comunicação) 25

O que é o Indigo? É um conjunto de tecnologias para criar aplicações distribuídas

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 26

Orientação a serviços [Chappell] Um serviço é um programa que interage com outros através

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

Indigo [INDIGO] Enfileiramento de Interoperabilidade Protocolos WS-* SOA Mensagens MSMQ ASMX WSE Comunicação. NET

Indigo [INDIGO] Enfileiramento de Interoperabilidade Protocolos WS-* SOA Mensagens MSMQ ASMX WSE Comunicação. NET –. NET Transações Distribuídas, etc Remoting Enterprise Services 28

Dúvidas? 29

Dúvidas? 29

Referências Microsoft Longhorn http: //msdn. microsoft. com/Longhorn/ [IDC] http: //www. idc. com Introduction -

Referências Microsoft Longhorn http: //msdn. microsoft. com/Longhorn/ [IDC] http: //www. idc. com Introduction - Windows 2000 Graphics API Black Book 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/Win. FS/default. aspx CLI 201: Win. FS Overview: The New Storage Subsystem In Longhorn [Win. FS 101] Win. FS 101: Introducing the New Windows File System http: //msdn. microsoft. com/library/default. asp? url=/library/enus/dnwinfs/html/winfs 03112004. asp [INDIGO] Longhorn Developer Corner: Indigo 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/introindigov 1 -0. asp 30

Referências Windows Longhorn Developer Center http: //www. csharpcorner. com/Longhorn/ A First Look at Writing

Referências Windows Longhorn Developer Center http: //www. csharpcorner. 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/Developing. Appsfor. Lo nghorn/default. aspx Introduction To Win. FX http: //www. deepwinfx. com/Articles/Introduction. To. Win. FX. aspx Introduction to Win 32 http: //www. functionx. com/win 32/Lesson 01. htm Introduction to XAML http: //www. longhorncorner. com/Upload. File/mahesh/XAMLIntro 03282 005195730 PM/XAMLIntro. aspx? Article. ID=ed 4 b 789 e-7 b 95 -4 e 258860 c 0 f 7 f 3511 d 7 b&Page. Path=/Upload. File/mahesh/XAMLIntro 03282005 195730 PM/XAMLIntro. aspx Avalon November 2004 Community Technology Preview http: //msdn. microsoft. com/Longhorn/understanding/pillars/avalon/av nov 04 ctp/default. aspx Win. FS Data Model http: //www. longhorncorner. com/Upload. File/jrodriguez/Win. FSData. Mo del 03072005041249 AM/Win. FSData. Model. aspx? Article. ID=5 ddee 374 31 -f 09 a-45 b 9 -a 9 b 8 -cd 22 ef 5 d 0897

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

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

Avalon 2 D & 3 D Graphics Imaging Text Video and audio Animation Document

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

Win. FS 7 6 1. Sistema de arquivos NTFS 2. Motor relacional sqlserver 3.

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

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

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

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

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 36

XAML Processo de compilação Arquivo XAML (Form 1. xaml) Code behind (Form 1. xaml.

XAML Processo de compilação Arquivo XAML (Form 1. xaml) Code behind (Form 1. xaml. cs) Arquivo de projeto do longhorn (Application 1. proj) Build (msbuild. exe) Executável (Aplication 1. exe) 37

Win. FX TM Apresentação Armazenamento Windows Forms Avalon UI Object Media Desktop Window Controls

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