.NET FRAMEWORK 3.5Equipe: Arthur AcciolyAlysson MeloAmarildo FilhoAmarildo PaiArthur CoutinhoRafael Portela
.Net Framework 3.5
.NET Framework 2.0 + SP2
WPF WCF WF Windows CardSpace
.NET Framework 3.0 + SP2
.NET Framework 3.5
LINQ WF & WCF Melhorias
Add-in Framework
Melhorias Adicionais
ADO.NET Entity
Framework
ADO.NET Data Services
ASP.NET Dynamic Data
WPF & WCF Melhorias
.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/pt-br/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/2006.2/ns06/MicrosoftFramework/cardspace.html
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
A View se comunica com a ViewModel
A ViewModel se comunica com a Model
Porém o Model não faz o sentido inverso
View ViewModel Model
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. Design
3.2. Execução / Implantação 3.3. Gerenciamento / Monitoramento 3.4. Melhorias / Otimizações
Workflow Foundation
4. Tipos de Workflow: 4.1. Ordered Workflow 4.2. Event-Driven
5. Workflow Complexo 5.1. Interação entre sistemas
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 – 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
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?
List<Bar> listaBares;
var baresEmLisboa = from bar in listaBareswhere bar.Localidade == “Lisboa”select bar.Nome;
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;