Há muito tempo o sistema operacional Linux se tornou o principal SO rodando em servidores corporativos. Considerando a importância dessa plataforma e o número elevado de soluções rodando sob o Linux, é comum aparecerem diversas necessidades em termos de integração para execução de comandos no Linux a partir de alguma ferramenta de implementação. Recentemente fui…
Conformação arquitetural: sincronizando o código e a arquitetura do projeto
A edição de abril de 2015 da Revista Java Magazine trás um artigo meu sobre Conformação Arquitetural. Ao longo do tempo a arquitetura planejada para um software tende a se distanciar do que foi inicialmente projetado. A representação do projeto por meio de diagramas UML em documentos de arquitetura de software perdem total conexão com o código fonte…
Streams API: trabalhando de forma flexível com coleções em Java
A edição de janeiro de 2015 da Revista Java Magazine trás um artigo meu sobre a Streams API e novas formas para lidar com coleções no Java 8. Esse artigo apresenta a Streams API, uma das novidades do Java 8 que traz facilidades e melhorias para o processamento de elementos em coleções. O ponto de partida para esse…
Java Reflection: um exemplo prático
Reflexão (reflection) é uma característica que permite a um programa observar e até modificar a sua estrutura e o seu comportamento interno. Os termos comumente utilizados são reflexão e introspecção. Na reflexão, um programa observa e modifica seu comportamento enquanto que na introspecção ele apenas observa e obtém informações dele mesmo. A linguagem Java possui…
The Importance of SOA to Cloud Computing
A edição de novembro-dezembro de 2014 da Service Technology Magazine trás um artigo meu sobre a importância da arquitetura SOA para Cloud Computing, sendo uma visão abrangente dos benefícios de SOA para Cloud Computing e de comos essas duas abordagens tecnológicas se relacionam. The Importance of SOA to Cloud Computing Service Technology Magazine, Novembro/Dezembro de 2014, edição 87
Arquitetura de software com tempo de expiração e modularidade
Provavelmente você já deve ter ouvido muitas vezes que a solução para algum sistema, cuja manutenção tenha se tornado um grande problema, é jogar toda a base de código no lixo e reescrever tudo de novo, repensando e reformulando sua arquitetura. Martin Fowler escreveu recentemente sobre isso em seu blog, num post intitulado “Sacrificial Architecture”…
Replicação de sessão e balanceamento de carga em ambientes distribuídos (Tomcat, NGinx e Java)
A edição de outubro de 2014 da Revista easy Java Magazine trás um artigo meu sobre cluster e replicação de sessão com Tomcat, NGinx e Java, abordando diversos conceitos relacionados à computação distribuída e oferecendo uma introdução aos principais tópicos da disciplina como base para a aplicação prática de um cluster, implementado com o servidor HTTP NGinx como…
DevOps: Estudo de caso sobre erros de build no Google
O build do código é uma fase muito importante no desenvolvimento de software, sem o build não há executável, ou seja, o processo de build é primordial para obter um software funcional. O processo de build (ou compilação dos fontes), parece uma tarefa trivial, mas é, na verdade, um processo bastante complexo. Esse processo consiste…
Java performance: aprimorando o desempenho de aplicações
A edição de setembro de 2014 da Java Magazine trás um artigo meu sobre performance de aplicações Java, sendo um guia abrangente contendo diversas técnicas que auxiliam e melhoram o desempenho de aplicações Java. O artigo aborda diversos conceitos relacionados à performance de aplicações e apresenta um leque de técnicas e práticas que podem ser…
Sonar Java: avaliando o código por meio de métricas
A edição de setembro de 2014 da Java Magazine trás um artigo meu sobre métricas de qualidade de software e como o a ferramenta Sonar auxilia no gerenciamento e controle do código de um projeto. O artigo apresenta o Sonar e os conceitos utilizados pelo mesmo para o monitoramento da qualidade de código. Acompanhar a…