Regras e Extensão de Funcionalidades

Introdução

414 views 17/01/2018 09/09/2019 gian-pasqualini 1

A plataforma permite que o comportamento do sistema seja customizado sem a necessidade de reimplantação.

Essa customização pode ocorrer das seguintes formas:

  • Customização de APIs da plataforma
  • Inscrição para notificação em eventos da plataforma
  • Implementação de Pontos de regra

Neste tutorial trataremos a customização de uma API da plataforma, alterando seu comportamento original

Para esta situação, há 3 tipos de pontos de extensão quanto ao momento de execução:

  • Antes: Executado antes, pode alterar o payload enviado ao endpoint original
  • Interceptar:  Executado no lugar do endpoint original.
  • Depois: Executado depois do endpoint original

Na inscrição para notificação na publicação de eventos e implementação de pontos de regra, não se aplicam os tipos citados acima, ocorrendo uma chamada da API cadastrada para notificação/execução com o payload do evento/ponto de regra.

Sobre a extensão de funcionalidades

A Extensão de uma API ou funcionalidade é um contrato baseado em chamadas HTTP e no formato do payload (JSON ou SOAP), por isso sua extensão pode ser criada em uma variedade de linguagens e plataformas.

O mesmo ocorre para Pontos de regra e Eventos, sendo que os pontos de regra têm um item próprio no menu.

Neste exemplo a extensão da funcionalidade será criada na linguagem Java, com o Framework Spring Boot, e será implantado na plataforma Heroku, porém há várias alternativas a este cenário. Uma delas, por exemplo, é criar um AWS Lambda com proxy pelo API Gateway que pode ser construído em Node, Python, C# ou Java link para a documentação.

Sobre o tutorial

Neste tutorial criaremos um ponto de extensão no evento Before, onde alteraremos alguns dados para tratamento posterior pelo endpoint original do sistema.

Para executar este tutorial você necessitará das seguintes ferramentas instaladas em seu computador:

  • IDE Eclispe
  • Git
  • Maven

O fonte com o código da extensão pode ser encontrado em https://github.com/dev-senior-com-br/tutorial-pontos-de-extensao

Clique aqui para iniciar o tutorial.

Este artigo foi útil para você?