2009/11/9 Marcos Douglas <m...@delfire.net>:
> 2009/11/6 Joao Morais <jcmorai...@gmail.com>:
>> Problema do CGI sob meu ponto de vista: ele não mantém estado, não
>> mantém sessão, não mantém objeto em memória. É como conversar com uma
>> pessoa que não consegue guardar o que aconteceu há um minuto atrás e
>> fica te cumprimentando o dia inteiro. Talvez exista forma de remediar
>> ou minimizar isso, não sei, admito que não cheguei a procurar.
>
> Mas estes problemas são inerentes ao HTTP. O PHP tb não mantém sessão.
> Já o ASP.NET simula isso... já manter objetos em memória, bem, isso é
> possível em Java, .NET e tb em Delphi se utilizar a tecnologia ISAPI.

Com PHP, se a memória não está me traindo, você pode passar o id da
sessão por url ou input hidden. O processo continua (módulo Apache)
mesmo depois do final do request. Isto não tem como acontecer com CGI
porque a cada request a aplicação inicia, roda e encerra. Salvo engano
(me corrija se eu estiver errado), você não tem como fazer um carrinho
de compras em CGI, a menos que guarde tudo no browser do usuário.

>> Minhas idéias buscam uma forma de publicar aplicações Pascal,
>> utilizando estruturas como TWebApplication, de forma que elas
>> permaneçam na memória e permita fazer um pool de conexões, cache de
>> objetos, sessões persistentes de usuário e tudo mais que essa
>> abordagem proporciona. Busco também um meio de separar regras e lay
>> out. Um pouco mais do que CGI e menos do que um módulo Apache. Ainda
>> não conheço o que tem por aí para ajudar, certamente eu vou te
>> perturbar quando as idéias estiverem mais claras pra mim.
>
> Se utilizar ISAPI, vc terá objetos na memória, pool de conexões, cache
> de objetos etc. Mas tb terá que implementar vários lock para que os
> usuários não enxerguem estados de objetos de outros usuários. Por
> exemplo a conexão com o banco de dados, assim como é feito no Java.

ISAPI = Módulo Apache? Sim, conheço. FPC tem classes excelentes pra
ajudar aqui. Embora ainda não tenha usado, imagino ser um porre para
fazer deploy durante o desenvolvimento, depuração e testes.

> Sobre separar o lauout das regras, eu utilizaria o projeto ExtPascal
> para o frontend.

Esse eu não conheço. Preciso ler um pouco mais.

> Pelo que eu vejo, vc ainda está na fase de estudos, certo? Bem, eu
> gostaria de uma ajuda agora, pois estou com um projeto nas mãos pra
> fazer... Será que há possibilidades de vc começar a parte prática?
> Assim nós iríamos trocando idéias.

Não entendi. Como eu vou implementar alguma coisa sem estudar ao menos
a arquitetura da coisa? Vamos combinar o seguinte, descreva um cenário
com os detalhes que você conseguir, apresente o que você já tem,
apresente as idéias para o que não tem e também o que ainda precisa
ser estudado. Acho que isso vai ser bem produtivo e divertido.

Joao Morais

Responder a