-
Notifications
You must be signed in to change notification settings - Fork 1
8. Test Integrated L2 Resources
After a resource has been shared in a federation, we can test if we can find and access it properly.
Security in L2 does not differ compared to L1, since we use the same ABAC approach. The only restriction here is that in order to access a resource shared in a federation, we need a valid security token from a platform that is a member of the federation.
The search for resources in L2 differs significantly compared to L1, since the search requests are handled from the Platform Registry instead of the Search Component in the Core. Furthermore, as of Release 2.0.0, the Platform Registry offers two basic functionalities:
- Listing all the available resources
- Filtering all the available resources in a specific federation
This is done by sending a HTTP GET request on the Platform Registry list_resources endpoint (i.e. http://127.0.0.1:8203/pr/list_resources). As a result, you will get back a FederationSearchResult.
{
"resources": [
{
"symbioteId": "7513f65108884234@icom-platform",
"cloudResource": {
"internalId": "1500",
"pluginId": "openhab",
"accessPolicy": null,
"filteringPolicy": null,
"resource": {
"@c": ".StationarySensor",
"observesProperty": [
"temperature",
"humidity",
"atmosphericPressure",
"carbonMonoxideConcentration",
"nitrogenDioxideConcentration"
],
"id": null,
"name": "DefaultSensor1",
"description": [
"Default sensor for testing RAP"
],
"interworkingServiceURL": "https://intracom.symbiote-h2020.eu/",
"locatedAt": {
"@c": ".WGS84Location",
"longitude": 52.513681,
"latitude": 13.363782,
"altitude": 15,
"name": "Berlin",
"description": [
"Grosser Tiergarten"
]
},
"services": null,
"featureOfInterest": {
"name": "temperature feature of interest",
"description": [
"measures temperature"
],
"hasProperty": [
"temperature",
"humidity",
"atmosphericPressure",
"carbonMonoxideConcentration",
"nitrogenDioxideConcentration"
]
}
},
"federationInfo": {
"symbioteId": "7513f65108884234@icom-platform",
"sharingInformation": {
"fed1": {
"sharingDate": 1525272416589,
"bartering": true
}
}
}
},
"oDataUrl": "https://intracom.symbiote-h2020.eu/rap/Sensors('7513f65108884234@icom-platform')",
"restUrl": "https://intracom.symbiote-h2020.eu/rap/Sensor/7513f65108884234@icom-platform",
"federations": [
"fed1"
]
}
]
}
, where each array entry in the resources field has the following fields:
- symbIoTeId: the id of the resource in the federations that is shared
- cloudResource: the cloudResource description used to register the resource
- oDataUrl: the oData endpoint for accessing the resource. Here, you need again to add any operators (e.g. /Observations)
- restUrl: the REST endpoint for accessing the resource
- federations: the ids of the federations, where the resource is shared to
Likewise, in order to filter by federation id we have to send a HTTP GET request on the Platform Registry list_federation_resources endpoint containing the federation id (i.e. http://127.0.0.1:8203/pr/list_federation_resources/{fedId}). The response is again a FederationSearchResult.
Once, we have obtained a L2 resource URL as described above, accessing a L2 resource is exactly the same as accessing a L1 resource.
Getting Started
Migration to 3.0.0
Migration to Docker
-
Preparation steps
1.1. Register user and configure platform in symbIoTe Core
1.2. Installation of required tools for symbIoTe platform components
1.3. Downloading jars
1.4. Downloading sources -
Configuring and starting components
2.1. Configuration of NGINX
2.2. Starting third party tools that are prerequisite for symbIoTe
2.3. Starting (generic) symbIoTe Cloud components
2.4. Configuration of cloud components
2.4.1. Starting symbIoTe Cloud components
2.5. Setting up the Platform Authentication and Authorization Manager (PAAM)
2.6. Starting Registration Handler and resource management
2.7. Set up of Resource Access Proxy
2.8. Manage resources
2.9. Set up of the Monitoring component
2.10. Other configuration topics -
Test integrated resource
3.1. Security
3.2. Search for resources
3.3. Obtaining resource access URL
3.4. Accessing the resource and actuating and invoking service for default (dummy) resources -
Creating RAP plugin
4.1. Customizing internal RAP plugin
4.2. Using RAP plugin starter
4.3. Creating RAP plugin in other languages -
Resource Description Examples
5.1. JSON Description Examples
5.2. RDF Description Examples - Preparation for L2 compliance
-
Configuring and starting components for L2
7.1. Starting Federation Manager
7.2. Starting Subscription Manager
7.3. Starting Platform Registry
7.4. Starting Trust Manager
7.5. Starting Bartering And Trading
7.6. Starting SLA Manager
7.7. Create a federation
7.8. Manage resources in L2
7.9. Register Subscription - Test Integrated L2 Resources
- Developing symbIoTe enabled apps