Toolbox

Introduction

My main development language is Java, but I also work sometimes with C# and rarely with C++(Qt).

If it comes to frameworks I prefer Spring over Java Enterprise Edition, because it is lightweight and implements new trends very fast. This is also my experience after implementing around 20 Spring (also Spring Boot) applications and two huge JEE applications.

I’m currently looking into Kotlin as language and also in connection with Spring Boot 2 for server side development.

Go to the Curriculum Vitae page if you want to see qualifications/jobs/education.


Specific knowledge in following domains

  • Affiliate networks
  • Digital Signage - software solutions for installations with a few thousand devices
  • E-commerce - development of custom software solutions
  • Insurance companies - development of custom software solutions
  • Payment providers / APIs
    • PayPal Integration
    • Fidor Integration - German bank with REST API

General

  • RESTful web services
  • HTML - Basic
  • CSS - Basic
  • JavaScript - Basic
  • XML
  • JSON
  • SQL
  • Web services

Java Standards

  • Java SE 8/9
  • Java EE 6 with EJB 3
  • JSF 2.2 with Primefaces
  • JPA 2.1
  • JAX-RS - RESTful web services
  • JAX-WS - SOAP web services
  • and most likely a few others we use unknowingly

Spring

  • Spring Framework
  • Spring Boot
  • Spring Data JPA
  • Spring Security
  • Spring Social
  • Spring Social Facebook
  • Spring MVC
  • Spring + Thymeleaf

Testing

  • JUnit 4/5 – JUnit is a simple framework to write repeatable tests
  • TestNG - Also a testing framework for unit-, functional-, end-to-end-, integration-testing aso.
  • Mockito – Mocking framework for unit tests in Java
  • AssertJ – Fluent assertions for Java
  • REST-assured – A framework for testing REST APIs and validate their responses

Build tools

  • Gradle - enables building of applications of multiples types and languages
  • Maven - managed by the Apache Foundation

Databases

  • PostgreSQL – A open source object-relational database system. (My preferred DB)
  • MySQL - Also an open source database which is easy to use
  • mongoDB - NoSQL database for data where not all aspects of ACID are needed

Servers

  • Nginx - used for delivery of static content and as a reverse proxy for Java applications
  • Tomcat - for deployment of Java applications, also as embedded servlet container
  • Undertow - as embedded servlet container, faster than Tomcat and with lower footprint
  • JBoss - used for Java EE applications

Cloud

  • MongoDB Atlas - Automation of clusters/users/databases/security setup and VPC peering with AWS infrastructure by API
  • Automatic setup of AWS infrastructure with CloudFormation and tools like autostacker24 (Infrastructure As Code)
  • Planning and setup of the following AWS infrastructure
  • AWS Elastic Load Balancer (ELB)
  • AWS Elastic Compute 2 (EC2)
  • AWS Relational Database Service (RDS)
  • AWS Simple Storage Service (S3)
  • AWS Elastic Beanstalk (EB)
  • AWS Route 53

Portal software

  • Liferay 7 GA1/GA2/GA3, Web-Services with OSGI, Manipulation

Project management