Fórum Conhecimento mORMot Framework #432316
11/01/2013
0
Alguém tem conhecimento sobre desenvolvimento com o mORMot Framework ([url]http://synopse.info/fossil/wiki/Synopse+OpenSource[/url])?
Victor Bianchi
Curtir tópico
+ 0Post mais votado
30/06/2015
construí o meu modelo usando o sequinte exemplo
e até agora tem funcionado bem
http://synopse.info/forum/viewtopic.php?pid=12973#p12973
http://synopse.info/forum/viewtopic.php?pid=12621#p12621
implementei esses exemplos, e a partir dele fui criando os meu métodos,
uso como front-end o extjs
abraços
cido
Aparecido Silva
Gostei + 2
Mais Posts
28/07/2015
Aparecido Silva
testei bastante o DataSnap, e achei o Mormot Melhor na performace, uso da memoria e
simplicidade na comunicacao com o ExtJs.
com o DataSnap tive que usar os recursos do http://enable-cors.org/ no Mormot cumunicou puro.
tudo que tenho feito funciona sempre de primeira, acho que vale mais a pena o MorMot.
Abraços
Gostei + 0
29/07/2015
Paulo Monteiro
Não sei se a estrutura que envio como exemplo é a mesma da que está trabalhando, se não se importar vou deixar uns pontos para revisar, conforme os teste que fiz:
Os TFDQuery estão acumulando na memoria;
Sugiro criar um FDConection por conexão, caso contrário irá ter problema com múltiplos acesso, tive esse problema, use o FDManager para gerenciar http://docwiki.embarcadero.com/RADStudio/XE6/en/Multithreading_(FireDAC)
Estou usando o JMeter para testar a carga, se fizer o teste na sua aplicação, vai consegui observar o que estou explicando.
Aproveitando, sabe como tirar o result:[], e só aparecer o json que gerou? No datasnap, precisei mudar a forma de retorno.
Abraços,
Paulo
Gostei + 0
30/07/2015
Aparecido Silva
sobre tirar o result fiz da sequinte forma
Texto := StrSubst(json,'{"result":[','',999);
Texto := StrSubst(Texto,'}]}','}',999);
contatei até o forum do mormot mas nao me deram solucao
http://synopse.info/forum/viewtopic.php?id=2400
// StrSubst
//******************************************************************//
function StrSubst(const S, Del, Ins: string; Count: Integer): string;
//*******//**********************************************************//
var
I, Found: Integer;
R: string;
begin
R := S;
if (S = '') or (Del = '') or (Del = Ins) then
R := ''
else
begin
Found := 0;
I := 1;
while ((Count = 0) or (Found < Count)) and (I <= Length(R)) do
begin
if Copy(R, I, Length(Del)) = Del then
begin
Inc(Found);
Delete(R, I, Length(Del));
Insert(Ins, R, I);
Inc(I, Length(Ins));
end
else
Inc(I);
end;
end;
Result := R;
end;
Gostei + 0
30/07/2015
Aparecido Silva
tem como voce me mostrar como fez o FDConection por conexão ?
tentei fazer aqui e ele nao traz mais dados
retorna uma query vazia.
abraços
Gostei + 0
31/07/2015
Paulo Monteiro
Como não conheço o mormot, não sei como ele trata essa parte, vi no blog deles que parece que tem um classe do mormot para usar com firedac.
No datasnap fiz da seguinte forma:
Criei um data module, com o FDManger, no create, carrego as configurações de conexão.
procedure TDMConexao.FormCreate(Sender: TObject);
var
oParams: TStrings;
begin
oParams := TStringList.Create;
oParams.Add('Database=localhost:C:\FireBird\EMPLOYEE.FDB');
oParams.Add('User_Name=SYSDBA');
oParams.Add('Password=masterkey');
oParams.Add('Pooled=True');
FDManager.AddConnectionDef('Fenix_Pooled', 'FB', oParams);
FreeAndNil(oParams);
FDManager.Open;
end;
function TDMConexao.getSFConn: TFDConnection;
var
SFConn: TFDConnection;
begin
SFConn := TFDConnection.Create(nil);
SFConn.ConnectionDefName := 'Fenix_Pooled';
SFConn.Open();
Result := SFConn;
end;
//na classe que será consumidas os metodos, coloque algo parecido com isso
procedure TCliente.getQtde:Integer;
var
qry: TFDQuery;
con: TFDConnection;
begin
result := -1;
con := FDConecao.getSFConn;
qry := TFDQuery.Create(nil);
qry.Connection := con;
Try
Try
qry.SQL.text := 'select count(*) as Qtde from EMPLOYEE';
con.Open();
qry.Open();
Result := qry.fieldbyname('Qtde').AsInteger;
con.Close;
Except
on e: exception do
addLog(e.message);
End;
end;
end;
finally
con.Free();
qry.Free();
end;
end;
Depois atualiza o seu exemplo e me envio o link, assim que acalmar um pouco as coisas aqui, vou fazer um implementação nele e te devolvo, mas vai me passando as atualizações, por favor.
Gostei + 0
31/07/2015
Aparecido Silva
tava no caminho certo, ja tinha alterado pra essa forma depois que vc me avisou...
achei uns modelos na NET
obrigado.
Gostei + 1
31/07/2015
Paulo Monteiro
Sendo assim deveria está tragando o envio através do get/post/put/delete (restful), desta forma que fez, irá ter problema quando enviar bastante dados e tem a questão de segurança.
Gostei + 1
18/09/2015
Vitorino Almeida
Por favor, tem como você postar o código de conexão do mORMot com Firebird que conseguiu?
Agradeço antecipadamente
Gostei + 0
06/01/2016
Adriano Dias
Para personalizar o retorno do teu metodo, mude o tipo do retorno para TServiceCustomAnswer (com ele você pode especificar um conteúdo personalizado).
Exemplo:
function ReverseString(AText: RawJSON): TServiceCustomAnswer;
begin
Result.Header := TEXT_CONTENT_TYPE_HEADER;
Result.Content := FormatUTF8('%',[SO(System.StrUtils.ReverseString(AText)).AsJSon]);
end;
Gostei + 0
06/01/2016
Aparecido Silva
Gostei + 0
06/01/2016
Aparecido Silva
Gostei + 0
06/01/2016
Adriano Dias
Gostei + 1
06/01/2016
Aparecido Silva
Gostei + 0
06/01/2016
Aparecido Silva
mas nao tenho muita experiencia em OOP, podem me dar uma dica
https://www.dropbox.com/s/udozap9xdjm0k1z/AppMormotSample.rar?dl=0
Gostei + 0
01/02/2016
Adriano Sérgio
Abri teu exemplo e esta rodando, quais seria tuas dúvidas e no que você precisa de ajuda, mais especificamente?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)