Um conhecimento só é válido quando compartilhado.

sexta-feira, 23 de setembro de 2016

ORMBr Residência Fixa

É com muito orgulho e alegria que informo a todos vocês, que o ORMBr agora tem uma residência fixa e desde já, deixo meus agradecimentos a um  amigo em particular o Jeickson, que fez com que isso se tornasse uma realidade de forma rápida, sem medir esforços.

Nossa nova casa está no endereço : http://www.ormbr.com.br/



Graças a Deus o ORMBr está sendo muito bem recebido pela comunidade Delphi, tenho recebido inúmeras solicitações de amizade no Facebook, cadastros no fórum, entre outros contatos.

Também quero convocar a todos que fizeram seus cadastros no fórum http://ormbr.forumeiros.com/, que refaça seu cadastro, mas agora no fórum do site, o link do novo fórum é http://ormbr.com.br/forum/, conto com a compreensão e paciência de todos para essa repetição, mas o motivo foi porque o fórum atual não me disponibilizou a opção de fazer um backup e restaurar no novo. 

Em nome do projeto ORMBr, deixo aqui meus agradecimento também a todos que tem tirado uma parte do seu tempo para baixar os fontes, ler os posts e até mesmo de qualquer forma tentar ajudar, nosso fórum é e sempre será o meios para que possamos colocar nossas dúvidas, sugestões e discussões, la tentarei responder o quanto antes possível os posts de vocês.

quinta-feira, 22 de setembro de 2016

ORMBr - Uma visão aérea

Neste arquivo vou tentar mostrar para você uma visão aérea do ORMBr Framework, ele é separado por camadas, e cada camada são independente uma da outra, proporcionando assim usar qualquer camada em outro projeto que eu queira e haja necessidade.

Nessa imagem most o fluxograma, das camadas existentes veja abaixo:


Como citei acima o fluxograma mostra as camadas existentes, cada camada tem suas Units, vou relacionar para que serve cada camada, mas não vou relacionar aqui quais units de cada camada.

Dependency Injection - Essa camada como o nome já diz, traz independência da criação das classe produtos concreto, diretos em nosso projeto, hoje as independências são duas uma para o TClientDataSet e outra para o TFDMenTable.

Driver - Essa camada cuida de tudo que se refere ao banco de dados, nela podemos definir nossa conexão, transações e executar os comando SQL que venham a ser necessários. Essa camada é expansível, podendo existir N drivers, hoje temos para os bancos MSSQL, FireBird, MySQL e SQLite.
Devemos considerar essa camada como unica, pois ela deverá servir para todo o projeto, seu uso foi mostrado no artigo ORMBr - Como criar uma conexão ?

Bind - Essa camada é responsável a nos proporcionar o usar pelo o ORMBr os famosos TDataSet e os componentes dbwares.
Na camada Bind teremos todos os recursos como Insert, Append, Edit, Delete, ApplayUpdates uso dos eventos do DataSet etc..., tudo o que já estamos acostumados, e nos bastidores essa camada trata tudo para se comunicar com a camada que irá fazer o tratamento para persistência das informações no banco.
Devemos ter uma instância do Bind para cada tabela(TDataSet) que precisarmos, no caso de mestre-detalhe por exemplo, vamos ter um Bind Mestre e outro para a Detalhe, passando assim como parâmetro para o Bind Detalhe o Bind Master.

Session - Essa camada é usada pela camada Bind, na verdade é essa camada, que tem o link direto para que o ORMBr faça tudo no banco de dados, ele é quem cuida dos objectos modelos e seus mapeamentos.
Bom ai podemos nos perguntar se é essa a camada que faz gerencia tudo como comandos, persistência etc.. no banco de dados, então para que a camada Bind acima? O motivo é que deixei essa camada para aqueles que não gostam de usar DataSet, com a existência dela, pode-se ter todos os recursos de um ORM, ignorando a camada Bind.

Metadata - Essa camada como o nome já diz, tratará de todos os recursos de gerenciamento do metadata do banco de dados, adicionando, alterando e excluindo, campos, tabelas, FK, PK etc..., a pretensão do ORMBr é ir até onde der para gerenciamento do metadata como exemplo gerenciamento de Views.

Criteria - Essa camada, já veio pronta e foi uma mão na roda para o ORMBr vui. Criteria é uma interface que criei para ser usada como esse nome, mas na verdade quem está por traz é a biblioteca GpSQLBuilder, (o uso do GpSQLBuilder, foi solicitado a autorização ao autor, que autorizou), mais informações em GpSQLBuilder.

Controller - Bom e por final, temos a camada Controller que servirá como base para que voçês possam criar seus controles herdando do TControllerBase, essa class base, já irá disponibilizar para vocês as propriedades que será alimentada após sua criação, o DataSet e o IDBConnection, disponibilizando assim dentro do seu controle o acesso necessários a essas instâncias.

É isso ai, e vamos que vamos, ainda tem muita coisa para eu passar para vocês :)

quarta-feira, 21 de setembro de 2016

ORMBr - Como criar uma conexão ?

Para conexão de dados no ORMBr, hoje podemos usar três suítes, DBX (TSQLConnection), FireDAC (TFDConnection) e ZeosLib (ZConnection).

1o Passo: A conexão deve ser parametrizada da forma que você já conhece no Delphi, ou seja colocando o componente de conexão no seu projeto e parametrizando suas propriedades, a forma que irá fazer isso não importa para o ORMBr.
2o Passo: Adicione no seu projeto as units do ORMBr, conforme a suite de acesso a dados escolhido, além das units necessárias por cada suite. 
// DBExpress
uses
  ormbr.factory.interfaces,
  ormbr.types.database,
  ormbr.factor.dbexpress;
// ZeosLib
uses
  ormbr.factory.interfaces,
  ormbr.types.database,
  ormbr.factor.zeos;
// FireDAC
uses
  ormbr.factory.interfaces,
  ormbr.types.database,
  ormbr.factor.firedac;
3o Passo: Crie uma variável global do tipo IDBConnection, da qual você terá acesso a ela em todo seu projeto, caso precise de algum recurso do banco, como StarTransaction, Commit, RollBack etc... 
...
// Variável de conexão global.
var
  oConnection: IDBConnection; 
...
4o Passo: Instanciar a variável de conexão, passando para ela dois parâmetros: O Componente usado para conexão das suítes citadas acima O Tipo do banco de dados que irá usar os tipo são: dnSQLite, dnFirebird, dnMySQL, dnMSSQL etc... 
// DBExpress 
oConnection := TFactoryDBExpress.Create(SQLConnection1, dnSQLite); 
// ZeosLib 
oConnection := TFactoryZeos.Create(ZConnection1, dnSQLite);
// FireDAC 
oConnection := TFactoryFireDAC.Create(FDConnection1, dnSQLite); 
Agora é só usar, lembrando que o ORMBr trabalha de forma desconectada, dessa forma você não precisa abrir a conexão, deixe que ele gerencie isso para você, ele irá abrir na hora que precisar e fechar quando não mais, isso automaticamente.

terça-feira, 20 de setembro de 2016

ORMBr no Delphi 10.1 Berlin Starter Edition

No site da Embarcadero  diz :

"Delphi Starter Edition é uma ótima maneira de começar a construir aplicações de alto desempenho para o Windows sem conectividade de banco de dados."

Será ?

Não é bem assim :).

Para Lazarus existe uma suite de nome Zeos que é OpenSource, e é bem usada por quem usa Lazarus, essa mesma suite também existe para Delphi, e com ela podemos desenvolver aplicações de acesso a dados sim.
O Zeos pode ser baixado no link citado abaixo e instalado via IDE, abrir pacote, compilar e instalar.

E não para por ai, para temperar ainda mais essa ótima notícia, o ORMBr Framework juntamente com essa suite Zeos também pode ser usado no Delphi Starter, primeiro porque o ORMBr não precisa instalar nada, segundo porque o ORMBr usa para data bind o componente TClientDataSet, que vem nessa versão.

Teremos então, uma versão do Delphi atual, com suas limitações claro, mas com muito mais recurso que o Delphi 7, contando ainda com o desenvolvermos para as plataformas Windows 32 e 64bit, iOS e Android usando FireMonkey.

Gostou? Junte-se a nós.

Delphi Starter Edition até 20/09/2016 : Deplhi Starter Edition
Repositório do ORMBr Framework : ORMBr Framework
Fórum do ORMBr : ORMBr Fórum
Zeos : Zeos Lib

ORMBr - Como Conhecer e Testar

O ORMBr você não precisa instalar nada no seu Delphi:

1) Usar Delphi XE ou superior

2) Baixe os fontes do projeto direto do repositório Download (ORMBr - Framework)

a) Uma outra opção é instalar o Git+TortoiseGit para sempre atualizar seus fontes como o do repositório, veja passo a passo nesse link Guia Git+TortoiseGit passo a passo, se não for suficiente, existem vários posts sobre o assunto.

3) Após baixar todo os fontes, junto irá ter alguns demos, um usando para acesso a dados o DBExpress, outro o FireDAC e outro usando o Zeos, os demos ficam dentro da pasta .\ORMBr\Demo\Data, escolha o de sua preferencia e abra pelo seu Delphi, em seguida basta compilar e estudar os fontes, como já dito não precisa instalar nada.

Nota: O ORMBr, pode usar dois componentes conhecidos por nós para fazer baind, com os componentes DBs (TDBEdit, TDBGrid, etc...) são eles : TClientDataSet ou TFDMenTable (esse do engine FireDAC), o componente fica a sua escolha, e ele é independente do engine de conexão que você usará seja ele DBExpress, FireDAC ou Zeos.

Total de visualizações

Postagem em destaque

ORMBr - Mapeamento objeto-relacional

Mapeamento objeto-relacional ( ou ORM, do inglês: Object-relational mapping ) é uma técnica de desenvolvimento utilizada para reduzir...

Todo os direitos reservados.. Tecnologia do Blogger.

Seguidores