SlideShare a Scribd company logo
DATASNAP
DATASNAP


• Formerly     MIDAS.	


• Rimossa    la fondazione DCOM (sconsigliata da Microsoft)	


• Sostituita   con i Component Indy.	


• Si   basa su dbExpress.
LIMITI


• Autenticazione    e autorizzazione in Delphi XE3, solo HTTP
 Basic.	


• Indy   crea un thread per connessione.	


• Framework     di remoting costruito sopra un framework SQL.
LIMITI

Remoting Framework




  SQL Framework
LIMITI

  SQL Framework




Remoting Framework
TEST


 http://192.168.10.14:8090/datasnap/rest/	

TServerMethods/EchoString/A%20B%20C
TEST - 1 THREAD
TEST - 1 THREAD
TEST - 10 THREAD
LATENZA
 30



22,5



 15

                      22
                      DataSnap 1 thread
 7,5   14   14        DataSnap 10 thread
                      BBox 1 thread
  0              2              3
                      BBox 200 thread
                      Node.js 200 thread
THROUGHPUT
7000

                                6.196
5250



3500

                        5.340
1750                      DataSnap 1 thread
                          DataSnap 10 thread
                          BBox 1 thread
                          BBox 200 thread
  0    63    45   360     Node.js 200 thread
MARCO CANTÙ	

DELPHI PRODUCT MANAGER
I think that if you want to build a very large REST
application architecture you should roll out your own
technology or use one of these prototypical
architectures. For a small to medium size effort, on the
other hand, you can probably benefit from the native
DataSnap support.	


                                 Delphi 2010 Handbook
FONTI


• http://en.wikipedia.org/wiki/DataSnap	


• http://www.sandon.it/?q=node/57	


• http://robertocschneiders.wordpress.com/2012/11/22/
 datasnap-analysis-based-on-speed-stability-test
TROVIAMO UN'ALTERNATIVA!


• mORMot: client-server      ORM and SOA for Delphi	


• Java   con Apache CXF e librerie native	


• Node.js    con librerie native

More Related Content

What's hot

Optimize Your Hardware for Drupal
Optimize Your Hardware for DrupalOptimize Your Hardware for Drupal
Optimize Your Hardware for Drupal
Christoph Weber
 
MySQL新技术研究与实践
MySQL新技术研究与实践MySQL新技术研究与实践
MySQL新技术研究与实践orczhou
 
Mini-review + cheat sheet: ZFS on FUSE
Mini-review + cheat sheet: ZFS on FUSEMini-review + cheat sheet: ZFS on FUSE
Mini-review + cheat sheet: ZFS on FUSEAsociatia ProLinux
 
Azure RemoteApp の構築手順例 (ハイブリッド コレクション)
Azure RemoteApp の構築手順例 (ハイブリッド コレクション)Azure RemoteApp の構築手順例 (ハイブリッド コレクション)
Azure RemoteApp の構築手順例 (ハイブリッド コレクション)
ShuheiUda
 
configurations type cloud VNX
configurations type cloud VNXconfigurations type cloud VNX
configurations type cloud VNXErwan Quigna
 
Academy PRO: Node.js in production. lecture 4
Academy PRO: Node.js in production. lecture 4Academy PRO: Node.js in production. lecture 4
Academy PRO: Node.js in production. lecture 4
Binary Studio
 
Oracle made it easy: Cloud DB Vergleich
Oracle made it easy: Cloud DB VergleichOracle made it easy: Cloud DB Vergleich
Oracle made it easy: Cloud DB Vergleich
OPITZ CONSULTING Deutschland
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
Jean-Luc David
 
virtualization course content
virtualization course contentvirtualization course content
virtualization course content
sadikshya sharma
 
NVMe over Fabric
NVMe over FabricNVMe over Fabric
NVMe over Fabric
singh.gurjeet
 
Mesos DC/OS on opensuse
Mesos DC/OS on opensuseMesos DC/OS on opensuse
Mesos DC/OS on opensuse
Masayuki Igawa
 
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
Hua Chu
 
High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011
Tim Y
 
Windows azure Presentation
Windows azure PresentationWindows azure Presentation
Windows azure PresentationChiheb Chebbi
 
微博cache设计谈
微博cache设计谈微博cache设计谈
微博cache设计谈Tim Y
 
Mysql cluster
Mysql clusterMysql cluster
Mysql clusterJS Lee
 
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
Danielle Womboldt
 
Hyper-V y Contenedores, una nueva forma de virtualización
Hyper-V y Contenedores, una nueva forma de virtualizaciónHyper-V y Contenedores, una nueva forma de virtualización
Hyper-V y Contenedores, una nueva forma de virtualización
Juan Ignacio Oller Aznar
 
Ceph Day Beijing - Ceph RDMA Update
Ceph Day Beijing - Ceph RDMA UpdateCeph Day Beijing - Ceph RDMA Update
Ceph Day Beijing - Ceph RDMA Update
Danielle Womboldt
 
What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7
Osys AG
 

What's hot (20)

Optimize Your Hardware for Drupal
Optimize Your Hardware for DrupalOptimize Your Hardware for Drupal
Optimize Your Hardware for Drupal
 
MySQL新技术研究与实践
MySQL新技术研究与实践MySQL新技术研究与实践
MySQL新技术研究与实践
 
Mini-review + cheat sheet: ZFS on FUSE
Mini-review + cheat sheet: ZFS on FUSEMini-review + cheat sheet: ZFS on FUSE
Mini-review + cheat sheet: ZFS on FUSE
 
Azure RemoteApp の構築手順例 (ハイブリッド コレクション)
Azure RemoteApp の構築手順例 (ハイブリッド コレクション)Azure RemoteApp の構築手順例 (ハイブリッド コレクション)
Azure RemoteApp の構築手順例 (ハイブリッド コレクション)
 
configurations type cloud VNX
configurations type cloud VNXconfigurations type cloud VNX
configurations type cloud VNX
 
Academy PRO: Node.js in production. lecture 4
Academy PRO: Node.js in production. lecture 4Academy PRO: Node.js in production. lecture 4
Academy PRO: Node.js in production. lecture 4
 
Oracle made it easy: Cloud DB Vergleich
Oracle made it easy: Cloud DB VergleichOracle made it easy: Cloud DB Vergleich
Oracle made it easy: Cloud DB Vergleich
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
virtualization course content
virtualization course contentvirtualization course content
virtualization course content
 
NVMe over Fabric
NVMe over FabricNVMe over Fabric
NVMe over Fabric
 
Mesos DC/OS on opensuse
Mesos DC/OS on opensuseMesos DC/OS on opensuse
Mesos DC/OS on opensuse
 
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
TWJUG 2016 - Mogilefs, 簡約可靠的儲存方案
 
High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011
 
Windows azure Presentation
Windows azure PresentationWindows azure Presentation
Windows azure Presentation
 
微博cache设计谈
微博cache设计谈微博cache设计谈
微博cache设计谈
 
Mysql cluster
Mysql clusterMysql cluster
Mysql cluster
 
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
 
Hyper-V y Contenedores, una nueva forma de virtualización
Hyper-V y Contenedores, una nueva forma de virtualizaciónHyper-V y Contenedores, una nueva forma de virtualización
Hyper-V y Contenedores, una nueva forma de virtualización
 
Ceph Day Beijing - Ceph RDMA Update
Ceph Day Beijing - Ceph RDMA UpdateCeph Day Beijing - Ceph RDMA Update
Ceph Day Beijing - Ceph RDMA Update
 
What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7What's new in Veeam 7 - Was ist neu in Veeam 7
What's new in Veeam 7 - Was ist neu in Veeam 7
 

Viewers also liked

Vaadin7
Vaadin7Vaadin7
Tile server
Tile serverTile server
Tile server
Federico Russo
 
Box Functionalities 0.20
Box Functionalities 0.20Box Functionalities 0.20
Box Functionalities 0.20
Federico Russo
 
17 - Web Application Threats
17 - Web Application Threats17 - Web Application Threats
17 - Web Application Threats
Federico Russo
 
BBox e vaadin7
BBox e vaadin7BBox e vaadin7
BBox e vaadin7
Federico Russo
 
14 - Atom
14 - Atom14 - Atom
14 - Atom
Federico Russo
 
Slides functionalities 0.26-r16
Slides   functionalities 0.26-r16Slides   functionalities 0.26-r16
Slides functionalities 0.26-r16Federico Russo
 
15 - Java 8
15 - Java 815 - Java 8
15 - Java 8
Federico Russo
 
16 - Project Lombok
16 - Project Lombok16 - Project Lombok
16 - Project Lombok
Federico Russo
 
01 - Ereditarietà e polimorfismo
01 - Ereditarietà e polimorfismo01 - Ereditarietà e polimorfismo
01 - Ereditarietà e polimorfismoFederico Russo
 

Viewers also liked (14)

Vaadin7
Vaadin7Vaadin7
Vaadin7
 
Tile server
Tile serverTile server
Tile server
 
Box Functionalities 0.20
Box Functionalities 0.20Box Functionalities 0.20
Box Functionalities 0.20
 
17 - Web Application Threats
17 - Web Application Threats17 - Web Application Threats
17 - Web Application Threats
 
03 - Ricorsione
03 - Ricorsione03 - Ricorsione
03 - Ricorsione
 
BBox e vaadin7
BBox e vaadin7BBox e vaadin7
BBox e vaadin7
 
02 - Collezioni
02 - Collezioni02 - Collezioni
02 - Collezioni
 
09 Transactions
09 Transactions09 Transactions
09 Transactions
 
14 - Atom
14 - Atom14 - Atom
14 - Atom
 
Slides functionalities 0.26-r16
Slides   functionalities 0.26-r16Slides   functionalities 0.26-r16
Slides functionalities 0.26-r16
 
15 - Java 8
15 - Java 815 - Java 8
15 - Java 8
 
16 - Project Lombok
16 - Project Lombok16 - Project Lombok
16 - Project Lombok
 
11 Java 7
11 Java 711 Java 7
11 Java 7
 
01 - Ereditarietà e polimorfismo
01 - Ereditarietà e polimorfismo01 - Ereditarietà e polimorfismo
01 - Ereditarietà e polimorfismo
 

Similar to DataSnap

What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
Frank Munz
 
Using PerfDHCP tool to scale DHCP in OpenStack Neutron
Using PerfDHCP tool to scale DHCP in OpenStack NeutronUsing PerfDHCP tool to scale DHCP in OpenStack Neutron
Using PerfDHCP tool to scale DHCP in OpenStack Neutron
Vikram G Hosakote
 
Squeak DBX
Squeak DBXSqueak DBX
Squeak DBX
ESUG
 
20160217 - Overview of Vortex Intelligent Data Sharing Platform
20160217 - Overview of Vortex Intelligent Data Sharing Platform20160217 - Overview of Vortex Intelligent Data Sharing Platform
20160217 - Overview of Vortex Intelligent Data Sharing PlatformJamie (Taka) Wang
 
Server-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick TourServer-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick Tour
q3boy
 
CQ5 and Sling overview
CQ5 and Sling overviewCQ5 and Sling overview
CQ5 and Sling overview
Bertrand Delacretaz
 
Jdbc
JdbcJdbc
Linux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance ShowdownLinux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance Showdown
ScyllaDB
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performance
rudib
 
Oracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node finalOracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node final
Getting value from IoT, Integration and Data Analytics
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
Ryan Anklam
 
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»DataArt
 
Cloud Best Practices
Cloud Best PracticesCloud Best Practices
Cloud Best PracticesEric Bottard
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikApache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
Edgar Espina
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 Presentation
Tomcat Expert
 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12
Hemo Chella
 
오픈소스 네트워킹
오픈소스 네트워킹오픈소스 네트워킹
오픈소스 네트워킹
James Ahn
 
Jdbc Best Practices - DB2/ IDUG - Orlando, May 10, 2004
Jdbc Best Practices - DB2/ IDUG - Orlando, May 10, 2004Jdbc Best Practices - DB2/ IDUG - Orlando, May 10, 2004
Jdbc Best Practices - DB2/ IDUG - Orlando, May 10, 2004derek_clark_ashmore
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
Sencha
 

Similar to DataSnap (20)

What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...What You Should Know About WebLogic Server 12c (12.2.1.2)  #oow2015 #otntour2...
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
 
Using PerfDHCP tool to scale DHCP in OpenStack Neutron
Using PerfDHCP tool to scale DHCP in OpenStack NeutronUsing PerfDHCP tool to scale DHCP in OpenStack Neutron
Using PerfDHCP tool to scale DHCP in OpenStack Neutron
 
Squeak DBX
Squeak DBXSqueak DBX
Squeak DBX
 
20160217 - Overview of Vortex Intelligent Data Sharing Platform
20160217 - Overview of Vortex Intelligent Data Sharing Platform20160217 - Overview of Vortex Intelligent Data Sharing Platform
20160217 - Overview of Vortex Intelligent Data Sharing Platform
 
Server-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick TourServer-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick Tour
 
CQ5 and Sling overview
CQ5 and Sling overviewCQ5 and Sling overview
CQ5 and Sling overview
 
Rails入门培训
Rails入门培训Rails入门培训
Rails入门培训
 
Jdbc
JdbcJdbc
Jdbc
 
Linux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance ShowdownLinux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance Showdown
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performance
 
Oracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node finalOracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node final
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
Станислав Сидоренко «DeviceHive Java Server – миграция на Spring Boot»
 
Cloud Best Practices
Cloud Best PracticesCloud Best Practices
Cloud Best Practices
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikApache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 Presentation
 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12
 
오픈소스 네트워킹
오픈소스 네트워킹오픈소스 네트워킹
오픈소스 네트워킹
 
Jdbc Best Practices - DB2/ IDUG - Orlando, May 10, 2004
Jdbc Best Practices - DB2/ IDUG - Orlando, May 10, 2004Jdbc Best Practices - DB2/ IDUG - Orlando, May 10, 2004
Jdbc Best Practices - DB2/ IDUG - Orlando, May 10, 2004
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
 

More from Federico Russo

23 Sicurezza in BBox
23 Sicurezza in BBox23 Sicurezza in BBox
23 Sicurezza in BBox
Federico Russo
 
21 Buzzwords
21 Buzzwords21 Buzzwords
21 Buzzwords
Federico Russo
 
18 - InfluxDB
18 - InfluxDB18 - InfluxDB
18 - InfluxDB
Federico Russo
 
19 - The Highlander Project
19 - The Highlander Project19 - The Highlander Project
19 - The Highlander Project
Federico Russo
 
22 - Better Coding
22 - Better Coding22 - Better Coding
22 - Better Coding
Federico Russo
 
20 - Ottimizzare le query
20 - Ottimizzare le query20 - Ottimizzare le query
20 - Ottimizzare le query
Federico Russo
 
08 Workflow e strumenti web
08 Workflow e strumenti web08 Workflow e strumenti web
08 Workflow e strumenti webFederico Russo
 

More from Federico Russo (13)

23 Sicurezza in BBox
23 Sicurezza in BBox23 Sicurezza in BBox
23 Sicurezza in BBox
 
21 Buzzwords
21 Buzzwords21 Buzzwords
21 Buzzwords
 
18 - InfluxDB
18 - InfluxDB18 - InfluxDB
18 - InfluxDB
 
19 - The Highlander Project
19 - The Highlander Project19 - The Highlander Project
19 - The Highlander Project
 
22 - Better Coding
22 - Better Coding22 - Better Coding
22 - Better Coding
 
20 - Ottimizzare le query
20 - Ottimizzare le query20 - Ottimizzare le query
20 - Ottimizzare le query
 
12 java modifiers
12 java modifiers12 java modifiers
12 java modifiers
 
10 Data caching
10 Data caching10 Data caching
10 Data caching
 
08 Workflow e strumenti web
08 Workflow e strumenti web08 Workflow e strumenti web
08 Workflow e strumenti web
 
06 Refactoring
06 Refactoring06 Refactoring
06 Refactoring
 
07 Design Patterns
07 Design Patterns07 Design Patterns
07 Design Patterns
 
05 unit testing
05 unit testing05 unit testing
05 unit testing
 
04-JVM
04-JVM04-JVM
04-JVM
 

DataSnap