Blog

Integration Testing of Microservices

Integration Testing is the second-most important phase in Continuous Integration and Delivery. It’s the first time, multiple components interact with each other. The current trend towards microservice software-architectures require a new thinking regarding integration testing of distributed systems. In this article I want to reflect on the challenges for testing those architectures. In monolithic applications, components or parts are tightly bundled. Incompatibilities can often be detected already during compilation. Components interact with each other through messages that are transmitted locally, i.

Continue reading

Coding Style for high productivity and lesser bugs

In this year’s JCrete unconference I attended a very interesting session about Bugs and Coding style led by Cliff Click (The full discussion can be found here). He started about his experience as a high-performance high-professional coder, about development speed and ratios of bugs in new code, refactored code and bug-fixed code and the implication of this to the code style. Speed of Coding and Rate of Bugs His views and experience are especially interesting as he wrote huge parts of the HotSpot JVM, i.

Continue reading

Building Low-Cost IoT with NodeMCU and Vertx MQTT

On this year’s JCrete conference I learned during the hackday about the NodeMCU board, which is an impressive low-cost alternative to an Arduino. It uses the 80 MHz ESP8266 chip that includes WiFi support out of the box. In this article I’d like to describe how to make a simple temperature and pressure sensor device that publishes data via MQTT to a handler implemented using the reactive Vert.x framework. The hardware for the solution costs no more than $15.

Continue reading

MongoDB Certification

We are the first provider in Switzerland of MongoDB consulting services, certified for both development and administration. This enables us to support our clients even more comprehensively in the realization and operation of projects based on MongoDB.

Continue reading

MongoDB Certification

After a total of 7 weeks of further training followed by certification, we are now pleased to announce that we are certified for the development of applications with MongoDB. This underlines both our focus on innovative technologies as well as our endeavor to offer our customers the highest level of professionalism.

Continue reading

MongoDB Partnership

We are pleased to announce our new partnership with one of the leading NoSQL databases - MongoDB. This partnership underscores our commitment to realizing technologically advanced solutions that can easily meet future requirements in terms of scalability, performance, and robustness. With this partnership and our certified specialists, we are able to expand our offering of professional services at the highest level.

Continue reading

Automation of Admin Web UIs

Particularly in the operation of legacy web applications, there are often recurring administrative tasks. It is not uncommon for such applications to have an administrative interface, but no service interface usable for administration. However, administrative tasks can be automated with simple means, provided the web interface is well-structured from an HTML and HTTP perspective. Additionally, it is advantageous if the client-server interaction does not rely too heavily on server-side session states and provides different entry points for different operations.

Continue reading

What We Test

The discipline of testing has experienced a revival in recent years through agile development and automation. While manual tests, especially smoke tests and usability tests, still exist, the majority of tests, particularly unit tests, are now performed automatically. A large part of what we test are functions or features. These functions and features transform certain input parameters into an observable result. These input parameters consist of up to three components:

Continue reading

Patterns for Dealing with Legacy Code: ServiceLoader

Legacy code is code that was not developed according to current standards of software development, is no longer maintained, and often is not or insufficiently documented. However, external, proprietary closed-source libraries often meet these criteria too. Often, this code is still operated and needs to be adapted from time to time, e.g., to comply with regulatory requirements. Legacy code often comes in the form of CLOBs. An undefined mass of lines of code, of which no one knows anymore what it does.

Continue reading

Mixins with Java

Mixins refer to additional functionality that can be added to a class. They are a special form of multiple inheritance, where properties or behaviors are inherited from several “parents.” Mixins can solve two problem areas: One wants to offer many optional features for a class. One wants to offer a specific feature for many different classes. With the help of mixins, domain models can be kept simple by defining only the essential properties and optional properties can be added via mixins.

Continue reading