< Anterior | Próximo >

Lição 3: Criar um Serviço de Cálculo de Hipoteca

Crie um serviço dedicado para calcular pagamentos mensais.

Nesta lição, você criará uma parte de Serviço do EGL, que é uma parte gerativa. Você deve colocar cada parte gerativa em um arquivo de origem separado e o nome da parte deve ser o mesmo que o nome do arquivo.

Criar uma Parte de Serviço

  1. Na janela Explorador de Projetos, clique com o botão direito do mouse em MortgageServiceProject e, em seguida, clique em Novo > Serviço.
  2. Na janela Nova Parte de Serviço do EGL, insira a seguinte informação:
    1. No campo Pacote, insira o seguinte nome:
      serviços
    2. No campo Nome do Arquivo de Origem EGL, insira o seguinte nome:
      MortgageCalculationService
      O EGL inclui a extensão do arquivo .egl.
    3. Verifique se Criar como serviço da Web (SOAP) e Criar como serviço da Web (REST) estão desmarcado e deixe o campo Implementa Interfaces vazio.
      A janela Nova Parte de Serviço do EGL mostra o nome do serviço e o pacote.
  3. Clique em Concluir. O EGL abre a nova parte de Serviço no editor.
  4. Remova o código do arquivo, deixando apenas as seguintes linhas:
    package services;
    
    service MortgageCalculationService
    
    end
  5. Inclua a seguinte função antes da instrução end:
    	function amortize(inputData MortgageCalculationResult inOut)
    		amt MONEY = inputData.loanAmount;
    		// convert to monthly rate
    		rate DECIMAL(10, 8) = (1 + inputData.interestRate / 1200);
    		// convert to months
    		term INT = (inputData.term * 12);
    
    		// calculate monthly payment amount
    		pmt MONEY = (amt * (rate - 1) * Mathlib.pow(rate, term)) /
    				(MathLib.pow(rate, term) - 1);
    		totalInterest MONEY = (pmt * term) - amt;
    		
    		// update result record
    		inputData.monthlyPayment = pmt;
    		inputData.interest = totalInterest;
    	end
    Ao colar o código a partir dessas instruções, a formatação pode ser alterada. Pressione Ctrl+Shift+F para formatar novamente o código. É possível alterar as regras de formatação clicando em Janela > Preferências > EGL > Editor > Formatador.
    Nota:
    O EGL marca qualquer erro de código com um X vermelho na margem esquerda e com uma linha vermelha ondulada abaixo do erro. Mova o cursor sobre o X para visualizar uma mensagem de erro.
    Os erros são marcados com linhas vermelhas onduladas e Xs vermelhos na margem.

    Como você ainda não definiu um tipo denominado MortgageCalculationResult, o EGL não pode criar a variável inputData com base nesse tipo. Quando você criar esse tipo de Registro no próximo exercício, o EGL removerá as marcas de erro da exibição.

  6. Salve o arquivo clicando em Arquivo > Salvar.

Criar uma Parte de Registro

A função amortize() usa um registro MortgageCalculationResult. É possível definir esse registro no mesmo arquivo do Serviço.

Para criar a parte de Registro:

  1. Inclua o seguinte código após a função amortize() no arquivo MortgageCalculationService.egl. O Registro é uma parte, então você a definirá fora da parte de Serviço, ou seja, após a instrução end final no arquivo:
    record MortgageCalculationResult
    	// user input
    	loanAmount MONEY;
    	interestRate DECIMAL(10,8);
    	term INT;
    
    	// calculated fields
    	monthlyPayment MONEY;
    	interest MONEY;
    end
  2. Salve o arquivo. O EGL não deve mais exibir qualquer marcador de erro no código. Se erros forem vistos em seu arquivo de origem, compare seu código com o conteúdo do arquivo em Código Concluído para MortgageCalculationService.egl após a Lição 3. Conforme trabalha pelo tutorial, você pode visualizar Xs vermelhos próximos ao projeto ou próximos a uma das pastas abaixo dele, ainda não visualizando qualquer erro no próprio arquivo. Se você encontrar essa situação, resolva-a clicando em Projeto > Limpar. Na janela Limpar, clique em Limpar projetos selecionados abaixo e, em seguida, clique no projeto apropriado, tal como MortgageServiceProject.
    O MortgageServiceProject é selecionado a partir da lista.
    Clique em OK. O EGL reconstrói o projeto selecionado e o X vermelho é removido da visualização Explorador de Projetos.
  3. Feche o arquivo clicando no X próximo ao nome do arquivo na guia na parte superior do editor ou clicando em Arquivo > Fechar.

Ponto de Verificação da Lição

Você aprendeu como concluir as tarefas a seguir:
  • Criar uma parte de Serviço do EGL
  • Criar uma parte de Registro do EGL e incluí-la no arquivo de origem do Serviço
  • Verificar erros em seu código

Na próxima lição, você criará a interface com o usuário para o primeiro portlet de aplicativo.

< Anterior | Próximo >

Feedback