Introducing a security layer in your application architecture

Though of course it varies, in most applications you will encounter at least a view layer, a service layer and a data layer. Security will typically be applied on both the business layer as well as the view layer.

Mock frameworks

Mocking frameworks are quite popular in java, and have matured a bit in recent years. Now is a good time to take a look at the top frameworks, and decide which one is best in certain circumstances, and to see why older or home-brewed variants aren’t as solid as these frameworks. Since I think I built up a slightly alternative view on the subject, I felt obliged to share it with the world. So I’ll try to give you my perspective on what I will (try to) use.

Leveraging the Spring MVC 3.1 HandlerMethodArgumentResolver interface

A familiar problem when implementing a REST server, is that your framework limits what you can do. Sometimes, this problem can be mitigated (not solved) by reformulating (i.e. changing) your business needs. For example, you can reformulate save multiple changes to an invoice and its invoice lines with one click on a save button to save each of multiple changes to an invoice and its invoice lines as separate UI actions. Unfortunately, this change increases your audit trail and thus technology trumps business needs.

Testing RESTful applications

Developing a RESTful application basically comes down to developing one server- and one or more client applications. A recurring phase in application development is testing. When developing automated tests involving client-server communication the need for “mocking” will soon rise as the client and server applications must each be tested in their own development cycle.

Bridging the divide between Java and the database with Liquibase

The refactoring movement has largely passed unnoticed in a critical part of the Java domain; the database. Whereas the last couple of years have brought great improvements in Java refactoring, databases still subscribe to the same top-down design model. Worse, the denizens of the two worlds hardly cooperate.

Automate Liquibase migrations

Liquibase migrations can be automated using a DataSource wrapper, provided in JaRB.

HTML and CSS workshop for JAVA developers

When it comes to writing Java applications, 42 maintains a high standard of quality. Strict coding standards, (aiming for) 99% test coverage and constant code reviews has brought our Java development to a completely new level. Having reached our goals for the Java side of things, it was time for us to focus on the front-end aspect of software development.

Using Speakeasy for integration

Speakeasy is a new extension mechanism for Atlassian Products, like JIRA and Confluence, which could be compared with a combination of Gmail Labs and Greasemonkey. Speakeasy allows you to write easy and lightweight extension using HTML, JavaScript and CSS. Speakeasy is an addition to the normal plugin system, the normal plugin system can and should still be used for heavy modifications and full applications on top of the products. Although Speakeasy isn't released publicly yet, a developer preview is available.