Step 2: Setting up the Eclipse BaSyx infrastructure

Step 2: Setting up the Eclipse BaSyx infrastructure#

This step consists of the setting up of the initial Eclipse BaSyx infrastructure, which is illustrated below. It consists of two mandatory containers – an AAS server and an AAS registry component. Both containers will be deployed on a server. This example will use the pre-configured components from dockerhub, which keep all data in memory. Therefore, all changes will be lost when the servers are stopped. To prevent this a different backend must be configured that stores data for example in a database. The necessary steps for this are documented here (BaSyx AAS Server Component) and here (BaSyx Registry Component).

BaSyx.Example.Java.Step1.NucleusArch.png

Setting up of the registry component#

The Registry is a central component to the Asset Administration Shell (AAS) infrastructure for looking up available AAS and their contained Submodels. Hence, it is realized as a separate component that can also be containerized. Currently, there exists a single Registry component that can be configured to utilize different types of backends.

The registry image is made available via Docker Hub and can be pulled by:

docker pull eclipsebasyx/aas-registry:1.2.0

To easily start the registry component, you can use the following command:

docker run -e basyxcontext_accesscontrolalloworigin="*" --name=registry -p 8082:4000 eclipsebasyx/aas-registry:1.2.0

In order to access our server from different sources ( Origins ) e.g. via the aas-gui, which we will set up in step 5, we need to set the respective CORS Header. We have done this by the setting:

basyxcontext_accesscontrolalloworigin="*"

For a more detailed explanation see here

Now the endpoint for registering and looking up AAS will be:

http://localhost:8082/registry/api/v1/registry

And the container can be stopped, started and removed using its name (see –name):

docker stop registry
docker start registry
docker rm registry

Setting up of the AAS server component#

The AAS server component provides an empty AAS server that can be used to host several AAS and Submodels. For its API see Aggregator API. Additionally, there’s a video illustrating the configuration and usage in 5 minutes: YouTube. The AAS Server image is made available via Docker Hub and can be pulled by:

docker pull eclipsebasyx/aas-server:1.2.0

To easily start the AAS server component, you can use the following command:

docker run -e basyxcontext_accesscontrolalloworigin="*" --name=aas -p 8081:4001 eclipsebasyx/aas-server:1.2.0

Now the endpoint for accessing the server with its AAS is

http://localhost:8081/aasServer/shells/

And the container can be stopped, started and removed using its name (see –name):

docker stop aas
docker start aas
docker rm aas

Whoohoo! You have setup a working BaSyx infrastructure. Now, in the next steps, we are going to populate it.