O uso de APIs tem se mostrado como uma boa prática no desenvolvimento de sistemas. Utilizar componentes prontos e testados por meio das APIs auxilia os programadores a se dedicarem mais às questões mais importantes do sistema. O Java Runtime Environment (JRE) possui uma série de APIs bastante úteis. Assim, neste artigo será explicado como utilizar três destas APIs. A primeira é o Java Logger, que simplifica o registro de logs para auxiliar no rastreamento de eventos de um sistema. A segunda é o Java Desktop, que permite a utilização de aplicações padrão de cada sistema operacional, sem que o programador precise mapeá-las. E, por fim, o Java Zip, que reúne diversas funcionalidades relacionadas à compactação e descompactação de arquivos no formato zip.
API é uma sigla que significa Application Programming Interface e que podemos traduzir como Interface de Programação de Aplicativo. Elas são responsáveis por padronizar determinadas funções ou componentes em um sistema. São verificadas previamente e continuamente aprimoradas por quem as desenvolveu e mantém.
Em resumo, um programador pode utilizar uma API para cumprir uma tarefa específica em seu sistema, como por exemplo, compactar e descompactar arquivos ou mesmo abrir um aplicativo padrão de e-mail. Assim o programador se preocupa mais com a lógica e regras de negócio do que com as implementações das funcionalidades citadas.
Geralmente as APIs são simples em sua operação e tornam o desenvolvimento de sistemas bastante robusto quando se precisa de uma determinada funcionalidade, tanto em tempo de desenvolvimento quanto na qualidade do código. Imagine uma situação em que se precise criar um log de erros do sistema. O programador teria muito trabalho se construísse tudo, desde o início. Porém, se utilizar a API Java Logger, terá o tempo poupado e utilizará uma funcionalidade com uma boa documentação, padronizada, amplamente testada e pronta para uso.
Nativamente, sistemas na linguagem Java possuem uma série de APIs disponibilizadas pela própria Sun, contidas no Java Runtime Environment (JRE). Além destas, também há APIs de terceiros, ou seja, que não são mantidas pela Sun/Oracle, mas por grupos independentes ou fundações que fazem o mesmo papel que a Oracle com as APIs, porém focado em outras abordagens ou outras linhas de desenvolvimento.
As APIs, além de tornar o trabalho do programador mais simplificado, também colaboram na padronização do código. Da mesma forma como os padrões de projeto ajudam a manter um sistema melhor organizado e estruturado, especialmente quando há uma equipe de desenvolvimento, as APIs também podem ter um papel semelhante, pois é mais fácil entender uma implementação de uma API específica do que um código inteiro que muitas vezes pode não estar completamente otimizado ou testado.
Com base nisso, serão apresentadas neste artigo três APIs. A primeira é o Java Logger, responsável por cuidar do log de sistemas. A segunda é o Java Desktop, que auxiliará na inicialização de programas padrão, não importando o sistema operacional utilizado. Por fim, conheceremos o Java Zip, que explora recursos de compactação e descompactação de arquivos, no formato zip.
Java Logger
Em qualquer sistema, por mais bem desenvolvido que seja, sempre poderá haver o risco de alguma condição em específico falhar, seja por erro na implementação ou por alguma exceção não prevista nas regras de negócio das especificações iniciais. Rastrear uma condição não prevista é essencial para qualquer sistema, desde sistemas pequenos até os de grande porte. Assim, o uso de logs ou registro de eventos se torna uma prática quase que obrigatória.
Os logs de eventos não precisam necessariamente ser um conjunto de arquivos texto. Também podemos utilizar o console da Java Virtual Machine (JVM) para acompanhá-los. Para qualquer aplicativo Java (web ou desktop), o console pode ser ajustado para ser exibido ou ocultado, bastando configurá-lo nas opções do painel de controle do Java.
A API Java Logger nos auxilia na organização dos logs e na maneira como eles serão registrados. Dependendo das regras definidas pelo programador, alguns eventos poderão acionar um aviso no console. Outros eventos, como por exemplo, exceções (ou erros de sistema), podem ser salvas em um arquivo texto, pois neste caso pode ser importante conhecer quais exceções e quando elas ocorreram.
Em se tratando de escrita em arquivos texto, a API tem parâmetros definidos para sobrescrevê-los, visando, entre outras questões, não comprometer o espaço em disco do sistema, caso algum erro recorrente surja.
Para trabalharmos com a API, inicialmente teremos que criar um objeto (exemplo logger1) da classe Logger que recebe o método Logger.getLogger() para construir o objeto de log.
Para cada classe que desejarmos que utilize o log, é necessário criar um objeto de log. O nome do objeto é definido em sua construção. Por exemplo: Logger logger1=Logger.getLogger("pai") define que o nome do log será pai. Existem práticas no uso desta API que recomendam que o nome do log seja o nome da classe.
A API trabalha de maneira hierárquica. Portanto, cada logger criado sempre herdará as configurações do logger pai, conforme indica a Listagem 1. A hierarquia pode seguir a regra de como utilizamos os pacotes de classes. Com isso poderemos definir regras específicas para cada pacote. Podemos associar que o log pai seria o pacote principal do sistema. O log filho1 seria responsável por outro pacote (podemos fazer uma analogia com o pacote de conexões com bancos de dados) e o log filho2 seria responsável por outro pacote diferente (por exemplo, o pacote das regras de negócio).
Logger logger1 = Logger.getLogger("pai");
Logger logger2 = Logger.getLogger("pai.filho1");
Logger logger3 = Logger.getLogger("pai.filho2");
...
Confira outros conteúdos:
Programação x Concurso Público
Osvaldo aprendeu programação
DevMedia x Netflix: Onde investir meu...
Promoção de Natal
Oferta exclusiva de Natal!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,90
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 59,90 /mês
Total: R$ 718,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.