Escolar Documentos
Profissional Documentos
Cultura Documentos
RESUMO
Este artigo apresenta todos os passos iniciais para quem pretende conhecer,
baixar, instalar e usar o projeto Brook framework 3.0 no Lazarus 1.2.2 e Free
Pascal 2.6.4. O artigo consiste dos seguintes passos: Apresentação do projeto.
Instalação com dois cliques. Sugerindo ideias, solicitando novos recursos e
reportando bugs. Forkando o projeto. Abrindo um pull request. Fazendo uma
doação ao projeto.
Petrolina – PE
2014
Brook EaD – Desenvolvimento web com Brook framework 3.0 2
SUMÁRIO
APRESENTAÇÃO DO PROJETO .......................................................................................... 3
BAIXANDO O PACOTE DE INSTALAÇÃO .......................................................................... 5
INSTALAÇÃO COM DOIS CLIQUES .................................................................................... 5
SUGERINDO IDEIAS, SOLICITANDO NOVOS RECURSOS E REPORTANDO BUGS
....................................................................................................................................................... 7
FORKANDO O PROJETO ....................................................................................................... 8
ABRINDO UM PULL REQUEST ............................................................................................. 8
FAZENDO UMA DOAÇÃO AO PROJETO ........................................................................... 8
PRÓXIMOS PASSOS ............................................................................................................... 9
REFERÊNCIAS .......................................................................................................................... 9
APÊNDICES ............................................................................................................................. 10
APÊNDICE A – Relatório de estatísticas do ApacheBench para um teste realizado com
uma aplicação FCLWeb/CGI: ................................................................................................. 11
APÊNDICE B – Relatório de estatísticas do ApacheBench para um teste realizado com
uma aplicação Brook/CGI: ...................................................................................................... 12
APÊNDICE C – Relatório de estatísticas do ApacheBench para um teste realizado
com uma aplicação FCLWeb/FastCGI: ................................................................................ 13
APÊNDICE D – Relatório de estatísticas do ApacheBench para um teste realizado
com uma aplicação Brook/FastCGI: ...................................................................................... 14
Brook EaD – Desenvolvimento web com Brook framework 3.0 3
APRESENTAÇÃO DO PROJETO
1
Um pouco sobre MVC: http://pt.wikipedia.org/wiki/MVC.
2
ab - Apache HTTP server benchmarking tool: http://httpd.apache.org/docs/2.2/programs/ab.html.
Brook EaD – Desenvolvimento web com Brook framework 3.0 4
procedure TPersonAction.Post;
begin
Write('ID: %d, Name: %s', [Fields['id'].AsInt64, Fields['name'].AsString]);
end;
Código 1 - Action da Brook 2.*
procedure TPersonAction.Post;
begin
Write('ID: %d, Name: %s', [Entity.Id, Entity.Name]);
end;
Código 2 - Action da Brook 3.0
https://github.com/silvioprog?tab=repositories.
3
Arquivo com o nome de alguns idealizadores do projeto Brook:
https://github.com/silvioprog/brookframework/blob/master/CONTRIBUTORS.txt.
Brook EaD – Desenvolvimento web com Brook framework 3.0 5
https://github.com/silvioprog/brookframework/releases/tag/v3.0.0.
A opção usada neste artigo foi a Source code (zip), baixando o arquivo de
nome brookframework-3.0.0.zip.
https://github.com/silvioprog/brookframework/issues.
https://github.com/join.
Substituindo Your title e Your feature request ... pelo título e pedido de
recurso, respectivamente, logo em seguida, fazendo a confirmação, via botão
Submit new issue.
Brook EaD – Desenvolvimento web com Brook framework 3.0 8
FORKANDO O PROJETO
https://github.com/silvioprog/brookframework/pull/25.
https://github.com/silvioprog/brookframework/pulls.
A página não especifica valores para doação, deste modo, é possível doar
qualquer quantia, sendo o dinheiro recebido investido diretamente no projeto.
PRÓXIMOS PASSOS
REFERÊNCIAS
[1] ApacheBench & HTTPerf. G-WAN. Acessado em jun. 2014. Disponível em:
http://gwan.com/en_apachebench_httperf.html.
[2] Contribuindo em projetos open source com o Github. Tableless. Acessado em jun.
2014. Disponível em:
http://tableless.com.br/contribuindo-em-projetos-open-source-com-o-github.
[3] Padrões de projeto: O modelo MVC - Model View Controller. Macoratti. Acessado
em jun. 2014. Disponível em:
http://www.macoratti.net/vbn_mvc.htm.
Brook EaD – Desenvolvimento web com Brook framework 3.0 10
APÊNDICES
Brook EaD – Desenvolvimento web com Brook framework 3.0 11
$ ab -n 90000 -c 90 -t 1 -k "http://localhost/cgi-bin/project1.cgi"
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Concurrency Level: 90
Time taken for tests: 1.001 seconds
Complete requests: 1317
Failed requests: 0
Write errors: 0
Keep-Alive requests: 1307
Total transferred: 260333 bytes
HTML transferred: 14487 bytes
Requests per second: 1315.63 [#/sec] (mean)
Time per request: 68.408 [ms] (mean)
Time per request: 0.760 [ms] (mean, across all concurrent requests)
Transfer rate: 253.97 [Kbytes/sec] received
$ ab -n 90000 -c 90 -t 1 -k "http://localhost/cgi-bin/cgi1.bf"
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Concurrency Level: 90
Time taken for tests: 1.001 seconds
Complete requests: 1303
Failed requests: 0
Write errors: 0
Keep-Alive requests: 1293
Total transferred: 334442 bytes
HTML transferred: 14333 bytes
Requests per second: 1302.15 [#/sec] (mean)
Time per request: 69.116 [ms] (mean)
Time per request: 0.768 [ms] (mean, across all concurrent requests)
Transfer rate: 326.39 [Kbytes/sec] received
$ ab -n 90000 -c 90 -t 1 -k "http://localhost/cgi-bin/project1.fcgi"
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Concurrency Level: 90
Time taken for tests: 1.000 seconds
Complete requests: 6832
Failed requests: 0
Write errors: 0
Keep-Alive requests: 6770
Total transferred: 1350019 bytes
HTML transferred: 75152 bytes
Requests per second: 6831.82 [#/sec] (mean)
Time per request: 13.174 [ms] (mean)
Time per request: 0.146 [ms] (mean, across all concurrent requests)
Transfer rate: 1318.34 [Kbytes/sec] received
$ ab -n 90000 -c 90 -t 1 -k "http://localhost/cgi-bin/cgi1.fbf"
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Concurrency Level: 90
Time taken for tests: 1.000 seconds
Complete requests: 6866
Failed requests: 0
Write errors: 0
Keep-Alive requests: 6803
Total transferred: 1761801 bytes
HTML transferred: 75526 bytes
Requests per second: 6865.67 [#/sec] (mean)
Time per request: 13.109 [ms] (mean)
Time per request: 0.146 [ms] (mean, across all concurrent requests)
Transfer rate: 1720.43 [Kbytes/sec] received