Você deseja ser um desenvolvedor de aplicativos de software? Você deseja criar seu próprio aplicativo na plataforma Force.com? Se sua resposta a essas perguntas for sim, você definitivamente deve considerar se tornar um desenvolvedor do Salesforce.
Em meus blogs anteriores, discuti sobre , Certificações Salesforce e também te mostrei para construir um aplicativo personalizado usando as opções declarativas disponíveis no Salesforce. Neste blog, irei discutir sobre as opções programáticas disponíveis no Salesforce para desenvolver seu aplicativo.
Arquitetura MVC
Antes de começar a criar um aplicativo usando Visualforce e Apex, discutirei primeiro sobre a arquitetura Salesforce Model-View-Controller. Abaixo está um diagrama que descreve a arquitetura Salesforce Model-View-Controller junto com os diferentes componentes do Salesforce.
Modelo: O modelo são seus objetos de dados, campos e relacionamentos do Salesforce. Constitui-se de objetos padrão (conta, oportunidade, etc) e personalizados (objetos que você cria).
Visão: A visualização representa a apresentação dos dados, ou seja, a interface do usuário. No Salesforce, a visualização consiste nas páginas, componentes, layouts de página e guias do Visualforce.
Controlador: O controlador é o bloco de construção da lógica real do aplicativo. Você pode executar ações sempre que o usuário interagir com o Visualforce.
Salesforce em ação
Para ser um desenvolvedor Salesforce, você precisa primeiro saber como funcionam os aplicativos Salesforce. Abaixo está uma imagem que oferece uma visão completa do Salesforce em ação. O cliente ou usuário solicita ou fornece informações ao aplicativo Salesforce. Isso geralmente é feito usando o Visualforce. Essas informações são então repassadas para a camada lógica do aplicativo, gravadas no Apex. Dependendo das informações, os dados são inseridos ou removidos do banco de dados. O Salesforce também oferece a opção de usar serviços da web para acessar diretamente a lógica do aplicativo.
Um desenvolvedor Salesforce pode abordar o desenvolvimento usando as opções declarativas ou programáticas. Abaixo está uma imagem que fornece detalhes sobre as abordagens declarativa e programática disponíveis em cada uma das camadas de interface do usuário, lógica de negócios e modelo de dados. Para construir sua interface de usuário, você pode usar a abordagem declarativa, que usa layouts de página e tipos de registros, ou usar uma abordagem programática, como páginas e componentes do Visualforce. Geralmente, você deve usar a abordagem programática apenas quando não puder obter a interface de usuário necessária usando a abordagem declarativa. Para desenvolver a camada de lógica de negócios do seu aplicativo, você pode usar as opções declarativas de fluxo de trabalho, regras de validação e processos de aprovação do Salesforce ou usar uma abordagem programática como gatilhos, controladores e classes. Para acessar o modelo de dados, você pode usar a abordagem declarativa usando objetos, campos e relacionamentos. Você também pode acessar o modelo de dados programaticamente usando API de metadados, API REST e API em massa.
Vimos como os aplicativos Salesforce funcionam, a arquitetura MVC usada para desenvolvimento no Salesforce e as duas abordagens diferentes que estão disponíveis para um desenvolvedor Salesforce. Agora, deixe-me falar sobre o Visualforce e o Apex.
como converter um duplo em um int em java
Visualforce
Para construir aplicativos na plataforma Salesforce, você precisa saber como desenvolver a interface do usuário e escrever a lógica do aplicativo. Como desenvolvedor do Salesforce, você pode desenvolver a interface do usuário usando o Visualforce. Visualforce é a estrutura de interface do usuário para a plataforma Force.com. Assim como você pode usar a estrutura javascript Angular-JS para construir interfaces de usuário para seus sites, você pode usar o Visualforce para projetar e construir interfaces de usuário para seus aplicativos Salesforce.
Você pode usar o Visualforce sempre que precisar criar páginas personalizadas. Alguns exemplos de situações em que você pode usar o Visualforce são:
- Para construir modelos de e-mail
- Para desenvolver interface de usuário móvel
- Para gerar PDFs de dados armazenados no Salesforce
- Para incorporá-los em seus layouts de página padrão
- Para substituir uma página padrão do Salesforce
- Para desenvolver guias personalizadas para seu aplicativo
Uma página do Visualforce consiste em dois elementos principais:
- Marcação do Visualforce - A marcação do visualforce inclui as tags do visualforce, HTML, JavaScript ou qualquer outro código habilitado para web.
- Um controlador do Visualforce - o controlador do visualforce contém as instruções que especificam o que acontece quando um usuário interage com um componente. O controlador visualforce é escrito usando a linguagem de programação Apex.
Você pode dar uma olhada em um código de página simples do Visualforce junto com os diferentes componentes abaixo:
Abaixo, mostrei as etapas para escrever uma página simples do Visualforce para exibir os países e seus valores monetários:
Passo 1: Em Configuração, insira Páginas do Visualforce na caixa Busca rápida, selecione Páginas do Visualforce e clique em Novo.
Passo 2: No editor, adicione o seguinte código para exibir o país e seu valor monetário:
Ápice
Quando terminar de desenvolver a interface do usuário, como desenvolvedor do Salesforce, você precisará saber como adicionar lógica personalizada ao seu aplicativo. Você pode escrever o código do controlador e adicionar lógica personalizada ao seu aplicativo usando a linguagem de programação Apex. Apex é uma linguagem de programação orientada a objetos que permite executar instruções de controle de fluxo e transação na plataforma Force.com. Se você já usou a linguagem de programação java antes, poderá aprender facilmente o Apex. A sintaxe do Apex é 70% semelhante à do java.
Você pode usar o Apex sempre que desejar adicionar lógica personalizada ao seu aplicativo. Alguns exemplos de situações em que você pode usar o Apex são:
- Quando você deseja adicionar serviços da web e de e-mail ao seu aplicativo
- Quando você deseja realizar processos de negócios complexos
- Quando você deseja adicionar regras de validação complexas ao seu aplicativo
- Quando você deseja adicionar uma lógica personalizada em operações como salvar um registro
Abaixo está uma captura de tela do código Apex junto com seus diferentes componentes, como instrução de loop, instrução de fluxo de controle e consulta SOQL:
Agora que entendemos o que é o Apex e quando usá-lo, deixe-me mergulhar fundo na programação do Apex.
Programação no Apex
Se você entendeu os conceitos descritos acima, então está na metade de sua jornada para se tornar um desenvolvedor Salesforce. Nesta seção, vou mergulhar mais fundo no Apex, fornecendo informações sobre os diferentes tipos de dados e variáveis, diferentes maneiras de recuperar dados do banco de dados e mostrando como escrever uma classe e método.
Tipos de dados e variáveis
O Salesforce oferece 4 tipos de dados e variáveis diferentes. A tabela a seguir fornece informações sobre cada um dos 4 tipos de dados:
Tipos de dados e variáveis | Descrição | Exemplo |
Primitivo | Os tipos de dados primitivos no Salesforce incluem booleano, data, inteiro, objeto, string e hora. | Boolean isSunny = true Inteiro I = 1 String myString = “Hello World” |
objetos | sObject refere-se a qualquer objeto que pode ser armazenado no banco de dados. | Conta a = nova conta () MyCustomObj__c obj = new MyCustomObj__c () |
Coleções | O Apex tem os seguintes tipos de coleções:
| Lista var_lst = nova lista () Set setOne = new Set () Map var_map = new Map () |
Enums | Enums são tipos de dados abstratos com valores que assumem um conjunto finito de identificadores. | Public enum Seasons {Winter, Spring, Summer, Fall} |
SOQL e SOSL
O desenvolvimento de aplicativos de software requer que você saiba como inserir e recuperar dados de bancos de dados. No Salesforce, você pode recuperar dados dos bancos de dados usando SOQL e SOSL. Se você deseja ser um desenvolvedor do Salesforce, deve conhecer as duas linguagens de consulta. Eu forneci a você uma explicação detalhada desses idiomas abaixo:
- SOQL significa Salesforce Object Query Language. Usando instruções SOQL, você pode recuperar dados do banco de dados como uma lista de sObjects, um único sObject ou um Integer para método de contagem. Você pode pensar no SOQL como um equivalente a uma consulta SELECT SOQL. Forneci um exemplo de consulta SOQL abaixo:
List accList = [SELECT Id, Name FROM Account WHERE Name = ”YourName”]
- SOSL significa Salesforce Object Search Language. Você pode usar instruções SOSL para recuperar uma lista de sObjects, onde cada lista contém os resultados da pesquisa para um determinado tipo de sObject. Você pode pensar no SOSL como um equivalente a uma consulta de pesquisa de banco de dados. Forneci um exemplo de consulta SOSL abaixo:
Lista
searchList = [FIND ‘map *’ IN ALL FIELDS RETURNING Account (Id, Name), Contact, Opportunity, Lead]
Você pode usar SOQL quando sabe em qual objeto os dados residem e usar SOSL quando não sabe o nome do objeto onde os dados residem.
Classes e métodos
Como em qualquer outra linguagem de programação orientada a objetos, você pode desenvolver classes e métodos usando o Apex. Você pode pensar em uma classe como um projeto usando o qual objetos individuais são criados e usados. Você pode pensar em um método como um subprograma, que atua nos dados e retorna um valor. Eu forneci a você a sintaxe para escrever uma classe e método abaixo:
Agora vou mostrar como adicionar uma classe e método no Apex:
Passo 1: Na configuração, insira as classes do Apex no QuickFind Box, selecione Classes do Apex e clique em Novo.
Passo 2: No editor, adicione a seguinte definição de classe:
Classe pública HelloWorld {
}
Etapa 3: Adicione uma definição de método entre os colchetes de abertura e fechamento da classe:
Public static void helloWorldMethod (Country__c [] países) {
Para (Country__c country: countries) {
country.currency_value__c * = 1,5
}
}
Passo 4: Clique em Salvar e você deverá ter sua turma completa como:
Classe pública HelloWorld {
Public static void helloWorldMethod (Country__c [] países) {
Para (Country__c country: countries) {
country.currency_value__c * = 1,5
}
}
Você pode usar a sintaxe e o exemplo mostrado acima para desenvolver suas próprias classes e métodos para seu aplicativo Salesforce. Para se tornar um desenvolvedor Salesforce, você precisa saber mais do que apenas escrever classes e métodos. Nas próximas seções, discutirei tópicos que tornam o desenvolvimento de aplicativos na plataforma Salesforce simples e fácil.
Gatilhos
Todo desenvolvedor do Salesforce deve conhecer o conceito de gatilhos do Salesforce. Você pode ter encontrado acionadores anteriormente ao trabalhar com outros bancos de dados. Os gatilhos nada mais são do que programas armazenados que são chamados quando você executa ações antes ou depois das alterações nos registros do Salesforce. Por exemplo, os gatilhos podem ser executados antes que uma operação de inserção seja executada ou quando uma operação de atualização seja executada. Existem dois tipos de gatilhos:
- Antes do gatilho - Você pode usar before triggers para atualizar ou validar valores de registro antes de serem salvos no banco de dados.
- Após o gatilho - Você pode usar disparadores posteriores para acessar valores de campo que são definidos pelo sistema e para afetar alterações em outros registros.
Os gatilhos são executados antes ou depois das operações abaixo:
- Inserir
- Atualizar
- Excluir
- Ir
- Opa
- Recuperar
Mostrarei como adicionar um gatilho no apex adicionando um gatilho para o objeto País que você viu na aula acima:
Passo 1: Nas configurações de gerenciamento de objetos para o país, vá para Triggers e clique em Novo.
Passo 2: No editor de gatilho, adicione a seguinte definição de gatilho:
Acione HelloWorldTrigger em Country__c (antes de inserir) {
Country__c countries = Trigger.new
HelloWorld.helloWorldMethod (países)
}
O código acima irá atualizar a moeda do seu país antes de cada inserção no banco de dados.
Limites do governador
Você deve saber que o Salesforce funciona em arquitetura multilocatário, isso significa que os recursos são compartilhados entre clientes diferentes. Para garantir que nenhum cliente monopolize os recursos compartilhados, o mecanismo de tempo de execução do Apex impõe estritamente os limites do governador. Se o seu código Apex alguma vez exceder um limite, o governor esperado emitirá uma exceção de tempo de execução que não pode ser tratada. Portanto, como desenvolvedor do Salesforce, você deve ter muito cuidado ao desenvolver seu aplicativo.
Operações em Massa
Como desenvolvedor do Salesforce, você deve sempre garantir que seu código mantenha os limites do governador. Para garantir que o Apex cumpra os limites do governador, você deve usar o padrão de design de chamadas em massa. Uma operação em massa se refere à confirmação de mais de um registro quando você faz uma operação DML. Antes de fazer uma operação DML, você deve sempre certificar-se de adicionar as linhas a uma coleção. Abaixo está uma imagem que fornece uma descrição completa do padrão de design da operação em massa.
DMLs e operações de dados
Você viu anteriormente como recuperar dados do banco de dados usando consultas SOQL e SOSL. Agora vamos dar uma olhada nas diferentes instruções que você pode usar para inserir dados no banco de dados do Salesforce. Para um desenvolvedor Salesforce, é necessário saber o que essas instruções podem fazer e como usá-las.
Declaração DML | Descrição |
Inserir | Adiciona um ou mais sObjects aos dados da sua organização |
Atualizar | Modifica um ou mais registros sObject existentes |
Opa | Cria novos registros e atualiza os registros do sObject |
Excluir | Exclui um ou mais registros sObject existentes |
Recuperar | Restaura um ou mais registros sObject existentes |
Ir | Mescla até três registros do mesmo tipo de objeto em um único registro |
Visualforce e Apex
Você percorreu um longo caminho em sua busca para se tornar um desenvolvedor Salesforce. A seguir, discutirei sobre como você pode integrar sua página do Visualforce e seu código apex. Você pode conectar sua página do Visualforce e seu código apex usando controladores e extensões.
Controladores personalizados -Quando você quiser que sua página do Visualforce seja executada inteiramente no modo de sistema, ou seja, sem permissões e segurança em nível de campo, use um controlador personalizado.
Extensão do controlador -Quando você quiser adicionar novas ações ou funções que estendem a funcionalidade de um controlador padrão ou personalizado, use uma extensão de controlador.
converter string para data java
No código abaixo, mostrei como incluir controlador personalizado em sua página do Visualforce:
No código abaixo, mostrei como incluir a extensão do controlador em sua página do Visualforce:
Manipulação de exceção
Se você já desenvolveu aplicativos antes, com certeza terá encontrado exceções. Uma exceção é uma condição especial que altera o fluxo normal de execução do programa. Por exemplo, dividir um número por zero ou acessar um valor de lista que está fora dos limites. Se você não lidar com essas exceções, a execução do processo será interrompida e os DMLs serão revertidos.
Como desenvolvedor do Salesforce, você precisa saber como capturar essas exceções e o que fazer depois de detectá-las. Para capturar exceções, você pode usar a construção try, catch e finally. Depois de capturar a exceção, você pode tratá-la das maneiras mencionadas abaixo:
Exceção | Como lidar com isso |
DML | Use o método addError () em um registro ou campo |
Visualforce | Use a classe ApexPages.message |
Enviando um e-mail em exceção | Você pode notificar o desenvolvedor por e-mail |
Login em um objeto personalizado | Você pode usar um método futuro para capturar um objeto personalizado |
Até agora, neste blog de desenvolvedores do Salesforce, você viu como desenvolver sua interface de usuário usando o Visualforce, viu como escrever lógica personalizada usando o Apex e diferentes conceitos como gatilhos, operações em massa e tratamento de exceções. Por último, mas não menos importante, daremos uma olhada na estrutura de teste do Salesforce.
Testando
Como desenvolvedor do Salesforce, você precisa saber como testar o código que escreve. O desenvolvimento dirigido por testes é uma boa maneira de garantir o sucesso de longo prazo de seu aplicativo de software. Você precisa testar seu aplicativo para que possa validar se ele funciona conforme o esperado. Especialmente, se você estiver desenvolvendo um aplicativo para um cliente, testá-lo antes de entregar o produto final é muito importante. O Apex fornece uma estrutura de teste que permite escrever testes de unidade, executar os testes, verificar os resultados dos testes e ter resultados de cobertura de código.
Você pode testar seu aplicativo de duas maneiras:
- Por meio da interface de usuário do Salesforce, essa forma de teste é importante, mas não irá capturar todos os casos de uso para seus aplicativos
- Você pode testar a funcionalidade em massa, até 200 registros podem ser passados por meio de seu código usando a API SOAP ou controlador de conjunto padrão visualforce
As classes de teste não confirmam dados no banco de dados e são anotadas com @isTest. Eu mostrei como adicionar uma classe de teste, adicionando uma classe de teste à classe HelloWorld abaixo:
@isTest
classe privada HelloWorldTestClass {
static testMethod void validateHelloWorld () {
Country__c country = new Country__c (Name = ”Índia”, currency_value__c = 50.0)
Inserir país
country = [SELECT currency_value__c FROM Country WHERE Id = country.Id]
System.assertEquals (75, country.currency_value__c)
}
}
Espero que você tenha entendido todos os conceitos que precisa saber para ser um desenvolvedor Salesforce. Para mergulhar em mais detalhes, confira nosso que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos da vida real. Se você tiver algum comentário, deixe-o na caixa de comentários abaixo.