
Olá pessoal,
Como alguns de vocês sabem, acabei me mudando para outra cidade e só agora me encontro estável, com casa alugada e broadband internet funcionando =) por isso a demora em escrever algo.
Bom, participamos recentemente do "Dynamics AX Technical Conference" realizada em Redmond. Posso dizer que foi uma das melhores conferências que já participei da minha vida - estar no headquarters da microsoft, ouvindo o tempo todo "Dynamics AX" com palestras incríveis e ainda trombar no corredor com pessoas como o MFP, DAXGUY, Brandon George e etc valeu o preço da viagem e o preço da conferência.
Tive o prazer também de rever seres ilustres - Marcos Kolbe, Daniel Selles, Carlos Shimoda, Gustavo Moussalli e Daniel Medina e participar de tudo isso com eles, ouvindo as palestras, bebendo cerveja ou jogando bilhar foi simplesmente muito bom: free beer, free pool, free knowledge sharing!!
Uma coisa posso dizer - se houver uma outra DAX technical conference (e votei para que ano que vem tenha), não perca!!! Faça de tudo para ir!
Outra coisa que notei durante todas as apresentações - o visual studio estava do lado do AX na maioria das apresentações, portanto, lição importante - APRENDA .NET!! Se vc só programa em X++ (business developer) está na hora de reservar algumas horas por dia e estudar .NET.
Vamos ao que interessa então:
Dentre as centenas de novidades que o AX 2012 trará, para o contexto Morphx Development, temos a introdução de Models e Model store. Nas versões anteriores o AX guardava seu "application model data" em uma proprietary database chamada de AOD. Isso acabou e é uma grande mudança.
O grande problema que enfrentávamos era quando tínhamos que colocar 2 soluções de 2 ISV's diferentes em um mesmo installation. A solução era camada diferente, merge na mesma camada, merge entre objetos na mesma camada, etc. No entanto, quando o ISV1 alterava código, o problema era realizar então a manutenção dos objetos, verificar a solução do ISV2 com testes de regressão e etc.
o tracking desses objetos na AOT usando AOD (o model store) não era fácil então eles vieram com uma solução e a chamaram de model - mudaram o model store para o SQL server a fim de organizar e mudar de layer-driven development para model-layer driven development.
O conceito, features e regras de models:
1) Um model é um conjunto de objetos da AOT (model elements) em uma camada específica. Basicamente ele agrupa os objetos da AOT de uma camada em um contexto de trabalho.
2) Cada camada consiste de um ou mais models.
3) Cada elemento de uma camada só pode pertencer a uma única model
4) Um model pode ser exportado em um model file (filename.axmodel). Vc pode importar ou exportar outros models e ainda assinar (sim vc pode criar license agora).
5) Models podem substituir os AOD's como artefatos de instalação (por exemplo no DVD de instalação, ou um novo deployment)
6) O desenvolvimento agora é sempre realizado em um model, em qualquer layer. Trocar de model é similar a trocar de empresa no AX.
7) Quando estiver trabalhando na AOT, vc sabe qual o nome da model que aquele elemento pertence, similar ao tag da camada ao lado do objeto quando nas opções escolhemos "show all layers"
8) É possível criar um projeto na AOT com todos os objetos de uma especifica model
9) É possível trabalhar com metadados de models, caso queira programaticamente saber qual objeto pertence aquele model ou vice-versa.
Mas o que eu ganho com tudo isso? Basicamente, models organizam a AOT e facilitam o trabalho do desenvolvedor, consequentemente aumentam qualidade e performance. Outro fato importante é que, como agora estão armazenados no SQL server, temos apenas um ponto de backup e não um monte de arquivo AOD.
O MFP colocou um screencast sobre models onde poderemos ver algumas dessas novidades, assista ao vídeo aqui que vale a pena. Ele fez esse demo na conferência. Veja o que pode ser feito agora com essa nova funcionalidade!!
Fiquem antenados, vamos discutir mais funcionalidades do AX 2012 em breve!!
