skip to Main Content

Tutorial de desenvolvimento de Alexa Skill com Java e Quarkus

Tutorial de desenvolvimento de Alexa Skill com Java e Quarkus

O Alexa Skills Kit (ASK) é uma plataforma que permite aos desenvolvedores criar habilidades ativadas por voz para a Amazon Alexa, a assistente virtual que alimenta o Amazon Echo e outros dispositivos habilitados para Alexa. Com a popularidade dos assistentes de voz crescendo, está se tornando cada vez mais importante para os desenvolvedores entender como criar as habilidades da Alexa. 

Neste artigo, veremos como criar um aplicativo com Java, Quarkus e Alexa Skills. 

 

O que é Quarkus? 

Quarkus é uma stack Java nativa do Kubernetes projetada para aplicativos nativos da nuvem. Ele é rápido, leve e eficiente e foi projetado para otimizar o desempenho de aplicativos Java em uma arquitetura de microsserviços. O Quarkus permite que os desenvolvedores criem aplicativos de alto desempenho que podem ser implantados como contêineres em um ambiente de nuvem. 

 >> Veja também: Java 17: confira as novidades da nova versão!

O que é Alexa Skills? 

Alexa Skills são recursos ativados por voz que permitem aos usuários interagir com a Amazon Alexa. As habilidades podem ser criadas para uma ampla variedade de propósitos, desde pedir pizza até tocar música e controlar dispositivos domésticos inteligentes. Os desenvolvedores podem usar o Alexa Skills Kit (ASK) para criar habilidades personalizadas que se integram aos seus próprios aplicativos. 

 

Criando uma Alexa Skill com Java e Quarkus 

Para criar uma Alexa Skill com Java e Quarkus, você precisará seguir estas etapas:   

  1.     Configurar uma conta de desenvolvedor da Amazon 
  2.     Criar uma nova habilidade Alexa 
  3.     Configurar o modelo de interação de habilidade 
  4.     Criar uma função do Lambda para lidar com solicitações da habilidade 
  5.     Implantar a função Lambda na AWS 

Vamos dar uma olhada em cada uma dessas etapas. 

 

Configurando uma Conta de Desenvolvedor da Amazon 

Para começar, você precisará criar uma conta de desenvolvedor da Amazon, se ainda não tiver uma. Acesse o site da Amazon Developer e crie uma nova conta. Depois disso, você poderá acessar o Console do Desenvolvedor do Alexa Skills Kit e criar novos Alexa Skills. 

 

Criando uma Nova Alexa Skill 

Para criar uma nova Alexa Skill, acesse o Console do Desenvolvedor do Alexa Skills Kit e clique em “Criar Skill”. Você precisará escolher um nome para a sua skill e selecionar o idioma que deseja usar. Você também precisará escolher um tipo de modelo: personalizado ou pré-construído. Para este tutorial, usaremos o tipo de modelo personalizado. 

 

Configurando o Modelo de Interação 

Depois de criar a skill, você precisará configurar o modelo de interação dela. O modelo de interação define os tipos de solicitações que a sua skill pode lidar e as respostas que ela pode fornecer. Você pode usar o Console do Desenvolvedor do Alexa Skills Kit para definir o modelo de interação da sua skill usando uma interface de arrastar e soltar. 

O modelo de interação é dividido em duas partes: a seção “Intents” e a seção “Slots“. A seção Intents define os tipos de solicitações que a sua skill pode lidar, enquanto a seção Slots define as variáveis que podem ser usadas nessas solicitações. 

Há também a opção da criação através de código, segue um exemplo de criação de skill model 

Criando uma Função Lambda 

Depois de configurar o modelo de interação da sua skill, você precisará criar uma função Lambda para lidar com as solicitações da skill. O Lambda é um serviço de computação sem servidor que permite executar código sem provisionar ou gerenciar servidores. Você pode usar o Lambda para criar o back-end da sua Alexa Skill. 

Para criar uma função Lambda, acesse o Console de Gerenciamento da AWS e selecione “Lambda” na lista de serviços. Clique em “Criar função” e escolha “Criar do zero”. Dê um nome para a sua função e selecione “Java 17” ou “Java 11” como tempo de execução. Você também precisará criar uma nova função de execução para sua função ou usar uma existente. 

 

Construindo a Aplicação com Quarkus 

Depois de criar sua função Lambda, você pode começar a construir sua aplicação usando Quarkus. O Quarkus é um framework Java leve, projetado para criar aplicativos nativos de nuvem. Ele é otimizado para tempos de inicialização rápidos e uso de memória baixo, tornando-o ideal para ambientes sem servidor, como o Lambda. 

Para criar um novo projeto Quarkus, você pode usar o plugin Maven Quarkus ou a interface de linha de comando Quarkus. Depois de criar seu projeto, você pode adicionar as dependências necessárias para trabalhar com Alexa Skills e o Lambda.

O Quarkus fornece uma estrutura para criar funções do Lambda em Java, que podem ser implementadas usando o AWS Serverless Application Model (SAM). Você pode criar um novo projeto Quarkus com a extensão amazon-lambda-http para começar.  

Isso criará um novo projeto Quarkus com a extensão amazon-lambda-http, que fornece uma maneira simples de criar funções Lambda baseadas em HTTP. 

>> Veja também: Como criar um aplicativo personalizado para sua marca

Atualizando o Endpoint da Alexa Skill 

Depois de construir sua aplicação, você precisará atualizar sua Alexa Skill para usar a função Lambda como endpoint. Você pode fazer isso acessando a guia “Endpoint” no Console do Desenvolvedor do Alexa Skills Kit e selecionando “AWS Lambda ARN” como tipo de endpoint. Em seguida, você precisará inserir o ARN da sua função Lambda, que pode ser encontrado no Console de Gerenciamento da AWS. 

 

Implementando a Lógica da Alexa Skill 

Agora que você configurou o modelo de interação da sua skill, criou uma função Lambda para lidar com as solicitações e atualizou o endpoint da Alexa Skill, é hora de implementar a lógica da skill. Você pode fazer isso usando o Alexa Skills Kit SDK para Java. 

Existem várias maneiras de implementar a lógica da skill usando a SDK, dependendo do modelo de interação que você configurou. Em geral, você precisará criar classes Java para cada Intent e implementar o método handle() para processar as solicitações.  

Aqui está um exemplo de como implementar uma Alexa Skill simples usando o Quarkus: 

 

Testando a Alexa Skill 

Depois de implementar a lógica da skill, é hora de testá-la. Você pode usar o Console do Desenvolvedor do Alexa Skills Kit para testar sua skill em um ambiente simulado ou testá-la no dispositivo Echo da Amazon. O ambiente simulado permite que você teste as solicitações e respostas da sua skill sem precisar de um dispositivo Echo, enquanto o teste no dispositivo permite que você teste a skill em um ambiente real. 

 

Conclusão 

Criar uma aplicação com Java, Quarkus e Alexa Skills é uma ótima maneira de desenvolver uma aplicação ativada por voz nativa da nuvem. Com a ajuda da conta de desenvolvedor da Amazon e do Alexa Skills Kit, você pode facilmente criar e configurar uma Alexa Skill. E usando o Quarkus com o Lambda, você pode construir um back-end leve e eficiente para a sua skill

Ao implementar a funcionalidade da skill usando Java e a SDK Alexa Skills Kit, você pode criar uma aplicação robusta e responsiva ativada por voz. Testar sua skill em ambientes simulados e reais permite que você refine e melhore sua funcionalidade. 

Em geral, criar uma aplicação com Java, Quarkus e Alexa Skills pode ser um projeto divertido e gratificante que mostra o poder e a versatilidade do desenvolvimento nativo da nuvem. Com a crescente popularidade de aplicativos ativados por voz, esse conjunto de habilidades está se tornando cada vez mais valioso para desenvolvedores. 

 Gostou do conteúdo? Temos muitas dicas legais aqui no blog da Lyncas para programadores. Aproveite para ver também: 5 tecnologias para aplicativos híbridos.

 

Apaixonado por tecnologia desde os 14 anos, se descobriu autoditata no mundo da programação e se identificou com a linguagem Java, a qual se dedica com afinco não apenas em programar, mas também em ensinar.