This page looks best with JavaScript enabled

RESTful web services with Jersey

 ·  ☕ 2 min read

This project involved a 3-tier setup (web server, application server, database). The basic coding was already done but was in a state of “proof of concept”. Almost everything was copy/pasted so there was a need for a complete refactoring.

I managed to strip down every service to several one-liners which are backed by helper methods and abstract classes doing the real work.

  • project consists of 80+ services right now
  • upgraded to Eclipse Jersey 2.17
  • switched to Java 8
  • completely refactored & streamlined existing code (got rid of 60-70% of the code)
  • extracted methods that are used by UI and Web Service tier into a separate “commons project”
  • added SLF4J & log4j logging
  • RESTful services get XML as input
  • input XML is validated against XSD schema definitions
  • XSD Generator creates XSD files; uses information from a description file & database
  • built search functionality for user configurable generic searches
  • added unit tests and scripted tests with curl
  • integrated & refactored existing Apache shiro authentication
  • caching with Ehcache on a full table and on single objects basis
  • Java Mail integration
  • Encryption / decryption of email attachments (configurable)
  • Quartz integration for scheduled, threaded sending of Email
  • completely refactored existing MySQL code for database setup
  • working with git & Bitbucket
  • designed custom build process: generate tables for generic search functionality → create database → generate XSDs for input validation → build
  • Crystal Reports integration, bulk creation of reports / invoices
  • Completely refactored the UI code as well

client review on upwork:
git commits:
Share on