Developer ‘Tiqs and Tricks: Camel Assemblies for Integration

Developer ‘Tiqs and Tricks

April 2024

 

The Camel Assemblies Catalog

 

Define Vantiq in ten words or less.

 

I’ll give you a minute…..

 

Time’s up.  What did you say?  Hopefully, it was something like…

 

Vantiq is an integrated development platform for real-time, event-driven applications.

 

First adjective:  integrated

 

This is important, very important.  Integration makes it possible for developers to build applications that interact with anything else on the Internet.  Sensor inputs don’t happen without it.  Generative AI with multiple LLMs don’t happen without it.  Communication with anything from Web APIs to messaging systems do not occur without integration.

 

And Vantiq just made it even easier to integrate with a whole plethora of outside systems!  Introducing…

 

Camel Assemblies

 

Apache Camel is an open source framework designed to facilitate developers in designing systems on the Internet with a common integration standard, known as Enterprise Integration Patterns.  At this point, hundreds if not thousands of systems, including Vantiq, utilize these patterns to make integrations between them.  Apache also provides kamelets, somewhat fine-tuned to specific systems and communication direction, which simplify the integration process even further.

 

So, what is the Vantiq Camel Assembly Catalog?

 

Let’s start with the definition of Assemblies in Vantiq.  These are developed modules that take in inputs and perform some processing.  But for a few configurable properties, the code and other details are hidden from the user. Assemblies can be published to Catalogs and installed by subscribing Namespaces.

 

Remember Catalogs?  These are like Namespace libraries of event types, Services and Assemblies that other Namespaces can either publish to, or access by subscription.  Security is enforced through access tokens.

 

Well, now Vantiq is introducing a Public Catalog, accessible via the Cloud to all other Vantiq Namespaces.  And within this Catalog are dozens of Assemblies available to eliminate much of the work in building integrations to selected outside systems.

 

How do Namespaces get to the Public Catalog?

 

Access the Vantiq Camel Assembly Catalog the same way you access any Catalog; from Show -> Catalogs, then choose Connect.  In the “Connect to Catalog” pop-up, toggle the Public Catalog choice, and choose CamelCatalog from the drop-down list.


The CamelAssemblies listing will appear.  Click on it and choose Assemblies to see all the choices available.  The name and the descriptions should make it obvious what outside systems the assemblies will connect, and in what direction, much like Camel kamelets.


Are these Assemblies actually kamelets?

 

No. These Assemblies are NOT kamelets; they are Vantiq tools designed to behave much like kamelets; hence their names.  But they work better than actual kamelets because much of the Vantiq integration work is already completed under the covers.

 

How do the Assemblies work?

 

Vantiq uses a process called a “Camel Connector” to provide the infrastructure for the Assembly integrations. The “sink” or “source” system-based assemblies provide the route and other information to complete the connection to the outside entity.

 

These assemblies include procedures to deploy the connections in Kubernetes clusters, which is the preferred way to stabilize and maintain integration connections between Internet systems.

 

Ok, so how do I use these Assemblies to integrate my Vantiq Namespace to an outside entity?

 

So glad you asked, StrawMan!  Let’s go through the steps:

 

  1. From the list of Assemblies in the Catalog, install the vantiq.extsrc.camelconn.camelConnector Assembly
    1. This could be the last Assembly in the list
  2. Configure the CamelConnector Assembly

    1. The URL and AccessToken are for the current Namespace, which will receive the connection. The rest can be ignored if you’re happy with the defaults.
  3. Install and Configure the Assembly that corresponds to the system and direction you want.
    1. For instance, if you want to push issues to your Jira application, choose vantiq.extsrc.camel.kamelets.<current_version>.jira_add_issue_sink.

  1. Two services will be installed.
    1. Send your messages to the inbound event of one service
    2. You will use the deployToK8s procedure in the other soon

Note: We assume that the K8sCluster and associated Kubernetes environment is set up and operational.  For details, see the External Lifecycle Management Guide.

  1. Now run the deployTK8s procedure in the “kamelet deploy” service by clicking on it, then on the Execute button. Supply the parameters needed for the deployment.
  2. And that’s it. You should be able to either write a VAIL procedure or build a Service to send your messages to the inbound “kamelet sink” service for your outside system to receive them.

Note: The connector will determine what classes are needed for operation and download them as needed.  Depending upon the network speed, this can take a minute or two.

 

This is too many words.  Show me a demo.

 

We can do better than that.  There’s a whole advanced training class dedicated to Integration, and Lesson 3 is exclusively about the Camel Assemblies, of which the last module is a full demonstration of Camel Assembly use.

 

Vantiq Camel Assemblies make integration with other Internet systems (almost) as easy as connecting a garden hose to a spigot.  More Assemblies will be joining the list as they become available.

 

Happy Integrating!

Attachments:
You must be logged in to view attached files.
Posted: April 5, 2024 at 9:29 pm
Replies: 0
Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.
© Vantiq 2024 All rights reserved  •  Vantiq Corporation’s Privacy Policy and Cookie Policy