SlideShare uma empresa Scribd logo
31/07/2018 .NET Framework
https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 1/7
.NET Framework
Estratégia de acesso a dados para o Microsoft .NET Compact Framework
Artigo original encontra-se em
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppc2k2/html/dataaccessstrategy.asp
Se aplica para:
    Microsoft® .NET Compact Framework 1.0
    Microsoft SQL Server™ 2000 Windows® CE Edition
    Microsoft Windows Powered Pocket PC
Resumo:
O .NET Compact Framework pode forçar a comunicação e aplicação de troca de dados entre dispositivos móveis e
servidores de diversas formas. Isto é importante para definir uma sólida estratégia de acesso a dados antes de desenhar,
desenvolver e instalar soluções em relação a cada método com características diferentes. Este artigo aborda as opções
chaves: os baseados em XML e aqueles baseados em SQL Server CE. A importância de definir uma estratégia de acesso a
dados é crítica uma vez que levará a mais eficiência e menor tendência a erros no desenvolvimento e instalação.    
Introdução
O principal foco deste artigo, do ponto de vista de dispositivos, é a plataforma Pocket PC. Entretanto, o Microsoft® .NET
Compact Framework também roda em dispositivos Microsoft Windows® CE .NET que implementa outros fatores do que
o Pocket PC. Os conceitos do .NET Compact Framework discutidos aqui podem ser aplicados para estes dispositivos
também.
Uma estratégia de acesso a dados no .NET Compact Framework lida com um número de aspectos. O aspecto chave, com
o qual outros dependem, é a conectividade. Assim como o Pocket PC pode ser usado tanto online como offline, a
estratégia de acesso a dados precisa definir:
• Administrar e usar dados nos servidores remotos quando online
• Armazenar e usar dados quando offline
• Trocar dados quando o Pocket PC fica online a partir de um estado offline anterior
No contexto da estratégia de acesso a dados é importante para estabelecer uma terminologia comum. Isto é verdadeiro
em se tratando de troca de dados entre Pocket PC e o servidor. A partir de uma perspectiva conceitual, existem dois
métodos para troca de dados: sincronização e transferência de dados.
Sincronização de dados suporta trocas de dados em ambas as direções e implementa funcionalidades para assegurar
que os dados são idênticos nos dois lados. Em muitos cenários, o mesmo dado pode ser modificado em múltiplos
lugares enquanto os Pocket PCs estão offline, e então, sincronizados com o servidor. Sincronização deverá funcionar,
entretanto, freqüentemente inclui resolver conflitos que lidam com concorrência que ocorre quando um Pocket PC
desconectado retorna online para sincronizar dados. Um exemplo deste cenário ocorre quando um comprador móvel
atualiza no pedido o campo enquanto inicia offline. Antes de o comprador sincronizar as trocas, um representante
atualiza o mesmo pedido. Um cuidadoso desenho da resolução de conflitos pode determinar quais ações tomar quando
ocorrer conflitos, por exemplo, o comprador móvel exceder o comprador baseado no cargo ou tempo de sincronização,
ou se o sistema deverá notificar um usuário ou grupo de usuários com uma mensagem que ocorreu um conflito.
Transferência de dados também suporta trocar dados em ambas as direções, mas não existe funcionalidade para
assegurar que os dados em ambos lugares sejam idênticos e não existe resolução de conflitos. Existem muitos cenários
31/07/2018 .NET Framework
https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 2/7
onde a transferência de dados é um método válido e onde a sincronização de dados não é necessária. Exemplos de um
cenário de transferência de dados inclui transferência estática de dados do servidor para o Pocket PC, transferir somente
novas coleções de dados do Pocket PC para o servidor, e transferir dados para e dos Pocket PCs que explicitamente está
checado dentro e fora ou segmentado para usuários individuais, marcando os dados como somente leitura no servidor
enquanto está checado fora ou selecionado para um usuário específico.
O uso dos termos “sincronização de dados” e “transferência de dados” irão refletir suas verdadeiras idéias e quando
ambos estão implícitos nos termos “troca de dados” serão usados.
Aspectos da Estratégia de Acesso a Dados
Fundamentalmente, a estratégia de acesso a dados do .NET Compact Framework se divide em dois aspectos:
1. Como armazenar dados no Pocket PC. Do ponto de vista da aplicação, dados podem ser persistidos em um banco de
dados relacional (como um Microsoft SQL Server™ CE), em arquivos locais (como arquivos XML muitas vezes gerenciados
através de DataSets), e dados estruturados na memória (Session) que estão dispostos quando a aplicação é encerrada.
2. Como trocar dados com o servidor. Trocar dados entre o Pocket PC e o servidor pode ser implementado de maneira
distinta dependendo de qual camada de comunicação do Pocket PC com a camada do servidor. A figura 1 ilustra três
camadas em tanto no Pocket PC como no servidor.
Figura 1. Camada de aplicação no dispositivo x servidor
As opções de troca de dados para o .NET Compact Framework são:
• Banco de dados no Pocket PC para o Servidor: O banco de dados no Pocket PC troca dados diretamente com o banco
de dados no servidor. Esta opção é válida em cenários com um pequeno ou sem lógica de negócio envolvida, e em
cenários com um grande volume de dados, é implementada usando características Remote Data Access e Merge
Replication do SQL Server CE. Se a sincronização de dados é solicitada e não somente transferência de dados, então o
Merge Replicacion fornece com um construtor a resolução de conflitos implementadas no lado do servidor SQL Server
Reconciler.
• Pocket PC Component para Server Component: A aplicação Pocket PC comunica com componentes no servidor. Esta
opção permite lógica de negócio, implementada em Web services , para ser parte da troca de dados. Esta opção pode
ser usada tanto para persistir dados locais em arquivos XML como no banco de dados SQL Server CE.
• Componente no Pocket PC para o banco de dados no servidor: O Pocket PC conecta diretamente com o banco de
dados do servidor. Esta opção é freqüentemente usada quando a aplicação Pocket PC necessita para gerenciar uma
grande quantidade de dados em um banco de dados remoto sem necessariamente ter que transferir os dados para o
Pocket PC e quando a lógica de negócio não é uma preocupação primária. Esta opção será implementada usando o
namespace System.Data.SqlClient e pode ser usada em ambos se os dados serão persistidos no arquivo XML local e no
banco de dados SQL Server CE.
• Somente no servidor: A interface da aplicação no Pocket PC pode conectar diretamente para o componente no lado do
servidor ou pode ser implementado como uma aplicação WEB utilizando o Web Browser do Pocket PC. Isto obviamente
requer o Pocket PC estar sempre conectado com o servidor, assim como suficiente largura de banda. Um exemplo de
quando isto é uma opção viável é num cenário geograficamente limitado onde uma rede WiFi pode ser implementada
31/07/2018 .NET Framework
https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 3/7
como nas warehouses, instituições de saúde, escritórios e outros. Esta opção não requer nenhum dado a ser armazenado
localmente no Pocket PC.
Tem algumas condições básicas a ser conhecidas ou estabelecidas antes de determinar de que modo dirigir os dois
aspectos “Como armazenar dados” e “Como trocar dados”: Características dos dados, Conectividade e Arquitetura do
Sistema.
Características de Dados
A característica de dados da solução revela as seguintes informações chaves:
1. Quantidade de dados estáticos e transacionais a serem armazenados no Pocket PC: Se a quantidade de dados a ser
armazenada no Pocket PC é baixa, neste caso menor que 50 – 100 kb, então, os dados podem ser armazenados em
arquivo XML locais. Se a quantidade de dados é grande, então, SQL Server CE fornecerá melhor performance e robustes.
A razão disto é que os dados acessados com o SQL Server CE Query Engine com suporte para Structure Query Language
(SQL) que produz maior performance e manuseio.
2. Quantidade de dados transacionais a serem trocados com o servidor: Se a quantidade de dados transacionais a serem
trocados entre o servidor e Pocket PC é baixa, por exemplo, menor que 500 kb – 1 Mb, então, os dados podem ser
passados como XML usando Web Services. Se a quantidade de dados é grande, então, Remote Data Access e Merge
Replication é a primeira opção para melhorar a performance. As razões para isto são que o SQL Server CE Client e Server
Agents implementa uma eficiente compressão de dados e que os dados pegam para transmitir um significante número
menor de processos antes de atingir o destino final. Por exemplo, quando transferir dados do Pocket PC para o servidor
usando Remote Data Access, os dados não possuem as camadas do OLEDB CE, CLR/NET CF, SQL Server CE Data
Provider,e ADO.NET no Pocket PC, assim como no servidor equivale uma vez que transferidos para o servidor.
É importante notar que enquanto isto é criado para usar Web Services para troca de dados, se os dados estão
armazenados em arquivos XML locais, é também possível usar Web Service se os dados estão armazenados no SQL
Server CE – especialmente no Remote Data Access e Merge Replication. A razão disto inclui a lógica de negócios e a
política de arquitetura de sistema existente a ser empregada
Conectividade
O aspecto de conectividade da solução relaciona-se ao tamanho de banda disponível quando e o quanto o Pocket PC
ficará online. Estes fatores podem as vezes estar determinado como pré-requisitos e as vezes estarem definidos e
controlados.
Devido a natureza do XML, no qual muitas vezes guarda grandes quantidades de dados sem compressão, Web Services
requer mais largura de banda para o mesmo dado que SQL Server CE Remote, Data Access e Merge Replication.
Entretanto, a realidade mostra que isto é característica conjunta do Remote Data Access e Merge Replication, que é
chamado para quando grandes quantidades de dados precisam ser trocadas. Além disto, estes dois métodos são
freqüentemente usados quando a troca de dados é baixa, no qual a probabilidade de crescimento da quantidade de
dados que precisa ser trocada é grande. Isto significa que, na realidade, SQL Server CE Remote Data Access e Merge
Replication é usado freqüentemente em cenários de alta largura de banda e Web Services em cenários de baixa largura
de banda. Entretanto, quando usar Web Services, um maior desenho conversador (muitas pequenas requisições) é
preferido antes de um desenho volumoso (poucas grandes requisições).
Arquitetura do Sistema
Aspectos de arquitetura de sistema divide geralmente com assunto de integração de sistemas. Uma solução móvel pode
ser respeitada como uma solução isolada conectando com sistemas existentes ou extensões, parte central do sistema
existente. Sem levar em consideração, soluções Pocket PC não são muito freqüentemente isoladas desde então, elas
precisam se comunicar com outros sistemas.
Atualmente, muitos sistemas são implementados em relação a interface técnica induzindo soluções multi-camadas.
Aplicações do lado do servidor são componentizadas em ordem para permitir o reuso de código, separando a lógica de
negócio e dados, e para aumentar a administração. O uso de XML e Web Services continua induzindo os
desenvolvimentos e as aplicações .NET Compact Framework certamente compatíveis dentro da arquitetura porque
suporta XML e o consume de Web Services.
31/07/2018 .NET Framework
https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 4/7
Outras duas comuns integrações de sistemas implementadas são Asynchronous Messaging (transferência de mensagens)
utilizando consultas e integração com o banco de dados. As aplicações .NET Compact Framework podem aderir para
estas implementações usando Web Service para a fila do servidor MSMQ ou através do uso de Web Services entre
Pocket C e o servidor e usar as filas entre o servidor e o sistema back-office. Bancos de dados integrados é uma parte
natural do SQL Server CE como já discutido.
Códigos
Vamos criar um exemplo simples de código que mostra como implementar as opções mencionadas acima. O código
fonte está em uma simples aplicação chamada Feedback Anyplace, o qual foi usada no WebCast chamado Architect
Webcast: Designing Integrated Pocket PC Applications with .NET Compact Framework e ilustra como um inspetor de
qualidade pode usar o Pocket PC para capturar e relatar defeitos em um cenário de produção. O exemplo requer o
controle RickInk do IntelliProg para trabalhar. Você pode fazer download do código fonte, o qual inclui a aplicação .NET
Compact Framework, Web Services e componentes de banco de dados. O projeto é um exemplo de transferência de
dados, não sincronização de dados.
Armazenando Dados no Pocket PC
O seguinte código mostra como persistir uma propriedade como Class no DataSet e arquivo XML local.
Public Sub Save()
' Save new or update existing item
' Dim ds as DataSet
Dim dr As DataRow
Dim expr As String = "ID = '" + m_ID + "'"
If m_NewItem Then
' Add new row to table
dr = frmMain.ds.Tables("Feedback").NewRow()
Else
' Find existing row
' Use the Select method to find row matching the filter
dr = frmMain.ds.Tables("Feedback").Select(expr)(0)
End If
' Set datarow properties
dr("ID") = m_ID
dr("PlantSection") = m_PlantSection
dr("Part") = m_Part
dr("DefectScope") = m_DefectScope
dr("ScopeID") = m_ScopeID
dr("DefectType") = m_DefectType
dr("RichInk") = m_RichInk If m_NewItem Then
' Add row to dataset, if new item
frmMain.ds.Tables("Feedback").Rows.Add(dr)
End If
' Save data
frmMain.ds.AcceptChanges()
frmMain.ds.WriteXml(frmMain.dataSource)
End Sub
Trocando Dados com o Servidor
A figura abaixo mostra a troca de dados usando Web Services. Em uma solução corporativa, é comum usar uma
plataforma de integração como BizTalk Server.
31/07/2018 .NET Framework
https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 5/7
Figura 2. XML Web Service trocando dados
O cliente do Pocket PC solicita o Web Service no servidor e passa o DataSet (ds) como dados:
Private Sub Synchronize()
Dim username As String = "JohnS"
Dim blnSuccess As Boolean
' Synchronize using XML Web Service
Cursor.Current = Cursors.WaitCursor
Dim wsFeedback As New wsFeedback.feedback
blnSuccess = wsFeedback.InsertFeedback(ds, username)
Cursor.Current = Cursors.Default
End Sub
O Web Service aceita o DataSet e passa o XML diretamente para Stored Procedure do SQL Server 2000, o qual usa
SQLXML e OPENXML para analisar o XML e inserir o novo dados na tabela apropriada.
< WebMethod()> _
Public Function InsertFeedback(ByVal ds As DataSet, ByVal username As String) As Boolean
Dim con As New SqlConnection(connectionstring)
Dim cmd As New SqlCommand("p_Feedback_i", con)
cmd.CommandType = CommandType.StoredProcedure
' Set parameters
Dim prmXML As SqlParameter = cmd.Parameters.Add("@XML", SqlDbType.NText)
prmXML.Direction = ParameterDirection.Input
prmXML.Value = ds.GetXml
Dim prmUsername As SqlParameter = cmd.Parameters.Add("@Username", SqlDbType.NVarChar)
prmUsername.Direction = ParameterDirection.Input
prmUsername.Value = username
Try
con.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
' Handle, log and re-throw error
Throw ex
Finally
con.Close()
End Try
Return True
End Function
The stored procedure inserts the new data:
CREATE PROCEDURE p_Feedback_i
@XML ntext,
@Username nvarchar(50)
AS
SET NOCOUNT ON
DECLARE @iDoc integer
DECLARE @Error integer
/* Create XML document. */
31/07/2018 .NET Framework
https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 6/7
EXEC sp_xml_preparedocument @iDoc OUTPUT, @XML
/* Insert new records */
INSERT INTO Feedback
(
FeedbackID,
PlantSection,
Part,
DefectScope,
ScopeID,
DefectType,
RichInk,
Username
)
SELECT ID,
PlantSection,
Part,
DefectScope,
ScopeID,
DefectType,
RichInk,
@Username
FROM OPENXML (@iDoc, '/DataSet/Feedback',2) WITH
(
ID uniqueidentifier,
PlantSection int,
Part int,
DefectScope int,
ScopeID nvarchar(50),
DefectType int,
RichInk nvarchar(50)
)
SELECT @Error = @@ERROR
IF (@Error <> 0)
BEGIN
GOTO Errorhandler
END
/* Remove the XML document*/
EXEC sp_xml_removedocument @iDoc
RETURN
Errorhandler:
IF NOT @iDoc IS NULL
EXEC sp_xml_removedocument @iDoc
RAISERROR (@Error,16,1)
RETURN
A figura seguinte mostra troca de dados no SQL Server CE Remote Data Access e Merge Replication.
Figura 3. Troca de dados no banco de dados
31/07/2018 .NET Framework
https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 7/7
Conclusão
Entendendo as características de dados, conectividade e arquitetura do sistema é preciso para determinar uma estratégia
de acesso a dados apropriada. É importante notar que uma solução Pocket PC pode ser oferecida através de um número
de diferentes cenários e situações. Entretanto, é completamente possível que uma estratégia de acesso a dados possa
definir o uso tanto de arquivos XML locais, banco de dados SQL Server CE, Web Services e SQL Server CE Remote Data
Access e Merge Replication dependendo da situação e características atuais.
O .NET Compact Framework deixa projetistas de sistemas e desenvolvedores escolher o método apropriado de acesso a
dados dependendo no número de diferentes cenários. Com uma estratégia de acesso a dados definidos e novas
ferramentas, é fácil ficar focado nos benefícios e projeto das soluções atuais.
Renato Haddad
rehaddad@msn.com
Microsoft Most Valuable Professional
Autor de diversos livros e ministra palestras e treinamentos sobre a tecnologia .NET.
Autor de diversos treinamentos multimídia de ASP.NET e Visual Studio .NET 2003.
Referências:
  http://www.microsoft.com/windowsmobile/products/pocketpc/default.mspx
  http://www.gotdotnet.com
  http://www.smartdevelopers.microsoftdev.com
  http://www.microsoft.com/windowsmobile/information/businesssolutions/wifi/default.mspx
  http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/guide_ppc/htm/_ppc_writing_applications_for_pocket_pc_uwxf.asp     
Faça o download deste documento:
Estratégia de acesso a dados para o Microsoft .NET Compact Framework
formato Word, 111 KB    
Inicio da pagina
© 2018 Microsoft

Mais conteúdo relacionado

Semelhante a Net framework

Apostila Oracle 10g
Apostila Oracle 10gApostila Oracle 10g
Apostila Oracle 10g
Andre Nascimento
 
Integração de software solucao e estilo
Integração de software   solucao e estiloIntegração de software   solucao e estilo
Integração de software solucao e estilo
GrupoAlves - professor
 
Integração de software 2
Integração de software 2Integração de software 2
Integração de software 2
GrupoAlves - professor
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados
Deep Tech Brasil
 
C # banco de dados
C # banco de dadosC # banco de dados
C # banco de dados
Cleto Lima de Andrade
 
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
Rodrigo Kiyoshi Saito
 
Poster08
Poster08Poster08
Poster08
Simba Samuel
 
Artigo sobre redes san e armazenamento em grande capacidade
Artigo sobre redes san e armazenamento em grande capacidadeArtigo sobre redes san e armazenamento em grande capacidade
Artigo sobre redes san e armazenamento em grande capacidade
Augusto Cezar Pinheiro
 
Proposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaesProposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaes
lucassrod
 
Lista de exercícios tipos de arquitetura infraestrutura de software
Lista de exercícios tipos de arquitetura   infraestrutura de softwareLista de exercícios tipos de arquitetura   infraestrutura de software
Lista de exercícios tipos de arquitetura infraestrutura de software
Isabel Araujo
 
Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integração
Joao Johanes
 
BDD
BDDBDD
Banco de Dados - Aula 01
Banco de Dados - Aula 01Banco de Dados - Aula 01
Banco de Dados - Aula 01
Willian Carvalho
 
Redes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar ViegasRedes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar Viegas
Leomar Viegas
 
Transição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e EstratégiasTransição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e Estratégias
Denodo
 
Computação em Nuvem
Computação em NuvemComputação em Nuvem
Computação em Nuvem
Marlon Paranhos
 
BDI_1_conceitos
BDI_1_conceitosBDI_1_conceitos
BDI_1_conceitos
Cleiane Oliveira
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Hélio Martins
 
3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf
Dimas Francisco
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Messias Batista
 

Semelhante a Net framework (20)

Apostila Oracle 10g
Apostila Oracle 10gApostila Oracle 10g
Apostila Oracle 10g
 
Integração de software solucao e estilo
Integração de software   solucao e estiloIntegração de software   solucao e estilo
Integração de software solucao e estilo
 
Integração de software 2
Integração de software 2Integração de software 2
Integração de software 2
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados
 
C # banco de dados
C # banco de dadosC # banco de dados
C # banco de dados
 
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
 
Poster08
Poster08Poster08
Poster08
 
Artigo sobre redes san e armazenamento em grande capacidade
Artigo sobre redes san e armazenamento em grande capacidadeArtigo sobre redes san e armazenamento em grande capacidade
Artigo sobre redes san e armazenamento em grande capacidade
 
Proposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaesProposta lucas simon-rodrigues-magalhaes
Proposta lucas simon-rodrigues-magalhaes
 
Lista de exercícios tipos de arquitetura infraestrutura de software
Lista de exercícios tipos de arquitetura   infraestrutura de softwareLista de exercícios tipos de arquitetura   infraestrutura de software
Lista de exercícios tipos de arquitetura infraestrutura de software
 
Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integração
 
BDD
BDDBDD
BDD
 
Banco de Dados - Aula 01
Banco de Dados - Aula 01Banco de Dados - Aula 01
Banco de Dados - Aula 01
 
Redes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar ViegasRedes Definidas por Software - Leomar Viegas
Redes Definidas por Software - Leomar Viegas
 
Transição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e EstratégiasTransição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e Estratégias
 
Computação em Nuvem
Computação em NuvemComputação em Nuvem
Computação em Nuvem
 
BDI_1_conceitos
BDI_1_conceitosBDI_1_conceitos
BDI_1_conceitos
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfis
 
3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf3a Web Aula - Gestão de Tecnologia da Informação.pdf
3a Web Aula - Gestão de Tecnologia da Informação.pdf
 
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídosAula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
Aula03 Sistemas Distribuídos - Arquiteturas de sistemas distribuídos
 

Mais de Waldir Calazans

Animais se suicidam
Animais se suicidam Animais se suicidam
Animais se suicidam
Waldir Calazans
 
291503576 apostila-de-teoria-musical-descomplicando-a-musica-pdf
291503576 apostila-de-teoria-musical-descomplicando-a-musica-pdf291503576 apostila-de-teoria-musical-descomplicando-a-musica-pdf
291503576 apostila-de-teoria-musical-descomplicando-a-musica-pdf
Waldir Calazans
 
Teoria musical2009
Teoria musical2009Teoria musical2009
Teoria musical2009
Waldir Calazans
 
Anexo i do simples nacional 2018
Anexo i do simples nacional 2018Anexo i do simples nacional 2018
Anexo i do simples nacional 2018
Waldir Calazans
 
Sera a salvacao segura, incapaz de ser perdida
Sera a salvacao segura, incapaz de ser perdidaSera a salvacao segura, incapaz de ser perdida
Sera a salvacao segura, incapaz de ser perdida
Waldir Calazans
 
Aula12 resumindo tema
Aula12 resumindo temaAula12 resumindo tema
Aula12 resumindo tema
Waldir Calazans
 
Como elaborar um orçamento
Como elaborar um orçamentoComo elaborar um orçamento
Como elaborar um orçamento
Waldir Calazans
 
6 diferenças doutrinárias inegociáveis
6 diferenças doutrinárias inegociáveis6 diferenças doutrinárias inegociáveis
6 diferenças doutrinárias inegociáveis
Waldir Calazans
 
João batista
João batistaJoão batista
João batista
Waldir Calazans
 
Mensagens bíblicas
Mensagens bíblicasMensagens bíblicas
Mensagens bíblicas
Waldir Calazans
 
Eclesiastes
EclesiastesEclesiastes
Eclesiastes
Waldir Calazans
 
Símbolos da notação musical moderna index
Símbolos da notação musical moderna   indexSímbolos da notação musical moderna   index
Símbolos da notação musical moderna index
Waldir Calazans
 
Mensagens bíblicas
Mensagens bíblicasMensagens bíblicas
Mensagens bíblicas
Waldir Calazans
 
Deus responde as nossas orações
Deus responde as nossas oraçõesDeus responde as nossas orações
Deus responde as nossas orações
Waldir Calazans
 
A lição do bambu chinês
A lição do bambu chinêsA lição do bambu chinês
A lição do bambu chinês
Waldir Calazans
 
A contradição dos legalistas
A contradição dos legalistasA contradição dos legalistas
A contradição dos legalistas
Waldir Calazans
 
000 estudo sobre a história das igrejas cristãs por pastor gilberto stefano
000 estudo sobre a história das igrejas cristãs por pastor gilberto stefano000 estudo sobre a história das igrejas cristãs por pastor gilberto stefano
000 estudo sobre a história das igrejas cristãs por pastor gilberto stefano
Waldir Calazans
 
O sistema solar é constituido por oito planetas principais
O sistema solar é constituido por oito planetas principaisO sistema solar é constituido por oito planetas principais
O sistema solar é constituido por oito planetas principais
Waldir Calazans
 

Mais de Waldir Calazans (18)

Animais se suicidam
Animais se suicidam Animais se suicidam
Animais se suicidam
 
291503576 apostila-de-teoria-musical-descomplicando-a-musica-pdf
291503576 apostila-de-teoria-musical-descomplicando-a-musica-pdf291503576 apostila-de-teoria-musical-descomplicando-a-musica-pdf
291503576 apostila-de-teoria-musical-descomplicando-a-musica-pdf
 
Teoria musical2009
Teoria musical2009Teoria musical2009
Teoria musical2009
 
Anexo i do simples nacional 2018
Anexo i do simples nacional 2018Anexo i do simples nacional 2018
Anexo i do simples nacional 2018
 
Sera a salvacao segura, incapaz de ser perdida
Sera a salvacao segura, incapaz de ser perdidaSera a salvacao segura, incapaz de ser perdida
Sera a salvacao segura, incapaz de ser perdida
 
Aula12 resumindo tema
Aula12 resumindo temaAula12 resumindo tema
Aula12 resumindo tema
 
Como elaborar um orçamento
Como elaborar um orçamentoComo elaborar um orçamento
Como elaborar um orçamento
 
6 diferenças doutrinárias inegociáveis
6 diferenças doutrinárias inegociáveis6 diferenças doutrinárias inegociáveis
6 diferenças doutrinárias inegociáveis
 
João batista
João batistaJoão batista
João batista
 
Mensagens bíblicas
Mensagens bíblicasMensagens bíblicas
Mensagens bíblicas
 
Eclesiastes
EclesiastesEclesiastes
Eclesiastes
 
Símbolos da notação musical moderna index
Símbolos da notação musical moderna   indexSímbolos da notação musical moderna   index
Símbolos da notação musical moderna index
 
Mensagens bíblicas
Mensagens bíblicasMensagens bíblicas
Mensagens bíblicas
 
Deus responde as nossas orações
Deus responde as nossas oraçõesDeus responde as nossas orações
Deus responde as nossas orações
 
A lição do bambu chinês
A lição do bambu chinêsA lição do bambu chinês
A lição do bambu chinês
 
A contradição dos legalistas
A contradição dos legalistasA contradição dos legalistas
A contradição dos legalistas
 
000 estudo sobre a história das igrejas cristãs por pastor gilberto stefano
000 estudo sobre a história das igrejas cristãs por pastor gilberto stefano000 estudo sobre a história das igrejas cristãs por pastor gilberto stefano
000 estudo sobre a história das igrejas cristãs por pastor gilberto stefano
 
O sistema solar é constituido por oito planetas principais
O sistema solar é constituido por oito planetas principaisO sistema solar é constituido por oito planetas principais
O sistema solar é constituido por oito planetas principais
 

Net framework

  • 1. 31/07/2018 .NET Framework https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 1/7 .NET Framework Estratégia de acesso a dados para o Microsoft .NET Compact Framework Artigo original encontra-se em http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppc2k2/html/dataaccessstrategy.asp Se aplica para:     Microsoft® .NET Compact Framework 1.0     Microsoft SQL Server™ 2000 Windows® CE Edition     Microsoft Windows Powered Pocket PC Resumo: O .NET Compact Framework pode forçar a comunicação e aplicação de troca de dados entre dispositivos móveis e servidores de diversas formas. Isto é importante para definir uma sólida estratégia de acesso a dados antes de desenhar, desenvolver e instalar soluções em relação a cada método com características diferentes. Este artigo aborda as opções chaves: os baseados em XML e aqueles baseados em SQL Server CE. A importância de definir uma estratégia de acesso a dados é crítica uma vez que levará a mais eficiência e menor tendência a erros no desenvolvimento e instalação.     Introdução O principal foco deste artigo, do ponto de vista de dispositivos, é a plataforma Pocket PC. Entretanto, o Microsoft® .NET Compact Framework também roda em dispositivos Microsoft Windows® CE .NET que implementa outros fatores do que o Pocket PC. Os conceitos do .NET Compact Framework discutidos aqui podem ser aplicados para estes dispositivos também. Uma estratégia de acesso a dados no .NET Compact Framework lida com um número de aspectos. O aspecto chave, com o qual outros dependem, é a conectividade. Assim como o Pocket PC pode ser usado tanto online como offline, a estratégia de acesso a dados precisa definir: • Administrar e usar dados nos servidores remotos quando online • Armazenar e usar dados quando offline • Trocar dados quando o Pocket PC fica online a partir de um estado offline anterior No contexto da estratégia de acesso a dados é importante para estabelecer uma terminologia comum. Isto é verdadeiro em se tratando de troca de dados entre Pocket PC e o servidor. A partir de uma perspectiva conceitual, existem dois métodos para troca de dados: sincronização e transferência de dados. Sincronização de dados suporta trocas de dados em ambas as direções e implementa funcionalidades para assegurar que os dados são idênticos nos dois lados. Em muitos cenários, o mesmo dado pode ser modificado em múltiplos lugares enquanto os Pocket PCs estão offline, e então, sincronizados com o servidor. Sincronização deverá funcionar, entretanto, freqüentemente inclui resolver conflitos que lidam com concorrência que ocorre quando um Pocket PC desconectado retorna online para sincronizar dados. Um exemplo deste cenário ocorre quando um comprador móvel atualiza no pedido o campo enquanto inicia offline. Antes de o comprador sincronizar as trocas, um representante atualiza o mesmo pedido. Um cuidadoso desenho da resolução de conflitos pode determinar quais ações tomar quando ocorrer conflitos, por exemplo, o comprador móvel exceder o comprador baseado no cargo ou tempo de sincronização, ou se o sistema deverá notificar um usuário ou grupo de usuários com uma mensagem que ocorreu um conflito. Transferência de dados também suporta trocar dados em ambas as direções, mas não existe funcionalidade para assegurar que os dados em ambos lugares sejam idênticos e não existe resolução de conflitos. Existem muitos cenários
  • 2. 31/07/2018 .NET Framework https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 2/7 onde a transferência de dados é um método válido e onde a sincronização de dados não é necessária. Exemplos de um cenário de transferência de dados inclui transferência estática de dados do servidor para o Pocket PC, transferir somente novas coleções de dados do Pocket PC para o servidor, e transferir dados para e dos Pocket PCs que explicitamente está checado dentro e fora ou segmentado para usuários individuais, marcando os dados como somente leitura no servidor enquanto está checado fora ou selecionado para um usuário específico. O uso dos termos “sincronização de dados” e “transferência de dados” irão refletir suas verdadeiras idéias e quando ambos estão implícitos nos termos “troca de dados” serão usados. Aspectos da Estratégia de Acesso a Dados Fundamentalmente, a estratégia de acesso a dados do .NET Compact Framework se divide em dois aspectos: 1. Como armazenar dados no Pocket PC. Do ponto de vista da aplicação, dados podem ser persistidos em um banco de dados relacional (como um Microsoft SQL Server™ CE), em arquivos locais (como arquivos XML muitas vezes gerenciados através de DataSets), e dados estruturados na memória (Session) que estão dispostos quando a aplicação é encerrada. 2. Como trocar dados com o servidor. Trocar dados entre o Pocket PC e o servidor pode ser implementado de maneira distinta dependendo de qual camada de comunicação do Pocket PC com a camada do servidor. A figura 1 ilustra três camadas em tanto no Pocket PC como no servidor. Figura 1. Camada de aplicação no dispositivo x servidor As opções de troca de dados para o .NET Compact Framework são: • Banco de dados no Pocket PC para o Servidor: O banco de dados no Pocket PC troca dados diretamente com o banco de dados no servidor. Esta opção é válida em cenários com um pequeno ou sem lógica de negócio envolvida, e em cenários com um grande volume de dados, é implementada usando características Remote Data Access e Merge Replication do SQL Server CE. Se a sincronização de dados é solicitada e não somente transferência de dados, então o Merge Replicacion fornece com um construtor a resolução de conflitos implementadas no lado do servidor SQL Server Reconciler. • Pocket PC Component para Server Component: A aplicação Pocket PC comunica com componentes no servidor. Esta opção permite lógica de negócio, implementada em Web services , para ser parte da troca de dados. Esta opção pode ser usada tanto para persistir dados locais em arquivos XML como no banco de dados SQL Server CE. • Componente no Pocket PC para o banco de dados no servidor: O Pocket PC conecta diretamente com o banco de dados do servidor. Esta opção é freqüentemente usada quando a aplicação Pocket PC necessita para gerenciar uma grande quantidade de dados em um banco de dados remoto sem necessariamente ter que transferir os dados para o Pocket PC e quando a lógica de negócio não é uma preocupação primária. Esta opção será implementada usando o namespace System.Data.SqlClient e pode ser usada em ambos se os dados serão persistidos no arquivo XML local e no banco de dados SQL Server CE. • Somente no servidor: A interface da aplicação no Pocket PC pode conectar diretamente para o componente no lado do servidor ou pode ser implementado como uma aplicação WEB utilizando o Web Browser do Pocket PC. Isto obviamente requer o Pocket PC estar sempre conectado com o servidor, assim como suficiente largura de banda. Um exemplo de quando isto é uma opção viável é num cenário geograficamente limitado onde uma rede WiFi pode ser implementada
  • 3. 31/07/2018 .NET Framework https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 3/7 como nas warehouses, instituições de saúde, escritórios e outros. Esta opção não requer nenhum dado a ser armazenado localmente no Pocket PC. Tem algumas condições básicas a ser conhecidas ou estabelecidas antes de determinar de que modo dirigir os dois aspectos “Como armazenar dados” e “Como trocar dados”: Características dos dados, Conectividade e Arquitetura do Sistema. Características de Dados A característica de dados da solução revela as seguintes informações chaves: 1. Quantidade de dados estáticos e transacionais a serem armazenados no Pocket PC: Se a quantidade de dados a ser armazenada no Pocket PC é baixa, neste caso menor que 50 – 100 kb, então, os dados podem ser armazenados em arquivo XML locais. Se a quantidade de dados é grande, então, SQL Server CE fornecerá melhor performance e robustes. A razão disto é que os dados acessados com o SQL Server CE Query Engine com suporte para Structure Query Language (SQL) que produz maior performance e manuseio. 2. Quantidade de dados transacionais a serem trocados com o servidor: Se a quantidade de dados transacionais a serem trocados entre o servidor e Pocket PC é baixa, por exemplo, menor que 500 kb – 1 Mb, então, os dados podem ser passados como XML usando Web Services. Se a quantidade de dados é grande, então, Remote Data Access e Merge Replication é a primeira opção para melhorar a performance. As razões para isto são que o SQL Server CE Client e Server Agents implementa uma eficiente compressão de dados e que os dados pegam para transmitir um significante número menor de processos antes de atingir o destino final. Por exemplo, quando transferir dados do Pocket PC para o servidor usando Remote Data Access, os dados não possuem as camadas do OLEDB CE, CLR/NET CF, SQL Server CE Data Provider,e ADO.NET no Pocket PC, assim como no servidor equivale uma vez que transferidos para o servidor. É importante notar que enquanto isto é criado para usar Web Services para troca de dados, se os dados estão armazenados em arquivos XML locais, é também possível usar Web Service se os dados estão armazenados no SQL Server CE – especialmente no Remote Data Access e Merge Replication. A razão disto inclui a lógica de negócios e a política de arquitetura de sistema existente a ser empregada Conectividade O aspecto de conectividade da solução relaciona-se ao tamanho de banda disponível quando e o quanto o Pocket PC ficará online. Estes fatores podem as vezes estar determinado como pré-requisitos e as vezes estarem definidos e controlados. Devido a natureza do XML, no qual muitas vezes guarda grandes quantidades de dados sem compressão, Web Services requer mais largura de banda para o mesmo dado que SQL Server CE Remote, Data Access e Merge Replication. Entretanto, a realidade mostra que isto é característica conjunta do Remote Data Access e Merge Replication, que é chamado para quando grandes quantidades de dados precisam ser trocadas. Além disto, estes dois métodos são freqüentemente usados quando a troca de dados é baixa, no qual a probabilidade de crescimento da quantidade de dados que precisa ser trocada é grande. Isto significa que, na realidade, SQL Server CE Remote Data Access e Merge Replication é usado freqüentemente em cenários de alta largura de banda e Web Services em cenários de baixa largura de banda. Entretanto, quando usar Web Services, um maior desenho conversador (muitas pequenas requisições) é preferido antes de um desenho volumoso (poucas grandes requisições). Arquitetura do Sistema Aspectos de arquitetura de sistema divide geralmente com assunto de integração de sistemas. Uma solução móvel pode ser respeitada como uma solução isolada conectando com sistemas existentes ou extensões, parte central do sistema existente. Sem levar em consideração, soluções Pocket PC não são muito freqüentemente isoladas desde então, elas precisam se comunicar com outros sistemas. Atualmente, muitos sistemas são implementados em relação a interface técnica induzindo soluções multi-camadas. Aplicações do lado do servidor são componentizadas em ordem para permitir o reuso de código, separando a lógica de negócio e dados, e para aumentar a administração. O uso de XML e Web Services continua induzindo os desenvolvimentos e as aplicações .NET Compact Framework certamente compatíveis dentro da arquitetura porque suporta XML e o consume de Web Services.
  • 4. 31/07/2018 .NET Framework https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 4/7 Outras duas comuns integrações de sistemas implementadas são Asynchronous Messaging (transferência de mensagens) utilizando consultas e integração com o banco de dados. As aplicações .NET Compact Framework podem aderir para estas implementações usando Web Service para a fila do servidor MSMQ ou através do uso de Web Services entre Pocket C e o servidor e usar as filas entre o servidor e o sistema back-office. Bancos de dados integrados é uma parte natural do SQL Server CE como já discutido. Códigos Vamos criar um exemplo simples de código que mostra como implementar as opções mencionadas acima. O código fonte está em uma simples aplicação chamada Feedback Anyplace, o qual foi usada no WebCast chamado Architect Webcast: Designing Integrated Pocket PC Applications with .NET Compact Framework e ilustra como um inspetor de qualidade pode usar o Pocket PC para capturar e relatar defeitos em um cenário de produção. O exemplo requer o controle RickInk do IntelliProg para trabalhar. Você pode fazer download do código fonte, o qual inclui a aplicação .NET Compact Framework, Web Services e componentes de banco de dados. O projeto é um exemplo de transferência de dados, não sincronização de dados. Armazenando Dados no Pocket PC O seguinte código mostra como persistir uma propriedade como Class no DataSet e arquivo XML local. Public Sub Save() ' Save new or update existing item ' Dim ds as DataSet Dim dr As DataRow Dim expr As String = "ID = '" + m_ID + "'" If m_NewItem Then ' Add new row to table dr = frmMain.ds.Tables("Feedback").NewRow() Else ' Find existing row ' Use the Select method to find row matching the filter dr = frmMain.ds.Tables("Feedback").Select(expr)(0) End If ' Set datarow properties dr("ID") = m_ID dr("PlantSection") = m_PlantSection dr("Part") = m_Part dr("DefectScope") = m_DefectScope dr("ScopeID") = m_ScopeID dr("DefectType") = m_DefectType dr("RichInk") = m_RichInk If m_NewItem Then ' Add row to dataset, if new item frmMain.ds.Tables("Feedback").Rows.Add(dr) End If ' Save data frmMain.ds.AcceptChanges() frmMain.ds.WriteXml(frmMain.dataSource) End Sub Trocando Dados com o Servidor A figura abaixo mostra a troca de dados usando Web Services. Em uma solução corporativa, é comum usar uma plataforma de integração como BizTalk Server.
  • 5. 31/07/2018 .NET Framework https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 5/7 Figura 2. XML Web Service trocando dados O cliente do Pocket PC solicita o Web Service no servidor e passa o DataSet (ds) como dados: Private Sub Synchronize() Dim username As String = "JohnS" Dim blnSuccess As Boolean ' Synchronize using XML Web Service Cursor.Current = Cursors.WaitCursor Dim wsFeedback As New wsFeedback.feedback blnSuccess = wsFeedback.InsertFeedback(ds, username) Cursor.Current = Cursors.Default End Sub O Web Service aceita o DataSet e passa o XML diretamente para Stored Procedure do SQL Server 2000, o qual usa SQLXML e OPENXML para analisar o XML e inserir o novo dados na tabela apropriada. < WebMethod()> _ Public Function InsertFeedback(ByVal ds As DataSet, ByVal username As String) As Boolean Dim con As New SqlConnection(connectionstring) Dim cmd As New SqlCommand("p_Feedback_i", con) cmd.CommandType = CommandType.StoredProcedure ' Set parameters Dim prmXML As SqlParameter = cmd.Parameters.Add("@XML", SqlDbType.NText) prmXML.Direction = ParameterDirection.Input prmXML.Value = ds.GetXml Dim prmUsername As SqlParameter = cmd.Parameters.Add("@Username", SqlDbType.NVarChar) prmUsername.Direction = ParameterDirection.Input prmUsername.Value = username Try con.Open() cmd.ExecuteNonQuery() Catch ex As Exception ' Handle, log and re-throw error Throw ex Finally con.Close() End Try Return True End Function The stored procedure inserts the new data: CREATE PROCEDURE p_Feedback_i @XML ntext, @Username nvarchar(50) AS SET NOCOUNT ON DECLARE @iDoc integer DECLARE @Error integer /* Create XML document. */
  • 6. 31/07/2018 .NET Framework https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 6/7 EXEC sp_xml_preparedocument @iDoc OUTPUT, @XML /* Insert new records */ INSERT INTO Feedback ( FeedbackID, PlantSection, Part, DefectScope, ScopeID, DefectType, RichInk, Username ) SELECT ID, PlantSection, Part, DefectScope, ScopeID, DefectType, RichInk, @Username FROM OPENXML (@iDoc, '/DataSet/Feedback',2) WITH ( ID uniqueidentifier, PlantSection int, Part int, DefectScope int, ScopeID nvarchar(50), DefectType int, RichInk nvarchar(50) ) SELECT @Error = @@ERROR IF (@Error <> 0) BEGIN GOTO Errorhandler END /* Remove the XML document*/ EXEC sp_xml_removedocument @iDoc RETURN Errorhandler: IF NOT @iDoc IS NULL EXEC sp_xml_removedocument @iDoc RAISERROR (@Error,16,1) RETURN A figura seguinte mostra troca de dados no SQL Server CE Remote Data Access e Merge Replication. Figura 3. Troca de dados no banco de dados
  • 7. 31/07/2018 .NET Framework https://msdn.microsoft.com/pt-br/library/cc580576(d=printer).aspx 7/7 Conclusão Entendendo as características de dados, conectividade e arquitetura do sistema é preciso para determinar uma estratégia de acesso a dados apropriada. É importante notar que uma solução Pocket PC pode ser oferecida através de um número de diferentes cenários e situações. Entretanto, é completamente possível que uma estratégia de acesso a dados possa definir o uso tanto de arquivos XML locais, banco de dados SQL Server CE, Web Services e SQL Server CE Remote Data Access e Merge Replication dependendo da situação e características atuais. O .NET Compact Framework deixa projetistas de sistemas e desenvolvedores escolher o método apropriado de acesso a dados dependendo no número de diferentes cenários. Com uma estratégia de acesso a dados definidos e novas ferramentas, é fácil ficar focado nos benefícios e projeto das soluções atuais. Renato Haddad rehaddad@msn.com Microsoft Most Valuable Professional Autor de diversos livros e ministra palestras e treinamentos sobre a tecnologia .NET. Autor de diversos treinamentos multimídia de ASP.NET e Visual Studio .NET 2003. Referências:   http://www.microsoft.com/windowsmobile/products/pocketpc/default.mspx   http://www.gotdotnet.com   http://www.smartdevelopers.microsoftdev.com   http://www.microsoft.com/windowsmobile/information/businesssolutions/wifi/default.mspx   http://msdn.microsoft.com/library/default.asp?url=/library/en- us/guide_ppc/htm/_ppc_writing_applications_for_pocket_pc_uwxf.asp      Faça o download deste documento: Estratégia de acesso a dados para o Microsoft .NET Compact Framework formato Word, 111 KB     Inicio da pagina © 2018 Microsoft