Tenho que pagar para desenvolver em 3 camadas ?

Delphi

03/03/2005

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


Kristian

Kristian

Curtidas 0

Respostas

Danielclubedelphi

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é...


GOSTEI 0
Rômulo Barros

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

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

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

Kristian

03/03/2005

Só mais uma.. dessas tecnologias d 3 camadas qual é portavel para outra plataforma, pelo uso do kylix ?

valeu


GOSTEI 0
Rômulo Barros

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

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

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.


GOSTEI 0
Kristian

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:


GOSTEI 0
Kapak

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.


GOSTEI 0
Kristian

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:


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

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 servidor

GOSTEI 0
Kapak

Kapak

03/03/2005

ao qual está conectada.
GOSTEI 0
Kristian

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 ?


GOSTEI 0
Kapak

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

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 !


GOSTEI 0
Kapak

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.


GOSTEI 0
Kristian

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
POSTAR