Criando um COM+ integrado com SVN: Parte I

Postado por: Tiago Lemos em 24th fev, 2009 | Categoria: ASP.NET, C#, VB

Vou mostrar em uma série de 2 posts como criar um COM+ para realizar ações do SVN. Há um tempo atrás precisei criar um COM+ que realiza-se as principais ações do SVN, como por exemplo: Criar pastas, repositórios, “commitar” (se é assim que posso falar) e deletar ações, além de outras funções.
Mas antes de começarmos a mexer com o código, vamos entender o que é o SVN.

O que é SVN e pra que serve um SVN

O SVN é um sistema de controle de versão e com esse controle nós podemos gravar o histórico de todos os arquivos. A idéia é simples, manter um controle de backup do seus arquivos, não utilizando o “Ctrl+C” e “Ctrl+V”.
O SVN mantém um versionamento do projeto, podendo garantir a recuperação de versões antigas do mesmo.
Imagine que você criou um projeto e gravou no SVN. Passado um mês você realizou diversas alterações neste projeto, pois o escopo do mesmo foi alterado (o que é normal na nossa área rsrs).
Ok, você acabou o projeto e gravou tudo no SVN. Vamos imaginar agora que se passaram alguns meses e você precise criar agora um projeto idêntico à aquela primeira versão gravada no SVN.
Pronto, ai entra o controle de versão. Basta você recuperar aquela versão e seu projeto já estará pronto.

Criando o COM+

Chega de teoria chata (mas importante) e vamos ao código. A primeira coisa a ser feita é a criação de um projeto com uma classe que neste caso chama: SVN
Adicione a biblioteca System.EnterpriseServices e a linha [Transaction(TransactionOption.Required), JustInTimeActivation()].


using System;
using System.EnterpriseServices;
using System.Configuration;

namespace Integracao
{
    [Transaction(TransactionOption.Required), JustInTimeActivation()]
    public class SVN : ServicedComponent
    {
    }
}

Agora será necessário criar uma chave e registrar a DLL como Service Component. Para isto, execute as seguintes linhas de comando usando os arquivos sn.exe e regsvcs.exe. Você pode executar no prompt de comando.


//Linha de comando para criar uma Chave:
//Digite o caminho da raiz do projeto e o nome da chave a ser criado
//sn -k "C:/Arquivos de programas/ComPlus/Complus/nome_da_chave.snk"

//Linha de comando para registrar uma DLL:
//Digite o caminho até a DLL que será registrada
//regsvcs D:\Arquivos de programas\Complus\Complus\bin\Debug\nome_da_dll.dll

Assim chegamos ao final do primeiro post. Já estamos com o COM+ praticamente pronto e agora só falta criar os métodos para acessarem as ações do SVN e dar as devidas permissões ao COM+, para que o mesmo funcione corretamente.
Em breve irei finalizar essa integração. Espero que tenham gostado.

4 Comentários para “ Criando um COM+ integrado com SVN: Parte I ”

  1. Paulo Gomes disse,

    Muito legal isso…. automação é o que há! Fico anciosamente no aguardo do segundo artigo!

  2. Tiago Lemos» Arquivos » Criando um COM+ integrado com SVN: Parte II disse,

    [...] vamos encerrar o post: Criando um COM+ integrado com SVN: Parte I. Primeiro, desculpe a demora em finalizar este post, mas realmente não estava conseguindo um tempo [...]

  3. Aluisio disse,

    Parabéns pelo trabalho que você vem desenvolvendo Tiago. Eu queria saber se vc já utilizou o DCOM? tem muito diferença para o COM+ ?

    obrigado

  4. Tiago Lemos disse,

    Olá Aluisio,
    Desculpe a demora em responder. Acho que você pode entender assim:
    - Um padrão da Microsoft é o com COM, que é basicamente um arquivo binário .dll ou .exe;
    - O DCOM permite acesso remoto através de um protocolo de rede. Resumindo é a mesma coisa que o COM só que para sistemas distribuídos.
    - O COM+ pode ser caracterizado como um container de serviços. Esses serviços podem ser transactions, object pooling, just in time, sincronization, queuing e muitos outros.
    Acredito que vc pode utilizar o COM+ para resolver seu problema.

     Deixe seu comentário:





trackback Trackback URI | rsscomment RSS dos comentários