SlideShare ist ein Scribd-Unternehmen logo
1 von 41
+
Javascript as a data
processing language &
htlm5 integration
Qcon London 2013 – Quentin ADAM
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/javascript-data-processing-html5
Presented at QCon London
www.qconlondon.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
+
Who I am ?
n  Quentin ADAM
n  @waxzce on twitter
n  CEO of Clever Cloud, the most
powerful PaaS in Europe ;-)
clever
c l o u d
+Why we have to talk about
data processing ?
+
Big change in software industry
n  One instance
n  One organization
n  One data repository
n  One instance (distributed)
n  Multiple organization + a lot of
users
n  One data repository
Yesteday Now
Multi-tenant
+
Instance for one
Organization
ACID
• Atomicity
• Consistency
• Isolation
• Durability
Powerful
data
management
•  Transaction
•  User
management
•  One above one
Take advantage of ACID database
+
But it designs a bottleneck
+
Example : e-shop on classic mode
+
Example : e-shop on classic mode
User A buy a
hdd
Database Transaction :
•  Stock management
•  Order management
•  Invoice generation
•  Customer Account reward
•  …
Transaction
user A is
processed
Stock &
Order are
just perfectly
synchronize
+
Example : e-shop on classic mode
User A buy a
hdd
Database Transaction :
•  Stock management
•  Order management
•  Invoice generation
•  Customer Account reward
•  …
Transaction
user A is
processed
Stock &
Order are
just perfectly
synchronize
User B buy a
hdd Transaction
user B is
processed
then
+
Example : e-shop on multi-tenant
mode
n  i.e. : Multiple shop of various sellers on the same instance
+
Example : e-shop on multi-tenant
mode
User A buy a
hdd on seller A
Database Transaction :
•  Stock management
•  Order management
•  Invoice generation
•  Customer Account reward
•  …
Transaction
user A is
processed
Stock &
Order are
just perfectly
synchronize
User B buy a
book on seller B Transaction
user B is
processed
then
+
Who care the
synchronization of vendor
A & B ?
+
Destroy the bottle
neck and switch to
another storage
system
This is why the noSQL movement
start.
+
noSQL = not only SQL
+Now talking about how to get
data from storage
+ SQL don’t solve all the data processing
expression.
+
Some javascripts facts
n  Run for server needs at the beginning
n  Netscape Server in 1996, and then in IIS
n  Clearly a major language
n  Run on
n  Browser
n  Mobile
n  Servers
n  Easy to integrate
n  Most peoples know it
n  Most used language
on github
n  Event driven
+
So, can we use
javascript as a data
processing
language ?
+
Data processing is focus on
n  Find
n  Filter
n  Manage collection
n  CRUD order
+
Map / reduce => the big bang of
new data processing
n  Atomize the problem
n  Easy to parallelize
n  From the functional
programing model
Get the result
Reduce : filter data & aggregate
Map : transform data to what you
need (apply function)
Get a k/v data
+
Do you wanna some functional
programing ?
Javascript is so flexible than we can apply several
patern on top of the language
+
And map/reduce ?
+
NoSQL we can considerate for
example
n  Object Store
n  Key/Value with documents capacities
n  Pure Document
n  Column based
+
NoSQL we can considerate for
example
n  Object Store
n  Key/Value with documents capacities
n  Pure Document
n  Column based
+
And one more !
With localStorage features
+
JSON domination
n  Store
n  Processing n  Access
+
Example with riak
n  Key/Value
n  http REST & protobuff data API
n  Store JSON data on a URL
n  Very good distribution
n  Good performances
+
Example with riak map/reduce
+
Put some real time
n  Lots lots of noSQL DB handle a _change_ pipe :
n  All datas and updates stream
n  Bind it on a websocket : put some real time on your
application
+
Data as a Service
API clients
•  Full web client : html5
+ local storage
•  Mobile : phonegapp
or native
•  Other servers app
API
RESTFull
Various
backen DB
+
Data as a Service
n  Data as others service
n  With the same language the application
n  Build sync algorithm to start offline / online software
n  Some protocol : atom, gdata, oData
n  Some popular API : S3, twitter, EC2…
n  Security and access layer : oauth…
+
DataBase as a Service
n  Xeround
n  Amazon dynamo
n  Lots of heroku addon
n  Kinvey
PaaS
+
Transparent data consumption
n  Webkit JavaScriptCore
n  REST / JSON
n  Data Classes
n  auto-updatable
n  accessors
n  events
n  Methods
n  Cool html5 IDE
n  Best use case : work oriented app
Atomatic data access
framework
+
Wakanda example
http://play.wakanda.org/
+
How to start ?
+
Find a toy project
+
Use hosted services
n  Less ops footprint
n  No more instalation
n  Quick learn curve
n  Focus on your needs & values
+ Innovate & write kick ass
apps
+
Thx for Listening & Q/A time
clever
c l o u d
http://twitter.com/waxzce
Quentin ADAM on google ;-)
quentin.adam@clever-cloud.com
n  http://www.clever-cloud.com
n  http://engineering.clever-cloud.com/
Thx to the
http://qconlondon.com

Weitere ähnliche Inhalte

Mehr von C4Media

Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsC4Media
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechC4Media
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/awaitC4Media
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaC4Media
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayC4Media
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?C4Media
 

Mehr von C4Media (20)

Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 
Navigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery TeamsNavigating Complexity: High-performance Delivery and Discovery Teams
Navigating Complexity: High-performance Delivery and Discovery Teams
 
High Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in AdtechHigh Performance Cooperative Distributed Systems in Adtech
High Performance Cooperative Distributed Systems in Adtech
 
Rust's Journey to Async/await
Rust's Journey to Async/awaitRust's Journey to Async/await
Rust's Journey to Async/await
 
Opportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven UtopiaOpportunities and Pitfalls of Event-Driven Utopia
Opportunities and Pitfalls of Event-Driven Utopia
 
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/DayDatadog: a Real-Time Metrics Database for One Quadrillion Points/Day
Datadog: a Real-Time Metrics Database for One Quadrillion Points/Day
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
 

Kürzlich hochgeladen

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Kürzlich hochgeladen (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

JavaScript as Data Processing Language & HTML5 Integration

  • 1. + Javascript as a data processing language & htlm5 integration Qcon London 2013 – Quentin ADAM
  • 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /javascript-data-processing-html5
  • 3. Presented at QCon London www.qconlondon.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  • 4. + Who I am ? n  Quentin ADAM n  @waxzce on twitter n  CEO of Clever Cloud, the most powerful PaaS in Europe ;-) clever c l o u d
  • 5. +Why we have to talk about data processing ?
  • 6. + Big change in software industry n  One instance n  One organization n  One data repository n  One instance (distributed) n  Multiple organization + a lot of users n  One data repository Yesteday Now Multi-tenant
  • 7. + Instance for one Organization ACID • Atomicity • Consistency • Isolation • Durability Powerful data management •  Transaction •  User management •  One above one Take advantage of ACID database
  • 8. + But it designs a bottleneck
  • 9. + Example : e-shop on classic mode
  • 10. + Example : e-shop on classic mode User A buy a hdd Database Transaction : •  Stock management •  Order management •  Invoice generation •  Customer Account reward •  … Transaction user A is processed Stock & Order are just perfectly synchronize
  • 11. + Example : e-shop on classic mode User A buy a hdd Database Transaction : •  Stock management •  Order management •  Invoice generation •  Customer Account reward •  … Transaction user A is processed Stock & Order are just perfectly synchronize User B buy a hdd Transaction user B is processed then
  • 12. + Example : e-shop on multi-tenant mode n  i.e. : Multiple shop of various sellers on the same instance
  • 13. + Example : e-shop on multi-tenant mode User A buy a hdd on seller A Database Transaction : •  Stock management •  Order management •  Invoice generation •  Customer Account reward •  … Transaction user A is processed Stock & Order are just perfectly synchronize User B buy a book on seller B Transaction user B is processed then
  • 14. + Who care the synchronization of vendor A & B ?
  • 15. + Destroy the bottle neck and switch to another storage system This is why the noSQL movement start.
  • 16. + noSQL = not only SQL
  • 17. +Now talking about how to get data from storage
  • 18. + SQL don’t solve all the data processing expression.
  • 19. + Some javascripts facts n  Run for server needs at the beginning n  Netscape Server in 1996, and then in IIS n  Clearly a major language n  Run on n  Browser n  Mobile n  Servers n  Easy to integrate n  Most peoples know it n  Most used language on github n  Event driven
  • 20. + So, can we use javascript as a data processing language ?
  • 21. + Data processing is focus on n  Find n  Filter n  Manage collection n  CRUD order
  • 22. + Map / reduce => the big bang of new data processing n  Atomize the problem n  Easy to parallelize n  From the functional programing model Get the result Reduce : filter data & aggregate Map : transform data to what you need (apply function) Get a k/v data
  • 23. + Do you wanna some functional programing ? Javascript is so flexible than we can apply several patern on top of the language
  • 25. + NoSQL we can considerate for example n  Object Store n  Key/Value with documents capacities n  Pure Document n  Column based
  • 26. + NoSQL we can considerate for example n  Object Store n  Key/Value with documents capacities n  Pure Document n  Column based
  • 27. + And one more ! With localStorage features
  • 28. + JSON domination n  Store n  Processing n  Access
  • 29. + Example with riak n  Key/Value n  http REST & protobuff data API n  Store JSON data on a URL n  Very good distribution n  Good performances
  • 30. + Example with riak map/reduce
  • 31. + Put some real time n  Lots lots of noSQL DB handle a _change_ pipe : n  All datas and updates stream n  Bind it on a websocket : put some real time on your application
  • 32. + Data as a Service API clients •  Full web client : html5 + local storage •  Mobile : phonegapp or native •  Other servers app API RESTFull Various backen DB
  • 33. + Data as a Service n  Data as others service n  With the same language the application n  Build sync algorithm to start offline / online software n  Some protocol : atom, gdata, oData n  Some popular API : S3, twitter, EC2… n  Security and access layer : oauth…
  • 34. + DataBase as a Service n  Xeround n  Amazon dynamo n  Lots of heroku addon n  Kinvey PaaS
  • 35. + Transparent data consumption n  Webkit JavaScriptCore n  REST / JSON n  Data Classes n  auto-updatable n  accessors n  events n  Methods n  Cool html5 IDE n  Best use case : work oriented app Atomatic data access framework
  • 38. + Find a toy project
  • 39. + Use hosted services n  Less ops footprint n  No more instalation n  Quick learn curve n  Focus on your needs & values
  • 40. + Innovate & write kick ass apps
  • 41. + Thx for Listening & Q/A time clever c l o u d http://twitter.com/waxzce Quentin ADAM on google ;-) quentin.adam@clever-cloud.com n  http://www.clever-cloud.com n  http://engineering.clever-cloud.com/ Thx to the http://qconlondon.com