BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Liberado o Eclipse MicroProfile 1.3

Liberado o Eclipse MicroProfile 1.3

Favoritos

O Eclipse MicroProfile estende o Java EE melhorando o suporte para microservices, fornecendo uma especificação open source para microservices em Java voltados para o meio corporativo. A versão 1.3 apresenta o OpenAPI, OpenTracing, cliente Rest para trabalhar com APIs e atualizações nas APIs Config e Metrics.

MicroProfile OpenAPI 1.0

A medida que a quantidade de microservices cresce na Microservices Architecture (MSA), o gerenciamento desses microservices pode se tornar um desafio. Uma nova funcionalidade disponível na versão 1.3, a OpenAPI, permite que os microservices sejam facilmente gerenciados por meio de uma API (Application Programming Interface). Baseado no Swagger Core, a OpenAPI adere a Open API Specification que define um padrão, uma interface independente de linguagem de programação que os desenvolvedores podem utilizar para documentação de APIs. Existem várias maneiras de melhorar uma aplicação por meio da configuração de parâmetros para criação de um documento no padrão OpenAPI.

Um filtro pode ser usado para atualizar o documento nos padrões do OpenAPI utilizando os mecanismos de documentação mencionados anteriormente.

MicroProfile OpenTracing 1.0

Em uma MSA (arquitetura de microservices), o rastreamento é importante, porque permite aos desenvolvedores visualizar o fluxo de uma requisição por meio do serviço. O OpenTracing, outra funcionalidade adicionada na versão 1.3, possibilitando o rastreamento por meio de definições de comportamentos, permitindo aos desenvolvedores tomarem decisões de rastreamento quando os microservices já estiverem em produção, ao invés de tomar essas decisões durante o desenvolvimento. A API OpenTracing expõe um objeto do tipo Tracer dentro da aplicação. O objeto Tracer permite ao desenvolvedores extrair informações necessárias das requisições e adicionar informações às respostas.

Existem dois modos de operação para o rastreamento distribuído:

  • Sem instrumentação do código da aplicação
  • Com instrumentação do código da aplicação

Ao operar sem instrumentação do código da aplicação, os desenvolvedores não são obrigados a adicionar qualquer código de rastreamento distribuído ao código fonte de suas aplicações, nem são obrigados a saber sobre o tipo de ambiente em que as aplicações serão implantadas. Contanto que as respostas ocorram na mesma thread da requisição, os relacionamentos são gerenciados automaticamente.

Ao operar explicitamente com instrumentação de código, a anotação @Thread é usada para especificar uma classe ou método a ser rastreado. Os objetos do tipo Tracer configurados ficam disponíveis para a aplicação por meio do injeção de dependência (CDI), permitindo que os desenvolvedores adicionem requisitos de rastreamento mais complexos nas aplicações.

API MicroProfile Rest Client 1.0

Uma outra nova funcionalidade na versão 1.3, a API Rest Client, fornece uma tipagem segura para serviços REST. Por exemplo, uma interface pode ser definida para um serviço remoto que pontua ações, dessa forma:

@Path("/stocks")
public interface StockScoringService {
    @POST
    @Path("/{stockId}/score")
    Integer submitScore(@PathParam("stockId") Integer stockId, Score score );
}

Esta interface pode ser usada para chamar métodos reais do serviço de pontuação, como é mostrado a seguir:

String apiUrl = "http://localhost:9080/stockScoringService";
StockScoringService stockSvc =   
    RestClientBuilder.newBuilder()
            .baseUrl(apiUrl)
            .build(StockScoringService.class);
Integer stockId = 4;
Score score = new Score(10,"Great performing stock.");
stockSvc.submitScore(stockId, score);

O uso da API Rest Client traz um estilo de codificação mais natural e automaticamente gerencia a conectividade HTTP e serialização.

MicroProfile Config 1.2

Algo importante para os microservices executados dentro de uma ambiente cloud é a necessidade de mudar as configurações enquanto a aplicação ainda está rodando, e fazer com que essas configurações passem a ser usadas sem a necessidade de reiniciar o ambiente. O Config 1.2 permite que os parâmetros de configuração alterados sejam utilizadas imediatamente após a alteração. As últimas funcionalidades fornecem suporte para conversão de array, classes e um conversor implícito para classes que não tenham nenhum conversor correspondente.

MicroProfile Metrics 1.1

O monitoramento de parâmetros garante que o sistema esteja funcionando adequadamente. As métricas adicionam monitoramento aos endpoints de um determinado processo. Diferente das simples checagem do tipo Health Checks, as Métricas fornecem uma visão mais profunda do quão bem o sistema está funcionando, permitindo métricas específicas por plataforma, aplicação ou baseline. As últimas funcionalidades fornecem um kit de teste de compatibilidade (da sigla em inglês TCK ou Test Compatibility Kit) melhorado, a habilidade de configurar tags globais via arquivo e uma flag aplicada em anotações e metadados indicando quando o nome das métricas podem ser registrados mais de uma vez.

Para iniciar o desenvolvimento de aplicações utilizando o MicroProfile 1.3, adicione a seguinte dependência no arquivo pom.xml:


      org.eclipse.microprofile
      microprofile
      1.3
      pom

Mais detalhes podem ser encontradas nas notas de versão do MicroProfile 1.3. Os leitores também podem se manter atualizados sobre todas as notícias referentes ao Java visitando a página inicial para a trilha de Java do InfoQ.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT