23
Towards a Semantic Message-driven Microservice Platform for Geospatial and Sensor Data Matthias Wauer and Axel-Cyrille Ngonga Ngomo AKSW Research Group, University of Leipzig, Germany Data Science Group (DICE), Paderborn University, Germany June 3rd, 2018 Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat.. . June 3, 2018 1 / 23

Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Towards a Semantic Message-drivenMicroservice Platform for Geospatial and

Sensor Data

Matthias Wauer and Axel-Cyrille Ngonga Ngomo

AKSW Research Group, University of Leipzig, GermanyData Science Group (DICE), Paderborn University, Germany

June 3rd, 2018Heraklion, Crete, Greece

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 1 / 23

Page 2: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Overview

1 Motivation

2 Approach

3 Implementation

4 Evaluation

5 Related Work

6 Conclusions and Future Work

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 2 / 23

Page 3: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Motivation

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 3 / 23

Page 4: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Why Geiser?Flexible integration of live data

Sensor dataSocial media feeds

Inherently related to geospatial dataLocation of sensor measurementsPlaces mentioned in tweets

Potential applications:RoutingGeomarketingAnalytics (e.g., business intelligence,predictive maintenance)

Issues:Small but frequent service requestsFlexible and reliable communicationScalability

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 4 / 23

Page 5: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Use CasesUse Case 1: Data-driven Geomarketing

Current situation for local businesses:Geomarketing based on static dataNo fine-grained dynamic adaptations

Goals:Enable companies to adapt products, services,offers etc. to their audienceIntegrate and interpret live data

Relevant data:Events from social media / newsMobility and cellular network dataWeather warnings and forecastsOwn customer data

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 5 / 23

Page 6: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Use CasesUse Case 1: Data-driven Geomarketing

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 6 / 23

Page 7: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Use Cases

Use Case 2: Intelligent parking

Current situation:Finding road-side parking incities is difficultLittle support from satnavs

Goals:Compute parking probabilitiesProvide approximate routingservice on satnav device

Relevant data:Sensor data (floating car data)Mobility / cellular network dataTraffic eventsEvents (e.g., football matches)

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 7 / 23

Page 8: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Use CasesUse Case 3: Predictive maintenance and industrial service

Device sensors Weather TrafficCurrent situation:

Sensor networks in industrialappliances not connected toservice technician schedulingHigh cost of haltedmanufacturing processes

Goals:Link predictive maintenance withservice deployment planning andspare part logistics

Relevant data:Predictive maintenance dataWeather forecasts and warningsTraffic information

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 8 / 23

Page 9: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Approach

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 9 / 23

Page 10: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Geiser architecture

Generic ServicesGeneric Services

GEISER Platform

Generic ServicesGeneric ServicesGeneric Services, e.g. LIMES, DEER, FOX, AGDISTISGeneric Services, e.g. LIMES, DEER, FOX, AGDISTIS

Application Services (only samples included, use case specific)Application Services (only samples included, use case specific)

Unified GEISER REST APIUnified GEISER REST API

Generic ServicesGeneric ServicesGeneric ServicesGeneric Services

Data Services (querying, manipulation, geospatial, etc.)Data Services (querying, manipulation, geospatial, etc.)

Private or public cloud(Semantic Databases, SPARK ecosystem, SANSA …)

Private or public cloud(Semantic Databases, SPARK ecosystem, SANSA …)

GEISER Services

Use Cases & Applications

Platf

orm

& S

ervi

ce C

onfi

gura

tion

Platf

orm

& S

ervi

ce C

onfi

gura

tion

Dep

loym

ent

& M

aint

enan

ceD

eplo

ymen

t &

Mai

nten

ance

Aut

henti

cati

on

& S

ecu

rity

Aut

henti

cati

on

& S

ecu

rity

Compatible Tooling (loosely coupled)

Features:visualization, exploration,

dashboarding, data analytics,semantic search, etc.

Examples:metaphactory, Facete,

mappify, etc.

AMQP

BUS

AMQP

BUS

ComputeInfrastructure

Dev

. Bes

t Pr

acti

ces

& S

DK

Dev

. Bes

t Pr

acti

ces

& S

DK

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 10 / 23

Page 11: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Geiser architecture

Message busRabbitMQ based (flexible exchange patterns, reliable asynchronous messaging,simple consumer implementation, MQTT support)Usually AMQP topic exchanges (most flexible)

Service layersData services (for accessing, querying and manipulating RDF data)Generic services (e.g., LIMES for interlinking, DEER for data fusion, FOX andAGDISTIS for extracting unstructured data)Application services (e.g., probabilistic routing or weather forecast parsing)

UsageREST API for external requests (application-specific)External tools like metaphactory

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 11 / 23

Page 12: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Invocation of services: Geomarketing use caseExample: Extracting and processing tweets for event information

Twitter Feed NER (FOX) Fusion (DEER) Distance Classifier

Storage

Notification

Twitter Feed pushes new tweets to message bus, e.g.:"ESWC started in Heraklion"

NER annotates identified Named EntitiesFusion applies an enrichment pipeline, e.g., adding geocoordinates andgeometries from related resources (via owl:sameAs)Distance computes geospatial distance to region of interest, e.g.,st_distance(entity.geom, Greece.geom)

Classifier filters messages, e.g., by distance, discards irrelevant tweetsStorage adds annotated tweet to RDF store

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 12 / 23

Page 13: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Message passing

Message passing (instead of RPC between a controller and services):Messages flow through list of services (see example)Invocations specified in AMQP routing key, e.g., for messages from Twitter:ner-v1.fusion-v1.distance-v1.classifier-v1.storage-v1Workflow can be modified at runtime

// routing key: fusion-v1.distance-v1.classifier-v1.storage-v1// ... other header fields ...{

"@context": "http://example.org/context/fox.jsonld","text": "ESWC started in Heraklion","fox:": [{

uri: "http://dbpedia.org/resource/Heraklion",name: "Heraklion"

}]}

Example message from NER service in JSON-LD format

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 13 / 23

Page 14: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Implementation

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 14 / 23

Page 15: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

ImplementationImplementing services

Wrapper for services already exposing a REST API1Support library for developing an AMQP interface, based on Spring AMQP:

@Componentpublic class MyService {

public static final String ROUTING_KEY = "myservice-v1.#";public static final String QUEUE_NAME = "myservice-v1";

@RabbitListener(bindings = @QueueBinding(key = ROUTING_KEY, exchange= @Exchange(type = ExchangeTypes.TOPIC, value =ServiceUtils.EXCHANGE, durable = "true", autoDelete = "true"),value = @Queue(autoDelete = "true", value = QUEUE_NAME)))

public void handleMsg(@Payload Message message) throws IOException {/* handle request */rabbitTemplate.send(ServiceUtils.EXCHANGE,

ServiceUtils.nextRoutingKey(message), MessageBuilder...build());}

}

1https://github.com/AKSW/micropipe-proxyWauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 15 / 23

Page 16: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Deployment

Services are dockerized and configurable, e.g., regarding inputsSet of services required for a use case specified in Docker Compose, e.g.:

services:

geiser-twitter-feed:image: mwauer/geiser-twitter-feedenvironment:

- locations=-122.75,36.8,-121.75,37.8,-74,40,-73,41- routing=ner-v1.fusion-v1.distance-v1.classifier-v1.storage-v1

[...]storage:

image: mwauer/geiser-rdf-writer-service

rabbit:image: rabbitmq:managementports:

- 5672:5672

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 16 / 23

Page 17: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Available services

Generic servicesNER and Relation Extraction (FOX/AGDISTIS)Translation (APIs like Yandex or DeepL)Interlinking (LIMES with RADON)Fusion (DEER)Transformation (Sparqlify)

Data servicesBasic RDF reading and writing servicesRDF graph store, repository, SPARQL (in work)Twitter feed (in work)

Application services (internal)Weather (openweathermap.org, DWD)Pollen warning (DWD)Routing (TomTom)Traffic (TomTom)Reachable areas (TomTom)

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 17 / 23

Page 18: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Evaluation

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 18 / 23

Page 19: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Validation

Functional validationRunning service composition similar to data-driven geomarketing scenario

Component evaluation:NER: FOX at OKE 2017 challengeSemi-automatic extraction of RDF from tables: TAIPANInterlinking: RADON (rapid discovery of topological relations)

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 19 / 23

Page 20: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Related Work

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 20 / 23

Page 21: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Related Work

Semantic Service InfrastructuresMETEOR-SSADI (Semantic Automated Discovery and Integration)SSWAP (Simple Semantic Web Architecture and Protocol)MicroWSMO / hRESTS

Semantic Data ProcessingLinkedPipes ETL / UnifiedViewsGeoKnowEW-Shopp

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 21 / 23

Page 22: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Conclusions and Future Work

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 22 / 23

Page 23: Towards a Semantic Message-driven Microservice Platform for … · 2018. 6. 15. · Twitterfeed(inwork) Applicationservices(internal) Weather(openweathermap.org,DWD) Pollenwarning(DWD)

Conclusions and Future Work

Geiser, a platform forFlexible processing of geospatial and sensor dataUsing semantic technologiesMessage-passing approach

Future Work:Implementation of the use casesScalability of the platformSupport in components (e.g., interlinking on data streams)

Matthias [email protected]

AKSW Research Group at Leipzig UniversityDICE Group at Paderborn Universityhttp://aksw.org/MatthiasWauer

The research and development project that forms the basis for this report is funded under project No. 01MD16014E (GEISER) within the scope of theSmart Services World technology programme run by the Federal Ministry for Economic Affairs and Energy and is managed by the project managementagency at the German Aerospace Center (DLR-PT). The authors are responsible for the contents of this publication.

Wauer & Ngonga Ngomo (DICE) Semantic Message-driven Microservice Plat. . . June 3, 2018 23 / 23