Coder Social home page Coder Social logo

thalesgroup / vortex-gateway Goto Github PK

View Code? Open in Web Editor NEW

This project forked from atolab/vortex-gateway

0.0 2.0 0.0 253 KB

Vortex Gateway: an Apache Camel Component for DDS

Home Page: https://github.com/ThalesGroup/vortex-gateway/blob/master/opensplice-idl-plugin/README.adoc

License: Apache License 2.0

Java 99.85% HTML 0.15%

vortex-gateway's Introduction

Vortex Gateway

Maven Central License

Introduction

Vortex Gateway is an Apache Camel Component for DDS using OpenSplice DDS (community or commercial versions).

By leveraging Apache Camel, Vortex Gateway allows the integration of DDS-based systems with hundereds of transports or messaging technologies supported by Camel. A complete list of the components provided with Apache Camel is available here: http://camel.apache.org/components.html .

Prerequisites

Java

Apache Camel is a Java software. Please be sure to have a JDK installed (version 7 minimum).

OpenSplice DDS

OpenSplice DDS must be installed and available in your environement (i.e. its release.com must have been sourced). Note that Vortex Gateway supports any v5+ or v6+ version of OpenSplice DDS.

Apache Maven

Vortex Gateway is available on Maven Central repository

The examples we provide here are using Apache Maven. Please be sure to install it before compiling and running the examples.

Usage

DDS Camel Component usage

The complete documentation of the camel-ospl component (including all the endpoint options) can is here: camel-ospl/README.adoc

Maven project configuration

You can use the provided Maven archetype (gateway-archetype-camel-ospl) to quickly generate a Maven project configured with Vortex Gateway usage and with a Java class to be completed with your Camel routes definition.

It's usage is decribed here: gateway-archetype-camel-ospl/README.adoc

Otherwise, just add the following dependencies to your Maven POM file:

   <dependencies>
      <!-- Gateway's Camel OpensSpliceDDS endpoint -->
      <dependency>
         <groupId>com.adlinktech.gateway</groupId>
         <artifactId>camel-ospl</artifactId>
         <version>${gateway-version}</version>
      </dependency>

      <!-- Vortex OpenSplice -->
      <dependency>
         <groupId>org.opensplice</groupId>
         <artifactId>dcpssaj</artifactId>
         <version>${opensplice-version}</version>
         <scope>system</scope>
         <!-- NOTE: leading '/' in following <systemPath> is a workaround
              for a Maven strange issue: without this '/' compilation of an individual
              example leads to an error message complaining that opensplice-idl-plugin's
              POM is not valid since managed dependency org.opensplice.dcpssaj has a non-absolute
              systemPath -->
         <systemPath>/${env.OSPL_HOME}/jar/dcpssaj.jar</systemPath>
      </dependency>
   </dependencies>

Note with such dependencies, OpenSplice's dcpssaj.jar doesn't require to be installed in your Maven repository. You just need to ensure that the OpenSplice's release.com is sourced in your environment. Using the system scope in the dependency, Maven will use the the jar at $OSPL_HOME/jar/dcpssaj.jar.

And for the compilation of you IDL files, you need to configure the opensplice-idl-plugin provided with Vortex Gateway:

   <build>
      <plugins>
         <!-- OpenSplice IDL compilation plugin -->
         <plugin>
            <groupId>com.adlinktech.gateway</groupId>
            <artifactId>opensplice-idl-plugin</artifactId>
            <version>${gateway-version}</version>
            <executions>
               <execution>
                  <phase>generate-sources</phase>
                  <goals>
                     <goal>idl-compile</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>

More details on opensplice-idl-plugin in its documentation: opensplice-idl-plugin/README.adoc

Examples

Some examples of Vortex Gateway usage can be found here: Examples

vortex-gateway's People

Contributors

jenoch avatar gohkah avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.