Camel for Microservices

Duration: 4 days

Students should be familiar with the Java Platform for this 4-day course. Experience with Scala and/or Java programming language will also be an advantage. Some previous experience with Spring and/or CDI as well as docker is useful but not essential.

Please find the course objectives below:

Camel

  • Camel role in a microservices architecture (msa)
  • Camel history and its role in ESBs
  • Understand Camel DSL (java, scala and xml)
  • Brief overview of Camel CDI
  • Understand a camel exchange and some of its internal behaviour
  • Applying integration patters*
  • Core components (file, ftp, jms, jetty, direct, ...)
  • Integrate with application code (processors, lambdas, classes, beans)
  • Use dataformats for (un)Marshalling (xml, json, protobuf, csv, ...)
  • Use the extensive palette of (js233) scripting language support (simple, xpath, javascript, ...)
  • Web Services and Restful services with cxf components
  • Using the Rest DSL for resttful services
  • Error and exception handling (redelivery, dead-letter-channels, etc)
  • Improve through-put by managing threads and concurrent consumers
  • Idempotent consumers
  • Develop transactional routes
  • Testing camel routes (including mocking and integration testing)
  • Use camel's (aop-style) weaving functionality

Introduction to Camel on Docker & Kubernetes

  • Containerising with Docker
  • Deploying camel services to kubernetes
  • Define kubernetes deployments
  • Defining kubernetes services
  • Use of fabric8
  • Use of openshift (S2I source-to-image)
  • Integrating with activemq (on kubernetes)

Some key Patterns covered during the course

  • Translater
  • Dynamic Receipient List
  • Static Receipient List (multicast)
  • Content-Based Router
  • Aggregator
  • Enricher
  • Splitter (including with aggregator stategy)
  • WireTap
  • Throttler

This well-planned course is exactly what you need to take the first step to working with Camel on Docker & Kubernetes.

For an onsite course please contact us