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