why real integration developers ride camels - red...

34
Why real integration developers ride Camels

Upload: others

Post on 25-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Why real integration

developers ride Camels

Page 2: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Christian PostaPrincipal Middleware Specialist/Architect

Blog: http://blog.christianposta.com

Twitter: @christianposta

Email: [email protected]

• Committer on Apache Camel, Apache ActiveMQ, Fabric8

• Recovering consultant

• Spent lot of time working with one of the largest Microservices, web-

scale, unicorn companies

• Frequent blogger and speaker about open-source, cloud, and

microservices

Page 3: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Kenneth PeeplesJBoss Technology Evangelist

Blog: www.ossmentor.com

Twitter: @ossmentor

Email: [email protected]

• Prior Public Sector Consultant with a concentration on Security

• Blogger and speaker with a concentration on Mobile, Integration,

Cloud and Data Services

Page 4: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• Open-source Camel riding

• Competitive claims

• What our customers say

• Why you should ride Camels too

• Demo

Agenda

Page 5: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Open-source Camel riding

Page 6: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

6

Apache Camel

Apache Camel is an open-source,

light-weight, integration library.

Use Camel to integrate disparate systems

that speak different protocols and data formats

Page 7: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Enterprise Integration Patterns

http://camel.apache.org/eip

Page 8: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Features

● Enterprise Integration Patterns (EIPs)

● Domain Specific Language to write “flows” or “routes”

● Large collection of adapters/components for legacy

systems, B2B, and SaaS

● Strong Unit test/Integration test framework

● Expression languages

● Data Formats

● Tooling with JBoss Developer Studio

Page 9: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Why Open source?

Page 10: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Not so open source…

Page 11: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• Apache Camel is 100% open source

• JBoss Fuse (built with Camel and other

Apache projects) is 100% open source

• Vibrant communities

• Mailing lists

• Code commits

• Issue trackers

• Visible community members

• Blogging, books, social media

Is Camel open source or open core?

Page 12: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Competitive claims

Page 13: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• Well…actually, Camel significantly reduces

the amount of code

• “Went from 90,000 LOC to 2,000”

• Without Camel DSL:

https://gist.github.com/christian-posta/6dc3b96f964c9706fa63

• With Camel DSL:

https://gist.github.com/christian-posta/2d0e119d71ca1808ccba

“I cannot understand the benefit of

Apache Camel as a lot of code is required”

Page 14: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• Well… let’s be honest; every library has a

learning curve

• What that means is flexibility

• Need guidance and best practices?

• Books, community, support

• Starting off “basic” and leveraging more as

become comfortable with the API

“So many different ways to implement

a solution with Apache Camel”

Page 15: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian
Page 16: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• Well… actually, checkout the new Fuse

tooling!

https://github.com/fusesource/fuseide

http://tools.jboss.org/downloads/jbosstools_is/index.html

• Demo perhaps?

“No drag-and-drop tooling, no data mapper”

Page 17: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• Camel is not an ESB

• Pick the right tool (architecture) for the job!

• Not forced into expensive, mountainous

suites of applications

• If you want to compare ESBs, don’t compare

with Camel

• Do compare with JBoss Fuse

“Apache Camel doesn’t do what ESB X does”

Page 18: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

RED HAT JBOSS FUSE

Development and tooling

Develop, test, debug, refine,

deploy

JBoss Developer Studio

Web services frameworkWeb services standards, SOAP,

XML/HTTP, RESTful HTTP

Integration frameworkTransformation, mediation, enterprise

integration patterns

Management and

monitoring

System and web services metrics,

automated discovery, container

status, automatic updates

JBoss Operations Network

+

JBoss Fabric Management

Console

(hawtio)

Apache CXF Apache Camel

Reliable MessagingJMS/STOMP/NMS/MQTT, publishing-subscribe/point-2-point, store and forward

Apache ActiveMQ

ContainerLife cycle management, resource management, dynamic deployment,

security and provisioning

Apache Karaf + Fuse Fabric

RED HAT ENTERPRISE LINUXWindows, UNIX, and other Linux

Page 19: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Ultimately:

Our customers care about making

more money.

How can these tools help them do

that?

Page 20: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

What our customers say

Page 21: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

http://www.redhat.com/en/resources/value-red-hat-integration-products

• Six organizations studied

• Telecommunications, IT, shipment and logistics,

and document management

• Three year ROI of 488%

• Payback time of 8.2 months

Page 22: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• 51.5% more applications integrated per year

• 40.8% fewer FTEs per application integration

• 62.8% less downtime related to integration

• 18.1% improved performance

• 34.2% less costly than previous middleware

integration solution stack

Crazy ROI!?

Page 23: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• Global, event-based systems

• Eliminate bottlenecks in their systems

• Wanted open-source solution

• Faster time to market

New Case Study: AMD and JBoss Fuse

http://www.redhat.com/en/resources/amd-accelerates-time-market-red-hat-jboss-fuse

Page 24: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Why you should ride Camels too!

Page 25: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Real developers ride Camels!

Page 26: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• Community aspects

• Anyone can become a committer

• Run in whatever JVM container you want

• Run in whatever Dependency Injection

framework you want

No “vendor lock in”

Page 27: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Integration Complexity Made Simple

• Integrations of any Size and Complexity

• Small investment to start

• Extensible and reuse

• Fast Path to Integration

• Strong Unit Testing

• OOTB Component Library

Page 28: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• Declarative

• Uses existing developer tooling (eg, IDE)

• Java, XML, Scala, Groovy, Kotlin

Flexible, powerful DSL

Page 29: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Example: Java DSL

public class OrderProcessorRouteBuilder extends RouteBuilder {

@Override

public void configure() throws Exception {

from(“activemq:orders”)

.choice()

.when(header(“customer-rating”).isEqualTo(“gold”))

.to(“activemq:topic:specialCustomer”)

.otherwise()

.to(“sftp://user@host/orders/regularCustomers”)

.end()

.log(“received new order ${body.orderId}”)

.to(“ibatis:storeOrder?statementType=Insert”);

}

}

Page 30: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• DSL for REST API

• Out of the box Swagger integration

• Powerful exception handling

• Circuit breaker patterns

Rapid REST APIs

rest()

.post(“/order/beer”)

.description(“New order for a mug of beer”)

.consumes(“application/json”)

.route()

.to(“activemq:topic:newOrder”)

.log(“received new order ${body.orderId}”)

.to(“ibatis:storeOrder?statementType=Insert”);

Page 31: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

• JMX top to bottom

• Codehale metrics

• HawtIO web console

• Fabric8 management

Operational tooling

Page 32: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Demo

Page 33: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Data Integration

Page 34: Why real integration developers ride Camels - Red Hatvideos.cdn.redhat.com/summit2015/presentations/13640_why... · 2015-06-24 · Why real integration developers ride Camels. Christian

Mobile Integration