Introdução às soluções

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Soluções são como os personalizadores e desenvolvedores criam, embalam e mantêm unidades de software que estendem o Microsoft Dynamics 365 (online e local). Os personalizadores e desenvolvedores distribuem as soluções para que as organizações possam usar o Microsoft Dynamics 365 para instalar e desinstalar a funcionalidade comercial definida pela solução.

Neste tópico

Opções de extensibilidade

Compatibilidade da versão

Componentes da solução

Soluções não gerenciadas e gerenciadas

Propriedades gerenciadas

Solução de conflitos

Controle de dependência

Suporte para vários idiomas

Opções de extensibilidade

Use soluções para estender a capacidade do Microsoft Dynamics 365. Para software que funciona fora do aplicativo, use métodos tradicionais para empacotar e instalar seu aplicativo, como um programa de instalação.

Se o seu aplicativo possui somente componentes de solução Microsoft Dynamics 365, é possível importá-lo diretamente para o Dynamics 365. Não será necessário criar um programa de instalação.

Um aplicativo com componentes externos

No entanto, se suas extensões incluem uma combinação de componentes de solução Microsoft Dynamics 365 e componentes externos, que não forem componentes de solução Microsoft Dynamics 365, você precisará de um instalador.

Por exemplo, você pode criar um aplicativo .NET Framework que pode gerenciar os dados armazenados nas entidades personalizadas Microsoft Dynamics 365 usando as APIs do serviço Web. As pessoas que instalarem seu aplicativo podem instalar uma solução Microsoft Dynamics 365 para criar as entidades personalizadas e então, instalar seu aplicativo separadamente usando um instalador. Ou, você pode incluir a instalação da solução Microsoft Dynamics 365 para o instalador que você cria para o seu aplicativo.

Compatibilidade da versão

As soluções exportadas de uma versão anterior do Dynamics 365 podem ser importadas para versões posteriores conforme mostrado no gráfico a seguir.

Compatibilidade da versão da solução

Geralmente, as soluções podem ser importadas para organizações de menos de duas versões acima da versão da qual a solução foi exportada. As liberações do service pack fornecerão a opção para exportar uma solução com compatibilidade para esse service pack ou apenas para os recursos incluídos na versão base.Para obter mais informações:Compatibilidade da versão..

Para o Microsoft Dynamics CRM 2013 Service Pack 1 (SP1), os recursos de serviço aprimorados foram incluídos para novas organizações do Microsoft Dynamics 365 (online), e as organizações existentes do Microsoft Dynamics 365 tiveram a opção de instalar esses recursos. As soluções exportadas de organizações com os recursos de serviço avançados não podem ser instaladas em uma organização do CRM 2013 SP1 sem os recursos de serviços avançados habilitados, a menos que a solução seja exportada usando a opção de selecionar compatibilidade para a versão base.Para obter mais informações:Detectar recursos de serviço aprimorados disponíveis com as atualizações do produto

Componentes da solução

Os componentes da solução são criados usando as ferramentas de personalização ou as APIs incluídas em Microsoft Dynamics 365 e estão hospedados completamente no aplicativo. O diagrama a seguir mostra os tipos de componentes da solução.

Componentes da Solução

Ao definir uma solução Dynamics 365, você cria um grupo de componentes de solução que podem ser gerenciados juntos.

Observação

As soluções só podem adicionar novos componentes de solução ou substituir componentes de soluções existentes. As soluções não podem ser usadas para excluir os componentes da solução.

Soluções não gerenciadas e gerenciadas

Há dois tipos de soluções Microsoft Dynamics 365: gerenciada e não gerenciada. Uma solução gerenciada é uma solução completa destinada a ser distribuída e instalada. Uma solução não gerenciada é aquela que ainda está em desenvolvimento ou que não é destinada a ser distribuída. Quando a solução não gerenciada estiver concluída e você deseja distribuí-la, exporte-a e empacote-a como uma solução gerenciada.

O diagrama a seguir apresenta como soluções gerenciadas e não gerenciadas interagem com a solução do sistema para controlar o comportamento do aplicativo.

Solução em camadas

  • Solução de sistema
    A solução do sistema representa os componentes da solução definidos em Microsoft Dynamics 365. Sem nenhuma solução gerenciada ou personalizações, a solução do sistema define o comportamento padrão do aplicativo.

    Muitos dos componentes na solução do sistema são personalizáveis e podem ser usados em soluções gerenciadas ou personalizações não gerenciadas.

  • Soluções gerenciadas
    As soluções gerenciadas são instaladas no topo da solução do sistema e podem alterar qualquer componente de solução personalizável ou adicionar mais componentes da solução.

    As soluções gerenciadas também podem ser sobrepostas no topo de outras soluções gerenciadas. Contanto que uma solução gerenciada habilite a personalização de seus componentes de solução, outras soluções gerenciadas podem ser instaladas nela e modificar qualquer componente de solução personalizável que ela fornecer.

  • Personalizações não gerenciadas
    Todos os componentes da solução personalizáveis fornecidos pela solução do sistema ou qualquer solução gerenciada podem ser personalizados nas personalizações não gerenciadas.

  • Soluções não gerenciadas
    As soluções não gerenciadas são grupos de personalizações não gerenciadas. Qualquer componente personalizado da solução não gerenciada pode ser associado com qualquer número de soluções não gerenciadas.

    Você pode criar uma solução gerenciada exportando uma solução não gerenciada e selecionando para embalá-la como uma solução gerenciada.

  • Comportamento do aplicativo
    O comportamento final de uma instância Microsoft Dynamics 365 para uma organização específica é o ponto culminante da solução do sistema, das soluções gerenciadas e quaisquer personalizações não gerenciadas.

Soluções não gerenciadas

Quando uma solução não é gerenciada, você pode executar as seguintes ações:

  • Adicionar componentes.

  • Remover componentes.

  • Excluir componentes que permitem a exclusão.

  • Exportar e importar a solução não gerenciada.

  • Exportar a solução como uma solução gerenciada.

Para obter mais informações:Criar, exportar ou importar uma solução não gerenciada

Importar soluções não gerenciadas

Quando você importa uma solução não gerenciada, você pode editar seus componentes na nova organização.

Importante

Quando você importa uma solução não gerenciada, as definições de qualquer componente da solução que já estejam na organização serão substituídas. Não é possível desfazer esta ação.

Personalizações não gerenciadas

Cada organização Microsoft Dynamics 365 contém componentes de solução personalizáveis. Juntos, todos esses componentes da solução são chamados de solução padrão. Essa é a solução que você edita ao selecionar Personalizar o Sistema no aplicativo. Você pode exportar esta solução e suas personalizações simplesmente como uma solução não gerenciada. No entanto, você não pode exportar a solução padrão como uma solução gerenciada.

Criar uma solução não gerenciada

Se não quiser gerar uma solução gerenciada, não é necessário criar uma solução não gerenciada. Você pode personalizar o sistema diretamente. As organizações que desejam apenas poder editar, fazer backup e transportar suas personalizações não precisam usar os recursos mais avançados da estrutura de soluções Microsoft Dynamics 365.

Quando você cria uma solução não gerenciada, você cria uma forma de agrupar um subconjunto dos componentes de solução personalizáveis disponíveis. Os componentes da solução em uma solução não gerenciada são referências aos componentes de solução personalizáveis na organização.

Depois de criar uma solução não gerenciada, você pode adicionar a ela componentes da solução. Usando este conjunto menor de componentes, você pode decidir incluir somente os componentes de solução que são relevantes para uma funcionalidade específica. Isso permite um conjunto menor de tamanho ao exportar sua solução e permite um conjunto de componentes mais controlável.

Qualquer componente que você adicionar à sua solução não gerenciada são incluídos nos componentes da solução personalizáveis do sistema. Os componentes da solução não gerenciada podem ser adicionados a várias soluções não gerenciadas.

Importante

Devido ao fato de que cada solução não gerenciada contém uma referência ao grupo compartilhado de soluções, as alterações que você fizer nos componentes da solução em uma solução também são aplicados a todas as soluções não gerenciadas que fazem referência a esses componentes da solução.

Dica

Também é possível criar soluções não gerenciadas somente para conceder acesso conveniente a componentes específicos da solução. Por exemplo, você pode usar vários recursos da Web HTML, mas somente alguns deles representam os elementos de nível superior da interface do usuário na sua solução. Você pode querer criar uma solução não gerenciada que inclua somente os componentes de nível superior da interface do usuário para que você possa localizá-los e abri-los facilmente.

Fornecedor de soluções para soluções não gerenciadas

Cada solução requer um fornecedor de soluções. Para uma solução não gerenciada, o fornecedor de soluções fornece um prefixo de personalização comum e o prefixo de valor da opção.Para obter mais informações:Crie um fornecedor de soluções

Diversas soluções podem ser associadas a um único fornecedor de soluções. Cada organização terá um fornecedor de soluções chamado“Fornecedor Padrão para <OrganizationUniqueName>”. Se você deseja que todas as suas soluções não gerenciadas compartilhem o mesmo prefixo de personalização e prefixo do valor de opção, recomendamos que você associe as suas soluções não gerenciadas apenas ao fornecedor padrão da sua organização.

Observação

O fornecedor da solução controla como as soluções gerenciadas podem ser atualizadas. Quando você instala uma solução gerenciada, o fornecedor é visível, mas você não pode associar uma solução não gerenciada a ele. Se você pretende distribuir uma solução gerenciada, consulte Fornecedor de soluções para soluções gerenciadas.

Excluir uma solução não gerenciada

Se você excluir uma solução não gerenciada, você exclui apenas o grupo usado para conter referências aos componentes da solução. Os componentes de solução em uma solução não gerenciada permanecem no sistema, mas eles não são mais associados à solução não gerenciada que você excluir.

Observação

Se você excluir um componente de solução em uma solução não gerenciada, ele é excluído do sistema e não estará mais disponível em nenhuma outra solução não gerenciada. Use “remover” ao invés de "excluir” se você só quiser remover um componente de solução de uma solução não gerenciada.

Soluções gerenciadas

Se você pretende distribuir sua solução como uma solução gerenciada, exporte sua solução não gerenciada e selecione a opção Gerenciada na caixa de diálogo Tipo de pacote.

Observação

Após gerar uma solução gerenciada, você não pode instalá-la na mesma organização Microsoft Dynamics 365 que contém a solução não gerenciada usada para criá-la. Ela deve ser instalada em uma organização diferente.

Depois de instalar uma solução gerenciada, aplica-se o que segue:

  • Você não pode adicionar ou remover componentes de solução em uma solução gerenciada.

  • Você não pode exportar uma solução gerenciada.

  • Excluir uma solução gerenciada desinstala todos os componentes da solução contidos nela.

Para obter mais informações:Criar, instalar e atualizar uma solução gerenciada

Após instalar uma solução gerenciada, você pode personalizar os componentes da solução se o criador da solução gerenciada a tiver configurado para habilitá-lo. É necessário acessar os componentes da solução personalizáveis usando Personalizar o Sistema ao invés de acessar através da própria solução gerenciada.

Use Propriedades gerenciadas para controlar se um componente da solução é personalizável e que ações específicas de personalização estão habilitadas.

Fornecedor de soluções para soluções gerenciadas

Quando você pretende distribuir soluções gerenciadas, o registro de fornecedor de soluções associado à sua solução gerenciada é criado em cada organização que instala a sua solução. Use o fornecedor de soluções para fornecer informações sobre como as pessoas que instalam a sua solução podem contatá-lo.

O fornecedor da solução para uma solução gerenciada também é importante se você deseja lançar uma atualização à sua solução gerenciada. Se você usar o mesmo fornecedor de soluções, você pode criar uma nova solução gerenciada com a capacidade de atualizar uma solução gerenciada que você lançou anteriormente.Para obter mais informações:Manter soluções gerenciadas

Propriedades gerenciadas

Usando propriedades gerenciadas, o criador de uma solução gerenciada pode controlar se um componente da solução é personalizável e quais partes específicas dele podem ser personalizadas.

Observação

As propriedades gerenciadas devem ser definidas em uma solução não gerenciada. As configurações de propriedades gerenciadas são aplicadas somente após a solução gerenciada ser empacotada e instalada.

As exatas propriedades gerenciadas disponíveis dependem do tipo do componente da solução. A captura de tela a seguir mostra as propriedades gerenciadas de uma entidade personalizada.

Propriedades gerenciadas para uma entidade

Por padrão, as configurações de propriedades gerenciadas pressupõem que qualquer tipo de componente da solução é totalmente personalizável. Os desenvolvedores da solução são incentivados a habilitar os componentes de solução em suas soluções para serem personalizáveis. No entanto, existem situações em que a definição de um componente da solução deve ser "bloqueada" para evitar possíveis mudanças recentes ou para facilitar a manutenção futura do componente da solução.

Para obter mais informações:Usar propriedades gerenciadas

Solução de conflitos

Quando duas ou mais soluções definem os componentes da solução de forma diferente, o Microsoft Dynamics 365 resolve o conflito usando duas estratégias, Mesclar e Vencedores principais. O diagrama a seguir ilustra as diferenças.

Estratégias de resolução de conflitos entre duas Soluções

  • Mesclar
    Os componentes da interface do usuário (barra de comandos, faixas, formulários, e mapa do site) são mesclados. Isso significa que os componentes da solução são recalculados a partir do nível mais baixo ao mais alto de forma que as personalizações não gerenciadas da organização sejam as últimas a serem aplicadas.

  • Vencedores principais
    Para todos os outros componentes da solução, qualquer conflito é calculado em favor da personalização aplicada por último. Para soluções gerenciadas, isso normalmente significa que a solução mais recente instalada é aplicada. No entanto, há uma ocorrência especial quando uma atualização a uma solução gerenciada é instalada.

Solução do conflito na atualização de uma solução gerenciada

Devido ao fato de que as personalizações não gerenciadas são consideradas "acima" de qualquer solução gerenciada em termos de solução de conflito, as organizações que instalam uma atualização em uma solução gerenciada podem não ver suas alterações aplicadas devido às alterações não gerenciadas. Existe uma opção para assegurar que as alterações aplicadas por uma atualização em uma solução gerenciada estejam disponíveis.

Quando você lançar uma atualização para uma solução gerenciada, a organização que instala a atualização pode optar por:

  • Preservar qualquer personalização aplicada no topo da sua solução gerenciada.

  • Substituir qualquer personalização aplicada no topo da sua solução gerenciada.

As organizações que instalam uma atualização em uma solução gerenciada devem trabalhar com o criador da solução gerenciada para avaliar qual é a melhor opção.

Importante

As alterações em formulários da entidade e no mapa do site não serão substituídas mesmo quando a opção substituir for selecionada. Consulte Mesclar personalizações de formulário e Mesclar personalizações de navegação (SiteMap) para obter orientações sobre o gerenciamento de alterações. Algumas personalizações manuais podem ser necessárias para mesclar personalizações não gerenciadas a alterações incluídas em uma atualização feita em uma solução gerenciada.

Controle de dependência

A estrutura de soluções acompanha automaticamente as dependências de componentes da solução. Cada operação em um componente da solução calcula automaticamente quaisquer dependências com outros componentes no sistema. As informações sobre dependências são usadas para manter a integridade do sistema e evitar operações que resultem em um estado inconsistente.

Como resultado do acompanhamento da dependência, os seguintes comportamentos devem ser seguidos:

  • A exclusão de um componente é evitada se outro componente no sistema depender dele.

  • Exportar uma solução alerta o usuário caso haja quaisquer componentes ausentes que potencialmente possam causar uma falha durante a importação da solução para outro sistema.

    Alertas durante a exportação podem ser ignorados se o desenvolvedor da solução quiser que a solução seja instalada apenas em uma organização onde espera-se que componentes dependentes existam. Por exemplo, quando você está criando uma solução que é criada para ser instalada sobre uma solução "base" pré-instalada.

  • A importação de uma solução falha se todos os componentes necessários não forem incluídos na solução e também não existirem no sistema de destino.

    • Além disso, quando você importa uma solução gerenciada todos os componentes necessários devem corresponder ao tipo de pacote de soluções. Um componente em uma solução gerenciada pode depender apenas de outro componente gerenciado.

Para obter mais informações:Rastreamento de dependência para componentes de solução

Suporte para vários idiomas

O Microsoft Dynamics 365 oferece suporte originalmente a vários idiomas. Sempre que um pacote de idiomas (conhecido às vezes como "pacote MUI") é instalado, os elementos da interface do usuário podem ser exibidos em um idioma diferente.

Há um número de táticas diferentes que devem ser aplicadas com base no tipo dos componentes da solução incluídos na sua solução.Para obter mais informações:Crie soluções que oferecem suporte a vários idiomas

Confira Também

Embalar e distribuir extensões usando soluções
Padrões e princípios do Microsoft Dynamics CRM Online para construtores de soluções
Plano para desenvolvimento de solução
Rastreamento de dependência para componentes de solução
Criar, exportar ou importar uma solução não gerenciada
Criar, instalar e atualizar uma solução gerenciada
Desinstalar ou excluir uma solução
Crie soluções que oferecem suporte a vários idiomas
Entidades de solução
Trabalhar com soluções
Exemplo: Trabalhar com soluções
Exemplo: Detectar dependências de soluções
Entidades de solução

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais