[quote=concurso]Escalabilidade e disponibilidade são vantagens da arquitetura três camadas em comparação à arquitetura cliente/ servidor.
PORQUE
Na arquitetura três camadas tanto o servidor de aplicação como o servidor de banco de dados podem ser instalados em uma ou várias máquinas.
Analisando as afirmações acima, conclui-se que
a) as duas afirmações são verdadeiras e a segunda justifica a primeira.
b) as duas afirmações são verdadeiras e a segunda não justifica a primeira.
c) a primeira afirmação é verdadeira e a segunda é falsa.
d) a primeira afirmação é falsa e a segunda é verdadeira.
e) as duas afirmações são falsas.
[/quote]
A primeira eu acho falsa…a segunda também. Mas não tenho certeza da segunda, pra mim, a escabilidade não tem haver com camadas e sim com as tecnologias que você usa e etc. Não é porque você usa 3 camadas que consegue escalar um servidor
Acho que não tô sendo muito claro. Ou estamos usando termos diferentes, o título do tópico é sobre Arquitetura 3 camadas e MVC e isso já foi explicado aqui um zilhão de vezes. Já expliquei também que nada tem haver com Arquitetura 3 camadas com arquitetura cliente/servidor, uma é em relação ao software outro em relação a rede, hardware e etc.
Fica mais fácil você postar o link de onde tirou essa frase. De repente, a nomenclatura da sua referência sobre Arquitetura 3 camadas é outra e por isso a gente não consegue entender a sua dúvida.[/quote]
Petrobrás - 02/2010
Escalabilidade e disponibilidade são vantagens da arquitetura
três camadas em comparação à arquitetura cliente/
servidor.
PORQUE
Na arquitetura três camadas tanto o servidor de aplicação
como o servidor de banco de dados podem ser instalados
em uma ou várias máquinas.
[quote=concurso]Escalabilidade e disponibilidade são vantagens da arquitetura três camadas em comparação à arquitetura cliente/ servidor.
PORQUE
Na arquitetura três camadas tanto o servidor de aplicação como o servidor de banco de dados podem ser instalados em uma ou várias máquinas.
Analisando as afirmações acima, conclui-se que
a) as duas afirmações são verdadeiras e a segunda justifica a primeira.
b) as duas afirmações são verdadeiras e a segunda não justifica a primeira.
c) a primeira afirmação é verdadeira e a segunda é falsa.
d) a primeira afirmação é falsa e a segunda é verdadeira.
e) as duas afirmações são falsas.
[/quote]
A primeira eu acho falsa…a segunda também. Mas não tenho certeza da segunda, pra mim, a escabilidade não tem haver com camadas e sim com as tecnologias que você usa e etc. Não é porque você usa 3 camadas que consegue escalar um servidor[/quote]
Escalabilidade tem a ver sim, e muito. Você pode desenvolver, por exemplo, a tecnologia de banco de dados ser alterar as outras camadas. Você pode aumentar a capacidade do seu servidor, por exemplo. Isso é ser escalável. Cada camada pode ser desenvolvida, melhorada e expandida separadamente.
Você pode desenvolver em camadas, mas isso não quer dizer necessariamente que é escalável. Você precisa de outros fatores além desse. Você deve estar baseando sua nomenclatura baseado mais ou menos nisso?
Se baseado nesse conceito, sim você está certo. Mas depende da referência. Foi o que eu falei, posso fazer um aplicativo desktop, com 3 camadas. E não tem nada de escalável nele.
As nossas definições eram diferentes, mas causou confusão por causa do MVC.
Uma camada (layer) é uma divisão lógica da aplicação. Quando dividimos a aplicação em apresentação, negócios e persistência, estamos realizando a divisão em layers.
Agora podemos pegar, por exemplo, o servidor de banco de dados e colocar pra rodar em uma máquina diferente da que roda o servidor de aplicação. Aí estamos realizando a divisão em tiers.
Ambas as formas contribuem para a escalabilidade horizontal da aplicação, que implica em adicionar mais nós - ou computadores - ao sistema.
Uma camada (layer) é uma divisão lógica da aplicação. Quando dividimos a aplicação em apresentação, negócios e persistência, estamos realizando a divisão em layers.
Agora podemos pegar, por exemplo, o servidor de banco de dados e colocar pra rodar em uma máquina diferente da que roda o servidor de aplicação. Aí estamos realizando a divisão em tiers.
Ambas as formas contribuem para a escalabilidade horizontal da aplicação, que implica em adicionar mais nós - ou computadores - ao sistema.[/quote]
Obrigado por ter solucionado um problema meu…a diferença entre layer e tier.
Arquitetura cliente/servidor, então, tem apenas tier e não layer?
Creio que a arquitetura cliente servidor impõe apenas que o servidor e o cliente estão necessariamente em computadores diferentes se comunicando através de uma rede, porém a divisão em camadas (físicas ou lógicas) do servidor é algo totalmente transparente para o cliente. O servidor pode fornecer vários serviços - http, ftp, e-mail, aplicações - e cada um desses serviços pode estar rodando em um nó diferente.
Creio que a arquitetura cliente servidor impõe apenas que o servidor e o cliente estão necessariamente em computadores diferentes se comunicando através de uma rede, porém a divisão em camadas (físicas ou lógicas) do servidor é algo totalmente transparente para o cliente. O servidor pode fornecer vários serviços - http, ftp, e-mail, aplicações - e cada um desses serviços pode estar rodando em um nó diferente.[/quote]
Só tenho que discordar de uma coisa. Não necessariamente devem estar em computadores diferentes. Ex. localhost.
[quote=concurso]Escalabilidade e disponibilidade são vantagens da arquitetura três camadas em comparação à arquitetura cliente/ servidor.
PORQUE
Na arquitetura três camadas tanto o servidor de aplicação como o servidor de banco de dados podem ser instalados em uma ou várias máquinas.
Analisando as afirmações acima, conclui-se que
a) as duas afirmações são verdadeiras e a segunda justifica a primeira.
b) as duas afirmações são verdadeiras e a segunda não justifica a primeira.
c) a primeira afirmação é verdadeira e a segunda é falsa.
d) a primeira afirmação é falsa e a segunda é verdadeira.
e) as duas afirmações são falsas.
[/quote]
A primeira eu acho falsa…a segunda também. Mas não tenho certeza da segunda, pra mim, a escabilidade não tem haver com camadas e sim com as tecnologias que você usa e etc. Não é porque você usa 3 camadas que consegue escalar um servidor[/quote]
Escalabilidade tem a ver sim, e muito. Você pode desenvolver, por exemplo, a tecnologia de banco de dados ser alterar as outras camadas. Você pode aumentar a capacidade do seu servidor, por exemplo. Isso é ser escalável. Cada camada pode ser desenvolvida, melhorada e expandida separadamente.[/quote]
não, você não precisa de camadas para fazer um software escalável. Você pode deixar configurável por exemplo a quantidade de threads ou outros recursos que ele irá usar tornando-o escalável, mesmo com uma arquitetura um tanto porca sem camada nenhuma… e pode fazer com camadas e inclusive focar o lado escalável da aplicação em uma determinada camada, é o recomendado, mas é possível fazer diferente…