SlideShare a Scribd company logo
1 of 29
Download to read offline
State-of-the-art Web Applications using
Microservices and Linked Data
Aad Versteden & Erika Pauwels
www.tenforce.com
yourdatastories.eu
What is mu.semte.ch?
We were able to reuse a lot :-)
Supported by yourdatastories.eu
- Integrating data sources
- Making investigative journalism easy
- Check http://yourdatastories.eu :)
Runs on Big Data Europe platform
Used by ESCO (& others)
How we think about it
Why did we build it?
Why did we build it?
- Personal projects
- Need code reuse
- Uncertain future (who will be the next big player)
- Change in web frontend landscape
- Change in web backend landscape
- Change in deployment landscape
- Need to roll your own
Many actors, one semantic model
Semantic model in mu.semte.ch
- Semantic model is the application’s domain
- Each microservice is an actor
- Integration is easy
- [FUTURE] Evaluate reasoning for complex or evolving applications
Automatic integration of services is awesome
… it is the bulk of what we explain to the un-indulged ...
… but you already know that ...
… give a taste of semantic technologies without a full buy-in.
Productivity is key
[Docker] Ease of installation & deployment
- Completely isolated environment (like a Virtual Machine)
- Automatic download & installation
books:
image: madnificent/books-service:1.0.0
links:
- db:database
[JSONAPI] Automatic communication with frontend
- Guidelines for REST resources on JSON APIs
- Limit discussion, point to jsonapi.org
{ "data": [{
"attributes": {
"name": "db",
"scaling": 1
},
"id": "ff9a62f3-6ecd-47da-95b1-aa310d29ffa5",
"type": "services",
"relationships": {
"pipeline": {
"links": { "self": "/services/ff9a62f3-6ecd-47da-95b1-aa310d29ffa5/links/pipeline-instance",
"related": "/services/ff9a62f3-6ecd-47da-95b1-aa310d29ffa5/pipeline-instance" }
}
}
}]}
- Make simple tasks simple
- Help follow best practices, don’t force
[Templates] Simple microservices
== Dockerfile ==
FROM semtech/mu-ruby-template:1.2.0-ruby2.1
MAINTAINER Aad Versteden <madnificent@gmail.com>
== web.rb ==
get '/:id/count' do
resp = query "
PREFIX votes: <http://mu.semte.ch/vocabularies/ext/votes/>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
SELECT (COUNT(?user) AS ?votes)
WHERE { GRAPH <#{settings.graph}> {
?user votes:plusOne/mu:uuid "#{sparql_string params['id']}"
} } "
status 200
{ data: { attributes: { votes: resp.first["votes"].to_i } } }.to_json
end
[Templates] Extensible services
- Make simple tasks simple
- Help follow best practices, don’t force
(define-resource catalog ()
:class (s-prefix "dcat:Catalog")
:properties `((:title :string ,(s-prefix "dct:title"))
(:description :string ,(s-prefix "dct:description")))
:has-one `((publisher :via ,(s-prefix "dct:publisher")
:as "publisher"))
:has-many `((dataset :via ,(s-prefix "dcat:dataset")
:as "datasets"))
:resource-base (s-url "http://tenforce.com/catalogs/")
:on-path "catalogs")
- Some backend services have standard frontend components
- The road towards web components
- Not semantic
[Ember addons] Sharing frontend code
> ember install ember-mu-login
= application.hbs =
{{login-form}}
Ease mental model
- A step towards semantic applications
- Extensive sharing of code
- Encourages experimentation
- State-of-the-art frontend applications
- It’s just a step
In conclusion
<Thank You>
need more?
Erika Pauwels
- erika.pauwels@tenforce.com
- @ErikaPauwels
- http://github.com/erikap
- erika.pauwels@gmail.com
Aad Versteden
- aad.versteden@tenforce.com
- @impulsater
- http://github.com/madnificent
- madnificent@gmail.com
http://mu.semte.ch - http://tenforce.com - http://github.com/mu-semtech
This study was funded by yourdatastories.eu, as were parts of the microservices.

More Related Content

What's hot

Mule ESB
Mule ESBMule ESB
Mule ESB
niravn
 

What's hot (20)

Mule esb made system integration easy
Mule esb made system integration easyMule esb made system integration easy
Mule esb made system integration easy
 
Microservices and Azure App Services
Microservices and Azure App ServicesMicroservices and Azure App Services
Microservices and Azure App Services
 
Database component in mule
Database component in muleDatabase component in mule
Database component in mule
 
Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
 
A Workhorse Named Mule
A Workhorse Named MuleA Workhorse Named Mule
A Workhorse Named Mule
 
Mule esb made system integration easy
Mule esb made system integration easy Mule esb made system integration easy
Mule esb made system integration easy
 
Microsoft Azure Traffic Manager
Microsoft Azure Traffic ManagerMicrosoft Azure Traffic Manager
Microsoft Azure Traffic Manager
 
Azure provisioning at your control
Azure provisioning at your controlAzure provisioning at your control
Azure provisioning at your control
 
Global Scale ESB with Mule
Global Scale ESB with MuleGlobal Scale ESB with Mule
Global Scale ESB with Mule
 
Mule
MuleMule
Mule
 
Overview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationOverview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integration
 
Azure Service Bus Brokered Messaging
Azure Service Bus Brokered MessagingAzure Service Bus Brokered Messaging
Azure Service Bus Brokered Messaging
 
Microsoft Azure Service Management Vs Microsoft Azure Resource Manager
Microsoft Azure Service Management Vs Microsoft Azure Resource ManagerMicrosoft Azure Service Management Vs Microsoft Azure Resource Manager
Microsoft Azure Service Management Vs Microsoft Azure Resource Manager
 
mule real world
mule real worldmule real world
mule real world
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
 
Azure Service Bus Overview
Azure Service Bus OverviewAzure Service Bus Overview
Azure Service Bus Overview
 
Fundamentals of Mule Esb
Fundamentals of Mule EsbFundamentals of Mule Esb
Fundamentals of Mule Esb
 
Mule compatible technologies
Mule compatible technologiesMule compatible technologies
Mule compatible technologies
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 

Similar to State of-the-art web applications using microservices and linked data

How to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First TimeHow to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First Time
David Linthicum
 
Engineer Suman Chandra Jha Resume
Engineer Suman Chandra Jha ResumeEngineer Suman Chandra Jha Resume
Engineer Suman Chandra Jha Resume
Suman Jha
 

Similar to State of-the-art web applications using microservices and linked data (20)

Semantic technologies in practice - KULeuven 2016
Semantic technologies in practice - KULeuven 2016Semantic technologies in practice - KULeuven 2016
Semantic technologies in practice - KULeuven 2016
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
 
Adding Data into your SOA with WSO2 WSAS
Adding Data into your SOA with WSO2 WSASAdding Data into your SOA with WSO2 WSAS
Adding Data into your SOA with WSO2 WSAS
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
 
Integration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speedIntegration intervention: Get your apps and data up to speed
Integration intervention: Get your apps and data up to speed
 
SAP PI and SOA Overview
SAP PI and SOA OverviewSAP PI and SOA Overview
SAP PI and SOA Overview
 
Sap Process Integration
Sap Process Integration Sap Process Integration
Sap Process Integration
 
Internet of Things and Big Data
Internet of Things and Big DataInternet of Things and Big Data
Internet of Things and Big Data
 
How to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First TimeHow to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First Time
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
 
Exploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 PlatformExploring Data Integration Capabilities of the WSO2 Platform
Exploring Data Integration Capabilities of the WSO2 Platform
 
Integration with Dynamics CRM
Integration with Dynamics CRMIntegration with Dynamics CRM
Integration with Dynamics CRM
 
Cloud Modernization and Data as a Service Option
Cloud Modernization and Data as a Service OptionCloud Modernization and Data as a Service Option
Cloud Modernization and Data as a Service Option
 
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP Integration
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
 
Engineer Suman Chandra Jha Resume
Engineer Suman Chandra Jha ResumeEngineer Suman Chandra Jha Resume
Engineer Suman Chandra Jha Resume
 
Session
SessionSession
Session
 
What's New in Cytoscape
What's New in CytoscapeWhat's New in Cytoscape
What's New in Cytoscape
 
AWS Solution Architect Professional
AWS Solution Architect ProfessionalAWS Solution Architect Professional
AWS Solution Architect Professional
 

Recently uploaded

75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
Asmae Rabhi
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
galaxypingy
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 

Recently uploaded (20)

"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 

State of-the-art web applications using microservices and linked data

  • 1. State-of-the-art Web Applications using Microservices and Linked Data Aad Versteden & Erika Pauwels www.tenforce.com yourdatastories.eu
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. We were able to reuse a lot :-)
  • 11. Supported by yourdatastories.eu - Integrating data sources - Making investigative journalism easy - Check http://yourdatastories.eu :)
  • 12. Runs on Big Data Europe platform Used by ESCO (& others)
  • 13. How we think about it
  • 14. Why did we build it?
  • 15. Why did we build it? - Personal projects - Need code reuse - Uncertain future (who will be the next big player) - Change in web frontend landscape - Change in web backend landscape - Change in deployment landscape - Need to roll your own
  • 16. Many actors, one semantic model
  • 17.
  • 18.
  • 19. Semantic model in mu.semte.ch - Semantic model is the application’s domain - Each microservice is an actor - Integration is easy - [FUTURE] Evaluate reasoning for complex or evolving applications
  • 20. Automatic integration of services is awesome … it is the bulk of what we explain to the un-indulged ... … but you already know that ... … give a taste of semantic technologies without a full buy-in.
  • 22. [Docker] Ease of installation & deployment - Completely isolated environment (like a Virtual Machine) - Automatic download & installation books: image: madnificent/books-service:1.0.0 links: - db:database
  • 23. [JSONAPI] Automatic communication with frontend - Guidelines for REST resources on JSON APIs - Limit discussion, point to jsonapi.org { "data": [{ "attributes": { "name": "db", "scaling": 1 }, "id": "ff9a62f3-6ecd-47da-95b1-aa310d29ffa5", "type": "services", "relationships": { "pipeline": { "links": { "self": "/services/ff9a62f3-6ecd-47da-95b1-aa310d29ffa5/links/pipeline-instance", "related": "/services/ff9a62f3-6ecd-47da-95b1-aa310d29ffa5/pipeline-instance" } } } }]}
  • 24. - Make simple tasks simple - Help follow best practices, don’t force [Templates] Simple microservices == Dockerfile == FROM semtech/mu-ruby-template:1.2.0-ruby2.1 MAINTAINER Aad Versteden <madnificent@gmail.com> == web.rb == get '/:id/count' do resp = query " PREFIX votes: <http://mu.semte.ch/vocabularies/ext/votes/> PREFIX mu: <http://mu.semte.ch/vocabularies/core/> SELECT (COUNT(?user) AS ?votes) WHERE { GRAPH <#{settings.graph}> { ?user votes:plusOne/mu:uuid "#{sparql_string params['id']}" } } " status 200 { data: { attributes: { votes: resp.first["votes"].to_i } } }.to_json end
  • 25. [Templates] Extensible services - Make simple tasks simple - Help follow best practices, don’t force (define-resource catalog () :class (s-prefix "dcat:Catalog") :properties `((:title :string ,(s-prefix "dct:title")) (:description :string ,(s-prefix "dct:description"))) :has-one `((publisher :via ,(s-prefix "dct:publisher") :as "publisher")) :has-many `((dataset :via ,(s-prefix "dcat:dataset") :as "datasets")) :resource-base (s-url "http://tenforce.com/catalogs/") :on-path "catalogs")
  • 26. - Some backend services have standard frontend components - The road towards web components - Not semantic [Ember addons] Sharing frontend code > ember install ember-mu-login = application.hbs = {{login-form}}
  • 28. - A step towards semantic applications - Extensive sharing of code - Encourages experimentation - State-of-the-art frontend applications - It’s just a step In conclusion
  • 29. <Thank You> need more? Erika Pauwels - erika.pauwels@tenforce.com - @ErikaPauwels - http://github.com/erikap - erika.pauwels@gmail.com Aad Versteden - aad.versteden@tenforce.com - @impulsater - http://github.com/madnificent - madnificent@gmail.com http://mu.semte.ch - http://tenforce.com - http://github.com/mu-semtech This study was funded by yourdatastories.eu, as were parts of the microservices.