Skip to main content

Imaginar uma nova fonte da verdade

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Descrever como os modelos de desenvolvimento de organizações diferem do desenvolvimento modular de pacotes.
  • Listar as vantagens do desenvolvimento com pacotes.
  • Descrever as principais características de um pacote.

O mundo inteiro é uma organização

Um ator famoso, ou talvez um visionário da Salesforce, disse uma vez: “O mundo inteiro é uma organização”. Tradicionalmente, o centro desse mundo tem sido sua organização de produção, e você tem realizado grande parte de seu desenvolvimento dentro dos limites de uma sandbox ou organização de produção. (Se você é parceiro do AppExchange, seu mundo é um pouco diferente. No entanto, as ferramentas apresentadas nesta unidade também estarão disponíveis para você, portanto, continue lendo.)

Como você tradicionalmente gerencia a mudança

Se você concluiu o módulo Modelo de desenvolvimento organizacional, talvez se lembre de Calvin Green, o administrador da Zephyrus Relocation Services. À medida que a Zephyrus crescia, também crescia a complexidade da organização de produção da empresa. Para gerenciar essa mudança crescente, ele começou a adotar as modernas ferramentas de desenvolvimento da Salesforce para gerenciar o ciclo de vida do aplicativo da equipe.

Vamos ver como a equipe de desenvolvimento pode trabalhar usando o Modelo de desenvolvimento organizacional.

Você coordena o desenvolvimento de uma dinâmica empresa de alta tecnologia. Para sua versão, é necessário personalizar o aplicativo de CRM principal e, além disso, você deseja criar um aplicativo interno para sua empresa. A primeira etapa do desenvolvimento é garantir uma visão mais atualizada da organização de produção. No modelo baseado na organização, sua organização de produção é a fonte da verdade para todo o seu código, configuração e personalizações.

Não importa o que você esteja criando, no final das contas você cria implantações que têm sua organização de produção como escopo. Como mostra o diagrama, mesmo que você tenha várias equipes trabalhando em projetos de desenvolvimento separados, elas desenvolvem e lançam suas atualizações com a mesma implantação. Tudo é colocado em um arquivo package.xml.

fluxo de desenvolvimento baseado na organização, do desenvolvimento ao build e à versão única

Na primeira versão, digamos que você esteja trabalhando em dois novos projetos:

(1) Projeto

(1) Desenvolvimento

(2) API de metadados (package.xml)

Personalizações/Extensões de CRM (primeira versão)

Objeto personalizado (adicionar)

Campo personalizado (adicionar)

Layout de página (adicionar)

Fluxo de trabalho (adicionar)

Classe do Apex: 1

Página do Visualforce: 1

Objeto personalizado: 2

Campo personalizado: 2

Layout de página: 1

Fluxo de trabalho: 1

Aplicativo Time Off Manager (primeira versão)

Objeto personalizado (adicionar)

Campo personalizado (adicionar)

Classe do Apex (adicionar)

Página do Visualforce (adicionar)

(3) - Tudo é lançado simultaneamente na organização de produção.

Na segunda versão, você faz pequenas atualizações. No entanto, você ainda lança e implanta os dois projetos simultaneamente na organização de produção:

(1) Projeto

(1) Desenvolvimento

(2) API de metadados (package.xml)

Personalizações/Extensões de CRM (primeira versão)

Objeto personalizado (atualizar)

Fluxo de trabalho (atualizar)

Página do Visualforce: 1

Objeto personalizado: 2

Fluxo de trabalho: 1

Aplicativo Time Off Manager (primeira versão)

Objeto personalizado (atualizar)

Página do Visualforce (atualizar)

(3) - Tudo é lançado simultaneamente na organização de produção.

Seus desenvolvedores e gerentes de versão veem a organização como um conjunto combinado de códigos e personalizações. Para esclarecer esse ponto, observe o diagrama novamente. A implantação final não está limitada ao aplicativo Time Off Manager ou apenas às extensões do CRM; ela inclui todas as alterações da organização.

Durante o desenvolvimento, você precisa acompanhar o que está alterando para ter certeza de que sabe o que implantar na organização de produção. Suas alterações se interligam com o que outros alteraram, portanto, esse processo pode ser complicado e bastante manual. Se você usar o controle de origem nesse processo, esse mesmo senso de código e personalizações interligados se refletirá no sistema de controle de origem. Você alinha seu repositório de origem com a organização e não com uma parte da organização (por exemplo, o aplicativo Time Off Manager).

Mas, e se você descobrir que sua sopa da felicidade de dados interligados se tornou muito complexa e precisar de uma maneira melhor de gerenciar mudanças? Deseja seguir um modelo de desenvolvimento mais tradicional para entregar e lançar aplicativos e soluções?

Gerenciar a mudança com o desenvolvimento com pacotes

À medida que a Zephyrus continuava a crescer, suas versões se tornavam cada vez mais complexas. Com várias equipes de desenvolvimento e vários administradores do Salesforce, Calvin queria encontrar uma maneira de desacoplar os projetos do enorme conjunto de versões. O modelo de desenvolvimento com pacotes simplifica todo o ciclo de vida de desenvolvimento e traz benefícios como:

  • Aprimoramento do desenvolvimento e colaboração da equipe.
  • Processo de desenvolvimento modular com especificação de dependências entre pacotes.
  • Controles de versão para facilitar o gerenciamento de mudanças
  • Viabilização de testes automatizados e integração contínua.
  • Aumento da eficiência e agilidade do ciclo de lançamentos.
  • Sincronização melhorada do sistema de controle de versão (VCS) graças ao rastreamento de alterações de recursos de configuração
  • Visibilidade e clareza mais refinadas no gerenciamento de mudanças da sua organização de produção

O que isso significa? Em vez de criar código e personalizações para a organização, crie um pacote (um conjunto lógico de códigos). Um pacote é um artefato de lançamento composto por um grupo de códigos e personalizações que estão relacionados.

O agrupamento de componentes em um pacote pode representar muitas coisas. O pacote pode ser um conjunto de personalizações criado para dar suporte a uma equipe de vendas. Um pacote pode ser os componentes, objetos e fluxos de trabalho do Lightning de um aplicativo que está sendo criado na organização. Um pacote pode ser as extensões que você está criando a partir de um pacote gerenciado instalado pelo AppExchange.

Com esse novo processo, você pode estruturar sua organização em um conjunto de pacotes. Com a organização da origem e dos metadados em pacotes, você entende melhor os relacionamentos entre os componentes de metadados na organização. Quanto maior for a organização, mais importante será esse processo, portanto, planeje com antecedência e sempre pense em formas de estruturar sua organização.

Um VCS é o melhor amigo do desenvolvedor e desempenha um papel fundamental no ciclo de vida do desenvolvimento com pacotes. Você armazena todas as origens dos pacotes em um repositório de controle de origem onde a fonte da verdade é mantida. Você cria organizações temporárias (de desenvolvimento) a partir dessa origem para trabalhar exclusivamente no seu pacote. Oferecemos recursos de rastreamento de alterações para monitorar o que você criou, atualizou e excluiu na organização de desenvolvimento. Você pode facilmente extrair esse código modificado para seu sistema de arquivos e colocá-lo em seu VCS.

O desenvolvimento com pacotes oferece mais flexibilidade para o gerenciamento de equipes e versões. Você pode atribuir equipes a um determinado pacote. As equipes de desenvolvimento podem desenvolver separadamente e criar uma versão do pacote, e não uma versão de atualizações para a organização. Com esse modelo ágil, é possível ter versões independentes e mais frequentes, como pode ser visto no fluxo de desenvolvimento, criação e implantação.

Para nossos clientes empresariais, temos um tipo de pacote especial, chamado pacotes desbloqueados, que é especialmente adequado para os aplicativos empresariais internos.

Como os pacotes desbloqueados oferecem flexibilidade

Vamos ver como os pacotes desbloqueados alteram a forma como lançamos a personalização do CRM e o aplicativo Time Off Manager.

fluxo de desenvolvimento baseado em artefatos, do desenvolvimento ao build e à versão

Neste exemplo, para a primeira versão, você está criando dois projetos novos. Ambos têm a versão 1.0 e podem ser criados e, em seguida, implantados na organização de produção separadamente por meio da API de metadados.

(1) Desenvolvimento

(2) Criação

(3) Versão (package.xml)

Extensões/personalizações de CRM v1.0

Objeto personalizado (adicionar)

Campo personalizado (adicionar)

Layout de página (adicionar)

Fluxo de trabalho (adicionar)

Objeto personalizado: 1

Campo personalizado: 1

Layout de página: 1

Fluxo de trabalho: 1

Aplicativo Time Off Manager v1.0

Objeto personalizado (adicionar)

Campo personalizado (adicionar)

Classe do Apex (adicionar)

Página do Apex (adicionar)

Classe do Apex: 1

Página do Apex: 1

Objeto personalizado: 1

Campo personalizado: 1

Na próxima versão, você pode novamente criar e implantar cada versão do pacote de forma independente na organização de produção. Assim, é possível manter versões distintas e diferentes para cada artefato de versão (pacote).

(4) Desenvolvimento

(5) Criação

(6) Versão (package.xml)

Extensões/personalizações de CRM v1.1

Objeto personalizado (atualizar)

Fluxo de trabalho (atualizar)

Objeto personalizado: 1

Campo personalizado (inalterado)

Layout de página (inalterado)

Fluxo de trabalho: 1

Aplicativo Time Off Manager v2.0

Objeto personalizado (atualizar)

Página do Apex (atualizar)

Classe do Apex (inalterada)

Página do Apex: 1

Objeto personalizado: 1

Campo personalizado (inalterado)

Esse processo também se aplica à CI e à CD. A criação de pacotes permite criar planos de testes concebidos especificamente para o projeto. Você pode automatizar o plano de testes para garantir um nível contínuo de qualidade executando testes em vários ambientes à medida que a origem é modificada pelo VCS.

Recursos

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback