Guilherme Camposo
Cloud Native Integration with Apache Camel
Building Agile and Scalable Integrations for Kubernetes Platforms
1st ed.
Logo of the publisher
Guilherme Camposo
Rio De Janeiro, Brazil
ISBN 978-1-4842-7210-7 e-ISBN 978-1-4842-7211-4
https://doi.org/10.1007/978-1-4842-7211-4
Guilherme Camposo 2021
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This Apress imprint is published by the registered company APress Media, LLC part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY 10004, U.S.A.
I dedicate this work to my beloved wife, who supports me in every moment of my life. I also would like to dedicate this work to my deceased grandmother and grandfather, who always believed in me and encouraged me to follow my dreams. I really wish you were here to share this moment with me.
Introduction
Building integration is a challenging task done by system architects and developers. Besides the complexity of intermediating the communication of at least two different systems, there is the necessity of adding complementary tools into the mix, like databases, message brokers, and access control tools, plus having to handle the integration tool itself. I want to support you in this challenge.
In Cloud Native Integration With Apache Camel, you will learn how to use an integration tool named Apache Camel. Youll learn how to integrate it with a database, a message broker, and how to deal with access control. Well also discuss architecture and integration practices.
In the first chapter, you will learn the basis for your cloud native integration journey: how to build integration routes with Apache Camel and Quarkus. You will also understand the reason behind some decisions made for this approach to integration.
Chapter is about the most popular cross-application communication architecture: REST APIs. You will see how to expose a route using REST and how to declare OAS definitions.
Chapter describes how to secure and consume REST APIs using an open standard protocol, in this case OpenID Connect. You will learn a little bit about Keycloak, an identity and access management solution, and use it to work on access control.
In Chapter , I will show you how to access relational databases using Camel and Quarkus. You will also see how to work with transactions and how to properly handle exceptions in your integration routes.
Chapter is related to asynchronous communication using message brokers. For the examples, you will use Apache Kafka, a very popular open-source message broker streaming platform. Good practices on declaring routes and approaches in unit tests will also be explored.
The last chapter focuses on how to deploy your integration application to Kubernetes and the good practices you must be aware of before putting the application into production. You will see how easy it is to test locally and how using Quarkus will make your development process really fast.
There are a bunch of patterns, architectures, and technologies to explore in this book. The knowledge you will gain will enable you to face the most common challenges in integration, so you will know everything you need to get started. I hope you enjoy this content as much as I enjoyed writing it. See you in Chapter .
Acknowledgments
Ive always thought I should write a book. In my current profession, I often have to teach or explain a variety of technologies. Ive also taught Java classes in the past but I never really tried to prepare myself to write a book. For that I would like to thank Divya Modi and Apress Media LLC for reaching out and giving me the amazing opportunity to write this book. I also would like to thank my friend Rodrigo Ramalho for doing a great job on this books technical review, and all my colleagues and clients who influence me every day to keep studying and sharing knowledge.
Table of Contents
About the Author
Guilherme Camposo
is a solution architect. He started using open-source projects early in his career and completely fell in love with the Open Source philosophy and potential, leading him to work with an open source company in 2018. Throughout his more than 12-year career, starting as a Java developer, becoming a consultant, and then an architect, Guilherme has acquired vast experience in helping customers from a great variety of business sectors, giving him a broad view on how integration and good software practices can help businesses to grow.
About the Technical Reviewer
Rodrigo Ramalho
is the Integration Leader for Latin America in the open-source company Red Hat.
In this role, he is responsible for spreading Red Hats message of agile integration, leading customers on the API adoption journey through modern event-based architectures, microservices, and API management in multi-cloud container-based environments. He is an open-source enthusiast since a teenager and graduated in Computer Science in 2011. Also, he is a husband and father who likes to practice skydiving and surfing, and he is a brown belt in Brazilian Jiu-Jitsu.
The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2021
G. Camposo Cloud Native Integration with Apache Camel https://doi.org/10.1007/978-1-4842-7211-4_1
1. Welcome to Apache Camel
Guilherme Camposo
(1)
Rio De Janeiro, Brazil
Systems integration is one of the most interesting challenges I face in my job as a solution architect, so it is definitely something Im passionate about discussing and writing. I feel that most books are just too technical, covering everything that a specific tool does, or are just to theoretical, having great discussions about patterns and standards but not showing you how to solve problems with any tool. My problem with these two approaches is that sometimes you read a book, learn a new tool but do not understand how to apply it to different uses cases, or you know the theory too well but not how to apply it in the real world. Although there is plenty of space for these kinds of reading, such as when you want a technical manual for reference or you just want to expand your knowledge on a subject, my objective is to create a material that goes from an introductory perspective to a real-world, hands-on experience. I want you to get to know Apache Camel well, to develop a deeper understanding of integration practices, and to learn other complementary tools that you can use in different use cases. Most importantly, I want you to feel confident in your choices as an architect or as a developer.