Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve como criar, empacotar e implantar um aplicativo cliente/servidor DCOM (Distributed Component Object Model) usando o Visual Basic.
Versão original do produto: Visual Basic
Número original do KB: 266717
Resumo
Este artigo mostra como criar, empacotar e implantar um aplicativo cliente/servidor DCOM usando o Visual Basic. Para criar um aplicativo cliente/servidor DCOM, você precisa da Enterprise Edition do Visual Basic. A Microsoft pressupõe que o leitor já esteja familiarizado com a criação de aplicativos cliente/servidor executados no mesmo computador.
Mais informações
Você não precisa alterar seu código para permitir que um aplicativo cliente instancie um servidor remoto usando o DCOM. A diferença é a maneira como você empacota e implanta o cliente. Além disso, há algumas configurações de segurança que você precisa fazer depois que o cliente e o servidor forem instalados. Você pode fazer essas configurações usando um utilitário chamado Dcomcnfg.
As etapas a seguir mostram como distribuir e configurar um aplicativo cliente/servidor. Nomeie o DCOMDemo_Svr do servidor e nomeie o cliente DCOMDemo_Cli. Crie uma pasta separada para cada um deles. Para os fins deste artigo, chame estas pastas c:\DCOMDemo\Server and c:\DCOMDemo\Client.
Criar o Servidor
Inicie um novo projeto do Visual Basic. Na caixa de diálogo Novo Projeto , selecione ActiveX EXE e clique em Abrir. Class1 é criado por padrão.
Adicione o seguinte código ao módulo Class1:
Public Function ServerTime() As String ServerTime = Time End FunctionNo menu Projeto, clique na opção Propriedades do Projeto e selecione a guia Geral.
No campo Nome do Projeto, digite DCOMDemo_Svr.
No campo Descrição do Projeto, digite DCOMDemo_Svr - Servidor. Marque a opção Execução autônoma .
Observação
Essa opção sempre deve ser verificada em servidores que não têm nenhuma interface do usuário para garantir que nenhuma caixa de diálogo de qualquer tipo seja exibida enquanto o servidor estiver em execução. Se você tiver qualquer tipo de interação com o usuário enquanto o servidor estiver sendo executado sob uma identidade que não seja o Usuário Interativo, o servidor poderá parecer travar.
Selecione a guia Componente e marque a opção Arquivos do servidor remoto.
Observação
Marcar essa opção faz com que o compilador do Visual Basic gere os arquivos VBR e TLB necessários para empacotar os aplicativos cliente que usam esse servidor. Esses arquivos contêm entradas do Registro que precisam ser incluídas no computador cliente.
Feche a caixa de diálogo Propriedades do projeto.
No menu Arquivo , selecione Salvar como e salve este projeto no
c:\DCOMDemo\Server folder.No menu Arquivo, selecione Tornar DCOMDemo_Svr e compilar o servidor.
No menu Projeto, selecione a opção Propriedades do Projeto e, em seguida, selecione a guia Componente.
Na guia Componente , selecione Compatibilidade de Versão, selecione a opção Compatibilidade Binária e torne o binário do projeto compatível com o arquivo executável do servidor que você criou (DCOMDemo_Svr.exe). Ao selecionar essa opção, você garante que todos os GUIDs sejam mantidos iguais se você recompilar o servidor.
Criar o cliente
No menu Arquivo, selecione a opção Novo Projeto, selecione EXE Padrão e clique em OK. Form1 é criado por padrão.
No menu Projeto, clique na opção Propriedades do Projeto e selecione a guia Geral.
No campo Nome do Projeto, digite DCOMDemo_Cli.
No campo Descrição do Projeto, digite DCOMDemo_Cli Projeto - Cliente.
No menu Projeto , selecione Referências. Na lista de referências disponíveis, selecione DCOMDemo_Svr - Servidor.
Coloque um botão de comando em Form1 e altere a legenda do botão para Executar.
Coloque o seguinte código no evento de clique do botão:
Dim MyObj As DCOMDemo_Svr.Class1 On Error GoTo err1 Set MyObj = CreateObject("DCOMDemo_Svr.Class1") MsgBox "Server Time=" & MyObj.ServerTime & " Client Time=" & Time Exit Sub err1: MsgBox "Connection failed: Error " & Err.Number & " - " & Err.DescriptionNo menu Arquivo , selecione Salvar como e salve o projeto na pasta
c:\DCOMDemo\Clientdo cliente.Pressione a tecla F5 para executar o cliente no IDE e testá-lo.
No menu Arquivo, selecione Tornar DCOMDemo_Cli para compilar o cliente e feche o Visual Basic.
Empacotar o servidor
Use o Assistente de Pacote e Implantação para empacotar seu servidor para distribuição como de costume. O servidor é instanciado por um cliente remoto usando DCOM. Ao criar o pacote para o servidor, você obtém uma caixa de diálogo perguntando se esse servidor será usado como um servidor de Automação Remota e se deseja incluir arquivos de suporte para essa finalidade. Basta clicar no botão Não, porque DCOM não é Automação Remota. A automação remota é uma tecnologia mais antiga que foi substituída pelo DCOM.
Empacotar o cliente
Ao empacotar o cliente, há algumas etapas específicas que precisam ser executadas, considerando que o servidor não é executado no mesmo computador que o cliente. As alterações feitas no pacote do cliente garantem que apenas a biblioteca de tipos (arquivo .tlb) seja instalada e algumas entradas adicionais do Registro sejam incluídas em vez do executável do servidor, o que não é necessário no computador do cliente porque ele não será executado lá.
Empacote o cliente usando as seguintes etapas:
Inicie o Assistente de Pacote e Implantação e selecione o projeto do Cliente.
Clique no botão Pacote . Na caixa de diálogo Tipo de Pacote, selecione Pacote de Instalação Padrão e clique em Avançar.
Na caixa de diálogo Pasta do Pacote , selecione a pasta para armazenar o pacote e clique em Avançar. Nesse caso, é c:\DCOMDemo\Client\Package.
Observação
Você pode obter uma caixa de diálogo informando que não há informações de dependência para o servidor. Clique em OK porque esse servidor não tem dependências.
Agora você deve estar na caixa de diálogo Arquivos incluídos.
Desmarque o arquivo executável do servidor, DCOMDemo_Svr.exe, porque você não deseja distribuir o executável do servidor e clique no botão Adicionar.
Altere a caixa de combinação Arquivos do tipo para Arquivos de servidor remoto (*.vbr).
Aponte para a pasta onde você tem o projeto do seu servidor (neste caso
c:\DCOMDemo\Server) e selecione o arquivo VBR relacionado, DCOMDemo_Svr.VBR. Clique em Abrir e a caixa de diálogo Adicionar arquivo será fechada.Observação
Que dois arquivos estão incluídos, DCOMDemo_Svr.VBR e DCOMDemo_Svr.TLB. Clique no botão Avançar. Na caixa de diálogo Servidores remotos, você pode definir o nome do computador (endereço de rede) em que o servidor está sendo executado. Normalmente, você mantém esse campo em branco porque pode não saber com antecedência onde o servidor será instalado. Se você mantê-lo em branco, será solicitado quando instalar o cliente. Para este exemplo, mantenha-o em branco.
Clique em Avançar para continuar. Agora você pode prosseguir com os procedimentos padrão do Assistente de Pacote e Implantação. Nesse caso, basta clicar em Avançar para todas as caixas de diálogo restantes.
Instale o servidor
Instale o servidor no computador no qual você gostaria de executá-lo, usando o pacote de distribuição criado anteriormente. Se você quiser usar seu computador de desenvolvimento para executar o servidor, não precisará instalá-lo porque o Visual Basic faz o registro para você quando compila o servidor.
Instalar o cliente
Instale o cliente no computador no qual você gostaria de executá-lo, usando o pacote de distribuição criado anteriormente. Como esse cliente usa um servidor DCOM e você deixou o local real do servidor em branco ao criar o pacote de distribuição, agora você precisa fornecer esse local. Quando a Instalação solicitar esse local, forneça o nome do computador em que você instalou o servidor.
Definir a segurança do servidor
Se você instalou o servidor em um computador com Windows NT ou Windows 2000, será necessário configurar a segurança para ele. Faça isso usando Dcomcnfg, conforme mostrado nas etapas a seguir, que pressupõem que os computadores cliente e servidor fazem parte de um domínio e o usuário conectado ao computador cliente está conectado como um usuário de domínio. As configurações sugeridas são apenas uma configuração possível. Eles são genéricos e dão amplo acesso ao servidor. Lembre-se de que este é apenas um exemplo. Ao implantar seus aplicativos reais e a segurança é uma preocupação para seu ambiente, você deve selecionar opções mais restritivas. Além disso, se o computador que você está usando para testar este servidor de exemplo for usado para executar outros servidores, anote as configurações atuais antes de fazer as alterações a seguir e retorne às configurações originais assim que terminar os testes.
- No computador servidor, clique no botão Iniciar e selecione Executar. Na caixa de diálogo Executar, digite Dcomcnfg e clique em OK. Você precisa ter direitos de administrador para poder executar o Dcomcnfg.
- Selecione a guia Propriedades Padrão e verifique se a opção Habilitar COM Distribuído neste computador está marcada.
- Defina o Nível de Autenticação Padrão como Conectar e defina o Nível de Representação Padrão como Identificar.
- Selecione a guia Segurança padrão.
- Clique no botão Editar padrão no painel Permissões de acesso padrão.
- Verifique se Todos e Sistema estão incluídos na lista com direitos de Permitir Acesso. Se não estiverem, você pode usar o botão Adicionar para adicioná-los à lista. Clique em OK quando a lista estiver completa.
- Clique no botão Editar padrão no painel Permissões de inicialização padrão.
- Verifique se Todos e Sistema estão incluídos na lista com permissões de Permitir Inicialização. Se não estiverem, use o botão Adicionar para adicioná-los à lista. Clique em OK quando a lista estiver completa.
- Selecione a guia Aplicativos , realce seu servidor, DCOMDemo_Svr.Class1 e clique no botão Propriedades .
- Selecione a guia Geral, defina o Nível de Autenticação como Padrão e, em seguida, selecione a guia Local. A única opção marcada deve ser Executar aplicativo neste computador.
- Selecione a guia Segurança e verifique se as opções Usar permissões de acesso padrão e Usar permissões de inicialização padrão estão marcadas.
- Selecione a guia Identidade , marque a opção de inicialização do usuário , clique em OK para fechar a caixa de diálogo Propriedades do servidor e clique em OK novamente para fechar o Dcomcnfg. Como você pode ver, o servidor de teste usa todas as configurações padrão. Ao implantar seus próprios servidores, você deve definir configurações específicas para seu aplicativo. Todas as configurações personalizadas têm precedência sobre as padrão.
Agora você está pronto para testar seu servidor. No computador cliente, inicie o cliente e clique no botão Executar . Você deve ver uma caixa de mensagem indicando a hora do servidor. Se você não conseguir testar este exemplo com êxito, consulte o artigo de solução de problemas, Q269330, listado na seção "Referências".