InfoQ Homepage Architecture & Design Content on InfoQ
-
Project Helidon Tutorial: Building Microservices with Oracle’s Lightweight Java Framework
Oracle introduced its new open-source framework, Helidon, in September 2018. Originally named Java for Cloud, Helidon is a collection of Java libraries for creating microservices-based applications. Within six months of its introduction, Helidon 1.0 was released in February 2019. The current stable release is Helidon 1.4.4, but Oracle is well on their way to releasing Helidon 2.0.
-
Five Reasons to Start Working in the Cloud
Whether self-hosted or managed, this article is going to cover five reasons why a cloud IDE may be precisely what you or your company needs to boost productivity to the next level.
-
Java Feature Spotlight: Sealed Classes
The release of Java SE 15 in Sept 2020 will introduce "sealed classes" (JEP 360) as a preview feature. A sealed class is a class or interface which restricts which other classes or interfaces may extend it. Sealed classes, like enums, capture alternatives in domain models, allowing programmers and compilers to reason about exhaustiveness.
-
Using a DDD Approach for Validating Business Rules
If the goal is to create software applications that emulate the behavior of domain experts, then the challenge is in capturing and implementing the business rules. This is more a factor of good knowledge management than it is raw coding ability. Following techniques from Domain-Driven Design can provide a structure for effectively validating and implementing business rules in a system.
-
Working Together in the Same Direction with Obeya
Obeya1 is a proven approach that facilitates teamwork and the alignment of activities around seven panels to deliver IT or manufacturing products. It accelerates the regular resolution of good problems by breaking down barriers between teams and it also benefits from the support of the management. The purpose of this article describes the first Obeya panel: vision
-
TornadoVM: Accelerating Java with GPUs and FPGAs
The proliferation of heterogeneous hardware represents a problem for programming languages such as Java that target CPUs. TornadoVM extends the Graal JIT compiler to take advantage of GPUs & FPGAs and provides a flexible, high-level model whilst still enabling high performance and features such as live task migration.
-
State at the Edge: an Interview with Peter Bourgon
Building upon topics in his talk at QCon London, Peter Bourgon answers questions about edge computing, distributed data, and the complexity of synchronization.
-
Blazor RenderTree Explained
Blazor is a new single page application (SPA) framework from Microsoft that relies on the .NET framework in favor of JavaScript. As part of its component development model, Blazor uses a DOM abstraction called a RenderTree. In this article we’ll learn what exactly a DOM abstraction is, what the RenderTree is used for, and why Blazor developers should know about it.
-
Crank, a New Front-End Framework with Baked-In Asynchronous Rendering - Q&A with Brian Kim
Brian Kim introduces Crank.js, a new front-end framework with baked-in asynchronous rendering. The framework orchestrates front-end applications' tasks and rendering with standard asynchronous generators. Crank strives to be Just JavaScript, and reduces the number of concepts that need to be acquired to write a front-end application. Gone are proprietary notions of asynchronous resources.
-
Understandability: The Most Important Metric You’re Not Tracking
Understandability is the concept that a system should be presented so that an engineer can easily comprehend it. The more understandable a system is, the easier it will be for engineers to change it in a predictable and safe manner. A system is understandable if it meets the following criteria: complete, concise, clear, and organized.
-
Machine Learning in Java with Amazon Deep Java Library
In this article, we demonstrate how Java developers can use the JSR-381 VisRec API to implement image classification or object detection with DJL’s pre-trained models in less than 10 lines of code.
-
Adoption of Cloud Native Architecture, Part 2: Stabilization Gaps and Anti-Patterns
In this second part of cloud native adoption article series, the authors discuss the anti-patterns to watch out for when using microservices architecture in your applications. They also discuss how to balance between architecture and technology stability by not reinventing the wheel in every new application and at the same time, avoiding arbitrary reuse of technologies.