Quickstarters
Feature Overview
Como Construir um Backend para Java?
39 min
introdução neste tutorial, você aprenderá como construir um backend para java aplicações usando o back4app java é uma linguagem de programação versátil e orientada a objetos amplamente utilizada para desenvolvimento web e desenvolvimento de aplicações do lado do servidor ao integrar o back4app com seus projetos java, você pode aproveitar recursos essenciais de backend, como gerenciamento seguro de banco de dados, funções de cloud code, serviços web restful, apis graphql, autenticação de usuários e consultas em tempo real — tudo isso enquanto minimiza a sobrecarga de infraestrutura essa abordagem permite que você acelere o desenvolvimento de backend em java e garanta escalabilidade, libertando o das complexidades da configuração manual do servidor você ganhará experiência prática aplicando essas técnicas, desde a criação de estruturas de dados até o agendamento de tarefas com cloud jobs e a integração de webhooks essa base permite que você construa tudo, desde pequenos aplicativos web até grandes aplicações java com facilidade após concluir este guia, você estará pronto para criar ou estender suas aplicações web usando a robusta infraestrutura de backend do back4app você saberá como conectar o parse java sdk para realizar operações de dados, implementar controle de acesso e lidar com lógica de negócios complexa este tutorial lhe dará as habilidades necessárias para continuar construindo nesta plataforma, adicionando novos recursos ou otimizando para prontidão em produção pré requisitos para completar este tutorial, você precisará uma conta back4app e um novo projeto back4app começando com back4app https //www back4app com/docs/get started/new parse app inscreva se gratuitamente se você não tiver uma conta um ambiente de desenvolvimento java você pode configurar isso com qualquer frameworks de backend java ou ides java (por exemplo, intellij, eclipse ou vs code com java) certifique se de ter o java development kit (jdk) instalado baixe o jdk mais recente https //www oracle com/java/technologies/downloads/ conhecimento básico da linguagem de programação java familiaridade com programação orientada a objetos conceitos, estruturas de dados , e serviços web restful é útil documentação oficial do java https //docs oracle com/en/java/ maven ou gradle para gerenciamento de dependências (opcional) se você planeja integrar o parse java sdk usando uma ferramenta de construção, deve ter o maven ou gradle instalado documentação do maven https //maven apache org/ | documentação do gradle https //gradle org/docs/ certifique se de ter todos esses pré requisitos em ordem antes de começar ter seu projeto back4app pronto e seu ambiente java configurado tornará este tutorial mais tranquilo passo 1 – criando um novo projeto no back4app e conectando criar um novo projeto o primeiro passo em desenvolvimento de backend java com back4app é criar um novo projeto se você ainda não criou um, siga estes passos faça login na sua conta back4app clique no botão “novo app” no seu painel do back4app dê um nome ao seu app (por exemplo, “java backend tutorial”) uma vez que o projeto é criado, você verá ele listado no seu painel do back4app este projeto servirá como a base para todas as configurações de backend discutidas neste tutorial conecte o sdk do parse o back4app depende da plataforma parse para gerenciar seus dados, fornecer atualizações em tempo real, lidar com autenticação de usuários e mais para projetos de java , você pode integrar o sdk java do parse https //github com/parse community/parse sdk java recupere suas chaves do parse no seu painel do back4app, navegue até configurações do app ou segurança & chaves para encontrar seu id da aplicação e chave do cliente você também verá a url do servidor parse (geralmente https //parseapi back4app com ) adicione o sdk java do parse ao seu projeto se você estiver usando maven, adicione o seguinte ao seu pom xml \<dependency> \<groupid>com parse\</ >groupid> \<artifactid>parse\</ >artifactid> \<version>1 26 0\</ >version> \</dependency> se você preferir gradle, adicione o ao seu build gradle dependencies { implementation 'com parse\ parse 1 26 0' } inicialize o parse no seu código java (por exemplo, em uma classe principal ou classe de configuração) import com parse parse; public class main { public static void main(string\[] args) { parse initialize(new parse configuration builder("your app context") applicationid("your application id") clientkey("your client key") server("https //parseapi back4app com/") build() ); system out println("parse initialized successfully!"); // continue with your app logic } } substitua "your app context" pelo seu contexto real (se você tiver um) ou passe null se não for necessário este código garante que seus web apps ou aplicações java do lado do servidor possam se comunicar com segurança com o back4app passo 2 – configurando o banco de dados back4app fornece um banco de dados hospedado e escalável que se integra perfeitamente com seu java programming language aplicativo você pode criar classes, colunas e relacionamentos diretamente no painel do back4app ou em tempo real 1 criando um modelo de dados você pode definir suas classes (tabelas) e suas colunas no banco de dados do back4app por exemplo, para criar uma todo classe navegue até a seção “banco de dados” no seu painel do back4app clique em “criar uma nova classe” e nomeie a como todo adicione colunas relevantes (por exemplo, title como string, iscompleted como boolean) 2 criando um modelo de dados usando o agente de ia o agente de ia do back4app pode construir automaticamente seu esquema abra o agente de ia no seu painel descreva seus dados (por exemplo, “crie uma nova classe todo com campos de título e iscompleted ”) revise e aplique o esquema gerado pela ia 3 lendo e escrevendo dados usando o sdk java do parse abaixo está um exemplo curto de como você pode salvar e consultar dados no banco de dados usando java import com parse parseobject; import com parse parsequery; import com parse parseexception; import com parse parsecloud; import java util list; public class todoservice { // create a new todo public void createtodoitem(string title, boolean iscompleted) { parseobject todo = new parseobject("todo"); todo put("title", title); todo put("iscompleted", iscompleted); try { todo save(); system out println("todo saved successfully with objectid " + todo getobjectid()); } catch (parseexception e) { system err println("error saving todo " + e getmessage()); } } // fetch all todos public void fetchtodos() { parsequery\<parseobject> query = parsequery getquery("todo"); try { list\<parseobject> results = query find(); system out println("fetched " + results size() + " todo items "); for (parseobject todo results) { system out println(" " + todo getstring("title")); } } catch (parseexception e) { system err println("error fetching todos " + e getmessage()); } } } 4 lendo e escrevendo dados usando a api rest alternativamente, use os endpoints rest curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5 lendo e escrevendo dados usando a api graphql use a interface graphql do back4app mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6 trabalhando com consultas ao vivo (opcional) para atualizações em tempo real em cenários de desenvolvimento web , o back4app suporta consultas ao vivo ative consultas ao vivo no seu painel e integre as na sua aplicação java se isso se adequar ao seu caso de uso (frequentemente usado em aplicativos web ou móveis em tempo real) passo 3 – aplicando segurança com acls e clps visão geral breve acls (listas de controle de acesso) e clps (permissões de nível de classe) ajudam a proteger seus dados controlando quem pode ler ou escrever objetos passo a passo permissões de nível de classe (clps) vá para o banco de dados no seu painel do back4app selecione uma classe (por exemplo, todo ) e abra permissões de nível de classe configure regras de leitura/escrita, como exigir autenticação do usuário ou restringir o acesso público listas de controle de acesso (acls) aplique permissões de nível de objeto no código por exemplo parseobject todo = new parseobject("todo"); todo put("title", "private task"); // grant owner read/write permission, remove public read/write todo setacl(new com parse parseacl(parseuser getcurrentuser())); try { todo save(); } catch (parseexception e) { e printstacktrace(); } isso define a acl para que apenas o usuário atual possa ler ou escrever o objeto passo 4 – escrevendo funções de código em nuvem por que código em nuvem o código em nuvem adiciona lógica do lado do servidor para o seu desenvolvimento de backend em java fluxo de trabalho você pode escrever funções personalizadas, gatilhos e validações que são executadas nos servidores da back4app sem gerenciamento manual de infraestrutura isso é ideal para lógica de negócios avançada, transformações de dados ou chamadas seguras a apis externas função de exemplo crie um main js na sua código em nuvem seção da back4app, então defina uma função parse cloud define("gettodocount", async (request) => { const query = new parse query("todo"); const count = await query count(); return { totaltodos count }; }); implantação usando o cli da back4app b4a deploy ou através do painel navegando para código em nuvem > funções cole a função em main js e clique em implantar npm em código em nuvem instale e requer módulos npm externos se necessário por exemplo, você pode requerer uma biblioteca node para lidar com tarefas especializadas em seu código em nuvem esses módulos são executados independentemente do seu código java, mas podem ser chamados a partir da sua aplicação java, conforme descrito abaixo chamando código em nuvem a partir do java import com parse parsecloud; import java util hashmap; import java util map; public class cloudcodeexample { public void gettodocount() { try { map\<string, object> params = new hashmap<>(); map\<string, object> result = parsecloud callfunction("gettodocount", params); system out println("total todos " + result get("totaltodos")); } catch (exception e) { e printstacktrace(); } } } passo 5 – configurando autenticação ativar autenticação de usuário a classe parse user do back4app simplifica a autenticação ela gerencia automaticamente a criptografia de senhas, tokens de sessão e armazenamento seguro exemplos de código em java import com parse parseuser; import com parse parseexception; public class userservice { // sign up public void signupuser(string username, string password, string email) { parseuser user = new parseuser(); user setusername(username); user setpassword(password); user setemail(email); try { user signup(); system out println("user signed up successfully!"); } catch (parseexception e) { system err println("error signing up user " + e getmessage()); } } // log in public void loginuser(string username, string password) { try { parseuser user = parseuser login(username, password); system out println("user logged in " + user getusername()); } catch (parseexception e) { system err println("error logging in user " + e getmessage()); } } } login social o parse pode se integrar com google , facebook , apple , e mais normalmente, você instalará bibliotecas adicionais ou usará adaptadores para cada provedor, e então os configurará em seu projeto back4app documentação de login social https //www back4app com/docs/platform/sign in with apple passo 6 – gerenciando armazenamento de arquivos envio e recuperação de arquivos back4app armazena seus arquivos automaticamente de forma segura use parsefile em java import com parse parsefile; import com parse parseobject; import java nio file files; import java nio file paths; public class fileservice { public void uploadfile(string filepath) { try { byte\[] data = files readallbytes(paths get(filepath)); parsefile parsefile = new parsefile("uploadedfile", data); parsefile save(); // uploads file parseobject fileobject = new parseobject("myfile"); fileobject put("file", parsefile); fileobject save(); system out println("file uploaded " + parsefile geturl()); } catch (exception e) { e printstacktrace(); } } } considerações de segurança você pode configurar as permissões de upload de arquivos em suas parse server configurações para permitir apenas usuários autenticados ou bloquear uploads públicos passo 7 – verificação de email e redefinição de senha visão geral para aplicativos web , você vai querer verificar os emails dos usuários e fornecer uma opção de redefinição de senha configuração do painel do back4app vá para configurações de email no seu painel do back4app ative a verificação de email e configure os templates ative a redefinição de senha para permitir que os usuários recuperem suas contas de forma segura implementação de código try { parseuser requestpasswordreset("user\@example com"); system out println("password reset request sent!"); } catch (parseexception e) { system err println("error requesting password reset " + e getmessage()); } passo 8 – agendando tarefas com cloud jobs visão geral dos cloud jobs use cloud jobs para agendar tarefas como limpeza de dados periódica ou relatórios automatizados crie um trabalho em main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); // example remove todos older than 30 days const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); implante, depois agende na background jobs seção do seu painel do back4app passo 9 – integrando webhooks definição e configuração webhooks permitem que você envie requisições http para sistemas externos quando certos eventos ocorrem por exemplo, você pode enviar dados para um gateway de pagamento ou plataforma de análise sempre que um todo é criado vá para o painel do seu aplicativo > mais > webhooks adicione um webhook especificando o endpoint externo selecione quais eventos acionam o webhook passo 10 – explorando o painel de administração do back4app onde encontrá lo o painel de administração do back4app é uma interface sem código para gerenciar dados ative o em app dashboard > mais > admin app recursos uma vez ativado, você pode visualizar, editar ou excluir registros diretamente atribuir funções para diferentes membros da equipe personalizar a interface do usuário e gerenciar dados para desenvolvimento de aplicações em nível empresarial conclusão ao completar este guia sobre como construir um backend para java usando back4app, você configurou um banco de dados escalável implementou consultas em tempo real, serviços web restful , e graphql para acesso a dados integrou medidas de segurança robustas com acls e clps aproveitou o cloud code para lógica do lado do servidor configurou a autenticação de usuários com verificação de e mail e redefinições de senha armazenou e recuperou arquivos para suas aplicações web agendou tarefas em segundo plano para manutenção de dados conectou webhooks para integração de serviços de terceiros explorou o painel de administração para gerenciamento de dados sem código agora você está preparado para expandir seus frameworks de backend java para lidar com cargas de produção, integrar apis externas e construir recursos avançados com esta base sólida, seus projetos em linguagem de programação java podem alcançar novas alturas em desenvolvimento web e além próximos passos aperfeiçoe seu backend para desenvolvimento de backend java , adicionando lógica complexa e estruturas de dados específicas do domínio integre recursos avançados como fluxos de autenticação especializados, acesso baseado em funções ou apis rest de terceiros consulte a documentação oficial do back4app para aprofundar sua compreensão sobre ajuste de desempenho, registro e análises explore mais tutoriais sobre construção de sistemas de chat, serviços de iot ou aplicativos de geolocalização para aproveitar ainda mais as capacidades em tempo real do back4app