The following 10-hours trainings have already been successfully conducted and available on demand for a  group of 10-15 people:

Developing OSGi applications

Complete A-Z OSGi workshop using Eclipse Equinox and Apache Karaf. 


  • Modularity and OSGi fundamentals (exercise: developing and deploying a basic OSGi bundle)
  • Bundle communication (exercise: exporting & importing packages, registering and consuming services, service listeners)
  • Service tracking and declarative services (exercise: adding service tracking and declarative services)
  • OSGi security (exercise: securing an OSGi bundle)
  • Testing and debugging OSGi bundles (exercise: unit testing OSGi with PAX Exam, debugging bundles)
  • Building and deploying OSGi bundles (exercise: building and deploying OSGi bundles with Maven)
  • OSGi compendum features and runtime internals (exercise: implementing web and API bundles) 



Developing Apache Spark applications

Covers the basics of Apache Spark with all its distinct frameworks and major third-party integrations.

  • Spark fundamentals (basic concepts and architecture) (exercise: setting up a basic Spark project and creating a sample order processing application)
  • Datasets and transformations (exercise: applying various transformations on the order-processing application)
  • Retrieving and processing data from different sources (exercise: retrieving order datasets from the file system, RDBMS, ActiveMQ and ElasticSearch)
  • Deployment and clustering (exercise: creating a standalone Spark cluster, packaging and deploying the order processing application)
  • Integrating Spark with Spring (exercise: integrating the order processing application with Spring)
  • Using Spark MLib for machine learning (exercise: building a classifier over the order processing application)


Mastering the ELK (Elasticsearch-Logstash-Kibana) stack

Covers all fundamental aspects of writing queries and aggregations, integrating Elasticsearch in your applications, clustering, administering and troubleshooting the ELK stack, working with Kibana, Logstash and the various Beat applications.


  • The ELK stack
  • Elasticsearch fundamentals
  • Kibana fundamentals
  • Elasticsearch integrations
  • Deployment and clustering
  • Security and configuration
  • Logstash
  • Beats



Refactoring, good and bad coding practices

The workshop demonstrates a number of patterns and anitpatterns in software development and techniques for refactoring of bad code.



  • Bad coding practices
  • Catalogue of code smells
  • Lab: code smell discovery and refactoring
  • Design patterns
  • Catalogue of design patterns
  • Lab: applying design pattern



Docker for Java developers

The training covers a range of topics starting from basics of Docker and management of images and containers. It then moves to the administration, provisioning and clustering aspects of Docker. 



  • Docker basics (how does docker work, installation, architecture, basic operations)

  • Docker containers (building and managing containers)

  • Docker administration (managing volumes, networks, Docker registries, securing, configuring and troubleshooting the Docker host and running containers)

  • Provisioning Docker (provisioning Docker containers with Docker Compose and Ansible)

  • Running a Docker cluster (clustering Docker hosts with Docker Swarm and Kubernetes)