SlideShare a Scribd company logo
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 datasheetKlaudiia Jacome
 
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
Axiell ALM
 
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
sara stanford
 
Windows Azure Platform
Windows Azure PlatformWindows Azure Platform
Windows Azure Platform
Wade Wegner
 
Content of MySQL
Content of MySQLContent of MySQL
Content of MySQL
KentAnderson43
 
Conventions' Publications First presentation
Conventions' Publications First presentationConventions' Publications First presentation
Conventions' Publications First presentation
Alexander Mazurov
 
Opening up: bibliographic data sharing & interoperability
Opening up: bibliographic data sharing & interoperabilityOpening up: bibliographic data sharing & interoperability
Opening up: bibliographic data sharing & interoperability
Bethan Ruddock
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworksbrendonschwartz
 
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
CloverDX
 
Sap Business Objects solutioning Framework architecture
Sap Business Objects solutioning Framework architectureSap Business Objects solutioning Framework architecture
Sap Business Objects solutioning Framework architecture
Sandeep Sharma IIMK Smart City,IoT,Bigdata,Cloud,BI,DW
 
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 FinalPierre 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
 
SharePoint and Open XML
SharePoint and Open XMLSharePoint and Open XML
SharePoint and Open XML
Becky Bertram
 
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
DataminingTools Inc
 
Architecture of integration services
Architecture of integration servicesArchitecture of integration services
Architecture of integration services
Slava Kokaev
 
Couch db
Couch dbCouch 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
Denise Wilson
 
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
Rob Worthington
 

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

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
muralikrishnanookella
 
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 LibrariesAmit Shaw
 
DSpace: Technical Basics
DSpace: Technical BasicsDSpace: Technical Basics
DSpace: Technical Basics
Iryna Kuchma
 
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
Derek Novavi
 
Data Access
Data AccessData Access
Data Accesseclumson
 
Nuxeo Fact Sheet
Nuxeo Fact SheetNuxeo Fact Sheet
Nuxeo Fact Sheet
Nuxeo
 
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
Andy Powell
 
CUST-3 Document Management with Share
CUST-3 Document Management with ShareCUST-3 Document Management with Share
CUST-3 Document Management with Share
Alfresco Software
 
Information Management & Sharing in Digital Era
Information Management & Sharing in Digital Era Information Management & Sharing in Digital Era
Information Management & Sharing in Digital Era
Liaquat Rahoo
 
Feedable, Portable, Mashable, DITAble
Feedable, Portable, Mashable, DITAbleFeedable, Portable, Mashable, DITAble
Feedable, Portable, Mashable, DITAble
Michael Priestley
 
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
 
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
John Breslin
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
Microsoft ArcReady
 
Analyzing data with docker v4
Analyzing data with docker   v4Analyzing data with docker   v4
Analyzing data with docker v4
Andreas Dewes
 
Corrib.org - OpenSource and Research
Corrib.org - OpenSource and ResearchCorrib.org - OpenSource and Research
Corrib.org - OpenSource and Research
adameq
 
Building High Scalability Apps With Terracotta
Building High Scalability Apps With TerracottaBuilding High Scalability Apps With Terracotta
Building High Scalability Apps With Terracotta
David Reines
 

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

Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 

Recently uploaded (20)

Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 

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.