One of the challenges of the microservices architectures is that the data is managed by different services what makes difficult to do queries across multiple domains. Let’s see a few approaches and the advantages and drawbacks of each of them. Introduction Building a macroservice Including an entity from another domain They won’t be able to…
All the organisations with customers in Europe need to adapt to this new regulation before the end of the year and all the new projects should be compliant. Let’s see its key points and how to adapt to it. The main point of GDPR is to ensure that organisations only use personal data in an…
As applications grow it is normal to break them down into smaller pieces that are easy to combine and maintain. The challenge comes in the integration between these pieces as a small change in one of them may break the communication with the others, and we may not notice it until we get user complaints.…
Performance is key as companies may lose customers and even have to close if their applications are slower than competitors’ ones. We will see some strategies to improve it using caching in microservices architectures Introduction What is caching? In-memory cache Distributed cache Per-request cache Indexed searches Conclusion Introduction We all know the experience. We want…
TestNG is a tool similar to JUnit for testing applications that provides extra functionalities. Let’s see some recommendations to use it better: Define sets of tests (testSuites) in xml files Separate unit tests (test a specific functionality) of integration ones Use the description option and document in javadoc Write the data in xml or properties…
Spring is one of the most used tools to create Java web portals. However, many programmers avoid using it because they don’t know its advantages. Let’s see some of them: Simple configuration files Fast development of forms Web flow management Integrated MVC pattern Annotations use Simple configuration files Everything can be configured with xml files,…
We should design and build systems in a way that ensures any change can be easily reverted even if the people who have worked on it are not available. This post covers some best practices to achieve it.