Skip to content

Instantly share code, notes, and snippets.

@caisback
Last active April 30, 2021 10:04
Show Gist options
  • Save caisback/a2e30ad512d535adf151a71422ec5a42 to your computer and use it in GitHub Desktop.
Save caisback/a2e30ad512d535adf151a71422ec5a42 to your computer and use it in GitHub Desktop.
ESB braindump

ESB

An Enterprise Service Bus (ESB) is fundamentally an architecture. It is a set of rules and principles for integrating numerous applications together over a bus-like infrastructure.

Agile Integration

The approach that allows those microservices to be droppped into the architecture seamlessly or to be removed or updated without distrupting other services.

3 Pillars of Agile Integration

  1. Distributed Integration (Flexibility) - 3 types
    1. Fuse on KARAF
    2. Fuse on EAP
    3. Fuse on Spring Boot
  2. microServices Containers (Scalability)
  3. API's (Re-Usability)

Red Hat Fuse

An open source integration platform based on Apache Camel

3 Product Distributions for Fuse 7.x

  1. Fuse Standalone (Classic Integration)
  2. Fuse on OpenShift (Cloud Native Integration)
  3. Fuse Online - iPaas (Ad Hoc Integration)

Apache Camel

A versatile open-source integration framework based on known Enterprise Integration Patterns (EIP).

Apache Camel supports two alternative Domain Specific Languages (DSL) for defining routes: a Java DSL and a Spring XML DSL. The basic building blocks for defining routes are endpoints and processors, where the behavior of a processor is typically modified by expressions or logical predicates.

  1. camel-examples
  2. Data Transformation: XML to JSON And JSON to XML

Apache Maven

A tool that can now be used for building and managing any java-based project, and it is based in POM (Project Object Model)

POM

A building bock in maven, it is a xml file which constains information and configuration of the project like defendencies and goals.

CodeReady Studio

A set of Eclipse-based development tools. It contains plug-ins that integrate with Eclipse to extend the existing functinality of the integrated development environment (IDE).

Issues and Solutions

  • log4j:WARN No appenders could be found for logger (org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider). log4j:WARN Please initialize the log4j system properly.

  • pom.xml when adding restlet as consumer

    • Missing artifact org.restlet.jee:org.restlet:jar:2.3.12 Maven Repo
      • Solution: add entries below on pom.xml above </dependecies>
        <!-- https://mvnrepository.com/artifact/org.restlet.jee/org.restlet -->
        <dependency>
          <groupId>org.restlet.jee</groupId>
          <artifactId>org.restlet</artifactId>
          <version>2.3.12</version>
        </dependency>
        
    • Missing artifact org.restlet.jee:org.restlet.ext.httpclient:jar:2.3.12 Maven Repo
      • Solution: add entries below on pom.xml above </dependecies>
        <!-- https://mvnrepository.com/artifact/org.restlet.jee/org.restlet.ext.httpclient -->
        <dependency>
          <groupId>org.restlet.jee</groupId>
          <artifactId>org.restlet.ext.httpclient</artifactId>
          <version>2.3.12</version>
        </dependency>
        
    • Additonal step aside from the two above dependecies, add entries below on pom.xml below <repositories>
      <!-- https://mvnrepository.com/artifact/org.restlet.jee/org.restlet and org.restlet.ext.httpclient -->
      <repository>
        <id>maven.restlet.org</id>
        <name>maven.restlet.org</name>
        <url>http://maven.restlet.org</url>
      </repository>
      
    • Run on fuse console
      admin@root()> features:install camel-restlet
      
      • To solved below issues;
        • fuse console
          246 │ GracePeriod │  80 │ 1.0.0.SNAPSHOT                  │ Empty Camel Blueprint Exam
          
        • /fuse-karaf-7.6.0.fuse-760025-redhat-00001/data/log/fuse.log
          INFO  | FelixStartLevel      | o.a.a.b.c.BlueprintContainerImpl | 51 - org.apache.aries.blueprint.core - 1.10.2 | Blueprint bundle blueprint-restlet-api/1.0.0.SNAPSHOT is waiting for dependencies [(&(component=restlet)(objectClass=org.apache.camel.spi.ComponentResolver))]
          
  • blueprint.xml - No grammar constraints (DTD or XML Schema) referenced in the document.

@caisback
Copy link
Author

caisback commented Apr 29, 2021

pom.xml adjustment for Restlet;
Replace;

  </dependencies>
  <repositories>

With;

	<!-- https://mvnrepository.com/artifact/org.restlet.jee/org.restlet -->
	<dependency>
	  <groupId>org.restlet.jee</groupId>
	  <artifactId>org.restlet</artifactId>
	  <version>2.3.12</version>
	</dependency>
        <!-- https://mvnrepository.com/artifact/org.restlet.jee/org.restlet.ext.httpclient -->
	<dependency>
	  <groupId>org.restlet.jee</groupId>
	  <artifactId>org.restlet.ext.httpclient</artifactId>
	  <version>2.3.12</version>
	</dependency>
  </dependencies>
  <repositories>
	<!-- https://mvnrepository.com/artifact/org.restlet.jee/org.restlet and org.restlet.ext.httpclient -->
	<repository>
	  <id>maven.restlet.org</id>
	  <name>maven.restlet.org</name>
	  <url>http://maven.restlet.org</url>
       </repository>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment