Em engenharia de software, uma arquitetura multicamada, geralmente referenciada como sendo arquitetura n-camadas, é uma arquitetura cliente-servidor.
Naturalmente, a arquitetura cliente-servidor é uma arquitetura de, no mínimo, duas camadas, uma vez que o sistema é dividido em duas partes (dois processos separados) físicas: cliente e servidor.
Porém, existe a possibilidade de dividir o sistema em mais camadas. Uma divisão muito comum neste tipo de arquitetura é aquela que se utiliza de três camadas, principalmente em sistemas WEB. Neste contexto, o sistema é dividido em:
| • camada de apresentação, |
| • camada de lógica do negócio e |
| • camada de armazenamento de dados. |
Um exemplo deste cenário poderia ser o seguinte:
| • camada de apresentação, | • a apresentação pode ser escrita em linguagem HTML; |
| • camada de lógica do negócio e | • a lógica de negócio pode ser escrita em linguagem Java |
| • camada de armazenamento de dados. | • o armazenamento de dados pode ser escrito em linguagem SQL. |
Este cenário acima é um dos objetivos desta disciplina. Ou seja, ao final da disciplina, o aluno deverá ser capaz de construir um sistema que atenda ao cenário descrito.