Criar um aplicativo de cliente/servidor DCOM usando o Visual Basic

Este artigo descreve como criar, empacotar e implantar um aplicativo cliente/servidor DCOM (Modelo de Objeto de Componente Distribuído) usando o Visual Basic.

Versão original do produto: Visual Basic
Número de KB original: 266717

Resumo

Este artigo mostra como criar, empacotar e implantar um aplicativo de cliente/servidor DCOM usando o Visual Basic. Para criar um aplicativo de cliente/servidor DCOM, você precisa do Edição Enterprise 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 o código para habilitar um aplicativo cliente a instanciar 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 são 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 servidor DCOMDemo_Svr e nomeie o DCOMDemo_Cli do cliente. Crie uma pasta separada para cada uma delas. Para a finalidade deste artigo, chame essas pastas c:\DCOMDemo\Server and c:\DCOMDemo\Client.

Criar o Servidor

  1. Inicie um novo Projeto do Visual Basic. Na caixa de diálogo Novo Projeto , selecione ActiveX EXE e clique em Abrir. A classe1 é criada por padrão.

  2. Adicione o seguinte código ao módulo Class1:

    Public Function ServerTime() As String
        ServerTime = Time
    End Function
    
  3. No menu Projeto , clique na opção Propriedades do Projeto e selecione a guia Geral .

  4. No campo Nome do Projeto , digite DCOMDemo_Svr.

  5. No campo Descrição do Projeto , digite DCOMDemo_Svr – Servidor. Verifique a opção Execução Autônoma .

    Observação

    Essa opção deve sempre 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 do usuário enquanto o servidor estiver em execução em uma identidade que não seja o Usuário Interativo, o servidor poderá parecer travado.

  6. Selecione a guia Componente e marcar a opção Arquivos do Servidor Remoto.

    Observação

    Verificar 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 de registro que precisam ser incluídas no computador cliente.

  7. Feche a caixa de diálogo Propriedades do Projeto .

  8. No menu Arquivo , selecione Salvar Como e salve este projeto no c:\DCOMDemo\Server folder.

  9. No menu Arquivo , selecione Fazer DCOMDemo_Svr e compile o servidor.

  10. No menu Projeto , selecione a opção Propriedades do Projeto e selecione a guia Componente .

  11. Na guia Componente , selecione Compatibilidade de Versão, selecione a opção Compatibilidade Binária e, em seguida, 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ê garantirá que todos os GUIDs sejam mantidos iguais se você recompilar o servidor.

Criar o Cliente

  1. No menu Arquivo , selecione a opção Novo Projeto , selecione EXE Padrão e clique em OK. O Form1 é criado por padrão.

  2. No menu Projeto , clique na opção Propriedades do Projeto e selecione a guia Geral .

  3. No campo Nome do Projeto , digite DCOMDemo_Cli.

  4. No campo Descrição do Projeto , digite DCOMDemo_Cli Project – Client.

  5. No menu Projeto , selecione Referências. Na lista de referências disponíveis, selecione DCOMDemo_Svr – Servidor.

  6. Coloque um botão de comando no Form1 e altere o legenda do botão para Executar.

  7. 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.Description
    
  8. No menu Arquivo , selecione Salvar Como e salve o projeto na pasta c:\DCOMDemo\Clientdo cliente .

  9. Pressione a tecla F5 para executar o cliente no IDE e teste-o.

  10. No menu Arquivo , selecione Fazer 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 seu servidor, você obtém uma caixa de diálogo perguntando se esse servidor será usado como um servidor de Automação Remota e se você deseja incluir arquivos de suporte para essa finalidade. Basta clicar no botão Não , pois o DCOM não é a 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 tomadas, 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) está instalada e algumas entradas adicionais do registro são 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á.

Empacotar o cliente usando as seguintes etapas:

  1. Inicie o Assistente de Pacote e Implantação e selecione o projeto do Cliente.

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

  3. Na caixa de diálogo Pasta de Pacote , selecione a pasta para armazenar o pacote e clique em Avançar. Nesse caso, ele é c:\DCOMDemo\Client\Package.

    Observação

    Você pode obter uma caixa de diálogo dizendo 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.

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

  5. Altere a caixa de combinação Arquivos do Tipo para Arquivos do Servidor Remoto (*.vbr).

  6. Aponte para a pasta em que você tem o projeto do Servidor (nesse caso c:\DCOMDemo\Server) e selecione o arquivo VBR relacionado, DCOMDemo_Svr.VBR. Clique em Abrir e a caixa de diálogo Adicionar Arquivo é fechada.

    Observação

    Esses 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 Net) em que o servidor está em execução. Normalmente, você mantém esse campo em branco porque talvez não saiba com antecedência onde o servidor será instalado. Se você mantê-lo em branco, você será solicitado a instalá-lo quando instalar o cliente. Para este exemplo, mantenha-o em branco.

  7. Clique em Avançar para continuar. Agora você pode prosseguir com os procedimentos padrão para o Assistente de Pacote e Implantação. Nesse caso, basta clicar em Avançar para todas as caixas de diálogo restantes.

Instalar o Servidor

Instale o servidor no computador no qual você gostaria de executá-lo, usando o pacote de distribuição que você criou 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 ele compila o servidor.

Instalar o Cliente

Instale o Cliente no computador no qual você gostaria de executá-lo, usando o pacote de distribuição que você criou anteriormente. Como esse cliente usa um servidor DCOM e você deixou o local real do servidor em branco quando criou 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 Windows NT ou Windows 2000, precisará configurar a segurança para ele. Faça isso usando dcomcnfg, conforme mostrado nas etapas a seguir, que pressupõem que computadores cliente e servidor fazem parte de um domínio, e o usuário conectado ao computador cliente é 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. Quando você implanta seus aplicativos reais e a segurança é uma preocupação para o 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 seus testes.

  1. No computador do 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.
  2. Selecione a guia Propriedades Padrão e verifique se Habilitar COM Distribuído neste computador está verificado.
  3. Defina o nível de autenticação padrão como Conectar e defina o nível de representação padrão como Identificar.
  4. Selecione a guia Segurança Padrão .
  5. Clique no botão Editar Padrão no painel Permissões de Acesso Padrão .
  6. Verifique se Todos e Sistema estão incluídos na lista com os direitos de Permitir Acesso. Se não estiverem, você poderá usar o botão Adicionar para adicioná-los à lista. Clique em OK quando a lista estiver concluída.
  7. Clique no botão Editar Padrão no painel Permissões de Inicialização Padrão .
  8. Verifique se Todos e Sistema estão incluídos na lista com permissões permitir o lançamento. Se não estiverem, use o botão Adicionar para adicioná-los à lista. Clique em OK quando a lista estiver concluída.
  9. Selecione a guia Aplicativos , realce seu servidor, DCOMDemo_Svr.Class1 e clique no botão Propriedades .
  10. Selecione a guia Geral , defina o Nível de Autenticação como Padrão e selecione a guia Localização . A única opção marcada deve ser Executar aplicativo neste computador.
  11. 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 são verificadas.
  12. Selecione a guia Identidade, marcar a opção de usuário de lançamento, clique em OK para fechar a caixa de diálogo Propriedades do Servidor e clique em OK novamente para fechar 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 mensagens indicando a hora do servidor. Se você não conseguir testar esse exemplo com êxito, consulte o artigo de solução de problemas, Q269330, listado na seção "Referências".