SlideShare a Scribd company logo
1 of 18
Download to read offline
Simplifying web development:
Software as a Stream & Valaa Resource Model
Ville Ilkkala (Valaa Technologies)
TampereJS Meetup
4.4.2018
Problem: 1.4 million computer-science
related jobs to be available by 2020, with
only 400,000 computer science graduates
to fill those roles (just in U.S. alone).
Building quality software has become extremely complicated.
Source: https://github.com/erikras/react-redux-universal-hot-example
Software as a Stream
New mechanism for storing, distributing and
running web applications without the need for
a dedicated client application.
Valaa Resource Model
More accessible way to structure and build
reusable web applications using familiar skills
(HTML, CSS and JavaScript).
Software as a Stream
Technical enabler for application-agnostic clients.
Storing software as a list of events
• Application can be seen as an ordered list
of events performed by a software developer.
• Likewise, interacting with the application can be
seen as adding new events on top of the initial state.
Universal Application Gateway
• Software stored as events can be streamed to users.
• Universal application gateway can subscribe to these streams
and interpret (reduce) the events into in-memory resources.
• Interacting with applications creates new events that
are stored and broadcast to other subscribing users.
In Valaa:
• Events are stored in Partitions governed by Authorities.
• Events can be stored in remote and local Authorities.
• Technologies: AWS IoT, S3, DynamoDB
Valaa Resource Model
Turn basic skills in HTML, CSS and JavaScript back to superpowers.
Folder
Can contain files and other folders
Can be copied
Object
Can have properties
Can be modified
Valaa Resource
Can have properties
Can be modified
Can contain other Resources
Can also have user interface(s)
Can be ghost-instantiated as a new Resource, recursively
inheriting sub-Resources as modifiable ghosts.
Class
Can have member properties
Can be instantiated
Relation
Represents relationships between two resources.
Media
Represents binary data objects and files.
Entity
Represents modules, classes, objects...
All Valaa Resources in all Partitions governed by
all Authorities make up the Valaa Space.
ValaaScope
is a component capable of rendering a
portion of the Valaa Space through a Lens.
User
sees a web page. Interacting
with it can change the Focus.
Lens
is a media written in simple JSX-like
syntax (called VSX) describing how
Focus should be rendered.
Focus
is the currently focused
part of the Valaa Space.
<ValaaScope focus={focus.foo} lens={focus.bar} />
// or with “no-scope” syntax
{{ focus: focus.foo, lens: focus.bar }}
Demo: cbt.valaa.com/zero
Use Chrome, sign up with a dummy username, open TampereJS project
Questions?
Beta: cbt.valaa.com/zero
GitHub: github.com/Valaa-Technologies/
Medium: medium.com/valaa-log
Ville Ilkkala
ville@valaa.com

More Related Content

What's hot

R2 microsoft ado.net data services datasheet
R2 microsoft ado.net data services   datasheetR2 microsoft ado.net data services   datasheet
R2 microsoft ado.net data services datasheet
Klaudiia Jacome
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
brendonschwartz
 
SwellRT: Facilitating decentralized real-time collaboration
SwellRT: Facilitating decentralized real-time collaborationSwellRT: Facilitating decentralized real-time collaboration
SwellRT: Facilitating decentralized real-time collaboration
Samer Hassan
 
Group Meeting Vamsas Project Final
Group Meeting Vamsas Project FinalGroup Meeting Vamsas Project Final
Group Meeting Vamsas Project Final
Pierre Marguerite
 
Workshop proposal: Managed Metadata and Enterprise Content Management in Shar...
Workshop proposal: Managed Metadata and Enterprise Content Management in Shar...Workshop proposal: Managed Metadata and Enterprise Content Management in Shar...
Workshop proposal: Managed Metadata and Enterprise Content Management in Shar...
Chris McNulty
 

What's hot (20)

R2 microsoft ado.net data services datasheet
R2 microsoft ado.net data services   datasheetR2 microsoft ado.net data services   datasheet
R2 microsoft ado.net data services datasheet
 
Web Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure Chest
Web Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure ChestWeb Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure Chest
Web Browser Controls in Adlib: The Hidden Diamond in the Adlib Treasure Chest
 
IndexedDB - An Efficient Way to Manage Data
IndexedDB - An Efficient Way to Manage DataIndexedDB - An Efficient Way to Manage Data
IndexedDB - An Efficient Way to Manage Data
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
 
Content of MySQL
Content of MySQLContent of MySQL
Content of MySQL
 
Conventions' Publications First presentation
Conventions' Publications First presentationConventions' Publications First presentation
Conventions' Publications First presentation
 
Gacomo
GacomoGacomo
Gacomo
 
Opening up: bibliographic data sharing & interoperability
Opening up: bibliographic data sharing & interoperabilityOpening up: bibliographic data sharing & interoperability
Opening up: bibliographic data sharing & interoperability
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
 
How to publish data and transformations over APIs with CloverDX Data Services
How to publish data and transformations over APIs with CloverDX Data ServicesHow to publish data and transformations over APIs with CloverDX Data Services
How to publish data and transformations over APIs with CloverDX Data Services
 
Sap Business Objects solutioning Framework architecture
Sap Business Objects solutioning Framework architectureSap Business Objects solutioning Framework architecture
Sap Business Objects solutioning Framework architecture
 
SwellRT: Facilitating decentralized real-time collaboration
SwellRT: Facilitating decentralized real-time collaborationSwellRT: Facilitating decentralized real-time collaboration
SwellRT: Facilitating decentralized real-time collaboration
 
Group Meeting Vamsas Project Final
Group Meeting Vamsas Project FinalGroup Meeting Vamsas Project Final
Group Meeting Vamsas Project Final
 
Workshop proposal: Managed Metadata and Enterprise Content Management in Shar...
Workshop proposal: Managed Metadata and Enterprise Content Management in Shar...Workshop proposal: Managed Metadata and Enterprise Content Management in Shar...
Workshop proposal: Managed Metadata and Enterprise Content Management in Shar...
 
SharePoint and Open XML
SharePoint and Open XMLSharePoint and Open XML
SharePoint and Open XML
 
MS SQL SERVER: SSIS and data mining
MS SQL SERVER: SSIS and data miningMS SQL SERVER: SSIS and data mining
MS SQL SERVER: SSIS and data mining
 
Architecture of integration services
Architecture of integration servicesArchitecture of integration services
Architecture of integration services
 
Couch db
Couch dbCouch db
Couch db
 
United Airlines Best Practices Conference 2013 presentation
United Airlines Best Practices Conference 2013 presentationUnited Airlines Best Practices Conference 2013 presentation
United Airlines Best Practices Conference 2013 presentation
 
Mobile Offline First for inclusive data that spans the data divide
Mobile Offline First for inclusive data that spans the data divideMobile Offline First for inclusive data that spans the data divide
Mobile Offline First for inclusive data that spans the data divide
 

Similar to Simplifying web development: Software as a Stream & Valaa Resource Model

Cloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for LibrariesCloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for Libraries
Amit Shaw
 
Data Access
Data AccessData Access
Data Access
eclumson
 
Document Based Data Modeling Technique
Document Based Data Modeling TechniqueDocument Based Data Modeling Technique
Document Based Data Modeling Technique
Carmen Sanborn
 
The Recent Pronouncement Of The World Wide Web (Www) Had
The Recent Pronouncement Of The World Wide Web (Www) HadThe Recent Pronouncement Of The World Wide Web (Www) Had
The Recent Pronouncement Of The World Wide Web (Www) Had
Deborah Gastineau
 
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Julie Meloni
 

Similar to Simplifying web development: Software as a Stream & Valaa Resource Model (20)

What is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna NookellaWhat is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna Nookella
 
Yacks
YacksYacks
Yacks
 
Cloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for LibrariesCloud Computing:An Economic Solution for Libraries
Cloud Computing:An Economic Solution for Libraries
 
DSpace: Technical Basics
DSpace: Technical BasicsDSpace: Technical Basics
DSpace: Technical Basics
 
Silverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel PatternSilverlight Development & The Model-View-ViewModel Pattern
Silverlight Development & The Model-View-ViewModel Pattern
 
Data Access
Data AccessData Access
Data Access
 
Nuxeo Fact Sheet
Nuxeo Fact SheetNuxeo Fact Sheet
Nuxeo Fact Sheet
 
From Provider to Portal - a chain of interoperability
From Provider to Portal - a chain of interoperabilityFrom Provider to Portal - a chain of interoperability
From Provider to Portal - a chain of interoperability
 
CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with Share
 
Information Management & Sharing in Digital Era
Information Management & Sharing in Digital Era Information Management & Sharing in Digital Era
Information Management & Sharing in Digital Era
 
Feedable, Portable, Mashable, DITAble
Feedable, Portable, Mashable, DITAbleFeedable, Portable, Mashable, DITAble
Feedable, Portable, Mashable, DITAble
 
Document Based Data Modeling Technique
Document Based Data Modeling TechniqueDocument Based Data Modeling Technique
Document Based Data Modeling Technique
 
The Recent Pronouncement Of The World Wide Web (Www) Had
The Recent Pronouncement Of The World Wide Web (Www) HadThe Recent Pronouncement Of The World Wide Web (Www) Had
The Recent Pronouncement Of The World Wide Web (Www) Had
 
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
Developing and Deploying Open Source in the Library: Hydra, Blacklight, and B...
 
Site Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW ClusterSite Interoperability Projects at DERI Galway's SW Cluster
Site Interoperability Projects at DERI Galway's SW Cluster
 
CouchDB
CouchDBCouchDB
CouchDB
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
Analyzing data with docker v4
Analyzing data with docker   v4Analyzing data with docker   v4
Analyzing data with docker v4
 
Corrib.org - OpenSource and Research
Corrib.org - OpenSource and ResearchCorrib.org - OpenSource and Research
Corrib.org - OpenSource and Research
 
Building High Scalability Apps With Terracotta
Building High Scalability Apps With TerracottaBuilding High Scalability Apps With Terracotta
Building High Scalability Apps With Terracotta
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

Simplifying web development: Software as a Stream & Valaa Resource Model

  • 1. Simplifying web development: Software as a Stream & Valaa Resource Model Ville Ilkkala (Valaa Technologies) TampereJS Meetup 4.4.2018
  • 2. Problem: 1.4 million computer-science related jobs to be available by 2020, with only 400,000 computer science graduates to fill those roles (just in U.S. alone). Building quality software has become extremely complicated.
  • 4. Software as a Stream New mechanism for storing, distributing and running web applications without the need for a dedicated client application. Valaa Resource Model More accessible way to structure and build reusable web applications using familiar skills (HTML, CSS and JavaScript).
  • 5. Software as a Stream Technical enabler for application-agnostic clients.
  • 6. Storing software as a list of events • Application can be seen as an ordered list of events performed by a software developer. • Likewise, interacting with the application can be seen as adding new events on top of the initial state.
  • 7. Universal Application Gateway • Software stored as events can be streamed to users. • Universal application gateway can subscribe to these streams and interpret (reduce) the events into in-memory resources. • Interacting with applications creates new events that are stored and broadcast to other subscribing users.
  • 8. In Valaa: • Events are stored in Partitions governed by Authorities. • Events can be stored in remote and local Authorities. • Technologies: AWS IoT, S3, DynamoDB
  • 9. Valaa Resource Model Turn basic skills in HTML, CSS and JavaScript back to superpowers.
  • 10. Folder Can contain files and other folders Can be copied Object Can have properties Can be modified Valaa Resource Can have properties Can be modified Can contain other Resources Can also have user interface(s) Can be ghost-instantiated as a new Resource, recursively inheriting sub-Resources as modifiable ghosts. Class Can have member properties Can be instantiated
  • 11. Relation Represents relationships between two resources. Media Represents binary data objects and files. Entity Represents modules, classes, objects...
  • 12. All Valaa Resources in all Partitions governed by all Authorities make up the Valaa Space.
  • 13. ValaaScope is a component capable of rendering a portion of the Valaa Space through a Lens. User sees a web page. Interacting with it can change the Focus. Lens is a media written in simple JSX-like syntax (called VSX) describing how Focus should be rendered. Focus is the currently focused part of the Valaa Space. <ValaaScope focus={focus.foo} lens={focus.bar} /> // or with “no-scope” syntax {{ focus: focus.foo, lens: focus.bar }}
  • 14. Demo: cbt.valaa.com/zero Use Chrome, sign up with a dummy username, open TampereJS project
  • 15.
  • 16.
  • 17.