Réplicas de leitura MySQL usando Docker

Há algum tempo atrás a implementação de replicação de banco de dados era uma tarefa trabalhosa, particularmente em termos de configuração e instalação de servidores de banco de dados. Graças ao Docker, essa tarefa que antes levava no mínimo algumas horas, agora pode ser concluída em menos de uma hora. Vejamos os passos necessários para…

HTTP/2 Server Push no Java EE 8

O Java EE 8 chegou e com ele muitas novidades. Há atualizações nas APIs JAX-RS, Bean Validation, JSF, CDI, JSONP e Servlet. Uma das maiores atualizações está na API Servlet, que está agora na versão 4.0. A maior novidade na API Servlet é o suporte ao protocolo HTTP/2 que traz consigo muitas melhorias, como request/response…

Manifesto Reativo para Sistemas Reativos

Os requisitos não funcionais mudaram muito nos últimos anos. Até pouco tempo  atrás, aplicações rodavam em dezenas de servidores, o tempo de resposta era na casa de alguns segundos, algumas horas de tolerância offline e dados na casa dos gigabytes. Atualmente, em compasso com a evolução tecnológica, esses mesmos requisitos não funcionais desenvolveram-se para aplicações…

Microservices

A definição mais simplória de microservices seria a de uma abordagem para desenvolvimento de aplicações compostas por uma série de pequenos serviços. Ao pensar rapidamente sobre essa descrição, a arquitetura SOA ressurge na mente como uma arquitetura intimamente ligada a abordagem de microservices. De fato, microservices é uma evolução do pensamento orientado a serviço tradicional…

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

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…

JAX-RS: Como customizar o status code em uma HTTP Response de uma aplicação REST

Os métodos HTTP mais comuns em uma aplicação REST são GET, POST, PUT e DELETE. O protocolo HTTP e a arquitetura REST especificam que cada método HTTP retorne um determinado código de status (status code) ao cliente sobre o resultado da sua requisição. A recomendação em uma aplicação REST é que ela retorne um status…

Como consumir WebServices com Javascript (utilizando JQuery)

Consumir um WebService direto do navegador é uma tarefa simples com o uso de JQuery. Existem três funções na biblioteca JQuery que fazem requisições a uma URL e possibilitam a definição de métodos de call-back para tratar o retorno. As funções são jQuery.get() e jQuery.getJSON() permitem requisições AJAX e métodos de call-back para tratar o…

Criando um web service RESTful com JAX-RS

REST é um padrão arquitetural baseado nas operações básicas do protocolo HTTP. Os posts REST, JAX-RS, RESTeasy e integração e Entendendo web services em Java (JAX-WS e JAX-RS) fornecem mais detalhes sobre REST. Alguns conceitos sobre aplicações RESTful Basicamente, uma aplicação REST utiliza o conceito de recursos, considerando tudo como recurso. O recurso é acessado e manipulado…

Arquitetura de um sistema crítico de tempo real

Como você projetaria um sistema de informações para a polícia de uma cidade, com o objetivo de fornecer informações em tempo real aos policiais sobre as ocorrências relatadas por telefone e atualizações em tempo real destas ocorrências? Certamente um sistema assim precisa de uma arquitetura robusta, voltada a performance e confiabilidade. É um sistema crítico,…