Compartilhar via


Modelo de programação do RDS em detalhes

Veja a seguir os principais elementos do modelo de programação RDS:

  • RDS.DataSpace

  • RDSServer.DataFactory

  • RDS.DataControl

  • Evento

Importante

A partir do Windows 8 e do Windows Server 2012, os componentes do servidor RDS não estão mais incluídos no sistema operacional Windows (confira Windows 8 e Manual de Compatibilidade do Windows Server 2012 para obter mais detalhes). Os componentes do cliente RDS serão removidos em uma versão futura do Windows. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Os aplicativos que usam o RDS devem migrar para o Serviço de Dados do WCF.

RDS.DataSpace

O aplicativo cliente deve especificar o servidor e o programa de servidor a ser invocado. Por sua vez, o aplicativo recebe uma referência ao programa de servidor e pode tratar a referência como se fosse o próprio programa de servidor.

O modelo de objeto RDS incorpora essa funcionalidade com o objeto RDS.DataSpace.

O programa de servidor é especificado com um identificador de programa ou ProgID. O servidor usa o ProgID e o registro do computador do servidor para localizar informações sobre o programa real a ser iniciado.

O RDS faz uma distinção internamente dependendo de se o programa de servidor está em um servidor remoto na Internet ou em uma intranet, um servidor em uma rede de área local ou não estão em um servidor, mas em uma DLL (biblioteca de vínculo dinâmico) local. Essa distinção determina como as informações são trocadas entre o cliente e o servidor e faz uma diferença tangível no tipo de referência retornado ao aplicativo cliente. No entanto, do seu ponto de vista, essa distinção não tem significado especial. Tudo o que importa é que você receba uma referência de programa utilizável.

RDSServer.DataFactory

O RDS fornece um programa de servidor padrão que pode executar uma consulta SQL na fonte de dados e retornar um objeto Recordset ou pegar um objeto Recordset e atualizar a fonte de dados.

O modelo de objeto RDS incorpora essa funcionalidade com o objeto RDSServer.DataFactory.

Além disso, esse objeto tem um método para criar um objeto Recordset vazio que você pode preencher programaticamente (CreateRecordset) e outro método para converter um objeto Recordset em uma cadeia de caracteres de texto, para criar uma página da Web (ConvertToString).

Com a ADO, você pode substituir alguns dos comportamentos de comando e conexão padrão do RDSServer.DataFactory por um manipulador DataFactory e um arquivo de personalização que contém parâmetros de conexão, comando e segurança.

Às vezes, o programa de servidor é chamado de objeto de negócios. Você pode gravar seu próprio objeto de negócios personalizado, que pode executar acesso a dados complicados, verificações de validade e assim por diante. Mesmo ao gravar um objeto de negócios personalizado, você pode criar uma instância de um objeto RDSServer.DataFactory e usar alguns dos métodos para realizar suas próprias tarefas.

RDS.DataControl

O RDS fornece um meio de combinar a funcionalidade do RDS.DataSpace e do RDSServer.DataFactory e também permite que controles visuais usem facilmente o objeto Recordset retornado por uma consulta de uma fonte de dados. O RDS tenta, para o caso mais comum, fazer o máximo possível para obter acesso automaticamente às informações em um servidor e exibi-las em um controle visual.

O modelo de objeto RDS incorpora essa funcionalidade com o objeto RDS.DataControl.

O RDS.DataControl tem dois aspectos. Um aspecto diz respeito à fonte de dados. Se você definir as informações de comando e conexão usando as propriedades Connect e SQL do RDS.DataControl, elas usarão automaticamente o RDS.DataSpace para criar uma referência ao objeto RDSServer.DataFactory padrão. Em seguida, o RDSServer.DataFactory usará o valor da propriedade Connect para se conectar à fonte de dados, usará o valor da propriedade SQL para obter um Recordset da fonte de dados e retornará o objeto Recordset para o RDS.DataControl.

O segundo aspecto refere-se à exibição de informações retornadas do Recordset em um controle visual. Você pode associar um controle visual ao RDS.DataControl (em um processo chamado de associação) e obter acesso às informações no objeto Recordset associado, exibindo os resultados da consulta em uma página da Web no Microsoft Internet Explorer. Cada objeto RDS.DataControl associa um objeto Recordset, representando os resultados de uma única consulta a um ou mais controles visuais (por exemplo, uma caixa de texto, caixa de combinação, controle de grade e assim por diante). Pode haver mais de um objeto RDS.DataControl em cada página. Cada objeto RDS.DataControl pode ser conectado a uma fonte de dados diferente e conter os resultados de uma consulta separada.

O objeto RDS.DataControl também tem seus próprios métodos para navegar, classificar e filtrar as linhas do objeto Recordset associado. Esses métodos são semelhantes, mas não são iguais aos métodos no objeto Recordset ADO.

Eventos

O RDS dá suporte a dois de seus próprios eventos, que são independentes do modelo de evento do ADO. O evento onReadyStateChange é chamado sempre que a propriedade RDS.DataControl ReadyState é alterada, notificando você quando uma operação assíncrona tiver sido concluída com êxito, terminado ou apresentado um erro. O evento onError é chamado sempre que ocorre um erro, mesmo que o erro ocorra durante uma operação assíncrona.

Observação

O Microsoft Internet Explorer fornece dois eventos adicionais para RDS: onDataSetChanged, o que indica que o Recordset está funcional, mas ainda recuperando linhas, e onDataSetComplete, o que indica que o Recordset terminou de recuperar linhas.

Confira também

Modelo de programação do RDS com objetos
Objeto DataControl (RDS)
Objeto DataFactory (RDSServer)
Objeto DataSpace (RDS)
Cenário RDS
Tutorial RDS
Segurança e uso RDS