Using CDI in a Dropwizard Microservice

Dropwizard provides a great infrastructure for creating microservices. Jetty for http, Jersey for Rest, Jackson for JSON, Metrics for metrics and other useful helper libraries can be seen as a “best of breed” approach for developing microservices with the java platform. The usage of CDI in web- and backend applications however has been essential in…

Details

Running your Dropwizard Microservice as a Windows Service

Creating a mircoservice with dropwizard is an easy task. You do some java coding and configure a YAML file to get a running microservice within a short time. The created jar artefact can be started and tested with the common java command. However if you would like to let your service run on a Microsoft…

Details

Teaching Enterprise Architect standard Java

When I prepared for the “Oracle Enterprise Architect Master Certification” I was introduced to Sparx Enterprise Architect. It was recommended as the best tool to model and design the practical tasks I had to solve during the certification process by the coach I met at the Oracle certification center. Enterprise Architect (EA) is always up-to-date…

Details

Access a Wildfly credential vault with Java

Securing passwords is a common task for developers. Wildfly offers credential vaults for this task and manages to automatically use the secured passwords for datasources or active directory credentials. If you need to access a vault from java you need to read the SecurityVault with the help of the picketbox security classes of the Wildfly…

Details

Teaching Enterprise Architect Java Exceptions

Enterprise Architect (EA) is great tool to model classic UML structural and behavioral diagrams. It is a multi-purpose tool that supports a variety of programming languages like Java, C#, Php or Visual Basic. In the article Teaching EA Standard Java I explained how to use all Java classes and interfaces of standard and enterprise Java.I…

Details

Java 8 concurrency in a Vaadin UI

Right now – as I am writing this post – Vaadin is my favourite UI framework for Java web applications. While alot of frameworks seem to create just as much problems as they are trying to solve, Vaadin helps me in creating stylish reactive user interfaces. In this post I will show how to use…

Details

Optimized UI for mobile and web with PrimeFaces

When developing web applications with JSF and PrimeFaces most target users are still using PC or laptops as they will use the application mainly during work hours. Mobile devices like smartphones or tablets are supposed to work without code modifications, but most of the times there are no optimized layouts for those devices. PrimeFaces offers…

Details

A practical guide to MVP for Vaadin

The MVP (model-view-presenter) is a solid architecture pattern for Vaadin projects of all sizes. However there are many ways to achieve it. I would like to have a MVP architecture in my Vaadin projects and use the cool features of the Vaadin framework and its eco-system like a WYSIWYG editor for UI layout or the…

Details

what a cool fog

Unit tests for a Vaadin 8 MVP application

The model-view-presenter (aka MVP) architecture pattern is a good choice for Vaadin applications. It clearly separates the business logic from the UI code and improves testability. Well… I heard statements like that many times before without proper explanations or examples what makes a pattern so useful that we cannot start a new project without using…

Details

Material Design with Vaadin

Material Vaadin

The Vaadin 8 framework uses the excellent Valo theme, which can be used out-of-the-box or as the base for a custom theme. The (old school) themes for Vaadin 7 (reindeer, runo and chameleon) are still usable with the vaadin-compability-themes.jar. During the last couple of weeks (June 2017) some interesting add-ons in the vaadin directory appeared…

Details

An update to Vaadin, CDI and readable URIs

With version 8.3 of the Vaadin UI framework along with the official CDI addon for Vaadin, come a number of changes for CDI usage. Some enhancements were made for the CDI navigator and it is now possible to have nice readable and bookmarkable Urls in your vaadin application. I summed up the latest changes for…

Details

Vert.x and Angular in a self-contained application

While I am still working with standard JEE architectures, I wanted to try out a Javascript frontend connecting to a Java backend in a self-contained application (SCA) for a long time. I am using Angular (at the moment the javascript UI framework with the biggest market share) and Vert.x for a showcase project. Vert.x sets…

Details

Perfect multi language support for your Vaadin application (I18N)

Creating a multi lingual web application is a common task in modern web development. Most (old-school) java web frameworks offer out-of-the-box solutions for this task, but for single-page-application frameworks like Vaadin, you need to come up with some fresh ideas for localization. The business requirements for a Vaadin i18n application I would like to collect…

Details

Vaadin 10: Templating your views with FlexLayout

Vaadin 10 is an almost complete rewrite of the successfull Vaadin framework and offers many new interesting and usefull features. One interesting feature is the router, that will superseed the navigator of Vaadin 8. With the @Route annotation placed at the type definition of a view class, it is possible to use a template for…

Details

Vaadin 10: Using theme style classes for your components

The first release candidate for Vaadin 10 has been unleashed and I have just started to migrate some of my Vaadin 7/8 projects to version 10. As I prefer a server side programming model for Vaadin projects, I did not have many problems with the server side. The client components as well as the layout and styles…

Details

Nature of Architecture

Check your Vaadin MVP architecture with Unit tests

All those architectures out there start as a simple consistent idea… and end in a mess. After too many change requests and refactoring tasks to improve your project or correct issues, there might be nothing much left of the architecture you once started with. In this post I will give an example on how to…

Details