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,…

Como criar um projeto EJB com Eclipse

Ao estudar EJBs, vemos muita teoria, muitos conceitos, muitos diagramas… E na hora de colocar a mão na massa é uma confusão. Criei este tutorial para aqueles que passaram por toda a teoria e estão engatinhando com EJBs. O tutorial mostra passo a passo a implementação de um projeto EJB e a utilização de um…

Implementando SOA (Service-Oriented Architecture) para atender a estratégia organizacional de uma empresa

O texto sobre a Importância da TI para a Estratégia Organizacional fala sobre o alinhamento da TI com a estratégia da empresa focando na vantagem competitiva que pode ser alcançada com o uso da tecnologia. A vantagem competitiva depende, é claro, de uma boa implementação tecnológica alinhada aos requisitos da empresa. Mas o que é…

EJB: Stateless Session Bean

O diagrama de classes abaixo ilustra a modelagem de um EJB Stateless para um hipotético serviço de criptografia. Criptografia por si só é um tópico muito mais complexo do que sugere este diagrama, assim com EJBs, mas o foco aqui é mostrar como os componentes EJB se relacionam. A interface EncryptionCommonBusiness serve como um contrato…

Nginx + Tomcat 7 + Java: Cluster com replicação de sessão

No post Load balancing: simulando um cluster com NGinx e Tomcat em localhost foi mostrado como configurar o NGinx para fazer o balanceamento de carga de três instâncias do Tomcat rodando na mesma máquina. Imagine que tenhamos uma aplicação que faz uso de sessão para armazenar dados do usuário e de navegação. Como essa aplicação…

Load balancing: simulando um cluster com NGinx e Tomcat em localhost

Antes de iniciar, convém entender conceitualmente o que é um cluster e o que é load balancing. Um cluster, ou agregado de computadores, é formado por um conjunto de computadores, que utiliza um tipo especial de sistema operacional classificado como sistema distribuído. Muitas vezes é construído a partir de computadores convencionais (personal computers), os quais são ligados…

REST, JAX-RS, RESTeasy e integração

É cada vez maior o interesse e a necessidade em integração de sistemas, as aplicações raramente permanecem isoladas, pois usuários querem acessar todas as informações e funcionalidades de uma empresa independente de qual sistema os dados ou funcionalidades estejam. Ao longo do tempo, muito esforço foi despendido em diversas técnicas, padrões e arquiteturas foram criadas…

SOA e Cloud Computing

SOA ou Cloud Computing? Antes de escolher algum destes termos técnicos para se implementar uma solução de TI é importante entender o que significam cada um deles em um contexto abrangente de um sistema computacional.  SOA (Service Oriented Architecture) é um padrão arquitetural para desenvolvimento de sistemas distribuídos que transformam recursos de software em serviços….