SlideShare a Scribd company logo
Workshop with Apache Camel

Claus Ibsen (@davsclaus)
Principal Software Engineer, Red Hat
Barcelona JUG, january 2014

1

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

Prerequisite

●

Try 1st Camel Example

●

Create new Camel project
●

Deploy our application to Apache Tomcat

●

Modify the application and use servlet/restlet

●

Install hawtio in Apache Tomcat

●

●

2

REST project with Apache CXF-RS
Fabric8 Demo

PUBLIC PRESENTATION | CLAUS IBSEN
Pre-Requisite
●

●

Maven 3.0.4 (or 3.1.1 most likely works now)

●

Eclipse, IDEA or NetBeans

●

Apache Camel 2.12.2

●

3

Java 7

hawtio 1.2.2

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

Prerequisite

●

Try 1st Camel Example

●

Create new Camel project
●

Deploy our application to Apache Tomcat

●

Modify the application and use servlet/restlet

●

Install hawtio in Apache Tomcat

●

●

(REST project with Apache CXF-RS)

●

REST project with Apache CXF-RS

●

4

(Create new Java Camel project)

Fabric8 Demo
PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache Camel

This document discusses Enterprise Integration Patterns (EIPs) using Apache Camel, a Java framework for integration and mediation. It provides an overview of common EIPs like content-based routing, normalization, and the transactional client pattern. It also demonstrates how to implement EIPs like these using the Java and Spring DSLs in Camel. Key features of Camel like components, exchanges, processors and error handling are explained. Tools for working with Camel like Fuse IDE and Hawt.io are also introduced.

eipjavaapache camel
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library

We start with an introduction to what Apache Camel is, and how you can use Camel to make integration much easier. Allowing you to focus on your business logic, rather than low level messaging protocols, and transports. You will hear how Apache Camel is related Enterprise Integration Patterns which you can use in your architectural designs and as well in Java or XML code, running on the JVM with Camel. You will also hear what other features Camel provides out of the box, which can make integration much easier for you. We also take a moment to look at web console tooling that allows you to get insight into your running Apache Camel applications, which has among others visual route diagrams with tracing/debugging and profiling capabilities. In addition to the web tooling we will also show you other tools in the making. This talk was presented at JDKIO on September 13th 2016.

apache camelintegrationopen source
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel

Red Hat Microservices Architecture Day - New York, November 2015. Presented by Claus Ibsen. Apache Camel is a very popular integration library that works very well with microservice architecture. This talk introduces you to Apache Camel and how you can easily get started with Camel on your computer. Then we cover how to create new Camel projects from scratch as microservices, which you can boot using Camel or Spring Boot, or other micro containers such as Jetty or fat JARs. We then take a look at what options you have for monitoring and managing your Camel microservices using tooling such as Jolokia, and hawtio web console.

apache camelfabric8kubernetes
Try 1st Apache Camel Example
●

Extract Apache Camel 2.12.2

●

Read the readme file and follow instructions

Mind a little bug in Camel 2.12.2 in the camel-stream component.
Is fixed in 2.12.1 and upcoming 2.12.3

5

PUBLIC PRESENTATION | CLAUS IBSEN
Try 1st Apache Camel Example
●

Exercise 1
Make the example lower case instead!

6

PUBLIC PRESENTATION | CLAUS IBSEN
Try 1st Apache Camel Example
●

Open example in IDE
●

7

IDEA is just open project → locate the pom.xml file

PUBLIC PRESENTATION | CLAUS IBSEN
Try 1st Apache Camel Example
●

Open example in IDE
●

8

Eclipse → File → Import … → Existing Maven Project

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers

Developing Java based microservices ready for the world of containers The so-called experts are saying microservices and containers will change the way we build, maintain, operate, and integrate applications. This talk is intended for Java developers who wants to hear and see how you can develop Java microservices that are ready to run in containers. In this talk we will build a set of Java based Microservices that uses a mix of technologies with: - Spring Boot with Apache Camel - Apache Tomcat with Apache Camel You will see how we can build small discrete microservices with these Java technologies and build and deploy on the Kubernets/OpenShift3 container platform. We will discuss practices how to build distributed and fault tolerant microservices using technologies such as Kubernetes Services, Camel EIPs, Netflixx Hysterix, and Ribbon. We will use Zipkin service tracing across all four Java based microservices to provide a visualization of timings and help highlight latency problems in our mesh of microservices. And the self healing and fault tolerant aspects of the Kubernetes/OpenShift3 platform is also discussed and demoed when we let the chaos monkeys loose killing containers. This talk is a 50/50 mix between slides and demo.

dockerapache camelkubernetes
Graph ql subscriptions through the looking glass
Graph ql subscriptions through the looking glassGraph ql subscriptions through the looking glass
Graph ql subscriptions through the looking glass

This document summarizes a reflection on GraphQL subscriptions and four GraphQL server implementations on the JVM. It provides an overview of GraphQL and how subscriptions work over websockets. It then evaluates lacinia-pedestal, graphql-spring-boot-starter, graphql-kotlin, and micronaut-graphql in terms of their source, engine used, support for only subscriptions over websockets, and whether they are code or schema first. Performance tests showed average end-to-end latency and throughput of up to 300 new subscriptions/second. The document concludes with questions and future directions for GraphQL subscriptions.

javaclojureclojurescript
Implementing your own Google App Engine
Implementing your own Google App Engine Implementing your own Google App Engine
Implementing your own Google App Engine

Google App Engine (GAE) is a popular PaaS offering. Where its scalable and reliable environment is hidden behind a custom API. This makes GAE apps hard to port over to other non-GAE environments. But what if one could implement such similar environment? And you could simply move your GAE application’s .war file to this new environment and it would just work? After all, at the end it’s all about the API, plus scalable and reliable services. JBoss CapeDwarf project aims at making this a reality. This presentation will provide a glimpse into what it takes to implement something as GAE, ranging from runtime integration with JBoss Application Server, actual services implementation to last but not least, automated heavy testing.

jbossgoogle app enginejava
Try 1st Apache Camel Example
●

Open example in IDE
●

9

Select root folder …

PUBLIC PRESENTATION | CLAUS IBSEN
Try 1st Apache Camel Example
●

10

Edit the source code
src/main/resources/META-INF/
spring/camel-context.xml

PUBLIC PRESENTATION | CLAUS IBSEN
Try 1st Apache Camel Example
●

Run the example from IDE

●

… type the command which was listed in the readme

11

PUBLIC PRESENTATION | CLAUS IBSEN
Try 1st Apache Camel Example
●

Run the example from IDE

●

… type the command which was listed in the readme

12

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

Graph ql subscriptions on the jvm
Graph ql subscriptions on the jvmGraph ql subscriptions on the jvm
Graph ql subscriptions on the jvm

Subscriptions offer a stream of data to be send to clients. How are they implemented on the api, and how do several GraphQL servers compare?

graphqljavaclojure
Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)

A talk given to JCConf 2015 on 2015/12/05. 在程式設計領域,“immutable objects” 是相當重要的設計模式。同樣��,在虛擬化及雲端時代,“immutable infrastructure” 也成為新一代的顯學。在資源及流程的充分配合下,這將會大大簡化系統的複雜度,穩定性也會大大提升。 本演講將會從觀念出發,並佐以部份實作建議,讓大家有足夠資訊來評估此架構的好處。 Video: https://youtu.be/9j008nd6-A4

immutable infrastructure
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014

Upload your first module to the Comprehensive Perl Archive Network, interact with it in Github, and send and merge pull requests from co-maintainers.

perlgitcpan
Try 1st Apache Camel Example
●

13

The console is within the IDE

PUBLIC PRESENTATION | CLAUS IBSEN
Try 1st Apache Camel Example
●

Run Maven in IDEA

I had to override maven home to 'fix this'

14

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

Prerequisite

●

Try 1st Camel Example

●

Create new Camel project
●

Deploy our application to Apache Tomcat

●

Modify the application and use servlet/restlet

●

Install hawtio in Apache Tomcat

●

REST project with Apache CXF-RS

●

Fabric8 Demo

15

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Exercise 2
Create a new Camel Web project,
deployable in Apache Tomcat

16

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

Web frameworks don't matter
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matter

This document discusses best practices for designing, scaling, and maintaining large-scale web applications. Some of the key points made include: having a consistent and flexible data model, loosely coupling components for easier testing and replacement, using caching strategies like page fragments and memcached, and emphasizing development practices like version control, testing, and monitoring performance. The document advocates for a modular architecture with components like load balancers, reverse proxies, caching layers, and asynchronous job queues.

varnishesiperl
Introducing spring
Introducing springIntroducing spring
Introducing spring

Spring Framework provides a comprehensive infrastructure to develop Java applications. It handles dependency injection and inversion of control so developers can focus on domain logic rather than plumbing. Spring promotes best practices like clean code, test-driven development, and design patterns. It includes aspects for cross-cutting concerns and supports web development through frameworks like Spring MVC. The document introduces Spring's lightweight and modular IoC container and AOP capabilities for separating concerns.

Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9

Join us for this interactive event and get your hands dirty with some WildFly 9 hacking! Our host Kabir Khan will explain how you can contribute to the WildFly project at many different levels, from properly reporting bugs in the forums and issue tracker, to actually being able to submit a pull request. During this interactive event you will have a chance to play with WildFly 9 and try some of the following: • Find a JIRA you want to work on. • See how to check-out the code and setup your IDE. • Build WildFly • Code walkthrough - code organisation, jboss-modules etc. • Debug something from a stack trace in a JIRA issue to nail down the problem. • Try the testsuite • And more!

wildflyjbossred hat
Create a new Camel project
●

Use the Maven Archetype
●

●

17

camel-archetype-web

From the command line

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Or from IDE
●

18

File → New Project... → New Maven Project

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Or from IDE
●

19

Filter by Camel and select camel-archetype-web

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Build the WAR

●

… and deploy to Apache Tomcat

.. and start Tomcat
… and see output on console
20

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

Indexing BackPAN
Indexing BackPANIndexing BackPAN
Indexing BackPAN

BackPAN is a historical archive of the Comprehensive Perl Archive Network (CPAN) containing 200k files and 10 GB of data. CPAN itself only contains distributions uploaded by authors and has 55k distributions totaling 4 GB. CPAN tools use an index to install files by putting them in the include path (@INC) without tracking file to distribution mappings or managing versions.

backpanbackpancpan
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development

Docker is not just about deploying containers to hundreds of servers. Developers need tools that help with day-to-day tasks and to do their job more effectively. Docker is a great addition to most workflows, from starting projects to writing utilities to make development less repetitive. Docker can help take care of many problems developers face during development such as “it works on my machine” as well as keeping tooling consistent between all of the people working on a project. See how easy it is to take an existing development setup and application and move it over to Docker, no matter your operating system.

dockerphpworkflows
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git together

This document discusses Git strategies for teams. It outlines several branching strategies including "wing and a prayer", long-running branches, Git flow, and branch-per-feature. Git flow uses long-running branches with specific rules for features, hotfixes, bugs, and only merging develop branches to master once stable. Branch-per-feature creates a new branch for each feature or change and nothing is merged until production deployment. The document also discusses automation, team composition, environments, and selection criteria to consider when choosing a branching strategy.

gitversion control
Create a new Camel project
●

Exercise 3
Modify application to listen on HTTP endpoint
and return a response message to client

21

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Add camel-servlet to Maven pom.xml

… add servlet in WEB-INF/web.xml

22

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Add modify Camel route

… build WAR and deploy to Tomcat by copying WAR

… and try from browser

23

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Modify Camel route to add content based router

… build WAR and deploy to Tomcat by copying WAR
… and try from browser

24

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...

Ansible playbooks and roles are code and as any other code it should be tested automatically before it is applied in production environments. But unit tests are not as usefull for Ansible code. We need integrations tests with a fresh linux system everytime. We test with the triple-A concept: • Arrange: boot one or more fresh linux VMs (Vagrant, Virtualbox) • Act: apply Ansible code to test • Assert: test state of the VMs with another Ansible playbook More topics: • Why testing the Ansible code too? • How to test on every git commit? • Troubles to create a testing environment

open sourceoscamposmc
Perlbrew
PerlbrewPerlbrew
Perlbrew

- Perlbrew is a tool for managing multiple perl installations on a system. It allows installing different versions of perl and switching between them. - It isolates perl installations so that installing a new version does not affect existing site libraries or upgrade dependent modules. This avoids conflicts between applications. - Perlbrew provides benefits like not requiring sudo for cpan, easier cleanup of perl environments, and ability to set up isolated perl environments for different applications to avoid incompatible issues.

yapcasia yapcasia2011cpanperl
Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel

ActiveMQ is an open source message broker that implements the Java Message Service (JMS) API. It allows applications written in different languages to communicate asynchronously. Apache Camel is an open source integration framework that can be used to build messaging routes between different transports and APIs using a simple domain-specific language. It provides mediation capabilities and supports common integration patterns. Both ActiveMQ and Camel aim to simplify integration between disparate systems through message-based communication.

Create a new Camel project
●

Exercise 4
Add Content Based Router and return
two different kind of reply messages

25

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Modify Camel route to add content based router

… build WAR and deploy to Tomcat by copying WAR
… and try from browser

26

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Exercise 5
Install hawtio and browse the route and
see runtime statistics
Try to update the route from hawtio
And try the debugger also.

27

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Download hawtio 1.2.2 default WAR
●

●

http://hawt.io/getstarted/index.html

Copy .war to Apache Tomcat and rename to
hawtio.war

And access hawtio from web browser
●

28

http://localhost:8080/hawtio

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes

Building microservices requires more than just infrastructure, but infrastructure does have a role. In this talk we look at microservices from an enterprise perspective and talk about DDD, Docker, Kubernetes and how established open-source projects in the integration space fits a microservices architecture

dockermicroserviceskubernetes
Managing your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDManaging your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CD

Developing integration microservices using CI/CD with apache camel, open shift, fabric8.io, jenkins, et al.

pipelinemicroservicesjenkins
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel

We start with an introduction to what Apache Camel is, and how you can use Camel to make integration much easier. Allowing you to focus on your business logic, rather than low level messaging protocols, and transports. You will also hear what other features Camel provides out of the box, which can make integration much easier for you. We look into web console tooling that allows you to get insight into your running Apache Camel applications, which has among others visual route diagrams with tracing/debugging and profiling capabilities. In addition to the web tooling we will also show you other tools in the making.

apache camelopen sourceintegration
Create a new Camel project
●

29

Update route

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

30

Debug route

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Exercise 6
Modify application to use restlet for simple
REST service as a Camel route

31

PUBLIC PRESENTATION | CLAUS IBSEN
Create a new Camel project
●

Add camel-restlet to Maven pom.xml

… and modify route

●

32

After deploy to Apache Tomcat try from browser

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

Microservices and APIs
Microservices and APIsMicroservices and APIs
Microservices and APIs

The document discusses microservices and APIs. It covers how microservices optimize for speed by shedding dependencies and having dependencies on demand through services and APIs. It discusses consumer contracts for APIs and service versioning. It also discusses using an API gateway pattern for scalability, security, monitoring and more. It promotes API management for benefits like access control, analytics, and monetization of microservices.

kubernetesmicroservicesapi
SOA to Microservices
SOA to MicroservicesSOA to Microservices
SOA to Microservices

10 yrs ago, SOA promised a lot of the same things Microservices promise use today. So where did we go wrong? What makes microservices different? In this talk, we discussed from an architectural view how we went sideways with SOA, why we must embrace things like Domain Driven Design and scaled-out architectures, and how microservices can be built with enterprises in mind. We also cover a step-by-step, in-depth tutorial that covers these concepts.

apache cameljava eeapache kafka
Global Netflix Platform
Global Netflix PlatformGlobal Netflix Platform
Global Netflix Platform

Slides from QConSF Nov 19th, 2011 focusing this time on describing the globally distributed and scaled industrial strength Java Platform as a Service that Netflix has built and run on top of AWS and Cassandra. Parts of that platform are being released as open source - Curator, Priam and Astyanax.

paasqconsfaws
Create a new Camel project
●

●

Notice we are using port 8081 and not the servlet
container from Apache Tomcat.
To do so see details at
●

33

http://camel.apache.org/restlet

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

Prerequisite

●

Try 1st Camel Example

●

Create new Camel project
●

Deploy our application to Apache Tomcat

●

Modify the application and use servlet/restlet

●

Install hawtio in Apache Tomcat

●

REST project with Apache CXF-RS

●

Fabric8 Demo

34

PUBLIC PRESENTATION | CLAUS IBSEN
REST project with Apache CXF-RS
●

REST using pure Apache CXF (no Camel)

●

Example
●

●

35

https://github.com/fabric8io/fabric8/tree/master/quickstarts/re

Use JAX-RS annotations

PUBLIC PRESENTATION | CLAUS IBSEN
REST project with Apache CXF-RS
●

Setup Apache CXF-RS server
●

36

Easier to do in Spring or OSGi Blueprint XML file

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration library

This presentation will demonstrate to developers involved with integration how the Apache Camel project can make your life much easier. We start with an introduction to what Apache Camel is, and how you can use Camel to make integration much easier. Allowing you to focus on your business logic, rather than low level messaging protocols, and transports. You will hear how Apache Camel is related Enterprise Integration Patterns which you can use in your architectural designs and as well in Java or XML code, running on the JVM with Camel. You will also hear what other features Camel provides out of the box, which can make integration much easier for you.

integrationapache cameleip
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC

Christian Posta is a principal middleware specialist and architect who has worked with large microservices architectures. He discusses why companies are moving to microservices and cloud platforms like Kubernetes and OpenShift. He covers characteristics of microservices like small autonomous teams and decentralized decision making. Posta also discusses breaking applications into independent services, shedding dependencies between teams, and using contracts and APIs for communication between services.

microservicesdistributed systemspromise theory
The hardest part of microservices: your data
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your data

Microservices architecture is a very powerful way to build scalable systems optimized for speed of change. To do this, we need to build independent, autonomous services which by definition tend to minimize dependencies on other systems. One of the tenants of microservices, and a way to minimize dependencies, is “a service should own its own database”. Unfortunately this is a lot easier said than done. Why? Because: your data. We’ve been dealing with data in information systems for 5 decades so isn’t this a solved problem? Yes and no. A lot of the lessons learned are still very relevant. Traditionally, we application developers have accepted the practice of using relational databases and relying on all of their safety guarantees without question. But as we build services architectures that span more than one database (by design, as with microservices), things get harder. If data about a customer changes in one database, how do we reconcile that with other databases (especially where the data storage may be heterogenous?). For developers focused on the traditional enterprise, not only do we have to try to build fast-changing systems that are surrounded by legacy systems, the domains (finance, insurance, retail, etc) are incredibly complicated. Just copying with Netflix does for microservices may or may not be useful. So how do we develop and reason about the boundaries in our system to reduce complexity in the domain? In this talk, we’ll explore these problems and see how Domain Driven Design helps grapple with the domain complexity. We’ll see how DDD concepts like Entities and Aggregates help reason about boundaries based on use cases and how transactions are affected. Once we can identify our transactional boundaries we can more carefully adjust our needs from the CAP theorem to scale out and achieve truly autonomous systems with strictly ordered eventual consistency. We’ll see how technologies like Apache Kafka, Apache Camel and Debezium.io can help build the backbone for these types of systems. We’ll even explore the details of a working example that brings all of this together.

domain driven designspring bootdistributed systems
REST project with Apache CXF-RS
●

REST using pure camel-cxfrs (with Camel)
●

Uses route(s) as input

●

Define API in java interface/class (as if JAX-RS)
●
●

●

Either as interface
Or class implementation with no logic

Two binding modes
●

Default

●

Simple (in fact simpler and better)
Sorry at this I didn't have the time to implement
a Camel cxf-rs example for you

37

PUBLIC PRESENTATION | CLAUS IBSEN
Agenda
●

Prerequisite

●

Try 1st Camel Example

●

Create new Camel project
●

Deploy our application to Apache Tomcat

●

Modify the application and use servlet/restlet

●

Install hawtio in Apache Tomcat

●

REST project with Apache CXF-RS

●

Fabric8 Demo

38

PUBLIC PRESENTATION | CLAUS IBSEN
Fabric8 Demo

http://fabric8.io
39

PUBLIC PRESENTATION | CLAUS IBSEN
Fabric8 Demo
●

Follow Getting Started Guide

●

Start Fabric8

http://fabric8.io
40

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey

The document discusses Christian Posta's journey with microservices architectures. It begins by explaining why organizations are moving to microservices and defines microservices. It then covers related topics like cloud platforms, container technologies like Kubernetes and OpenShift, benefits and drawbacks of microservices, and tools for developing microservices like Docker, Kubernetes, OpenShift, and Camel.

microservicesspring bootopenshift
Fabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymoreFabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymore

Fabric8 is a tool that aims to reduce the gap between development and operations by allowing developers to deploy and manage applications from development through production. It uses profiles and containers to deploy applications in a unified way across environments. Fabric8 supports various containers like Tomcat, Docker, and OpenShift. It includes integrated monitoring via Hawt.io and a shell to help with scripting and diagnostics. The goal is to make developers more self-sufficient by enabling them to take on more operations tasks in their own sandboxes.

Developing Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenDeveloping Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus Ibsen

Claus Ibsen's presentation during Red Hat's "Microservices Journey with Apache Camel" events that took place in Atlanta on Oct 4th and Minneapolis on Oct 6th.

red hatmicroservicesapache camel
Fabric8 Demo
Create Fabric
(just use admin/admin for credentials)

… open web browser - http://localhost:8181/

41

PUBLIC PRESENTATION | CLAUS IBSEN
Fabric8 Demo
Switch to Fabric Perspective
Install the camel wiki example
1. Click Configuration
2. Navigate up the tree → example → camel
3. Click wiki

42

PUBLIC PRESENTATION | CLAUS IBSEN
Fabric8 Demo
4. Click the new button
5. Enter a container name
6. And click Create Container
Container being created …

43

PUBLIC PRESENTATION | CLAUS IBSEN
Fabric8 Demo
7. Click container to see its details
8. Click connect button to connect to it

9. And you see the logs of the container

44

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

Oracle Developers APAC Meetup #1 - Working with Wercker Worksheets
Oracle Developers APAC Meetup #1 -  Working with Wercker WorksheetsOracle Developers APAC Meetup #1 -  Working with Wercker Worksheets
Oracle Developers APAC Meetup #1 - Working with Wercker Worksheets

Oracle Developers APAC Meetup #1 - Working with Wercker This is the hands-on work exercise example used for the Oracle APAC Developers Meetup #1 held in Singapore on 7th February 2018. The worksheets are intended to be used in conjunction with the slides. You can find the slides at : https://www.slideshare.net/DarrelChia1/oracle-apac-developers-meetup-1-working-with-wercker-slides Meetup Site: https://www.meetup.com/Oracle-Developers-APAC/events/247111220/

werckermeetuporacle apac developers
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training

Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications. This training helps you understand key concepts within 3 hours.

k8skubernetestraining
Getting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdf
Getting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdfGetting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdf
Getting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdf

Containers-and-Kubernetes

Fabric8 Demo
7. Click container to see its details
8. Click connect button to connect to it

9. And you see the logs of the container

45

PUBLIC PRESENTATION | CLAUS IBSEN
Fabric8 Demo
10. Close the window and get back to the root container
11. Click on wiki to be able to edit the Camel route

12. Click on camel.xml to
open Camel editor

46

PUBLIC PRESENTATION | CLAUS IBSEN
Fabric8 Demo
13. The editor opens and you can
edit the Camel route
14. Click apply and save to
save changes
15. The container is updated.
Connect to the container to see
the updated changes.

47

PUBLIC PRESENTATION | CLAUS IBSEN
Fabric8 Demo
Install and try the Loan Broker Example

See video how to do that
http://vimeo.com/album/2635012/video/84674508
… and there are more videos here
http://vimeo.com/album/2635012
48

PUBLIC PRESENTATION | CLAUS IBSEN

Recommended for you

Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers

This document outlines an introduction to Docker for Java developers, including running Java microservices and applications in Docker containers. It discusses building Docker images with Maven, interacting with the Docker API in Java, continuous delivery with Jenkins and Docker, and deploying Java applications to production using Docker clusters like Kubernetes and Docker Swarm.

dockerswarmcontainers
Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.

Frank van der Linden / elstar IT Since a few years the Domino server is a real Java server. Which give you plenty of new opportunities, such as real servlets. Get and post data to any database via a Java servlet. Develop once, run everywhere. In this session you will learn what are servlets, how to create a servlet as OSGi plugin. Make use of other plugins projects or third party projects and. Run the servlet on a Domino server and other Java servers, like Websphere Liberty Profile, Tomcat and Wildfly. Last but not least, how to deploy the servlet as OSGi plugin or as jar file or update site to the Domino server.

iconuk2016servletsibm domino
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)

Kubernetes can schedule and manage containers across multiple clusters in different regions through cluster federation. The federation control plane manages deploying replicated applications and services across clusters. It creates a single API and DNS name to discover services running on pods in any federated cluster.

More Related Content

What's hot

Using Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityUsing Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivity
Claus Ibsen
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
Claus Ibsen
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014
Claus Ibsen
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache Camel
Ioan Eugen Stan
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library
Claus Ibsen
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
Claus Ibsen
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
Claus Ibsen
 
Graph ql subscriptions through the looking glass
Graph ql subscriptions through the looking glassGraph ql subscriptions through the looking glass
Graph ql subscriptions through the looking glass
Gerard Klijs
 
Implementing your own Google App Engine
Implementing your own Google App Engine Implementing your own Google App Engine
Implementing your own Google App Engine
Virtual JBoss User Group
 
Graph ql subscriptions on the jvm
Graph ql subscriptions on the jvmGraph ql subscriptions on the jvm
Graph ql subscriptions on the jvm
Gerard Klijs
 
Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)
William Yeh
 
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014
brian d foy
 
Web frameworks don't matter
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matter
Tomas Doran
 
Introducing spring
Introducing springIntroducing spring
Introducing spring
Ernesto Hernández Rodríguez
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
Virtual JBoss User Group
 
Indexing BackPAN
Indexing BackPANIndexing BackPAN
Indexing BackPAN
brian d foy
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git together
ColdFusionConference
 
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...
NETWAYS
 
Perlbrew
PerlbrewPerlbrew
Perlbrew
Kang-min Liu
 

What's hot (20)

Using Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivityUsing Apache Camel connectors for external connectivity
Using Apache Camel connectors for external connectivity
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache Camel
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Graph ql subscriptions through the looking glass
Graph ql subscriptions through the looking glassGraph ql subscriptions through the looking glass
Graph ql subscriptions through the looking glass
 
Implementing your own Google App Engine
Implementing your own Google App Engine Implementing your own Google App Engine
Implementing your own Google App Engine
 
Graph ql subscriptions on the jvm
Graph ql subscriptions on the jvmGraph ql subscriptions on the jvm
Graph ql subscriptions on the jvm
 
Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)
 
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014
 
Web frameworks don't matter
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matter
 
Introducing spring
Introducing springIntroducing spring
Introducing spring
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
Indexing BackPAN
Indexing BackPANIndexing BackPAN
Indexing BackPAN
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git together
 
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...
OSCamp 2019 | #3 Ansible: Automated Tests of Ansible code with GitLab, Vagran...
 
Perlbrew
PerlbrewPerlbrew
Perlbrew
 

Viewers also liked

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
Omi Om
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
Christian Posta
 
Managing your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDManaging your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CD
Christian Posta
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
Claus Ibsen
 
Microservices and APIs
Microservices and APIsMicroservices and APIs
Microservices and APIs
Christian Posta
 
SOA to Microservices
SOA to MicroservicesSOA to Microservices
SOA to Microservices
Christian Posta
 
Global Netflix Platform
Global Netflix PlatformGlobal Netflix Platform
Global Netflix Platform
Adrian Cockcroft
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration library
Claus Ibsen
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC
Christian Posta
 
The hardest part of microservices: your data
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your data
Christian Posta
 
A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey
Christian Posta
 

Viewers also liked (11)

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
 
Managing your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CDManaging your camels in the cloud with CI/CD
Managing your camels in the cloud with CI/CD
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 
Microservices and APIs
Microservices and APIsMicroservices and APIs
Microservices and APIs
 
SOA to Microservices
SOA to MicroservicesSOA to Microservices
SOA to Microservices
 
Global Netflix Platform
Global Netflix PlatformGlobal Netflix Platform
Global Netflix Platform
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration library
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC
 
The hardest part of microservices: your data
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your data
 
A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey
 

Similar to Apache Camel workshop at BarcelonaJUG in January 2014

Fabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymoreFabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymore
Henryk Konsek
 
Developing Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenDeveloping Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus Ibsen
Judy Breedlove
 
Oracle Developers APAC Meetup #1 - Working with Wercker Worksheets
Oracle Developers APAC Meetup #1 -  Working with Wercker WorksheetsOracle Developers APAC Meetup #1 -  Working with Wercker Worksheets
Oracle Developers APAC Meetup #1 - Working with Wercker Worksheets
Darrel Chia
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
Piotr Perzyna
 
Getting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdf
Getting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdfGetting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdf
Getting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdf
ssuser348b1c
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
Imesh Gunaratne
 
Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.
ICON UK EVENTS Limited
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)
craigbox
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
GR8Conf
 
Let's serve your data
Let's serve your dataLet's serve your data
Let's serve your data
Frank van der Linden
 
Cloud Native Okteto Cloud
Cloud Native Okteto Cloud Cloud Native Okteto Cloud
Cloud Native Okteto Cloud
sangam biradar
 
Run K8s on Local Environment
Run K8s on Local EnvironmentRun K8s on Local Environment
Run K8s on Local Environment
Ganesh Pol
 
Kate's.pptx
Kate's.pptxKate's.pptx
Kate's.pptx
Saikiran M
 
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
Richard Johansson
 
How to speed up your (API client) modules
How to speed up your (API client) modulesHow to speed up your (API client) modules
How to speed up your (API client) modules
Gonéri Le Bouder
 
Short journey into the serverless world
Short journey into the serverless worldShort journey into the serverless world
Short journey into the serverless world
Scott van Kalken
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and Kamailio
Giacomo Vacca
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
QAware GmbH
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
Mario-Leander Reimer
 
Tomcat Maven Plugin
Tomcat Maven PluginTomcat Maven Plugin
Tomcat Maven Plugin
Olivier Lamy
 

Similar to Apache Camel workshop at BarcelonaJUG in January 2014 (20)

Fabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymoreFabric8 - Being devOps doesn't suck anymore
Fabric8 - Being devOps doesn't suck anymore
 
Developing Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenDeveloping Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus Ibsen
 
Oracle Developers APAC Meetup #1 - Working with Wercker Worksheets
Oracle Developers APAC Meetup #1 -  Working with Wercker WorksheetsOracle Developers APAC Meetup #1 -  Working with Wercker Worksheets
Oracle Developers APAC Meetup #1 - Working with Wercker Worksheets
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
Getting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdf
Getting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdfGetting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdf
Getting-Started-with-Containers-and-Kubernetes_-March-2020-CNCF-Webinar.pdf
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
 
Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)
 
Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
 
Let's serve your data
Let's serve your dataLet's serve your data
Let's serve your data
 
Cloud Native Okteto Cloud
Cloud Native Okteto Cloud Cloud Native Okteto Cloud
Cloud Native Okteto Cloud
 
Run K8s on Local Environment
Run K8s on Local EnvironmentRun K8s on Local Environment
Run K8s on Local Environment
 
Kate's.pptx
Kate's.pptxKate's.pptx
Kate's.pptx
 
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
 
How to speed up your (API client) modules
How to speed up your (API client) modulesHow to speed up your (API client) modules
How to speed up your (API client) modules
 
Short journey into the serverless world
Short journey into the serverless worldShort journey into the serverless world
Short journey into the serverless world
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and Kamailio
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
 
Kubernetes 101 and Fun
Kubernetes 101 and FunKubernetes 101 and Fun
Kubernetes 101 and Fun
 
Tomcat Maven Plugin
Tomcat Maven PluginTomcat Maven Plugin
Tomcat Maven Plugin
 

More from Claus Ibsen

Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdf
Claus Ibsen
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdf
Claus Ibsen
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and Camel
Claus Ibsen
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3
Claus Ibsen
 
DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3
Claus Ibsen
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Claus Ibsen
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
Claus Ibsen
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
Claus Ibsen
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel Quarkus
Claus Ibsen
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Claus Ibsen
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)
Claus Ibsen
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
Claus Ibsen
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
Claus Ibsen
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - Copenhagen
Claus Ibsen
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - Fredericia
Claus Ibsen
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
Claus Ibsen
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
Claus Ibsen
 
Camel riders in the cloud
Camel riders in the cloudCamel riders in the cloud
Camel riders in the cloud
Claus Ibsen
 
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Claus Ibsen
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
Claus Ibsen
 

More from Claus Ibsen (20)

Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdf
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdf
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and Camel
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3
 
DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel Quarkus
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - Copenhagen
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - Fredericia
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
 
Camel riders in the cloud
Camel riders in the cloudCamel riders in the cloud
Camel riders in the cloud
 
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 

Recently uploaded

Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 

Recently uploaded (20)

Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 

Apache Camel workshop at BarcelonaJUG in January 2014

  • 1. Workshop with Apache Camel Claus Ibsen (@davsclaus) Principal Software Engineer, Red Hat Barcelona JUG, january 2014 1 PUBLIC PRESENTATION | CLAUS IBSEN
  • 2. Agenda ● Prerequisite ● Try 1st Camel Example ● Create new Camel project ● Deploy our application to Apache Tomcat ● Modify the application and use servlet/restlet ● Install hawtio in Apache Tomcat ● ● 2 REST project with Apache CXF-RS Fabric8 Demo PUBLIC PRESENTATION | CLAUS IBSEN
  • 3. Pre-Requisite ● ● Maven 3.0.4 (or 3.1.1 most likely works now) ● Eclipse, IDEA or NetBeans ● Apache Camel 2.12.2 ● 3 Java 7 hawtio 1.2.2 PUBLIC PRESENTATION | CLAUS IBSEN
  • 4. Agenda ● Prerequisite ● Try 1st Camel Example ● Create new Camel project ● Deploy our application to Apache Tomcat ● Modify the application and use servlet/restlet ● Install hawtio in Apache Tomcat ● ● (REST project with Apache CXF-RS) ● REST project with Apache CXF-RS ● 4 (Create new Java Camel project) Fabric8 Demo PUBLIC PRESENTATION | CLAUS IBSEN
  • 5. Try 1st Apache Camel Example ● Extract Apache Camel 2.12.2 ● Read the readme file and follow instructions Mind a little bug in Camel 2.12.2 in the camel-stream component. Is fixed in 2.12.1 and upcoming 2.12.3 5 PUBLIC PRESENTATION | CLAUS IBSEN
  • 6. Try 1st Apache Camel Example ● Exercise 1 Make the example lower case instead! 6 PUBLIC PRESENTATION | CLAUS IBSEN
  • 7. Try 1st Apache Camel Example ● Open example in IDE ● 7 IDEA is just open project → locate the pom.xml file PUBLIC PRESENTATION | CLAUS IBSEN
  • 8. Try 1st Apache Camel Example ● Open example in IDE ● 8 Eclipse → File → Import … → Existing Maven Project PUBLIC PRESENTATION | CLAUS IBSEN
  • 9. Try 1st Apache Camel Example ● Open example in IDE ● 9 Select root folder … PUBLIC PRESENTATION | CLAUS IBSEN
  • 10. Try 1st Apache Camel Example ● 10 Edit the source code src/main/resources/META-INF/ spring/camel-context.xml PUBLIC PRESENTATION | CLAUS IBSEN
  • 11. Try 1st Apache Camel Example ● Run the example from IDE ● … type the command which was listed in the readme 11 PUBLIC PRESENTATION | CLAUS IBSEN
  • 12. Try 1st Apache Camel Example ● Run the example from IDE ● … type the command which was listed in the readme 12 PUBLIC PRESENTATION | CLAUS IBSEN
  • 13. Try 1st Apache Camel Example ● 13 The console is within the IDE PUBLIC PRESENTATION | CLAUS IBSEN
  • 14. Try 1st Apache Camel Example ● Run Maven in IDEA I had to override maven home to 'fix this' 14 PUBLIC PRESENTATION | CLAUS IBSEN
  • 15. Agenda ● Prerequisite ● Try 1st Camel Example ● Create new Camel project ● Deploy our application to Apache Tomcat ● Modify the application and use servlet/restlet ● Install hawtio in Apache Tomcat ● REST project with Apache CXF-RS ● Fabric8 Demo 15 PUBLIC PRESENTATION | CLAUS IBSEN
  • 16. Create a new Camel project ● Exercise 2 Create a new Camel Web project, deployable in Apache Tomcat 16 PUBLIC PRESENTATION | CLAUS IBSEN
  • 17. Create a new Camel project ● Use the Maven Archetype ● ● 17 camel-archetype-web From the command line PUBLIC PRESENTATION | CLAUS IBSEN
  • 18. Create a new Camel project ● Or from IDE ● 18 File → New Project... → New Maven Project PUBLIC PRESENTATION | CLAUS IBSEN
  • 19. Create a new Camel project ● Or from IDE ● 19 Filter by Camel and select camel-archetype-web PUBLIC PRESENTATION | CLAUS IBSEN
  • 20. Create a new Camel project ● Build the WAR ● … and deploy to Apache Tomcat .. and start Tomcat … and see output on console 20 PUBLIC PRESENTATION | CLAUS IBSEN
  • 21. Create a new Camel project ● Exercise 3 Modify application to listen on HTTP endpoint and return a response message to client 21 PUBLIC PRESENTATION | CLAUS IBSEN
  • 22. Create a new Camel project ● Add camel-servlet to Maven pom.xml … add servlet in WEB-INF/web.xml 22 PUBLIC PRESENTATION | CLAUS IBSEN
  • 23. Create a new Camel project ● Add modify Camel route … build WAR and deploy to Tomcat by copying WAR … and try from browser 23 PUBLIC PRESENTATION | CLAUS IBSEN
  • 24. Create a new Camel project ● Modify Camel route to add content based router … build WAR and deploy to Tomcat by copying WAR … and try from browser 24 PUBLIC PRESENTATION | CLAUS IBSEN
  • 25. Create a new Camel project ● Exercise 4 Add Content Based Router and return two different kind of reply messages 25 PUBLIC PRESENTATION | CLAUS IBSEN
  • 26. Create a new Camel project ● Modify Camel route to add content based router … build WAR and deploy to Tomcat by copying WAR … and try from browser 26 PUBLIC PRESENTATION | CLAUS IBSEN
  • 27. Create a new Camel project ● Exercise 5 Install hawtio and browse the route and see runtime statistics Try to update the route from hawtio And try the debugger also. 27 PUBLIC PRESENTATION | CLAUS IBSEN
  • 28. Create a new Camel project ● Download hawtio 1.2.2 default WAR ● ● http://hawt.io/getstarted/index.html Copy .war to Apache Tomcat and rename to hawtio.war And access hawtio from web browser ● 28 http://localhost:8080/hawtio PUBLIC PRESENTATION | CLAUS IBSEN
  • 29. Create a new Camel project ● 29 Update route PUBLIC PRESENTATION | CLAUS IBSEN
  • 30. Create a new Camel project ● 30 Debug route PUBLIC PRESENTATION | CLAUS IBSEN
  • 31. Create a new Camel project ● Exercise 6 Modify application to use restlet for simple REST service as a Camel route 31 PUBLIC PRESENTATION | CLAUS IBSEN
  • 32. Create a new Camel project ● Add camel-restlet to Maven pom.xml … and modify route ● 32 After deploy to Apache Tomcat try from browser PUBLIC PRESENTATION | CLAUS IBSEN
  • 33. Create a new Camel project ● ● Notice we are using port 8081 and not the servlet container from Apache Tomcat. To do so see details at ● 33 http://camel.apache.org/restlet PUBLIC PRESENTATION | CLAUS IBSEN
  • 34. Agenda ● Prerequisite ● Try 1st Camel Example ● Create new Camel project ● Deploy our application to Apache Tomcat ● Modify the application and use servlet/restlet ● Install hawtio in Apache Tomcat ● REST project with Apache CXF-RS ● Fabric8 Demo 34 PUBLIC PRESENTATION | CLAUS IBSEN
  • 35. REST project with Apache CXF-RS ● REST using pure Apache CXF (no Camel) ● Example ● ● 35 https://github.com/fabric8io/fabric8/tree/master/quickstarts/re Use JAX-RS annotations PUBLIC PRESENTATION | CLAUS IBSEN
  • 36. REST project with Apache CXF-RS ● Setup Apache CXF-RS server ● 36 Easier to do in Spring or OSGi Blueprint XML file PUBLIC PRESENTATION | CLAUS IBSEN
  • 37. REST project with Apache CXF-RS ● REST using pure camel-cxfrs (with Camel) ● Uses route(s) as input ● Define API in java interface/class (as if JAX-RS) ● ● ● Either as interface Or class implementation with no logic Two binding modes ● Default ● Simple (in fact simpler and better) Sorry at this I didn't have the time to implement a Camel cxf-rs example for you 37 PUBLIC PRESENTATION | CLAUS IBSEN
  • 38. Agenda ● Prerequisite ● Try 1st Camel Example ● Create new Camel project ● Deploy our application to Apache Tomcat ● Modify the application and use servlet/restlet ● Install hawtio in Apache Tomcat ● REST project with Apache CXF-RS ● Fabric8 Demo 38 PUBLIC PRESENTATION | CLAUS IBSEN
  • 40. Fabric8 Demo ● Follow Getting Started Guide ● Start Fabric8 http://fabric8.io 40 PUBLIC PRESENTATION | CLAUS IBSEN
  • 41. Fabric8 Demo Create Fabric (just use admin/admin for credentials) … open web browser - http://localhost:8181/ 41 PUBLIC PRESENTATION | CLAUS IBSEN
  • 42. Fabric8 Demo Switch to Fabric Perspective Install the camel wiki example 1. Click Configuration 2. Navigate up the tree → example → camel 3. Click wiki 42 PUBLIC PRESENTATION | CLAUS IBSEN
  • 43. Fabric8 Demo 4. Click the new button 5. Enter a container name 6. And click Create Container Container being created … 43 PUBLIC PRESENTATION | CLAUS IBSEN
  • 44. Fabric8 Demo 7. Click container to see its details 8. Click connect button to connect to it 9. And you see the logs of the container 44 PUBLIC PRESENTATION | CLAUS IBSEN
  • 45. Fabric8 Demo 7. Click container to see its details 8. Click connect button to connect to it 9. And you see the logs of the container 45 PUBLIC PRESENTATION | CLAUS IBSEN
  • 46. Fabric8 Demo 10. Close the window and get back to the root container 11. Click on wiki to be able to edit the Camel route 12. Click on camel.xml to open Camel editor 46 PUBLIC PRESENTATION | CLAUS IBSEN
  • 47. Fabric8 Demo 13. The editor opens and you can edit the Camel route 14. Click apply and save to save changes 15. The container is updated. Connect to the container to see the updated changes. 47 PUBLIC PRESENTATION | CLAUS IBSEN
  • 48. Fabric8 Demo Install and try the Loan Broker Example See video how to do that http://vimeo.com/album/2635012/video/84674508 … and there are more videos here http://vimeo.com/album/2635012 48 PUBLIC PRESENTATION | CLAUS IBSEN