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