Tenho que pagar para desenvolver em 3 camadas ?
Para desenvolver em 3 camadas em delphi, eu tenho que pagar o uso da tecnologia ?
Afinal o q eu uso ?
DataSnap
WebSnap
WebServices ? ´Preciso de 1 webserver realmente para usar ?´
Tenho q pagar para desenvolver em 3 Camadas e para distribuir ?Fora a minha linceça do delphi ?
Existe algum medio alternativo ? ´Fora o Java :) hehe´
Grato :D
Afinal o q eu uso ?
DataSnap
WebSnap
WebServices ? ´Preciso de 1 webserver realmente para usar ?´
Tenho q pagar para desenvolver em 3 Camadas e para distribuir ?Fora a minha linceça do delphi ?
Existe algum medio alternativo ? ´Fora o Java :) hehe´
Grato :D
Kristian
Curtidas 0
Respostas
Danielclubedelphi
03/03/2005
Pelo que sei, vc tem que pagar a Borland para utilizar 3 camadas. Talvez seja algo relacionado a Midas... Não lembro direito agora.
Mas veja bem, se vc montar uma aplicação da seguinte forma: 1 servidor de BD, 1 servidor de aplicação e vários clientes, acabará economizando nas licenças, já que os clientes não farão conexão com o banco e sim apenas o servidor de aplicação.
Supondo que seja um BD pago né...
Mas veja bem, se vc montar uma aplicação da seguinte forma: 1 servidor de BD, 1 servidor de aplicação e vários clientes, acabará economizando nas licenças, já que os clientes não farão conexão com o banco e sim apenas o servidor de aplicação.
Supondo que seja um BD pago né...
GOSTEI 0
Rômulo Barros
03/03/2005
Mas veja bem, se vc montar uma aplicação da seguinte forma: 1 servidor de BD, 1 servidor de aplicação e vários clientes, acabará economizando nas licenças, já que os clientes não farão conexão com o banco e sim apenas o servidor de aplicação.
Isso depende da empresa proprietária do SGBD. Por exemplo, a ORACLE não cobra licenças baseadas não ´máquinas que acessam o BD´, mas sim pelas ´máquinas que se beneficiam´ do BD. Ou seja, se vc tiver uma única maquina (Servidor de aplicação) acessando o BD e outras máquinas tiverem tirando proveito desse servidor de aplicação, então vc terá q pagar as licenças para essas máquinas também.
GOSTEI 0
Rodc
03/03/2005
O Oracle, e outros bancos, cobram pela quantidade de conexões que o banco de dados vai ter. Mas existe uma forma fazer os clientes acessarem o servidor de aplicação e este abri apenas uma conexão no banco, assim, apenas o servidor de aplicação é cliente do banco de dados.
GOSTEI 0
Massuda
03/03/2005
Pelo que sei, vc tem que pagar a Borland para utilizar 3 camadas. Talvez seja algo relacionado a Midas... Não lembro direito agora.
Até o Delphi 6 era assim. Quem tem Delphi 7 (não sei se isso vale para todas as versões do D7), o uso do Midas não envolve pagamento de licenças.GOSTEI 0
Kristian
03/03/2005
Só mais uma.. dessas tecnologias d 3 camadas qual é portavel para outra plataforma, pelo uso do kylix ?
valeu
valeu
GOSTEI 0
Rômulo Barros
03/03/2005
O Oracle, e outros bancos, cobram pela quantidade de conexões que o banco de dados vai ter. Mas existe uma forma fazer os clientes acessarem o servidor de aplicação e este abri apenas uma conexão no banco, assim, apenas o servidor de aplicação é cliente do banco de dados.
Pelo q sei, se qualquer máquina estiver acessando o ´Servidor de Aplicação que abriu a conexão com o Banco´ e venham a trabalhar com os dados do Banco, terá que pagar licença , também. Conforme mencionei anteriormente.
GOSTEI 0
Emerson Nascimento
03/03/2005
UI, o que está sendo discutido é a tecnologia multicamadas e não o acesso ao banco de dados. até o Delphi 6 era necessário pagar royalties para a Borland pelo uso da tecnologia multicamadas (midas). a partir do Delphi 7 essa tecnologia tornou-se Royalty Free.
GOSTEI 0
Marcosalex
03/03/2005
O único componente 3 camadas portável para o kylix é o SOAPConnection.
Se não quiser pagar nada de licença usa um banco free qualquer. Programação Cliente Servidor tradicional voce também tinha que pagar licença por conexão.
Se não quiser pagar nada de licença usa um banco free qualquer. Programação Cliente Servidor tradicional voce também tinha que pagar licença por conexão.
GOSTEI 0
Kristian
03/03/2005
Veja c nao to falando besteira...
para usar Soap eu preciso de 1 servidor web ?
ou dar para criar 1 aplicativo para servidor independente ?
Vc usa soap ? o q vc me falaria ? sobre 1 programa d automacao comercial ?
valeu :shock:
para usar Soap eu preciso de 1 servidor web ?
ou dar para criar 1 aplicativo para servidor independente ?
Vc usa soap ? o q vc me falaria ? sobre 1 programa d automacao comercial ?
valeu :shock:
GOSTEI 0
Kapak
03/03/2005
Pq tem que se utilizar essas tecnologias p/ multi-camadas ?
Escrevo sistemas em 3 camadas utilizando apenas Sockets e Threads e nunca paguei nada.
Escrevo sistemas em 3 camadas utilizando apenas Sockets e Threads e nunca paguei nada.
GOSTEI 0
Kristian
03/03/2005
Agora vc falou algo q me chamou e muita a atenção, onde programar em 3 ou mais camadas é misterio at q o programador entenda o conceito por completo de separar as regras do soft, porem temos objetos direcionados para isso e temos os sockets q vc citou.. Puxa teria como vc me dar uma dica ? Como seria o meu servidor das regras ? e como o meu client ser conectar a ele ?
Na hora d desenvolvimento, como é ? tipo qnd eu to programando em client/server, eu vejo os campos da tbl no meus objetos query e linko eles aos dbware da vida.. qnd to usando conexao d 3 camadas com soap, datasnap e etc. tb me possibita isso e qnd to usando sockets ?
Vc conseguiu me entender ? ou ficou confuso ....
:shock:
Na hora d desenvolvimento, como é ? tipo qnd eu to programando em client/server, eu vejo os campos da tbl no meus objetos query e linko eles aos dbware da vida.. qnd to usando conexao d 3 camadas com soap, datasnap e etc. tb me possibita isso e qnd to usando sockets ?
Vc conseguiu me entender ? ou ficou confuso ....
:shock:
Pq tem que se utilizar essas tecnologias p/ multi-camadas ?
Escrevo sistemas em 3 camadas utilizando apenas Sockets e Threads e nunca paguei nada.
GOSTEI 0
Kapak
03/03/2005
Como seria o meu servidor das regras ? e como o meu client ser conectar a ele ?
Bom, aí vc deve estar falando em 4 camadas:1-Banco de Dados
2-Servidor do Banco
3-Servidor de Aplicação(regras)
4-Aplicação Cliente.
No meu caso, só tenho 3 camadas(excuindo o servidor de aplicação).
Basicamente é o seguinte:
1-Um servidor de banco de dados que possui um TServerSocket e é o responsável pela conexão c/ o banco e o aceite das conexões de vários clientes através de endereço IP e porta.
2-Aplicação cliente que possui um TClientSocket p/ conexão c/ o servidor.
Para cada conexão aceita no servidor, é aberta uma thread ref ao cliente conectado.
O cliente solicita alguma coisa, o servidor processa e envia o resultado.
Esquecí de mencionar que vc precisará de uma classe p/ transporte de dados p/ comunicação entre clientes/servidor. Até vc escrever sua própria classe, lhe aconselho a dar uma pesquisada na internet em RPCBuffer; este objeto é bem flexível, mas acho que não foi implementado nele uma comunicação via Sockets.
Na hora d desenvolvimento, como é ? tipo qnd eu to programando em client/server, eu vejo os campos da tbl no meus objetos query e linko eles aos dbware da vida.. qnd to usando conexao d 3 camadas com soap, datasnap e etc. tb me possibita isso e qnd to usando sockets ?
Não, com Sockets vc envia e recebe um buffer de dados e a aplicação cliente não possui mais os componentes sql pq ela não tem mais nada a ver c/ o banco de dados e sim c/ o servidorGOSTEI 0
Kapak
03/03/2005
ao qual está conectada.
GOSTEI 0
Kristian
03/03/2005
O q eu fiquei na duvida. é o seguinte.. como vc faz para mostrar os dados na tela
tipo... Vc tem uma tela d cadastro com os campos a serem preenchidos como vc fazer ? como é feito o link
e no caso d 1 DBGrid ? como é ou vc usa uma StringGrid ?
tipo... Vc tem uma tela d cadastro com os campos a serem preenchidos como vc fazer ? como é feito o link
e no caso d 1 DBGrid ? como é ou vc usa uma StringGrid ?
GOSTEI 0
Kapak
03/03/2005
Vc tem uma tela d cadastro com os campos a serem preenchidos como vc fazer ? como é feito o link
É aí que entra aquela classe de transporte. Ela é semelhante ao RPCBuffer só que c/ algumas implementações a mais; é como um cursor de dados só que em memória; vc navega por registros e campos. Na parte cliente, o servidor manda um cursor de dados e eles são dispostos na tela em Edits, Combos e Grids c/ botões de navegação p/ próximo, anterior, primeiro, último, pesquisa, etc...e no caso d 1 DBGrid ? como é ou vc usa uma StringGrid ?
Utilizo Listviews. É bom ressaltar que vc tem que parametrizar a quantidade de registros a serem enviados, senão a rede pode travar; assim como o tamanho de blobs p/ envio automático.GOSTEI 0
Kristian
03/03/2005
Agora abusando da sua boa vontade .... nao teria como vc manda pra mim 1 exemplo, ou uma classe client 1 ou dfm e dcu e uma part do server q c comunica com a mesma ?
e mudando da agua para o vinho... o q vc acha sobre o .net ? ou abro um novo Post para iniciar 1 novo assunto ?
e valeu pela atenção !
e mudando da agua para o vinho... o q vc acha sobre o .net ? ou abro um novo Post para iniciar 1 novo assunto ?
e valeu pela atenção !
GOSTEI 0
Kapak
03/03/2005
Olá Cristian, bom na realidade o que eu tenho são ferramentas que me facilitam no desenvolvimento em 3 camadas; por ex: quando uma tabela é criada, eu não faço mais programas p/ dar manutenção. Informo os parâmetros de manutenção de cada campo como:posição na tela, consistência, se é read-only, visível, conteúdo default, se vai executar alguma regra de negócio, se é relacionado c/ outra tabela, etc..Com isto, uma única dll lê estes parâmetros e monta em runtime os Edits, Combos, Grids, Buttons p/ dar manutenção p/ inclusão, alteração exclusao, desfile e pesquisa nesta tabela.
Quanto ao .Net não posso comentar pq não conheço, mas acho que caberia um outro tópico relacionado ao .Net.
Quanto ao .Net não posso comentar pq não conheço, mas acho que caberia um outro tópico relacionado ao .Net.
GOSTEI 0
Kristian
03/03/2005
Olá Cristian, bom na realidade o que eu tenho são ferramentas que me facilitam no desenvolvimento em 3 camadas; por ex: quando uma tabela é criada, eu não faço mais programas p/ dar manutenção. Informo os parâmetros de manutenção de cada campo como:posição na tela, consistência, se é read-only, visível, conteúdo default, se vai executar alguma regra de negócio, se é relacionado c/ outra tabela, etc..Com isto, uma única dll lê estes parâmetros e monta em runtime os Edits, Combos, Grids, Buttons p/ dar manutenção p/ inclusão, alteração exclusao, desfile e pesquisa nesta tabela.
Quanto ao .Net não posso comentar pq não conheço, mas acho que caberia um outro tópico relacionado ao .Net.
Realmente é um conceito bem interrante.. é tipo os geradores d relatorio em rumtime, FastReport e at tem uns trecos q geram tela em runtime..
Mais valeu...
GOSTEI 0