InfoQ Homepage Architecture & Design Content on InfoQ
-
JShell: A Comprehensive Guide to the Java REPL
JShell provides an interactive shell for quickly prototyping, debugging, and learning Java and Java APIs. In this article, we’ll take a comprehensive look at JShell, understanding all its commands, its uses, and how to use it most effectively.
-
The DDD Do-Over
Jimmy Bogard had a rare opportunity to do what many developers want after finishing a tough project -- a do-over. His team worked on two very similar projects, both using DDD. He discusses the lessons learned from the first project and how the team avoided common pitfalls and was more successful on their later project.
-
Chaos Conf Q&A: The Benefits, Challenges and Practices of Chaos Engineering
This Q&A, from the upcoming Chaos Conf event that is running in San Francisco in September, examines the benefits and challenges of chaos engineering. The article also provides emerging good practice, and contains prerequisites, recommendations, and tips for getting started.
-
14 Things I Wish I’d Known When Starting with MongoDB
I’ve been a database person for an embarrassing length of time, but I only started working with MongoDB recently. When I was starting out with MongoDB, there are a few things that I wish I’d known about. With general experience, there will always be preconceptions of what databases are and what they do. In hopes of making it easier for other people, here is a list of common mistakes.
-
How the TOGAF Standard Serves Enterprise Architecture
Any architect working with large enterprise systems has probably looked for guidance on how to manage the complexity and communicate with various stakeholders. This introductory overview of the TOGAF standard explains the structure of the framework, as well as discusses the benefits of using enterprise architecture to manage complex systems.
-
Democratizing Stream Processing with Apache Kafka® and KSQL - Part 2
In this article, author Robin Moffatt shows how to use Apache Kafka and KSQL to build data integration and processing applications with the help of an e-commerce sample application. Three use cases discussed: customer operations, operational dashboard, and ad-hoc analytics.
-
Refactoring to a Deeper Model
Paul Rayner uses a case study to demonstrate how refactoring your code can lead to a deeper understanding of your domain model. Through common code refactorings, combined with the implementation of patterns, the codebase became more cohesive and easier to reason about, reducing the time to perform some common tasks from weeks or months to just hours.
-
Microservices in a Post-Kubernetes Era
How are microservices standing in the Kubernetes era? The microservice architecture is still the most popular architectural style for distributed systems. But Kubernetes and the cloud-native movement have redefined certain aspects of application design and development at scale.
-
The State of Java Serialization
Java’s Serialization feature has garnered several years' worth of security exploits and zero day attacks. This article discusses the current state of the technology and what can be done, both now and in the future, to protect against serialization flaws.
-
DDD With TLC
At the 2017 Explore DDD conference, Julie Lerman, a self-described Serial DDD Advocate, spoke about how to approach Domain-Driven Design with Tender Loving Care. InfoQ sat down with Lerman to ask about how she introduces DDD to new clients, and helps them be successful.
-
A Critique of Resizable Hash Tables: Riak Core & Random Slicing
This fall, Wallaroo Labs will be releasing a large new feature set to our distributed data stream processing framework, Wallaroo. One of the new features requires a size-adjustable, distributed data structure to support growing & shrinking of compute clusters. It might be a good idea to use a distributed hash table to support the new feature, but what distributed hash algorithm should we choose?
-
Build a MySQL Spring Boot App Running on WildFly on an Azure VM
How to build a demo site that runs on the WildFly application platform and connects to a MySQL database in the cloud, on Microsoft Azure. The premise seems simple, but the implementation can be tricky, and there is limited documentation on how to set something like this up.