Neste último artigo irei apresentar as melhorias e funcionalidades restantes, além de falar um pouco sobre o que gostaria de ver (e ainda não vi) no Dynamics CRM 5.0:
4- Solutions
Todas as customizações são realizadas a partir de uma Solution. É possível customizar a solução padrão (CRM out of box) ou criar uma própria. Para fazê-lo é preciso criar um publisher. O prefixo das customizações é agora relacionado ao publisher.
As soluções podem ser protegidas, o que significa que edições nas suas customizações não podem ser realizadas. Soluções podem ser construídas a partir de outras, o que cria uma dependência entre elas. O interessante é que o processo de exportação de uma solução extrai apenas o delta (diferença) das customizações. Exemplo: Ao exportar uma solução criada a partir da padrão, você obtem apenas as suas alterações, o que reduz significativamente o tempo do processo.
O que fará parte de uma solução? Basicamente tudo que pode ser customizado no CRM, com exceção do que estiver na pasta ISV.Planeja-se também a construção de soluções prograticamente através do Visual Studio.
Alguns pontos importantes ainda não estão definidos, como por exemplo o nível de proteção no formulário(provavelmente será a nível de aba ou seção) , exibições e entidades, mas a adoção do conceito de soluções vai permitir maior flexibilidade e controle em cenários onde existem várias frentes de desenvolvimento atuando em paralelo.Também possibilitará a o deploy de customizações de maneira mais eficiente.
Existe um planejamento para disponibilizar um controle de versionamento e de atualizações para as soluções, além de mecanismos de propriedade intelectual. Uma possibilidade é permitir que parceiros publiquem suas soluções no Market Place / PinPoint para download e instalação automáticos pelo cliente.
O que ainda pode-se esperar do CRM 5?
A Microsoft trabalha para incluir as seguintes melhorias e/ou funcionalidades no produto até o seu lançamento:
- Múltiplos formulários por entidade, baseado em direito de acesso, status dos registros ou ambos;
- Segurança em nível de atributo;
- Pesquisa Global;
- Melhorias no Outlook Client;
- Melhorias no Modelo da Aplicação (Application Model);
- Suporte ao Windows Communication Foundation (WCF);
- Melhorias no gerenciamento de endereços/
- Maior extensibilidade utilizando client side code (ISV Control);
- Relationship Explorer / Organization Chart.
O que ainda não foi visto (e que gostaríamos de ver) no CRM 5?
- Gerenciamento de Configurações do Usuário: O usuário possuirá muito mais recursos para customizar a aplicação, mas não existe nenhuma ferramenta de gerenciamento centralizado dessas configurações, como por exemplo a criação, manutenção e deploy de um conjunto de preferências, exibições e dados locais que pudessem ser associados à um ou a um grupo de usuários. Em ambientes com muitos usuários, em especial aqueles com Outlook Client for Laptops, isto tem sido uma fonte enorme de problemas e custos tanto para os clientes quanto para os parceiros.
- Workflows: Nada foi falado sobre os workflows, e isto é de se estranhar. Ou a mudança será profunda e está sendo mantida em segredo ou não será mudado nada. Já é um consenso de que o Serviço Assíncrono ficou com atribuições demais na versão 4.0 e que isto atrapalha a escalabilidade da aplicação, já que não é possível por exemplo, alocar multiplas threads ou determinar prioridade para a execução dos serviços considerados assíncronos (workflows, detecção de duplicatas, importação, etc.).E agora com as atividades recorrentes e a integração com o Sharepoint sob a sua guarda, a pergunta é o que podemos esperar? As melhorias disponibilizadas na versão 4.0 fizeram com que todos nós mergulhassemos de cabeça na construção de complexos workflows, e muitos pagaram um preço alto devido aos problemas de desempenho causados. É preciso garantia de escalabilidade e funcionalidade sob pena de o recurso passar a ser desprezado pelos usuários e parceiros, o que seria uma pena.
Segue a minha wishlist para os workflows na versão 5.0:
1- Melhor tratamento de erro: muitas das mensagens de erro não permitem que você descubra a causa do problema. Um log com a descrição do erro na plataforma não seria má idéia;
2- Suporte a transações: o proprietário do workflow poderia informar se no caso de uma falha, ocorreria um rollback das ações;
3- Maior opções de operações aritméticas e de data: cálculo em dias úteis e divisão, dentre outros;
4- Melhorias na ferramenta de criação: possibilidade de mover branches ou de alterar o tipo de condicional (de wait para if, por exemplo)
5- Maior escalabilidade para o Serviço Assíncrono: possibilidade de disponibilizar multiplas threads, definir priopridade de processamento, alocação de memória e de serviço assíncrono (workflows teriam prioridade sobre os outros serviços, por exemplo);
6- Workflow Síncrono: parece bobagem mas pensem em um tipo de workflow que atualize um registro aberto sem ter que realizar reload ou que ainda disponibilizasse registros automaticamente para o usuário. Você também poderia chamá-lo de Script Flow, Script Tool ou qualquer nome legal que encontrasse.
Bom, isto é tudo (ufa!). Assim que novo material surgir ou que a versão CTP seja disponibilizada, irei atualizá-los com as novidades.
Abraços,