Trabalhar com enumeração no Java permite ao desenvolvedor e arquiteto estabelecer um ambiente fortemente tipado, além de trabalhar com uma lista de valores específicos e com tamanho finito. No entanto, quando o assunto é levado além das fronteiras da aplicação Java, algumas complicações podem ser encontradas, principalmente no que se diz respeito à normalização de bancos de dados. Com isso, veremos a seguir uma técnica para mapear enumerações na JPA de forma eficiente e deixar todo mundo feliz 🙂

Continue reading

Muitas empresas e responsáveis de TI buscam constantemente agregar valor nos produtos e serviços entregues de várias maneiras, seja por meio de ciclos de entrega contínuos com pequenos pedaços funcionais de software, pela criação de aplicações infladas e cheias de recursos que muitas vezes sequer serão utilizados, desenvolvendo soluções baseadas na orientação a serviço – SOA, entre outras. Fato é que independente da estratégia de atuação do departamento de TI, agregar valor não é uma tarefa fácil e requer, muitas vezes, grande esforço por parte dos envolvidos no projeto. Com a arquitetura orientada a serviços não seria diferente, pois esta, além de trazer grandes mudanças no paradigma de desenvolvimento de software, influencia diretamente na forma de gerenciar e governar TI na corporação, propondo desafios tecnológicos, operacionais, de infraestrutura, entre outros.

Um dos nomes mais expressivos quanto o assunto é arquitetura orientada a serviços, Thomas Erl, define princípios aos quais são interpretados como termômetro na implantação do paradigma orientado a serviços numa corporação, porém, obviamente estes princípios não são – e nem devem ser – a bala de prata para os problemas de alinhamento entre a TI e o negócio. Estes princípios são conhecidos como:

  • Padronização do contrato de serviço
  • Baixo acoplamento
  • Abstração do serviço
  • Autonomia do serviço
  • Visibilidade do serviço
  • Independência do controle de estado do serviço
  • Reusabilidade
  • Capacidade de composição do serviço

Continue reading

É certo que o paradigma de sistemas computacionais está em constante evolução. Muitas destas evoluções vêm para aumentar a produtividade do processo de desenvolvimento de software, diminuir custos operacionais, estabelecer diretrizes de governança de TI, entre outros. O problema é que com essa miscigenação de conceitos, frameworks e metodologias, nem sempre é possível manter o alinhamento estratégico entre o negócio e a TI,  por falta de maturidade nos conceitos utilizados,  disparidade de interesses entre os especialistas de negócio e os especialistas de TI ou simplesmente por não ter maturidade para fazer as engrenagens se encaixarem e fazer o mecanismo funcionar adequadamente, ocasionando muitas vezes, por exemplo, em cenários semelhantes às salas de guerra.

Deixar de enxergar a TI como um segmento separado do negócio e vice versa, é algo relativamente custoso para muitos profissionais na nossa área, porém, o paradigma de arquitetura orientada a serviço surge para fortificar ainda mais a necessidade de paridade entre o negócio e a TI para um bem maior, longe dos egos e holofotes, uma vez que para se alcançar as premissas de SOA é necessário que ambos os setores trabalhem em conjunto do início ao fim. Pensando nisto, hoje abordaremos os objetivos e benefícios estratégicos que a metodologia SOA pode proporcionar. Vamos nessa!

Continue reading

O tema de hoje é referente a dois personagens presentes na API do Java que sempre usamos, mas nem sempre trabalhamos com eles de forma correta: os métodos equals() e hashCode(). Há quem diga que quando implementamos um deles, obrigatoriamente temos que implementar o outro. Isso não é verdade, meu caro! Neste artigo você aprenderá sobre o uso eficiente destes métodos, suas premissas de implementação e principalmente a relação afetiva entre eles.

Continue reading

Quem desenvolve em Java com certeza já ouviu, e muito, que devemos priorizar o desenvolvimento baseado em interfaces no lugar de herança a fim de diminuir o acoplamento do código e torná-lo mais maleável. Porém, nem sempre conseguimos seguir à risca essa recomendação e entramos na tão famigerada herança. Nos últimos tempos tenho percebido no ambiente de trabalho que muitos desenvolvedores se sentem perdidos quando o assunto é persistência de dados utilizando classes derivadas. O artigo de hoje vem para abrir um caminho de luz na sua vida, meu amigo, e tirar essa rusga que existe entre você, a JPA e as heranças. Veremos de forma simplifica, sem entrar em conceitos coadjuvantes e o melhor, hands-on!!!!!


IMPORTANTE!!!!!!

Dependendo da forma de implementação deste recurso e complexidade do projeto, mapear herança na JPA pode ser extremamente oneroso para a aplicação, causando problemas sérios de desempenho. Por isso, seja sapiente ao utilizar esta abordagem 🙂


Continue reading

Page 1 of 3123