Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "BaSyx / Documentation / Components"

m (Removes development branch disclaimer)
m (Streamlines DataBridge naming)
(2 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
You can either pull them from Docker Hub or [[BaSyx_/_Documentation_/_Components_/_Docker | follow the instructions ]] to build them yourself.
 
You can either pull them from Docker Hub or [[BaSyx_/_Documentation_/_Components_/_Docker | follow the instructions ]] to build them yourself.
  
== Configuring components with environment variables ==
+
== DataBridge ==
Please see the following page for configuring BaSyx components using environment variables.
+
The BaSyx DataBridge can be used to integrate asynchronous communication within the BaSyx middleware.
* [[BaSyx_/_Documentation_/_Components_/_Environment_Variables | Configuration with environment variables]]
+
== Updater Component ==
+
The BaSyx Updater Component can be used to integrate asynchronous communication within the BaSyx Middleware.
+
 
It utilizes [https://camel.apache.org/ Apache Camel] to enable multiple datasources, transformers and the selection of the correct AAS as a datasink.
 
It utilizes [https://camel.apache.org/ Apache Camel] to enable multiple datasources, transformers and the selection of the correct AAS as a datasink.
  
The Off-the-Shelf implementation for the Updater Component:
+
The Off-the-Shelf implementation for the DataBridge supports the following features:
 
* Datasources
 
* Datasources
 
** MQTT
 
** MQTT
Line 26: Line 23:
 
** Asset Administration Shells
 
** Asset Administration Shells
  
To learn more on how to use and adapt the updater component, visit the [https://github.com/eclipse-basyx/basyx-databridge Documentation on GitHub].
+
To learn more on how to use and adapt the DataBridge component, visit the [https://github.com/eclipse-basyx/basyx-databridge Documentation on GitHub].
 +
 
 +
== Configuring components with environment variables ==
 +
Please see the following page for configuring BaSyx components using environment variables.
 +
* [[BaSyx_/_Documentation_/_Components_/_Environment_Variables | Configuration with environment variables]]
  
 
== Security Component ==
 
== Security Component ==
Line 34: Line 35:
 
== CORS Configuration ==
 
== CORS Configuration ==
 
Cross-Origin Resource Sharing (CORS) can be configured to the BaSyx off-the-shelf components.
 
Cross-Origin Resource Sharing (CORS) can be configured to the BaSyx off-the-shelf components.
Please see [[BaSyx_/_Documentation_/_Components_/_Context]] for the steps to configure the CORS to the components.
+
Please see [[BaSyx_/_Documentation_/_Components_/_Context#CORS_Configuration | CORS Configuration]] for the steps to configure the CORS to the components.
  
To know more about CORS please visit [https://en.wikipedia.org/wiki/Cross-origin_resource_sharing Wikipedia Page about CORS]
+
To get to know more about CORS please visit [https://en.wikipedia.org/wiki/Cross-origin_resource_sharing Wikipedia Page about CORS]
  
 
== Developing own Components ==
 
== Developing own Components ==

Revision as of 02:53, 9 January 2023

Components

Off-the-Shelf-Components

BaSyx provides several easy to use off-the-shelf components. They can be used programmatically, as an executable jar or as a docker container.

You can either pull them from Docker Hub or follow the instructions to build them yourself.

DataBridge

The BaSyx DataBridge can be used to integrate asynchronous communication within the BaSyx middleware. It utilizes Apache Camel to enable multiple datasources, transformers and the selection of the correct AAS as a datasink.

The Off-the-Shelf implementation for the DataBridge supports the following features:

To learn more on how to use and adapt the DataBridge component, visit the Documentation on GitHub.

Configuring components with environment variables

Please see the following page for configuring BaSyx components using environment variables.

Security Component

The BaSyx off-the-shelf components AASServer and AAS-Registry can be used with HTTPS. Please see Security Configuration for concrete steps to configure the both components with HTTPS communication.

CORS Configuration

Cross-Origin Resource Sharing (CORS) can be configured to the BaSyx off-the-shelf components. Please see CORS Configuration for the steps to configure the CORS to the components.

To get to know more about CORS please visit Wikipedia Page about CORS

Developing own Components

There are multiple ways of implementing BaSys 4.0 conforming components.

Extending Existing Interfaces

For each component, there exist interfaces that can be implemented to realize e.g. new backends. These interfaces integrate seamless in the REST-API-Provider. Additionally, the already defined test suites for the different component types can easily be reused.

In consequence, this is the easiest and fastest way of introducing new components.

Conforming to the REST-API

If the interfaces provided by BaSyx can't be used (e.g. because the component is implemented in a programming language currently not supported by BaSyx), it has to be ensured that the component is conforming to the defined REST-API and behavior.

For this, BaSyx provides a Technology Compatibility Kit (TCK). The TCKs for the components can be found in the repository in components/tck. For each component, there exists a TCK. Each TCK allows to generate a jar file that tests component functionality of arbitrary http endpoints. Each jar can be called in the following way:

java -jar $JAR $HTTP_ENDPOINT

where $JAR is the name of the component's TCK jar and $HTTP_ENDPOINT is the endpoint on which the component's REST API is available.

Back to the top