Início Arquitetura e Design no InfoQ Brasil
Artigos
Feed RSS-
Utilizando o DDD para validação de regras de negócio
Se o objetivo é criar aplicações que simulam o comportamento de especialistas de um domínio, então o desafio é capturar e implementar regras de negócios. Essa é mais uma questão de gerenciamento de conhecimento do que propriamente habilidade de codificação. Seguir técnicas de Domain-Driven Design promove a estrutura necessária a validar e implementar regras de negócios em um sistema.
-
O passado, presente e futuro das API Gateways
A “borda” evoluiu de simples balanceadores de carga de hardware para uma pilha completa de proxies de hardware e software que incluem API gateways, redes de entrega de conteúdo (Content Delivery Network - CDN) e balanceadores de carga. Neste artigo, mostraremos a evolução da borda do data center à medida que a arquitetura e os fluxos de trabalho das aplicações evoluíram.
-
Chaos engineering, rodando game days, e empresas que aprendem: Entrevistas na Chaos Conf
O segundo Chaos Conf aconteceu em São Francisco nos dias 25 e 26 de setembro. Na preparação da conferência, o InfoQ conversou com alguns palestrantes sobre tópicos como, a evolução e a adoção do chaos engineering, pessoas chave, o processo de aprendizagem com experimentos de chaos, e quais os principais bloqueios para a adoção em larga escala.
-
Aprendizado de máquinas em Java com o Deep Java Library da Amazon
Neste artigo, apresentamos como os desenvolvedores Java podem usar a JSR-381 VisRec API para implementar um classificador de imagens ou detecção de objetos com modelos pré treinados do DLJ em menos de 10 linhas de código.
-
Criando uma arquitetura para ingestão de dados com ksqlDB, Schema Registry e Kafka Connect
Se a empresa faz uso do ecossistema do Apache Kafka, são diversas as formas para realizar integração ou carga de dados entre sistemas. Este artigo apresenta o uso do ksqlDB com o Schema Registry que, por meio do Kafka Connect, movimenta dados de forma rápida, fácil e se aproveitando da escalabilidade do Apache Kafka.
-
Atomicidade em transações distribuídas no Apache Kafka
Em alguns cenários, garantias transacionais no processamento de streams são necessárias. Neste artigo apresentaremos uma forma de alcançar atomicidade e garantias transacionais usando recursos do próprio Apache Kafka, além de demonstrar como o uso desses recursos impactam na performance de uma aplicação.
-
Coletando dados do Pieces
O Pieces, uma nova biblioteca JavaScript, resolve os problemas de roteamento e transição de página. Afinal, ambos estão preocupados com o que acontece quando o aplicativo muda de uma página para outra. A ideia é o desenvolvedor criar as páginas individuais e permitir que o Pieces se preocupe com tudo o que está envolvido na transição.
-
Entrevista sobre o livro Refactoring - Segunda edição
O InfoQ entrevistou Fowler sobre as principais mudanças na 2ª edição do Refactoring, como reconhecer problemas e refatoramento do código, como as revisões e refatoração se apoiam mutuamente, o que os líderes de tecnologia podem fazer para incentivar a refatoração, os benefícios e as ferramentas para uma refatoração e para o mob programming.
-
A solução Kongo: Criando uma aplicação IoT escalável com Apache Kafka
O Kafka é um sistema distribuído de processamento de stream que permite que os produtores distribuídos enviem mensagens aos consumidores distribuídos por meio de um cluster Kafka. Simplificando, é uma maneira de entregar mensagens onde se deseja que elas sejam enviadas. O Kafka é particularmente vantajoso porque oferece alto rendimento e baixa latência e poderosa escalabilidade horizontal.
-
Usando RedisTimeSeries e Grafana para análise de dados em tempo real
O gerenciamento de dados temporais é fundamental para qualquer iniciativa focada na análise de dados empresariais. Os preços das ações, telemetria de sensores de máquinas industriais são alguns exemplos. Ao integrar o Grafana e RedisTimeSeries, podemos em tempo real, visualizar padrões e detectar anomalias, visualizar tendências e comparar dados atuais com dados históricos, agregar dados, etc.
-
Cloud e uma pespectiva arquitetural entre risco e serviços
Atualmente, a arquitetura de software tem diversos desafios sendo o maior deles, a escalabilidade. O conceito de cloud trouxe essa possibilidade com diversos serviços IaaS, PaaS e SaaS. Com tantas opções e serviços, qual é a melhor opção para cada cenário? Esse artigo tem como objetivo falar um pouco das desvantagens na escolha de serviços cloud em nosso software corporativo.
-
Unidade de medidas em Java, como e o porquê
As unidades de medida são as quantidades de uma determinada grandeza física e que serve de padrão para eventuais comparações. Esses elementos também são utilizados no mundo dos softwares, porém, surgiram várias questões: Qual é a melhor forma de utilizar esses padrões em um software? Quais são os impactos? O objetivo desse artigo é falar um pouco sobre a especificação de unidade de medida no Java.