.NET FRAMEWORK 3.5 Equipe: Arthur Accioly Alysson Melo Amarildo Filho Amarildo Pai Arthur Coutinho Rafael Portela .Net Framework 3.5 ADO.NET Entity Framework ADO.NET Data Services ASP.NET Dynamic Data WPF & WCF Melhorias .NET Framework 3.5 LINQ WF & WCF Melhorias Add-in Framework Melhorias Adicionais .NET Framework 3.0 + SP2 WPF WCF WF .NET Framework 2.0 + SP2 Windows CardSpace .NET 3.5 – O que há de novo? ADO.NET Entity Framework Serviços de Dados no ADO.NET (Data Services) Dados Dinâmicos no ASP.NET (Dynamic Data) Roteamento ASP.NET (Router) Windows CardSpaces LinQ WCF WF WPF ADO.NET Entity Framework Entity Data Model Define o modelo de sua aplicação Faz o mapeamento para o banco de dados Constitui três camadas: Definição de Schema Conceitual (CSDL) Definição de Schema de Armazenamento ou Lógico (SSDL) Definição de Schema de Mapeamento (MSL) Entity Framework Fornece serviços para usar com um EDM: Object Services Entity Client Entity SQL LINQ To Entities Link: http://www.macoratti.net/09/06/vb_iaef.htm Serviços de Dados no ADO.NET (Data Services) Publicação de dados através de WebServices adotando o padrão REST como interface Expõe um modelo de objeto (não um banco de dados) através da Web: Entity Data Model LINQ To SQL model Custom IQueryable<T> provider Poderoso e seguro Várias possibilidades de consumo Link: http://www.macoratti.net/09/02/adn_ds2.htm ou http://www.devgoias.net/artigo_ler.aspx?ID=36 Dados Dinâmicos no ASP.NET (Dynamic Data) Criação de telas automáticas de cadastro - scaffolding (Ruby on Rails) Operações CRUD 100% implementadas automaticamente Uso do AJAX Baseado no modelo de objetos LINQ To SQL Entity Data Model Estende seu modelo Metadata Validation Modifique a UI base e adicione novos templates Adicione comportamentos dinâmicos à aplicações já existentes Link: http://imasters.uol.com.br/artigo/8964/aspnet/explorando_o_aspnet _35_dynamic_data_controls/ Roteamento ASP.NET Define os pontos de entrada de URL da sua aplicação Státicos(/Produtos/Editar/23) Parametrizada (/Products/{action}/{id}) Mapeia essas URLS padronizadas para manipuladores de rotas Gera URLs baseadas na sua tabela de roteamento Pode ser usado em vários níveis pelo ASP.NET… WebForms MVC (usando) Dynamic Data (usando) Link: http://msdn.microsoft.com/ptbr/magazine/dd347546.aspx Windows CardSpaces (WCS) Solução baseada em padrões para trabalhar e gerenciar várias identidades digitais Usuário – Serviço ou Serviço – Serviço Antigo “InfoCard” Link: http://www.dei.unicap.br/~almir/seminarios/2 006.2/ns06/MicrosoftFramework/cardspace.h tml WPF e SilverLigth Entendendo MVVM Motivação e benefícios Desvantagens WPF O WPF surgiu em meados de 2001, inicialmente conhecido por “Avalon”. Flexibilidade da interface Funções da versão 2.0 (.net) acrescentando 3D, animações, gráficos vetoriais, reconhecimento de voz Usa os recursos do sistema operacional, de maneira a otimizar a performance Silverligth Mesmo padrão que o WPF Aplicação para a Web O Que é MVVM É um padrão arquitetural criado por John Gossman para o WPF Variação do padrão MVC É similar ao padrão Presentation Model do Martin Fowler’s Presentation Model Motivação e benefícios Clara separação entre designer e desenvolvedor Modelo não precisa ser alterada para suportar as mudanças da camada de visão ViewModel raramente precisa ser modificado para suportar as mudanças da visão MVVM View ViewModel Model A View se comunica com a ViewModel A ViewModel se comunica com a Model Porém o Model não faz o sentido inverso Visão (View) Representa a interface que o usuário verá Pode ser o controle do usuário Pode conter qualquer lógica que você deseja testar Manter a view o mais simples possível VisãoModelo (ViewModel) Uma abstração da visão Conector entre a visão e o modelo Mantém o ViewState Torna a ViewModel o mais testável possível Modelo (Model) Pode ser um objeto simples ou objeto relacionado ao banco de dados. Não se comunica com a camada ViewModel Desvantagem Pode ser um exagero para criação de aplicações simples Workflow Foundation 1. Definição 2. BPM (Business Process Management) 3. Etapas BPM: 3.1. 3.2. 3.3. 3.4. Design Execução / Implantação Gerenciamento / Monitoramento Melhorias / Otimizações Workflow Foundation 4. Tipos de Workflow: 4.1. Ordered Workflow 5. Workflow Complexo 5.1. Interação entre sistemas 4.2. Event-Driven WCF - Windows Communication Foundation Introdução Conceitos Básicos WCF - Windows Communication Foundation EndPointAdress WCF - Windows Communication Foundation Service EndPoint WCF - Windows Communication Foundation Service Binding WCF - Windows Communication Foundation Os Serviços do WCF expõe uma coleção de Endpoints, na qual cada Endpoint é um portal para se comunicar com o mundo. Cada Endpoint tem um ABC (Address, Binding e Contract). O Address é onde reside o Endpoint, a Binding é como o Endpoint se comunica e o Contract é o que o Endpoint comunica. No Service, uma ServiceDescription mantém a coleção de ServiceEndpoints, cada uma descrevendo um Endpoint exposto pelo Service. A partir dessa descrição ServiceHost cria um tempo de execução que contém um EndpointListener para cada ServiceEndpoint na ServiceDescription. O endereço do Endpoint, a Binding e o Contract (representando onde, o que e como), correspondem ao endereço de escuta do EndpointListener, filtragem e despacho de mensagens e pilha de canal respectivamente. Da mesma forma, no Client, uma ChannelDescription mantém o único ServiceEndpoint com o qual o Client se comunica. Dessa ChannelDescription, ChannelFactory cria a pilha de canal que pode se comunicar com o Endpoint do Service. LINQ Linq – Como funciona? Várias Formas de usar LINQ Vantagens de usar LINQ LINQ É um conjunto de recursos introduzidos no .NET Framework 3.5 que permitem a realização de consultas em: base de dados documentos XML LINQ estrutura de dados coleção de objetos -usando uma sintaxe parecida com a linguagem SQL. Linq Como funciona? Linq – Como Funciona A estrutura básica de uma consulta LINQ é a mesma se estiver trabalhando com datasets ADO.NET, bancos de dados SQL, coleções do .NET Framework ou documentos XML. Linq – Como Funciona A consulta começa com uma cláusula de From , que é seguida por cláusulas de consulta, como Where e Select. Linq – Como funciona? Linq – Como funciona? Linq Existem várias formas de usar LINQ: • LINQ to SQL • LINQ to XML • LINQ to Objects • LINQ to DataSet • LINQ to Entities Linq SQL É uma implementação específica do LINQ para o SQL Server que converte consultas escritas em C# ou Visual Basic em SQL dinâmico. Linq SQL - OBJETIVO Isso permite mapear os objetos do banco de dados gerando as classes para realizar as operações usando a sintaxe LINQ; também permite realizar alterações nos objetos e atualizar o banco de dados. Linq DATASET É usado para ligar dados a controles em um aplicativo. Linq DATASET - Exemplo Em vez de se conectar diretamente a um banco de dados, pode usar um DataSet para criar um cache off-line de dados, que pode incluir subconjuntos de várias fontes de dados, para ser usado com um aplicativo. Linq DATASET - Exemplo Quando o aplicativo for colocado on-line, o banco de dados pode ser atualizado com as alterações na DataSet. Linq DATASET - Vantagens A consulta sobre dados armazenados em cache fica mais rápida e mais fácil. Linq XML LINQ to XML permite criar e modificar documentos XML facilmente usando expressões de consulta LINQ em vez de precisar aprender XPath ou XQuery. Linq Obejtos O termo " LINQ a objetos " refere-se ao uso de consultas de LINQ com qualquer coleção diretamente, sem o uso de um provedor de intermediário LINQ ou uma API como Linq to SQL ou Linq to XML. Pode ser usado LINQ para consultar qualquer coleções enumeráveis. Linq Entities O recurso LINQ To Entities permite que o desenvolvedor escreva consultas contra um banco de dados a partir da mesma linguagem usada para construir a lógica de negócio. Linq Entities O LINQ To SQL esta restrito ao SQL Server, já o LINQ To Entities é mais flexível e pode ser usado com qualquer banco de dados relacional (como já faz hoje o Hibernate). O LINQ To SQL pode ser visto como um subconjunto do LINQ to Entities. Vantagens do LINQ -Sintaxe familiar para escrever consultas ; -Verificação em tempo de compilação de erros de sintaxe e segurança de tipo ; -Capacidade para trabalhar diretamente com elementos XML; -Poderosas capacidades de filtragem, classificação e agrupamento; -Modelo consistente para trabalhar com dados em vários tipos de fontes de dados e formatos;