Após estudarmos o que é a Arquitetura de Software, sua importância para o desenvolvimento de software e os principais estilos de arquitetura, vamos nos aprofundar nos estilos mais utilizados atualmente. Nosso foco será a Arquitetura Orientada a Modelos, Modelo em 3 Camadas, MVC e Arquitetura Orientada a Serviço.
Um tema recorrente na evolução da engenharia de software é a utilização de linguagens mais abstratas na modelagem das soluções. Programas desenvolvidos em linguagens mais abstratas, como JAVA e C#, são transformados em executáveis através de ferramentas próprias para este fim, como os compiladores. A utilização de linguagens mais abstratas visava proporcionar mais produtividade e a diminuição de erros uma vez que estas linguagens, supostamente, estariam mais próximas da linguagem natural.
É evidente que poucas pessoas acreditam que JAVA e C# são exemplos de linguagens abstratas. Na verdade, a cada dia surgem novas linguagens de desenvolvimento, mas pouquíssimas ganham notoriedade. Mas isso não desencoraja os pesquisadores em tentar criar linguagens cada vez mais próximas da linguagem natural.
Trata-se de uma tecnologia recente que lidera o grupo em termos de especificação mais abstrata e ferramentas de desenvolvimento.
No ano 2000, o Object Management Group (OMG) publicou "Model Driven Architecture" (OMG 2000), um documento que descreve uma visão de desenvolvimento de software de como modelos de objeto devem ser interligados para construir sistemas completos.
X