Neste post irei falar um pouco sobre a arquitetura de camadas (layered architecture) do Ax.
Quando eu ouvi falar disso, logo me veio na mente “programação em três camadas”, padrão MVC, C#… mas não era nada disso.
Separar em camadas é o método utilizado pelo Ax para separar e controlar as atualizações e modificações feitas na aplicação. As camadas possuem níveis hierárquicos, de forma que você pode fazer alterações nos objetos sem que isso interfira nas camadas mais internas.
Arquitetura de camadas do Microsoft Dynamics Ax 2009
As camadas mais internas (brancas na figura) são de acesso restrito à microsoft. As mais externas (verdes na figura) são de acesso de parceiros e empresas. Isso será melhor discutido mais abaixo.
Quando você modifica um objeto, sua modificação passa a valer na aplicação. Caso você o delete, passa a valer a versão existente na camada abaixo dele.
Ex.: Certa classe foi criada na camada CUS. Então, na USR, você faz modificações no código, e o que passa a valer é a sua classe. Digamos que você acabe se arrependendo das mudanças. Se você deletar a classe, ela não vai sumir da AOT, e sim voltar ao estado da camada inferior (ou seja, como estava antes de qualquer modificação ser feita na USR).
E quais as vantagens desse tipo de arquitetura?
– Qualquer usuário do Microsoft Dynamics Ax pode customizar a aplicação;
– A aplicação padrão nunca é sobrescrita;
– Quando um objeto é deletado, ele é excluído da camada atual e das camadas mais externas.
As camadas são salvas em arquivos separadas com extensão .aod, sob o nome Axnomedacamada.aod. Aod é um acrônimo para “Application Object Dat file”. Isso se aplica até a versão atual, 2009.
Cada camada é de interesse de um grupo diferente de desenvolvedores.
As camadas mais internas, como citado anteriormente, são restritas à Microsoft.
– SYS: A camada mais interna do sistema. É onde a aplicação padrão do Microsoft Dynamics Ax é implementada.
– GLS: Como sabemos, o Ax é multi-línguas e multi-moedas. Nesta camada as funcionalidades específicas de cada localidade são aplicadas.
– HFX: A camada utilizada para hot-fixes por demanda.
– SL1, SL2 e SL3: Estas camadas são administradas por distribuidores e usadas para o desenvolvimento de soluções para parceiros verticais.
As camadas mais externas são acessadas por desenvolvedores ou usuários finais.
– BUS: Soluções criadas para distribuição vertical (clientes) e horizontal (outros parceiros) devem ser criadas na camada BUS.
– VAR: Parceiros de negócio devem criar as customizações de seus clientes nesta camada.
– CUS: Empresas que possuem um departamento de TI, se desejarem, podem criar para si mesmas customizações nesta camada.
– USR: Esta camada permite que cada filial de uma empresa crie customizações próprias.
Bom, este é um overview de como funciona a arquitetura em camadas no Microsoft Dynamics Ax 2009… acredito que exista pouco sobre esse assunto em português e acredito que seja uma boa ajuda a quem está começando a entender esta ferramenta.
Compartilhe o conhecimento: