KEMBAR78
mu.semte.ch: A transitional architecture for Linked Data | PPTX
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+%3Chttp%3A%2F%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

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

  • 1.
    redpencil.io redpencil.io A transitional architecture for LinkedData Aad Versteden & Niels Vandekeybus from redpencil.io for OpenBelgium
  • 2.
    redpencil.io - Lower totalcost 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
  • 4.
  • 5.
    redpencil.io - Easy tounderstand - 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 connectionto the database - Using semantic modelling Microservices are to be reengineered
  • 8.
    redpencil.io - Embrace SemanticModel - Functional microservices - Standard APIs Microservices are micro standalone services
  • 9.
    redpencil.io … taking advantageof the semantic domain model
  • 10.
    redpencil.io Some history Share code onpersonal projects Rails is not ĂĽber-productive Stay light, choose later Use microservices and semantic model
  • 11.
  • 12.
    redpencil.io In 60 seconds State-of-the-artweb 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 ofus 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-facingmicroservices 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/writethe 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.
  • 19.
  • 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 <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]
  • 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 > emberinstall 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 bychanges 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: Fasterfirst page render - mu-cache: Smart caching strategies in core microservices - mu-cl-resources: Partial resource caching
  • 33.
    redpencil.io More authority Describe authorizationoutside the microservices: - Simplify mental model - Help in sharing content - Open gate to advanced applications
  • 34.
    redpencil.io More interactivity Push cacheupdates 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+%3Chttp%3A%2F%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)