Índice:


       

Objetivo:


   O objetivo deste documento é mostrar como é feito a criação de uma DLL .Net para consultar e inserir dados em uma tabela do banco de dados, e mostrar como utilizar esta DLL .Net como conexões de Origem e Destino em um conceito.

Criação do Banco de Dados:


   Requisitos: 

  • Banco de Dados SQL
  • Visual Studio 2017

   Para este exemplo, foi criada uma tabela de produto em um banco de dados SQL para que a DLL .Net possa retornar todos os produtos cadastrados.

   Crie a tabela produto e insira alguns dados, como mostra o exemplo abaixo:

CREATE TABLE produto (

  id_produto INT IDENTITY,

nome VARCHAR (100),

  quantidade_estoque INT,

  preco DECIMAL(10,2),

  data_criacao DATETIME,

  PRIMARY KEY (id_produto)

)

INSERT INTO produto VALUES ('Produto 01',1,0.5,GETDATE())

INSERT INTO produto VALUES ('Produto 01',2,1,GETDATE())

INSERT INTO produto VALUES ('Produto 02',2,1,GETDATE());

INSERT INTO produto VALUES ('Produto 03',3,2.5,GETDATE());

INSERT INTO produto VALUES ('Produto 04',4,3,GETDATE());

INSERT INTO produto VALUES ('Produto 05',5,4.5,GETDATE());

INSERT INTO produto VALUES ('Produto 06',6,5,GETDATE());

INSERT INTO produto VALUES ('Produto 07',7,6.5,GETDATE());

INSERT INTO produto VALUES ('Produto 08',8,7,GETDATE());

INSERT INTO produto VALUES ('Produto 09',9,8.5,GETDATE());

INSERT INTO produto VALUES ('Produto 10',10,9.5,GETDATE());

Criação da DLL .Net:


       A criação da DLL .Net é feita através do Visual Studio, o mesmo será utilizado para consumir e inserir dados na tabela criada anteriormente.

Abra o Visual Studio e selecione: File -> New -> Project em seguida crie um projeto do tipo "Class Library" com o nome "ConceitoDll".

Em seguida clique com o botão direito na Solution (ConceitoDll) -> Add -> New Item


Na tela "Add New Item" Selecione a opção "ADO.NET Entity Data Model" e coloque o nome de "ModelDB".


Na tela "Entity Data Model Wizard" selecione a opção "EF Designer From database" e avance o processo.


Na tela seguinte "Choose Your Data Connection", crie uma nova conexão apontando para sua base de dados, e dê o nome de "DBEntities" em seguida avance o processo.


Na tela "Choose Your Version", Selecione a versão 6.x do Entity Framework.

Selecione a tabela criada anteriormente, dê o nome de "DBModel" e finalize a criação.


Após o processo, uma conectionString com o nome "DBEntities" será criada no arquivo "App.Config".

Para que o RM possa acessar tal endereço durante a execução do conceito, a mesma deve estar presente nos arquivos de configuração do "Host" descritos abaixo: 

  • RM.Host.exe.config
  • RM.Host.Service.exe.config
  • RM.Host.JobRunner.exe.config 

Crie uma classe com o nome "Controle.cs", e crie os métodos "GetProdutos" e "PutProduto" para listar os produtos e inserir um novo produto respectivamente.

Algumas observações sobre a classe e seu métodos: 

  • A classe a ser utilizada deverá ser pública e instânciável, ou seja não pode ser uma classe estática
  • Os métodos devem conter o atributo Browsable(true) para serem reconhecidos pelo RM
  • Para a Conexão de Origem, o método deve retornar um enumerado genérico IEnumerable<T>, de uma classe qualquer
  • Para a Conexão de Destino, o método deve receber uma classe qualquer.

    [Browsable(true)]

    public List<produto> GetProdutos()

    {

      using (DBEntities entitie = new DBEntities())

      {

        return entitie.produto.ToList();

      }

    }

    [Browsable(true)]

    public bool PutProduto(produto Produto)

    {

      using (DBEntities entitie = new DBEntities())

      {

        entitie.produto.Add(Produto);

        entitie.SaveChanges();

        return true;

      }

    }

A conexão DLL .Net está criado e consumindo uma tabela do banco de dados.

Compile a DLL .Net e a coloque na pasta de instalação da Biblioteca (RM.NET).

Cópia de referências:

Além de cópiar a dll principal do projeto, também serão necessárias as dlls de terceiros das quais o seu projeto é dependente.

Para esse exemplo, devemos copiar também as dlls "EntityFramework.dll" e "EntityFramework.SqlServer.dll"

Observação:

Após colocar a DLL .Net no ambiente, é necessário reiniciar o Host.

Conexão de Origem:


        Crie um conceito que terá como Conexão de Origem a DLL .Net criada anteriormente.

Acesse o módulo Integração, abra o cadastro do Conceito e clique em Novo.

Na tela de inclusão, preencha o campo nome com "ConceitoDLLNetOrigem"


No menu de Conexões adicione uma Conexão de Origem do tipo "DLL .Net" e preencha com os seguintes dados:

  • Nome: OrigemDll
  • DLL: ConceitoDll.dll
  • Tipo: ConceitoDll.Controle
  • Método: GetProdutos

A conexão de Origem foi criada listando as propriedades do Objeto produto, retornado como lista na DLL .Net.

No menu Conexões adicione uma Conexão de Destino do tipo "Arquivo Texto" e preencha com os seguintes dados:

  • Nome: ArquivoDestino
  • Arquivo: Parâmetro

Ainda na tela de inclusão da conexão Arquivo Texto, acesse a aba "Tabelas" e adicione uma tabela com 5 colunas.

Volte ao conceito, selecione a aba "Ligações" e realize as ligações da tabela de destino com a tabela de origem, como mostra o exemplo abaixo:

Após salvar o Conceito, volte a tela de cadastro de conceito e execute o processo em "Processos | Processar Novo Conceito". Selecione o arquivo de destino e em seguida poderá ver o resultado no arquivo texto gerado. 

Conexão de Destino:


       Após a criação da Conexão de Origem, crie um conceito que terá como Conexão de Destino o Web Service para inserir um produto (PutProduto).

Acesse o módulo Integração, abra o cadastro do Conceito e clique em Novo.

Na tela de inclusão, Preencha o campo nome com "ConceitoDLLNetDestino"


Crie um arquivo texto com a seguinte informação:

  • A;Produto Novo;10;10,50;18/10/2017 01:00:00

As informações estão separadas por ; onde:

  • A: Identificador da Tabela
  • Produto Novo: Coluna Nome
  • 10: Coluna quantidade_estoque
  • 10,50: Coluna preço
  • 18/10/2017 01:00:00: Coluna data_criação

No menu de Conexões adicione uma Conexão de Origem do tipo "Arquivo Texto" e preencha com os seguintes dados:

  • Nome: Origem
  • Arquivo: Aponte para o arquivo criado anteriormente

Ainda na tela de inclusão da conexão Arquivo Texto, acesse a aba "Tabelas" e adicione uma tabela com o identificador O (mesmo do arquivo criado anteriormente) contendo 4 colunas e preencha seus respectivos nomes e tipos.

Agora adicione uma Conexão de Destino do tipo "DLL .Net" e preencha os seguintes dados:

  • Nome: DestinoDll
  • DLL: ConceitoDll.Dll
  • Tipo: ConceitoDll.Controle

A Conexão de Destino foi criada listando o método "PutProduto" como uma tabela e listando as propriedades do objeto Produto.

Selecione a aba Ligações e realize as ligações da tabela de destino com a tabela de origem.

Após salvar o Conceito, volte a tela de cadastro de conceito e execute o processo em "Processos | Processar Novo Conceito". Em seguida realize a consulta na tabela no banco de dados e verifique que o produto foi inserido corretamente como mostra a imagem abaixo:

Produto: Framework

Versão: 12.1.XX

Processo: Conexão de Web Services