SlideShare a Scribd company logo
redpencil.io
redpencil.io
A transitional
architecture
for Linked Data
Aad Versteden & Niels Vandekeybus
from redpencil.io for OpenBelgium
redpencil.io
- Lower total cost of ownership
- Ease to adapt and extend
- Predictable performance
- Easy to maintain
- Low initial cost
How are business solutions chosen?
redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium
WHOOPS
Linked Data does not offer this . . . yet
redpencil.io
microservices birds-eye
redpencil.io
- Easy to understand
- Easy to debug
- Easy to reuse
Microservices are awesome
redpencil.io
Microservices are complex
- Data model dependencies
- API dependencies
- Disaster analysis
redpencil.io
- Direct connection to the database
- Using semantic modelling
Microservices are to be reengineered
redpencil.io
- Embrace Semantic Model
- Functional microservices
- Standard APIs
Microservices are micro standalone services
redpencil.io
… taking advantage of the semantic domain
model
redpencil.io
Some
history
Share code on personal projects
Rails is not über-productive
Stay light, choose later
Use microservices and semantic model
redpencil.io
mu.semte.ch
redpencil.io
In 60 seconds
State-of-the-art web applications fuelled by Linked Data aware microservices
- User-facing microservices
- Easy deployment using Docker
- Single Page Apps using Ember.js
- Well known requirements
=> [HTTP+JSON+SPARQL]
https://github.com/mu-semtech/
https://mu.semte.ch
redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium
KISS
Keep It Super Simple
redpencil.io
KISS
- Most of us aren’t microservice experts
- Most of us aren’t UI experts
- We need to get stuff done
- Maximize freedom
- Orthogonal features
- Minimize requirements
- Enforce simple mental model
redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium
Simple mental model
user-facing http-services
redpencil.io
Simple mental model
User-facing microservices
Limit base technologies:
- HTTP
- JSON(API)
- SPARQL (one graph)
redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium
Semantic models
Many actors, telling parts of the same story
redpencil.io
Semantic models
Services read/write the part of the world they understand.
User Registration:
- There’s a new user => add it to the triplestore.
User Login:
- Check username/password => connect user to current session.
redpencil.io
Semantic models
Registration
service
Login service
redpencil.io
Semantic models
Many implementations, one model
Same model for:
- Username/Password login
- OAuth login
- ACM/IDM login
redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium
Docker
Deployment made easy
redpencil.io
Docker Container =~ Lightweight Linux Virtual Machine
Docker Compose =~ Topology of multi-container project
Each service runs in its own Docker Container
In short:
- Simple hosting on hub.docker.com
- Clean project description
- Always works
Share using Docker
redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium
Reuse everything
redpencil.io
Reuse everything
- Templates: basics for a service
- Configurable services
- mu-cl-resources
- Ember add-ons
- Data table addon
- Login add-on
redpencil.io
Base templates
CatalogsIndexRoute = Ember.Route.extend
ajax: Ember.inject.service()
model: () ->
@get('ajax').request('/hello')
Hello result: {{model.value}}
get '/hello/' do
counter = query( "SELECT COUNT (*) as ?counter" +
"WHERE {" +
" ?s ?p ?o." +
"}" ).first[:counter].to_i
status 200
{ value: counter }.to_json
end
FROM semtech/mu-ruby-template:2.0.0-ruby2.3
MAINTAINER Your Name <you@provider.com>
demo:
image: you/demo-service
links:
- db:database
dispatcher:
…
links:
- demo:demo
match "/hello/*path" do
Proxy.forward conn, path, "http://demo/hello/"
end
[mu-ruby-template]
redpencil.io
Configurable services
(define-resource agendapunt ()
:class (s-prefix "besluit:Agendapunt")
:properties `((:titel :string ,(s-prefix "dct:title"))
(:beschrijving :string ,(s-prefix "dct:description"))
(:openbaar :boolean ,(s-prefix
"besluit:geplandOpenbaar"))
:has-many `((agendapunt :via ,(s-prefix "dct:references")
:as "referenties"))
:has-one `((agendapunt :via ,(s-prefix "besluit:aangebrachtNa")
:as "vorige-agendapunt")
(agenda :via ,(s-prefix "besluit:heeftAgendapunt")
:inverse t
:as "agenda"))
:resource-base (s-url "https://data.lblod.info/id/agendapunten/")
:on-path "agendapunten")
[mu-cl-resources]
Full JSONAPI from abstract description
redpencil.io
Ember add-ons
> ember install ember-paper-data-table
// template
{{data-table
content=model
fields="title isbn genre publicationDate language numberOfPages"
sort=sort page=page size=size}}
// route
import Ember from 'ember';
import DataTableRouteMixin from 'ember-data-table/mixins/route';
export default Ember.Route.extend(DataTableRouteMixin, {
modelName: 'book'
});
redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium
What we learned
redpencil.io
What we experienced
- Extremely productive
- Code reuse
- Easy for juniors
- Customers like front-end
- Database performance is okayish
- Conscious playing with alternative solutions
redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium
About the future
redpencil.io
Trigger microservices by changes in
semantic model.
Example:
-Send email/tweet by writing it to the triplestore
- Compute KPIs when a new dataset is added
Reactive programming
redpencil.io
More performance
- ember-fastboot:
Faster first page render
- mu-cache:
Smart caching strategies in
core microservices
- mu-cl-resources:
Partial resource caching
redpencil.io
More authority
Describe authorization outside the microservices:
- Simplify mental model
- Help in sharing content
- Open gate to advanced
applications
redpencil.io
More interactivity
Push cache updates to all visiting clients.
Almost no development time to create
basic interactive applications
(eg: updating KPIs, chat applications, …)
redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium
More links
redpencil.io
Resources used & interesting links
Lego Time Star Wars: https://www.flickr.com/photos/eurobricks-starwars/5223334274/in/photolist-8XyXiu-7BJ9Xp-c2btBw-davQBK- nAQJCC-9XVSZs-a3vVhy-vPZaHw-r6NB6c-4ajSXh-rX7ezA-BBhAWf-BiWDpc-
rED79Q-rX7f8u-mtctqc-wtp245-fcNzVb-CgXNsA-D4Uxps-wKj5u9-rX7fVm- rUWnBU-uhC54v-rXeB4g-zVknPq-qxEqXx-8GSCNc-nzg79j-biFNa6-9fXjwV-biFMTa-a1kbsX-5HnKDa-dQCdnW-a54g8X-bm9TRN-8zJUzU-fbGRan-sdr4hw-
e9DMFz-q3qQqf-aAZwyV- bm9Tsw-dQCdpb-sdpUWU-rkow4K-wazJmK-bz4Md8-pyU2QM Wendelstein 7X: http://www.sciencemag.org/news/2015/10/ bizarre-reactor-might-save- nuclear-fusion 300SL: https://www.
flickr.com/photos/smfan/7181631212/in/photolist-bWBJKN-o52kEN- 5pCCRH-6NezBh-oF2nYm-gHtRrE-6KAHDv-cPKKj9-2aj2ur-s3A8ua-5pH14j-bQk48B-omejVV-q2tAx7-o8yCtS-nRauVz-5pCNWB-o525H4-o9dqig-sk2we8-
o4EApo-N2NDc-o7jxQM-5pCG4c-81DnQh-exNBvp-kc9m4-exS223-cm2nm5-aPXHgc-7Tg5XD-6HQ5Q9-6w1JtR-5pCGWi-eb6dJe-pJYFdi-azFSaU-p5y4mb- 6GjCy2-q2kGp6-o52baX-9XtXDc-4GqX86-pJXbk1-8canak-q2tu1j-6HQ6eo-
sjZQkD-dhaPyf-bBqucA http://www.quickmeme.com/meme/3stqet Big Data Europe: https://www.big-data-europe.eu/ Docker Logo: http://www.silicon.de/41608942/microsoft-optimiert-windows-server-
2016- fuer-die- cloud/ webCAT: https://github.com/tenforce/webcat Banksy Van: http://artcentron.com/2016/06/22/banksy-graffiti-art-swat-van-sale/ #prettyPhoto Banksy Bananas:
https://www.touchofmod ern.com/sales/banksy-8a9ea26d-040f-4435-ada1-86e7a6b4a05c/pulp-fiction-bananas Your Data Stories platoform: http://platform.yourdatastories.eu/ Star Wars Clones box:
https://www.flickr.com/ photos/kalexanderson/ 5410769283/in/photolist-9f8Bcz-5SJTDj-55MnH2-4WEfzr-in3p6t-drf7fp-3b46gb-bKfRW4-3aYzBt-4xztdx-35E11y-9jVQVR-9wuv3f-9r3mWe-9hNTVz- 7JzMxg-7JYZFM-
Hw1QSq-8FW8eh-nVj9Sc- 8ytJvH-aPPKYz-dYyYWK-7fhBFE-7GgZYm-e5M9jV-bwm6S9-7fhyGd-e5SNkL-5LDPWB-e5SNdf-4MKWht-e5SLrb- 5zPWDw-74Yjyb-8xh5Vr-9Apdwp-4XUn5j-jSHfRS-9fAZ86-eueiqp-e5SPwu-e5MbcZ-
9tJQdd- 5f4rJT-9HsoqF-9hud4U- e5MaQX-52mMrQ-e5M9WX/ GitHub Logo: https://blog.adafruit.com/2012/12/31/github-has-big-dreams-for- open-source-software-and-more/ Twitter Logo:
https://en.wikipedia.org/wiki/File: Twitter_bird_logo_2012.svg mu-ruby-template: https://github.com/mu-semtech/mu-ruby-template mu-cl-resources: https://github.com/mu-semtech/mu-cl-resources
mu-project: https://github.com/ mu-semtech/mu-project https://www.flickr.com/photos/thecampbell/538006470/in/photolist-PxqzC-VvKpZz-5fxVBU-9BdHcy-jun5Rc-b3hJyr-4kwAzq-4aDxKG-9eikzy-oN1cS-
b1qFS-5nW8RE-4XQciS-7P4d2M-fcJrSw- 4BFdFe-eeeL3U-7NmZah-5d87sF-68AumY-dsrDuJ-68wgj8-qc8eFQ-87br53-9P9rDt-4BKw9G-RF34ho-TosZvG-878cZX-7EdrUZ-89s9TJ-4BFebF-5B6SFH-4BKw5f-pFSyd-VWMxDV-9yGdaJ-
dfCama-7tGsfM-y7Avs-bu5LUt-7ZMRsc-fs8mh2-tw7JN-4dGcFB-8xSsMz-nktNfw-2VBNK-7GiQEy-nnvv8Z https://www.flickr.com/photos/cluczkow/8690663851/in/photolist-eeXVzV-82JLku-fJ9vu-c7ZA4w-fjWxes-
eeKJac-bLsdaK-9zhVG1-n9gwFN-d54eqS-8uJCbZ- aaRdq9-eP2SdB-rd3rho-hcCjht-d8sJuN-pgtoo9-e9dgJL-2qdpwR-6p1a48-d54h85-ekh1kE-D9uR9c-ojB38x-4YB5p5-6UUkDm-9FbBY8-9ZfVqH-57q8DD-9qWu4w-2xAzyk-82FAtP-
EK7Km-fgpz5y-4YSvHt-8fcr8Z-932Wnm-d54mgs-nWQFct-96ZKbg-5rT9Qt-natQkd-5teooV-e3KkQV-dMKrEt-3a1Ne5-2yeaAg-71K499-9ayB82-54LgcX/ https://en.wikipedia.org/wiki/Leuven
https://en.wikipedia.org/wiki/Tielt-Winge https://en.wikipedia.org/wiki/ Mechelen https://en.wikipedia.org/wiki/Ghent http://dbpedia.org/sparql?default-graph-
uri=&query=SELECT+%3Fname+%3Fsite%0D%0AWHERE+%7B%0D%0A++%3Fs+a+%3Chttps%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttp%2Fwww.wikidata.org%2Fentity
%2FQ493522%3E.%0D%0A++%3Fh+owl%3AsameAs+%3Fs.%0D%0A++%3Fh+foaf%3Ahomepage+%3Fsite.%0D%0A++%3Fh+dbp%3Aname+%3Fname.%0D%0A%7D%0D%0A%0D%0A%0D%0A&format=text%2Fhtml&CXML_redir_for_subjs=121&CXML
_redir_for_hrefs=&timeout=30000&debug=on&run=+Run+Query+ https://www.flickr.com/photos/cali4beach/6790834651/in/photolist-bm5Ny4-pQkJgC-dYksek-9PKymD-beLUSg-egPTkg-5gjPjk-ghTSVc-9dPT9n-
5eDrNx- bzmwMC-amjKMc-2e8zVU-9fzrFZ-hUobba-bxtMvP-5Np5za-5gRG6g-bzmwPs-d9K1Bc-bkSEGt-bw3ZQV-66Davt-b6EXke-egPS9t-bNgawP-bNgbmk-fPxGqz-fsXK2T-JHRMnJ-bNgaur-2A1ce-8iLdBT-RD9qP3-RD9qCb-ishC4V-
bzmwX3-sHC6yq-WqknzF-777FW7-ojNSvV-khpPit-o4xe7r-pzJY1X-5fZJ94-M6wMD5-khqtvZ-AJR5Kw-5aCCcP-cbxNbJ https://openthebox.be https://www.flickr.com/photos/mrsbluff/3176611820/in/photolist-5QGY2j-
aippf7-9kMTw7-JkELqH-bUYXoA-pn1WtL-bkNwnp-q71M5T-bpNyGe-adkduX-chEfau-J1HXj1-c1VtC-fL89Cq-b2qBzv-rdEFvK-dVK1R-5W1XmD-a1TrpD-yYdcp-4D87s8-9VDoNo-7BDKnc-sv7Eyp-4PT1ZR-GK4SR-7wtzVF-7U9mPB-
4e5gsE-bkNwXv-4QAa4w-VqAK7R-4Qw1Dp-q7jq49-chEaLb-3rFin-dYKokD-9GapDu-bkNxdX-aWpyqP-dsxEBu-cbo125-q71Mzk-bpNLCt-9kN2A3-bkNwFZ-aWTq7t-VJ3NWF-bUmuNN-9c6rNm https://www.flickr.com/photos/gsfc/
8244369739/in/photolist-dywxTR-e7YVJL-UodiQu-5jhfU6-dFPPin-kweLCx-7hL9AT-i7arhE-hv3CGC-khqtLi-r3woAG-Ws9dLt-WXd3rQ-dRbXp3-dADspH-ndhiJD-bkbY3h-i3NEP6-Vw1xYM-V6myVs-LNdz9B-kwecKk-9BXY79-
Vba1Xj-khpNqM-qntpoT-pxXgHn-kwTrDV-Us2Kqs-kwDSas-6wX9GD-r1j98o-bxTMss-r3sfj8-9mMqHx-dPcqJ1-pn3Mi4-pQd6Nt-dZUzW9-5SLpFa-7YLgj7-Xmy3CG-7w564c-8ffSaJ-UjAVpd-jzi6jL-pNmAjY-dE4u2v-kzox7D-cw8Rd9
http://ap-verlag.de/clickandbuilds/WordPress/MyCMS4/wp-content/uploads/2017/08/grafik-gartner-hype-cycle-2017.jpg https://media.gcflearnfree.org/content/5690213b4ba91213b0054eb9_01_08_
2016/start_interface_background.png https://www.flickr.com/photos/michael_wacker/17148486915/in/photolist-s8mtHv-agNv1-4cour1-XZD99V-5ykQv2-7FZrKM-Di7LgY-jXbgSS-fYzPax-92GCXs-eCA45-fzMq36-
dNnzX5-fHnJhb-axebUS-SQYNXN-aartBG-dbXycb-77JH3Z-5gcSxe-pBqMXx-8s3qVd-9C1Gj9-k25sMf-esjBQ-f7s8X-5kLpry-4xAdWe-7n61dm-4eF9CC-aGN96H-qem58t-eLa5Ap-9WaWEe-jeXAhv-dhMHpj-4HxX4D-fUp4yu-aZQNW-
cveJpf-5WAdxf-8UCbKW-dRnxLS-bmQwtT-fu7Jiu-g8sZxB-4UQA74-2HVntV-dDCwFE-8AjJ68 https://media.gcflearnfree.org/content/5690213b4ba91213b0054eb9_01_08_2016/start_interface_background.png
https://www.flickr.com/photos/michael_wacker/17148486915/in/photolist-s8mtHv-agNv1-4cour1-XZD99V-5ykQv2-7FZrKM-Di7LgY-jXbgSS-fYzPax-92GCXs-eCA45-fzMq36-dNnzX5-fHnJhb-axebUS-SQYNXN-aartBG-
dbXycb-77JH3Z-5gcSxe-pBqMXx-8s3qVd-9C1Gj9-k25sMf-esjBQ-f7s8X-5kLpry-4xAdWe-7n61dm-4eF9CC-aGN96H-qem58t-eLa5Ap-9WaWEe-jeXAhv-dhMHpj-4HxX4D-fUp4yu-aZQNW-cveJpf-5WAdxf-8UCbKW-dRnxLS-bmQwtT-
fu7Jiu-g8sZxB-4UQA74-2HVntV-dDCwFE-8AjJ68 https://www.flickr.com/photos/113306963@N05/36557530146/in/photolist-XGsU4U-oGo3ik-TEaP7K-WRMiBi-XymJYe-XGsR6u-V5fVcP-kjF94x-9o8SH7-VW8c8m-XavzLf-
UXu6tr-VJaHBj- TrTv9W-b3avJ6-SyBwwc-SvVqru-eiiXTd-WuHLXC-agrRD4-4DX1uB-SRXAch-TqSowy-bupAbm-VALapW-SyBvK2-Xt7PaJ-TdVb11-V8fjeA-bq3t9j-XMrxTv-Vp3fAJ-bAHbfa-XvDkp5-XGtjjh-cuNNPf-VgcEn6-cXoU91-
TUtbH2-kKijCm-XruZpQ-arM9WT-Vmz5rN-e5YFrT-9fXtHs-cXoSYL-UiUXYc-TPb1EU-Ucy8ZT-UDpaZY https://commons.wikimedia.org/wiki/File:Teacup_clipart.svg

More Related Content

What's hot (19)

PDF
Serverless APIs with Apache OpenWhisk
Daniel Krook
 
PDF
AI & Machine Learning Pipelines with Knative
Animesh Singh
 
PDF
OpenWhisk Meetup - Austin, TX 07/2017
Carlos Santana
 
PDF
Serverless: A love hate relationship
Jürgen Brüder
 
PDF
The CNCF on Serverless
Daniel Krook
 
PDF
Serverless architectures built on an open source platform
Daniel Krook
 
PPTX
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Daniel Krook
 
PDF
NodeJS Serverless backends for your frontends
Carlos Santana
 
PDF
OpenWhisk - Serverless Architecture
Dev_Events
 
PDF
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
OpenWhisk
 
PPT
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
OpenWhisk
 
PDF
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Animesh Singh
 
PDF
Apache OpenWhisk - KRnet 2017
Jin Gi Kong
 
PDF
Workshop: Develop Serverless Applications with IBM Cloud Functions
Daniel Krook
 
PDF
Oop2008 RESTful services with GWT and Apache CXF
Adrian Trenaman
 
PDF
Load Balancing for Containers and Cloud Native Architecture
Chiradeep Vittal
 
PDF
Writing less code with Serverless on AWS at FrOSCon 2021
Vadym Kazulkin
 
PDF
Build Event-Driven Microservices with Confluent Cloud Workshop #1
confluent
 
PDF
Fabric for Deep Learning
Animesh Singh
 
Serverless APIs with Apache OpenWhisk
Daniel Krook
 
AI & Machine Learning Pipelines with Knative
Animesh Singh
 
OpenWhisk Meetup - Austin, TX 07/2017
Carlos Santana
 
Serverless: A love hate relationship
Jürgen Brüder
 
The CNCF on Serverless
Daniel Krook
 
Serverless architectures built on an open source platform
Daniel Krook
 
Cloud Native Architectures with an Open Source, Event Driven, Serverless Plat...
Daniel Krook
 
NodeJS Serverless backends for your frontends
Carlos Santana
 
OpenWhisk - Serverless Architecture
Dev_Events
 
IBM Bluemix OpenWhisk: IBM InterConnect 2017, Las Vegas, USA: Technical Strategy
OpenWhisk
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
OpenWhisk
 
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Animesh Singh
 
Apache OpenWhisk - KRnet 2017
Jin Gi Kong
 
Workshop: Develop Serverless Applications with IBM Cloud Functions
Daniel Krook
 
Oop2008 RESTful services with GWT and Apache CXF
Adrian Trenaman
 
Load Balancing for Containers and Cloud Native Architecture
Chiradeep Vittal
 
Writing less code with Serverless on AWS at FrOSCon 2021
Vadym Kazulkin
 
Build Event-Driven Microservices with Confluent Cloud Workshop #1
confluent
 
Fabric for Deep Learning
Animesh Singh
 

Similar to mu.semte.ch: A transitional architecture for Linked Data (20)

PPTX
Linked Data at the Open University: From Technical Challenges to Organization...
Mathieu d'Aquin
 
PPTX
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
Aad Versteden
 
PPTX
Introducing Azure DocumentDB - NoSQL, No Problem
Andrew Liu
 
PDF
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
Lucidworks
 
PDF
Rafal_Malanij_MSc_Dissertation
Rafał Małanij
 
PDF
Semantic technologies in practice - KULeuven 2016
Aad Versteden
 
KEY
Linked services
Carlos Pedrinaci
 
PPTX
CSHALS 2010 W3C Semanic Web Tutorial
LeeFeigenbaum
 
PDF
Domain-Driven Data at the O'Reilly Software Architecture Conference
Dev_Events
 
PPTX
Linked Data as an enabling framework for resource discovery across libraries,...
Andy Powell
 
PDF
Sw 5semantic web-primer
okeee
 
PDF
Really usefulebooks 0262012421_the mit press a semantic web primer 2nd editio...
okeee
 
PDF
Semantic web-primer
okeee
 
PPTX
SuRf – Tapping Into The Web Of Data
cosbas
 
KEY
An introduction to Pincaster
Frank Denis
 
PDF
NoSQL meets Microservices - Michael Hackstein
distributed matters
 
KEY
Ruby semweb 2011-12-06
Gregg Kellogg
 
PPTX
Hack U Barcelona 2011
Peter Mika
 
PDF
Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...
WU (Vienna University of Economics and Business)
 
PDF
The DataTank: an Open Data adapter with semantic output
Miel Vander Sande
 
Linked Data at the Open University: From Technical Challenges to Organization...
Mathieu d'Aquin
 
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
Aad Versteden
 
Introducing Azure DocumentDB - NoSQL, No Problem
Andrew Liu
 
PlayStation and Lucene - Indexing 1M documents per second: Presented by Alexa...
Lucidworks
 
Rafal_Malanij_MSc_Dissertation
Rafał Małanij
 
Semantic technologies in practice - KULeuven 2016
Aad Versteden
 
Linked services
Carlos Pedrinaci
 
CSHALS 2010 W3C Semanic Web Tutorial
LeeFeigenbaum
 
Domain-Driven Data at the O'Reilly Software Architecture Conference
Dev_Events
 
Linked Data as an enabling framework for resource discovery across libraries,...
Andy Powell
 
Sw 5semantic web-primer
okeee
 
Really usefulebooks 0262012421_the mit press a semantic web primer 2nd editio...
okeee
 
Semantic web-primer
okeee
 
SuRf – Tapping Into The Web Of Data
cosbas
 
An introduction to Pincaster
Frank Denis
 
NoSQL meets Microservices - Michael Hackstein
distributed matters
 
Ruby semweb 2011-12-06
Gregg Kellogg
 
Hack U Barcelona 2011
Peter Mika
 
Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of ...
WU (Vienna University of Economics and Business)
 
The DataTank: an Open Data adapter with semantic output
Miel Vander Sande
 
Ad

More from Open Knowledge Belgium (20)

PPTX
Open Data Stories You haven't heard!
Open Knowledge Belgium
 
PPTX
A​ FUNUMENTARY:​ Take what you can, give nothing back...​ ​(NOT)
Open Knowledge Belgium
 
PDF
Smarter by Open Data: Process and Practice in Flevoland (NL)
Open Knowledge Belgium
 
PDF
Open Knowledge for Social Innovation
Open Knowledge Belgium
 
PDF
Smart Flanders: Tackling urban challenges through Open Data
Open Knowledge Belgium
 
PDF
EIF and NIFO connecting public administrations, businesses, and citizens
Open Knowledge Belgium
 
PDF
Connecting Open data for solving the fiscal transparency puzzle in the EU
Open Knowledge Belgium
 
PDF
Open Government and Networked European Democracy
Open Knowledge Belgium
 
PPTX
Mundaneum Factories for Open Tokenomics
Open Knowledge Belgium
 
PDF
MIRVA: The European Open Recognition Project
Open Knowledge Belgium
 
PPTX
Bike for Brussels - Open Summer of Code 2017
Open Knowledge Belgium
 
PPTX
The story behind SNCB alerts
Open Knowledge Belgium
 
PPTX
Traffic safety - answering tough questions with open data
Open Knowledge Belgium
 
PPTX
Eliminating data roadbloacks to get by traffic roadblocks without pain
Open Knowledge Belgium
 
PPTX
Linked Open Data in limbo: Open cultural heritage resources
Open Knowledge Belgium
 
PPTX
A journey to Linked Open Touristic Data
Open Knowledge Belgium
 
PDF
How we use the massive open lidar dataset for the benfit of our clients
Open Knowledge Belgium
 
PPTX
Linked Open Chatbots
Open Knowledge Belgium
 
PDF
The role and value of making data inventories
Open Knowledge Belgium
 
PDF
Open for Business
Open Knowledge Belgium
 
Open Data Stories You haven't heard!
Open Knowledge Belgium
 
A​ FUNUMENTARY:​ Take what you can, give nothing back...​ ​(NOT)
Open Knowledge Belgium
 
Smarter by Open Data: Process and Practice in Flevoland (NL)
Open Knowledge Belgium
 
Open Knowledge for Social Innovation
Open Knowledge Belgium
 
Smart Flanders: Tackling urban challenges through Open Data
Open Knowledge Belgium
 
EIF and NIFO connecting public administrations, businesses, and citizens
Open Knowledge Belgium
 
Connecting Open data for solving the fiscal transparency puzzle in the EU
Open Knowledge Belgium
 
Open Government and Networked European Democracy
Open Knowledge Belgium
 
Mundaneum Factories for Open Tokenomics
Open Knowledge Belgium
 
MIRVA: The European Open Recognition Project
Open Knowledge Belgium
 
Bike for Brussels - Open Summer of Code 2017
Open Knowledge Belgium
 
The story behind SNCB alerts
Open Knowledge Belgium
 
Traffic safety - answering tough questions with open data
Open Knowledge Belgium
 
Eliminating data roadbloacks to get by traffic roadblocks without pain
Open Knowledge Belgium
 
Linked Open Data in limbo: Open cultural heritage resources
Open Knowledge Belgium
 
A journey to Linked Open Touristic Data
Open Knowledge Belgium
 
How we use the massive open lidar dataset for the benfit of our clients
Open Knowledge Belgium
 
Linked Open Chatbots
Open Knowledge Belgium
 
The role and value of making data inventories
Open Knowledge Belgium
 
Open for Business
Open Knowledge Belgium
 
Ad

Recently uploaded (20)

PPTX
Aict presentation on dpplppp sjdhfh.pptx
vabaso5932
 
PDF
apidays Helsinki & North 2025 - REST in Peace? Hunting the Dominant Design fo...
apidays
 
PDF
Development and validation of the Japanese version of the Organizational Matt...
Yoga Tokuyoshi
 
PPTX
Exploring Multilingual Embeddings for Italian Semantic Search: A Pretrained a...
Sease
 
PDF
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
PDF
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
PPTX
apidays Helsinki & North 2025 - Vero APIs - Experiences of API development in...
apidays
 
PDF
Simplifying Document Processing with Docling for AI Applications.pdf
Tamanna
 
PDF
The European Business Wallet: Why It Matters and How It Powers the EUDI Ecosy...
Lal Chandran
 
PPTX
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
PPTX
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
PPTX
apidays Helsinki & North 2025 - APIs at Scale: Designing for Alignment, Trust...
apidays
 
PDF
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
PDF
Building Production-Ready AI Agents with LangGraph.pdf
Tamanna
 
PDF
Context Engineering for AI Agents, approaches, memories.pdf
Tamanna
 
PDF
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
PPTX
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
PPTX
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 
PPTX
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
PDF
apidays Helsinki & North 2025 - API-Powered Journeys: Mobility in an API-Driv...
apidays
 
Aict presentation on dpplppp sjdhfh.pptx
vabaso5932
 
apidays Helsinki & North 2025 - REST in Peace? Hunting the Dominant Design fo...
apidays
 
Development and validation of the Japanese version of the Organizational Matt...
Yoga Tokuyoshi
 
Exploring Multilingual Embeddings for Italian Semantic Search: A Pretrained a...
Sease
 
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
apidays Helsinki & North 2025 - Vero APIs - Experiences of API development in...
apidays
 
Simplifying Document Processing with Docling for AI Applications.pdf
Tamanna
 
The European Business Wallet: Why It Matters and How It Powers the EUDI Ecosy...
Lal Chandran
 
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
apidays Helsinki & North 2025 - APIs at Scale: Designing for Alignment, Trust...
apidays
 
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
Building Production-Ready AI Agents with LangGraph.pdf
Tamanna
 
Context Engineering for AI Agents, approaches, memories.pdf
Tamanna
 
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
apidays Helsinki & North 2025 - API-Powered Journeys: Mobility in an API-Driv...
apidays
 

mu.semte.ch: A transitional architecture for Linked Data

  • 1. redpencil.io redpencil.io A transitional architecture for Linked Data Aad Versteden & Niels Vandekeybus from redpencil.io for OpenBelgium
  • 2. redpencil.io - Lower total cost of ownership - Ease to adapt and extend - Predictable performance - Easy to maintain - Low initial cost How are business solutions chosen?
  • 3. redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium WHOOPS Linked Data does not offer this . . . yet
  • 5. redpencil.io - Easy to understand - Easy to debug - Easy to reuse Microservices are awesome
  • 6. redpencil.io Microservices are complex - Data model dependencies - API dependencies - Disaster analysis
  • 7. redpencil.io - Direct connection to the database - Using semantic modelling Microservices are to be reengineered
  • 8. redpencil.io - Embrace Semantic Model - Functional microservices - Standard APIs Microservices are micro standalone services
  • 9. redpencil.io … taking advantage of the semantic domain model
  • 10. redpencil.io Some history Share code on personal projects Rails is not über-productive Stay light, choose later Use microservices and semantic model
  • 12. redpencil.io In 60 seconds State-of-the-art web applications fuelled by Linked Data aware microservices - User-facing microservices - Easy deployment using Docker - Single Page Apps using Ember.js - Well known requirements => [HTTP+JSON+SPARQL] https://github.com/mu-semtech/ https://mu.semte.ch
  • 13. redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium KISS Keep It Super Simple
  • 14. redpencil.io KISS - Most of us aren’t microservice experts - Most of us aren’t UI experts - We need to get stuff done - Maximize freedom - Orthogonal features - Minimize requirements - Enforce simple mental model
  • 15. redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium Simple mental model user-facing http-services
  • 16. redpencil.io Simple mental model User-facing microservices Limit base technologies: - HTTP - JSON(API) - SPARQL (one graph)
  • 17. redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium Semantic models Many actors, telling parts of the same story
  • 18. redpencil.io Semantic models Services read/write the part of the world they understand. User Registration: - There’s a new user => add it to the triplestore. User Login: - Check username/password => connect user to current session.
  • 20. redpencil.io Semantic models Many implementations, one model Same model for: - Username/Password login - OAuth login - ACM/IDM login
  • 21. redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium Docker Deployment made easy
  • 22. redpencil.io Docker Container =~ Lightweight Linux Virtual Machine Docker Compose =~ Topology of multi-container project Each service runs in its own Docker Container In short: - Simple hosting on hub.docker.com - Clean project description - Always works Share using Docker
  • 23. redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium Reuse everything
  • 24. redpencil.io Reuse everything - Templates: basics for a service - Configurable services - mu-cl-resources - Ember add-ons - Data table addon - Login add-on
  • 25. redpencil.io Base templates CatalogsIndexRoute = Ember.Route.extend ajax: Ember.inject.service() model: () -> @get('ajax').request('/hello') Hello result: {{model.value}} get '/hello/' do counter = query( "SELECT COUNT (*) as ?counter" + "WHERE {" + " ?s ?p ?o." + "}" ).first[:counter].to_i status 200 { value: counter }.to_json end FROM semtech/mu-ruby-template:2.0.0-ruby2.3 MAINTAINER Your Name <[email protected]> demo: image: you/demo-service links: - db:database dispatcher: … links: - demo:demo match "/hello/*path" do Proxy.forward conn, path, "http://demo/hello/" end [mu-ruby-template]
  • 26. redpencil.io Configurable services (define-resource agendapunt () :class (s-prefix "besluit:Agendapunt") :properties `((:titel :string ,(s-prefix "dct:title")) (:beschrijving :string ,(s-prefix "dct:description")) (:openbaar :boolean ,(s-prefix "besluit:geplandOpenbaar")) :has-many `((agendapunt :via ,(s-prefix "dct:references") :as "referenties")) :has-one `((agendapunt :via ,(s-prefix "besluit:aangebrachtNa") :as "vorige-agendapunt") (agenda :via ,(s-prefix "besluit:heeftAgendapunt") :inverse t :as "agenda")) :resource-base (s-url "https://data.lblod.info/id/agendapunten/") :on-path "agendapunten") [mu-cl-resources] Full JSONAPI from abstract description
  • 27. redpencil.io Ember add-ons > ember install ember-paper-data-table // template {{data-table content=model fields="title isbn genre publicationDate language numberOfPages" sort=sort page=page size=size}} // route import Ember from 'ember'; import DataTableRouteMixin from 'ember-data-table/mixins/route'; export default Ember.Route.extend(DataTableRouteMixin, { modelName: 'book' });
  • 28. redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium What we learned
  • 29. redpencil.io What we experienced - Extremely productive - Code reuse - Easy for juniors - Customers like front-end - Database performance is okayish - Conscious playing with alternative solutions
  • 30. redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium About the future
  • 31. redpencil.io Trigger microservices by changes in semantic model. Example: -Send email/tweet by writing it to the triplestore - Compute KPIs when a new dataset is added Reactive programming
  • 32. redpencil.io More performance - ember-fastboot: Faster first page render - mu-cache: Smart caching strategies in core microservices - mu-cl-resources: Partial resource caching
  • 33. redpencil.io More authority Describe authorization outside the microservices: - Simplify mental model - Help in sharing content - Open gate to advanced applications
  • 34. redpencil.io More interactivity Push cache updates to all visiting clients. Almost no development time to create basic interactive applications (eg: updating KPIs, chat applications, …)
  • 35. redpencil.ioredpencil.ioFrom Aad Versteden & Niels Vandekeybus of redpencil.io for Open Belgium More links
  • 36. redpencil.io Resources used & interesting links Lego Time Star Wars: https://www.flickr.com/photos/eurobricks-starwars/5223334274/in/photolist-8XyXiu-7BJ9Xp-c2btBw-davQBK- nAQJCC-9XVSZs-a3vVhy-vPZaHw-r6NB6c-4ajSXh-rX7ezA-BBhAWf-BiWDpc- rED79Q-rX7f8u-mtctqc-wtp245-fcNzVb-CgXNsA-D4Uxps-wKj5u9-rX7fVm- rUWnBU-uhC54v-rXeB4g-zVknPq-qxEqXx-8GSCNc-nzg79j-biFNa6-9fXjwV-biFMTa-a1kbsX-5HnKDa-dQCdnW-a54g8X-bm9TRN-8zJUzU-fbGRan-sdr4hw- e9DMFz-q3qQqf-aAZwyV- bm9Tsw-dQCdpb-sdpUWU-rkow4K-wazJmK-bz4Md8-pyU2QM Wendelstein 7X: http://www.sciencemag.org/news/2015/10/ bizarre-reactor-might-save- nuclear-fusion 300SL: https://www. flickr.com/photos/smfan/7181631212/in/photolist-bWBJKN-o52kEN- 5pCCRH-6NezBh-oF2nYm-gHtRrE-6KAHDv-cPKKj9-2aj2ur-s3A8ua-5pH14j-bQk48B-omejVV-q2tAx7-o8yCtS-nRauVz-5pCNWB-o525H4-o9dqig-sk2we8- o4EApo-N2NDc-o7jxQM-5pCG4c-81DnQh-exNBvp-kc9m4-exS223-cm2nm5-aPXHgc-7Tg5XD-6HQ5Q9-6w1JtR-5pCGWi-eb6dJe-pJYFdi-azFSaU-p5y4mb- 6GjCy2-q2kGp6-o52baX-9XtXDc-4GqX86-pJXbk1-8canak-q2tu1j-6HQ6eo- sjZQkD-dhaPyf-bBqucA http://www.quickmeme.com/meme/3stqet Big Data Europe: https://www.big-data-europe.eu/ Docker Logo: http://www.silicon.de/41608942/microsoft-optimiert-windows-server- 2016- fuer-die- cloud/ webCAT: https://github.com/tenforce/webcat Banksy Van: http://artcentron.com/2016/06/22/banksy-graffiti-art-swat-van-sale/ #prettyPhoto Banksy Bananas: https://www.touchofmod ern.com/sales/banksy-8a9ea26d-040f-4435-ada1-86e7a6b4a05c/pulp-fiction-bananas Your Data Stories platoform: http://platform.yourdatastories.eu/ Star Wars Clones box: https://www.flickr.com/ photos/kalexanderson/ 5410769283/in/photolist-9f8Bcz-5SJTDj-55MnH2-4WEfzr-in3p6t-drf7fp-3b46gb-bKfRW4-3aYzBt-4xztdx-35E11y-9jVQVR-9wuv3f-9r3mWe-9hNTVz- 7JzMxg-7JYZFM- Hw1QSq-8FW8eh-nVj9Sc- 8ytJvH-aPPKYz-dYyYWK-7fhBFE-7GgZYm-e5M9jV-bwm6S9-7fhyGd-e5SNkL-5LDPWB-e5SNdf-4MKWht-e5SLrb- 5zPWDw-74Yjyb-8xh5Vr-9Apdwp-4XUn5j-jSHfRS-9fAZ86-eueiqp-e5SPwu-e5MbcZ- 9tJQdd- 5f4rJT-9HsoqF-9hud4U- e5MaQX-52mMrQ-e5M9WX/ GitHub Logo: https://blog.adafruit.com/2012/12/31/github-has-big-dreams-for- open-source-software-and-more/ Twitter Logo: https://en.wikipedia.org/wiki/File: Twitter_bird_logo_2012.svg mu-ruby-template: https://github.com/mu-semtech/mu-ruby-template mu-cl-resources: https://github.com/mu-semtech/mu-cl-resources mu-project: https://github.com/ mu-semtech/mu-project https://www.flickr.com/photos/thecampbell/538006470/in/photolist-PxqzC-VvKpZz-5fxVBU-9BdHcy-jun5Rc-b3hJyr-4kwAzq-4aDxKG-9eikzy-oN1cS- b1qFS-5nW8RE-4XQciS-7P4d2M-fcJrSw- 4BFdFe-eeeL3U-7NmZah-5d87sF-68AumY-dsrDuJ-68wgj8-qc8eFQ-87br53-9P9rDt-4BKw9G-RF34ho-TosZvG-878cZX-7EdrUZ-89s9TJ-4BFebF-5B6SFH-4BKw5f-pFSyd-VWMxDV-9yGdaJ- dfCama-7tGsfM-y7Avs-bu5LUt-7ZMRsc-fs8mh2-tw7JN-4dGcFB-8xSsMz-nktNfw-2VBNK-7GiQEy-nnvv8Z https://www.flickr.com/photos/cluczkow/8690663851/in/photolist-eeXVzV-82JLku-fJ9vu-c7ZA4w-fjWxes- eeKJac-bLsdaK-9zhVG1-n9gwFN-d54eqS-8uJCbZ- aaRdq9-eP2SdB-rd3rho-hcCjht-d8sJuN-pgtoo9-e9dgJL-2qdpwR-6p1a48-d54h85-ekh1kE-D9uR9c-ojB38x-4YB5p5-6UUkDm-9FbBY8-9ZfVqH-57q8DD-9qWu4w-2xAzyk-82FAtP- EK7Km-fgpz5y-4YSvHt-8fcr8Z-932Wnm-d54mgs-nWQFct-96ZKbg-5rT9Qt-natQkd-5teooV-e3KkQV-dMKrEt-3a1Ne5-2yeaAg-71K499-9ayB82-54LgcX/ https://en.wikipedia.org/wiki/Leuven https://en.wikipedia.org/wiki/Tielt-Winge https://en.wikipedia.org/wiki/ Mechelen https://en.wikipedia.org/wiki/Ghent http://dbpedia.org/sparql?default-graph- uri=&query=SELECT+%3Fname+%3Fsite%0D%0AWHERE+%7B%0D%0A++%3Fs+a+%3Chttps%3A%2F%2Fblue-sea-697d.quartiers047.workers.dev%3A443%2Fhttp%2Fwww.wikidata.org%2Fentity %2FQ493522%3E.%0D%0A++%3Fh+owl%3AsameAs+%3Fs.%0D%0A++%3Fh+foaf%3Ahomepage+%3Fsite.%0D%0A++%3Fh+dbp%3Aname+%3Fname.%0D%0A%7D%0D%0A%0D%0A%0D%0A&format=text%2Fhtml&CXML_redir_for_subjs=121&CXML _redir_for_hrefs=&timeout=30000&debug=on&run=+Run+Query+ https://www.flickr.com/photos/cali4beach/6790834651/in/photolist-bm5Ny4-pQkJgC-dYksek-9PKymD-beLUSg-egPTkg-5gjPjk-ghTSVc-9dPT9n- 5eDrNx- bzmwMC-amjKMc-2e8zVU-9fzrFZ-hUobba-bxtMvP-5Np5za-5gRG6g-bzmwPs-d9K1Bc-bkSEGt-bw3ZQV-66Davt-b6EXke-egPS9t-bNgawP-bNgbmk-fPxGqz-fsXK2T-JHRMnJ-bNgaur-2A1ce-8iLdBT-RD9qP3-RD9qCb-ishC4V- bzmwX3-sHC6yq-WqknzF-777FW7-ojNSvV-khpPit-o4xe7r-pzJY1X-5fZJ94-M6wMD5-khqtvZ-AJR5Kw-5aCCcP-cbxNbJ https://openthebox.be https://www.flickr.com/photos/mrsbluff/3176611820/in/photolist-5QGY2j- aippf7-9kMTw7-JkELqH-bUYXoA-pn1WtL-bkNwnp-q71M5T-bpNyGe-adkduX-chEfau-J1HXj1-c1VtC-fL89Cq-b2qBzv-rdEFvK-dVK1R-5W1XmD-a1TrpD-yYdcp-4D87s8-9VDoNo-7BDKnc-sv7Eyp-4PT1ZR-GK4SR-7wtzVF-7U9mPB- 4e5gsE-bkNwXv-4QAa4w-VqAK7R-4Qw1Dp-q7jq49-chEaLb-3rFin-dYKokD-9GapDu-bkNxdX-aWpyqP-dsxEBu-cbo125-q71Mzk-bpNLCt-9kN2A3-bkNwFZ-aWTq7t-VJ3NWF-bUmuNN-9c6rNm https://www.flickr.com/photos/gsfc/ 8244369739/in/photolist-dywxTR-e7YVJL-UodiQu-5jhfU6-dFPPin-kweLCx-7hL9AT-i7arhE-hv3CGC-khqtLi-r3woAG-Ws9dLt-WXd3rQ-dRbXp3-dADspH-ndhiJD-bkbY3h-i3NEP6-Vw1xYM-V6myVs-LNdz9B-kwecKk-9BXY79- Vba1Xj-khpNqM-qntpoT-pxXgHn-kwTrDV-Us2Kqs-kwDSas-6wX9GD-r1j98o-bxTMss-r3sfj8-9mMqHx-dPcqJ1-pn3Mi4-pQd6Nt-dZUzW9-5SLpFa-7YLgj7-Xmy3CG-7w564c-8ffSaJ-UjAVpd-jzi6jL-pNmAjY-dE4u2v-kzox7D-cw8Rd9 http://ap-verlag.de/clickandbuilds/WordPress/MyCMS4/wp-content/uploads/2017/08/grafik-gartner-hype-cycle-2017.jpg https://media.gcflearnfree.org/content/5690213b4ba91213b0054eb9_01_08_ 2016/start_interface_background.png https://www.flickr.com/photos/michael_wacker/17148486915/in/photolist-s8mtHv-agNv1-4cour1-XZD99V-5ykQv2-7FZrKM-Di7LgY-jXbgSS-fYzPax-92GCXs-eCA45-fzMq36- dNnzX5-fHnJhb-axebUS-SQYNXN-aartBG-dbXycb-77JH3Z-5gcSxe-pBqMXx-8s3qVd-9C1Gj9-k25sMf-esjBQ-f7s8X-5kLpry-4xAdWe-7n61dm-4eF9CC-aGN96H-qem58t-eLa5Ap-9WaWEe-jeXAhv-dhMHpj-4HxX4D-fUp4yu-aZQNW- cveJpf-5WAdxf-8UCbKW-dRnxLS-bmQwtT-fu7Jiu-g8sZxB-4UQA74-2HVntV-dDCwFE-8AjJ68 https://media.gcflearnfree.org/content/5690213b4ba91213b0054eb9_01_08_2016/start_interface_background.png https://www.flickr.com/photos/michael_wacker/17148486915/in/photolist-s8mtHv-agNv1-4cour1-XZD99V-5ykQv2-7FZrKM-Di7LgY-jXbgSS-fYzPax-92GCXs-eCA45-fzMq36-dNnzX5-fHnJhb-axebUS-SQYNXN-aartBG- dbXycb-77JH3Z-5gcSxe-pBqMXx-8s3qVd-9C1Gj9-k25sMf-esjBQ-f7s8X-5kLpry-4xAdWe-7n61dm-4eF9CC-aGN96H-qem58t-eLa5Ap-9WaWEe-jeXAhv-dhMHpj-4HxX4D-fUp4yu-aZQNW-cveJpf-5WAdxf-8UCbKW-dRnxLS-bmQwtT- fu7Jiu-g8sZxB-4UQA74-2HVntV-dDCwFE-8AjJ68 https://www.flickr.com/photos/113306963@N05/36557530146/in/photolist-XGsU4U-oGo3ik-TEaP7K-WRMiBi-XymJYe-XGsR6u-V5fVcP-kjF94x-9o8SH7-VW8c8m-XavzLf- UXu6tr-VJaHBj- TrTv9W-b3avJ6-SyBwwc-SvVqru-eiiXTd-WuHLXC-agrRD4-4DX1uB-SRXAch-TqSowy-bupAbm-VALapW-SyBvK2-Xt7PaJ-TdVb11-V8fjeA-bq3t9j-XMrxTv-Vp3fAJ-bAHbfa-XvDkp5-XGtjjh-cuNNPf-VgcEn6-cXoU91- TUtbH2-kKijCm-XruZpQ-arM9WT-Vmz5rN-e5YFrT-9fXtHs-cXoSYL-UiUXYc-TPb1EU-Ucy8ZT-UDpaZY https://commons.wikimedia.org/wiki/File:Teacup_clipart.svg

Editor's Notes

  • #7: Disaster analysis is about analysing the cause when something goes wrong. The dependencies make it not only difficult to upgrade the functionality, but also to troubleshoot errors.
  • #8: Dit is een overgangsslide
  • #13: Adapt 60 seconds to what it really needs to be :-)
  • #17: TODO: color image so registration/login/products/files are coloured differently
  • #20: TODO: Alter image to indicate two different services
  • #21: Any opinions: Remove meme?
  • #25: TODO: Slide containing minimal implementation microservice Mu-cl-resources configuration Use of ember addon (eg: hierarchy service)