SlideShare una empresa de Scribd logo
1 de 15
Java implementation of the PHP language

                 Author: Bui Dinh Ngoc
                            Aiti-aptech
What's Quercus
 Quercus 100% Java implementation of PHP
 PHP run on JVM (not Zend Engine)
 Opensource GPL license
Why?
● Performance
  – Up to 4x faster on some applications
● Security
  – Avoids buffer overflow problems in C-based
implementation
● Java/PHP integration
  – PHP can now access any Java library or objects
  – Java can use PHP as a view technology
Why?                                   (continue)
● PHP on Google App Engine
  – Google cloud computing
● Long Live Process (worker)
  – Php process ~ 82 live hours
  - Java process ∞ live hours
● Delicate Cache vs Cache on process
Existing PHP applications on
Quercus
 Mediawiki      Gallery2


 Wordpress      Php-Nuke



 DokuWiki       PhpMyAdmin



 Drupal         Openads
PHP+JAVA
Working with Java classes in PHP
 <?php
  $a = new Java("java.util.Date", 123);
   echo $a->time;
 ?>
 OR
 <?php
 import java.util.Date;
 $a = new Date(123);
 echo $a->time;
 ?>
PHP Module
 Standard modules
 Quercus implements the standard PHP libraries
 (arrays, strings, date, regexp, zip ,zlib mcrypt, bcmath.
PHP Ext Module
 APC (object caching)
 Image support ('gd')
 PDF generation (PDFlib api)
 AJAX (JSON)
 GetText (localization)
Using Databases (PHP API)
 MySQL
 PostgreSQL
 Oracle
Java Module


         All, of course !!!
Benefits of Quercus
 Performance - simply faster
 Development - fast, safe, and easy
 Capability - powerful Java technologies
 Security - no more pesky C memory bugs
 Scalability - Massive clusters of PHP
 Internationalization - 16-bit unicode
Demo
<?php
        $a=time();
        $arr = array();
        for($i=0;$i<10000000;$i++)
        {
             $arr[i] = $i;
        }
        sort($arr);
        $b=time();
        echo $b-$a;
?>
  ====> Time Processing
 http://quercusdemo.appspot.com/ ====> 8s
 http://222.255.28.33:8888/index.php ====> 5s
 http://o2tv.vn/quercus.php ===> 15s
Drupal performance stats
Thank you

Más contenido relacionado

La actualidad más candente

From C++ to JS via Emscripten
From C++ to JS via EmscriptenFrom C++ to JS via Emscripten
From C++ to JS via EmscriptenTomNickson
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleDmytro Semenov
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node jsAkshay Mathur
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsRob O'Doherty
 
Kraken js at paypal
Kraken js at paypalKraken js at paypal
Kraken js at paypalLenny Markus
 
An Introduction of Node Package Manager (NPM)
An Introduction of Node Package Manager (NPM)An Introduction of Node Package Manager (NPM)
An Introduction of Node Package Manager (NPM)iFour Technolab Pvt. Ltd.
 
Securing Network Access with Open Source solutions
Securing Network Access with Open Source solutionsSecuring Network Access with Open Source solutions
Securing Network Access with Open Source solutionsNick Owen
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS Ganesh Kondal
 
Fundamental of Node.JS - Internship Presentation - Week7
Fundamental of Node.JS - Internship Presentation - Week7Fundamental of Node.JS - Internship Presentation - Week7
Fundamental of Node.JS - Internship Presentation - Week7Devang Garach
 
Multiple django applications on a single server with nginx
Multiple django applications on a single server with nginxMultiple django applications on a single server with nginx
Multiple django applications on a single server with nginxroskakori
 
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5David Voyles
 
Data Management and Streaming Strategies in Drakensang Online
Data Management and Streaming Strategies in Drakensang OnlineData Management and Streaming Strategies in Drakensang Online
Data Management and Streaming Strategies in Drakensang OnlineAndre Weissflog
 
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVMHOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVMOwais Zahid
 
Server Side Event Driven Programming
Server Side Event Driven ProgrammingServer Side Event Driven Programming
Server Side Event Driven ProgrammingKamal Hussain
 

La actualidad más candente (20)

From C++ to JS via Emscripten
From C++ to JS via EmscriptenFrom C++ to JS via Emscripten
From C++ to JS via Emscripten
 
Nodejs intro
Nodejs introNodejs intro
Nodejs intro
 
CI and CD
CI and CDCI and CD
CI and CD
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
 
Introduction to Node js
Introduction to Node jsIntroduction to Node js
Introduction to Node js
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Kraken js at paypal
Kraken js at paypalKraken js at paypal
Kraken js at paypal
 
An Introduction of Node Package Manager (NPM)
An Introduction of Node Package Manager (NPM)An Introduction of Node Package Manager (NPM)
An Introduction of Node Package Manager (NPM)
 
Securing Network Access with Open Source solutions
Securing Network Access with Open Source solutionsSecuring Network Access with Open Source solutions
Securing Network Access with Open Source solutions
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS
 
Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
 
Fundamental of Node.JS - Internship Presentation - Week7
Fundamental of Node.JS - Internship Presentation - Week7Fundamental of Node.JS - Internship Presentation - Week7
Fundamental of Node.JS - Internship Presentation - Week7
 
Multiple django applications on a single server with nginx
Multiple django applications on a single server with nginxMultiple django applications on a single server with nginx
Multiple django applications on a single server with nginx
 
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
 
Data Management and Streaming Strategies in Drakensang Online
Data Management and Streaming Strategies in Drakensang OnlineData Management and Streaming Strategies in Drakensang Online
Data Management and Streaming Strategies in Drakensang Online
 
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVMHOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
 
Nashorn
NashornNashorn
Nashorn
 
Server Side Event Driven Programming
Server Side Event Driven ProgrammingServer Side Event Driven Programming
Server Side Event Driven Programming
 
Node js for beginners
Node js for beginnersNode js for beginners
Node js for beginners
 

Destacado

PHP on Java (BarCamp London 7)
PHP on Java (BarCamp London 7)PHP on Java (BarCamp London 7)
PHP on Java (BarCamp London 7)Robin Fernandes
 
ZendCon Security
ZendCon SecurityZendCon Security
ZendCon Securityphilipo
 
Phpcompilerinternals 090824022750-phpapp02
Phpcompilerinternals 090824022750-phpapp02Phpcompilerinternals 090824022750-phpapp02
Phpcompilerinternals 090824022750-phpapp02philipo
 
PHP, Under The Hood - DPC
PHP, Under The Hood - DPCPHP, Under The Hood - DPC
PHP, Under The Hood - DPCAnthony Ferrara
 
Usage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesUsage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesWilliam Lee
 

Destacado (6)

PHP on Java (BarCamp London 7)
PHP on Java (BarCamp London 7)PHP on Java (BarCamp London 7)
PHP on Java (BarCamp London 7)
 
ZendCon Security
ZendCon SecurityZendCon Security
ZendCon Security
 
Phpcompilerinternals 090824022750-phpapp02
Phpcompilerinternals 090824022750-phpapp02Phpcompilerinternals 090824022750-phpapp02
Phpcompilerinternals 090824022750-phpapp02
 
Cloud & PHP
Cloud & PHPCloud & PHP
Cloud & PHP
 
PHP, Under The Hood - DPC
PHP, Under The Hood - DPCPHP, Under The Hood - DPC
PHP, Under The Hood - DPC
 
Usage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP LanguagesUsage Note of Apache Thrift for C++ Java PHP Languages
Usage Note of Apache Thrift for C++ Java PHP Languages
 

Similar a PHP Day 2011 Quercus – PHP in JAVA

PHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on NginxPHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on NginxHarald Zeitlhofer
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsAlessandro Pilotti
 
Apache Submarine: Unified Machine Learning Platform
Apache Submarine: Unified Machine Learning PlatformApache Submarine: Unified Machine Learning Platform
Apache Submarine: Unified Machine Learning PlatformWangda Tan
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.jsorkaplan
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersJavan Rasokat
 
Docker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline ExecutionDocker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline ExecutionBrennan Saeta
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from IntelEdge AI and Vision Alliance
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsNick Belhomme
 
Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?AFUP_Limoges
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...Wong Hoi Sing Edison
 
Deploying nginx with minimal system resources
Deploying nginx with minimal system resourcesDeploying nginx with minimal system resources
Deploying nginx with minimal system resourcesMax Ukhanov
 
An Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP ProgrammersAn Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP Programmersjphl
 
Java Stammtisch Würzburg - CONAIR
Java Stammtisch Würzburg - CONAIRJava Stammtisch Würzburg - CONAIR
Java Stammtisch Würzburg - CONAIRMatthias Reining
 
Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Alex S
 
Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Alex S
 

Similar a PHP Day 2011 Quercus – PHP in JAVA (20)

Tech talk: PHP
Tech talk: PHPTech talk: PHP
Tech talk: PHP
 
PHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on NginxPHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on Nginx
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance Optimizations
 
Apache Submarine: Unified Machine Learning Platform
Apache Submarine: Unified Machine Learning PlatformApache Submarine: Unified Machine Learning Platform
Apache Submarine: Unified Machine Learning Platform
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
 
Docker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline ExecutionDocker & ECS: Secure Nearline Execution
Docker & ECS: Secure Nearline Execution
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Appenginejs (old presentation)
Appenginejs (old presentation)Appenginejs (old presentation)
Appenginejs (old presentation)
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
 
Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?Comment améliorer le quotidien des Développeurs PHP ?
Comment améliorer le quotidien des Développeurs PHP ?
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
 
Deploying nginx with minimal system resources
Deploying nginx with minimal system resourcesDeploying nginx with minimal system resources
Deploying nginx with minimal system resources
 
NodeJS
NodeJSNodeJS
NodeJS
 
An Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP ProgrammersAn Introduction to Websphere sMash for PHP Programmers
An Introduction to Websphere sMash for PHP Programmers
 
Java Stammtisch Würzburg - CONAIR
Java Stammtisch Würzburg - CONAIRJava Stammtisch Würzburg - CONAIR
Java Stammtisch Würzburg - CONAIR
 
Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015
 
Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015
 
Devops training at futurepointtech.com
Devops training at futurepointtech.comDevops training at futurepointtech.com
Devops training at futurepointtech.com
 

Más de Quang Anh Le

Mobilemonday.vn mobile interaction - mr ng cuu long goldsun focus media
Mobilemonday.vn   mobile interaction - mr ng cuu long goldsun focus mediaMobilemonday.vn   mobile interaction - mr ng cuu long goldsun focus media
Mobilemonday.vn mobile interaction - mr ng cuu long goldsun focus mediaQuang Anh Le
 
Mobilemonday.vn adflex
Mobilemonday.vn   adflexMobilemonday.vn   adflex
Mobilemonday.vn adflexQuang Anh Le
 
Mobilemonday.vn momo-monetize thinking_tu do tai chinh_v1.2
Mobilemonday.vn   momo-monetize thinking_tu do tai chinh_v1.2Mobilemonday.vn   momo-monetize thinking_tu do tai chinh_v1.2
Mobilemonday.vn momo-monetize thinking_tu do tai chinh_v1.2Quang Anh Le
 
02 mobile monday hanoi april 2013 vinova
02 mobile monday hanoi april 2013   vinova02 mobile monday hanoi april 2013   vinova
02 mobile monday hanoi april 2013 vinovaQuang Anh Le
 
01 mobile monday hanoi april 2013 mobile game - afoli
01 mobile monday hanoi april 2013   mobile game - afoli01 mobile monday hanoi april 2013   mobile game - afoli
01 mobile monday hanoi april 2013 mobile game - afoliQuang Anh Le
 
03 mobile monday hanoi april 2013 monetize thinking g mo m-work
03 mobile monday hanoi april 2013 monetize thinking g mo   m-work03 mobile monday hanoi april 2013 monetize thinking g mo   m-work
03 mobile monday hanoi april 2013 monetize thinking g mo m-workQuang Anh Le
 
2. minh chau momo t4
2. minh chau momo t42. minh chau momo t4
2. minh chau momo t4Quang Anh Le
 
0. mobilemonday.vn hcm 20130424
0. mobilemonday.vn hcm 201304240. mobilemonday.vn hcm 20130424
0. mobilemonday.vn hcm 20130424Quang Anh Le
 
Vietnam mobile day 2012 phan mem cho phai dep - mana
Vietnam mobile day 2012   phan mem cho phai dep - manaVietnam mobile day 2012   phan mem cho phai dep - mana
Vietnam mobile day 2012 phan mem cho phai dep - manaQuang Anh Le
 
Vietnam mobile day 2012 i os memory management - techmaster
Vietnam mobile day 2012   i os memory management - techmasterVietnam mobile day 2012   i os memory management - techmaster
Vietnam mobile day 2012 i os memory management - techmasterQuang Anh Le
 
Vietnam mobile day 2012 monetizing mobile apps games - rubycell
Vietnam mobile day 2012   monetizing mobile apps games - rubycellVietnam mobile day 2012   monetizing mobile apps games - rubycell
Vietnam mobile day 2012 monetizing mobile apps games - rubycellQuang Anh Le
 
Vietnam mobile day 2012 cuoc cach mang thoi ky hau mobile - misfit
Vietnam mobile day 2012   cuoc cach mang thoi ky hau mobile - misfitVietnam mobile day 2012   cuoc cach mang thoi ky hau mobile - misfit
Vietnam mobile day 2012 cuoc cach mang thoi ky hau mobile - misfitQuang Anh Le
 
Vietnam mobile day 2012 multi platform development - game loft
Vietnam mobile day 2012   multi platform development - game loftVietnam mobile day 2012   multi platform development - game loft
Vietnam mobile day 2012 multi platform development - game loftQuang Anh Le
 
Vietnam mobile day 2012 developer opportunity - nokia
Vietnam mobile day 2012   developer opportunity - nokiaVietnam mobile day 2012   developer opportunity - nokia
Vietnam mobile day 2012 developer opportunity - nokiaQuang Anh Le
 
Vietnam mobile day 2012 building a mobile linux firmware for your router - ...
Vietnam mobile day 2012   building a mobile linux firmware for your router - ...Vietnam mobile day 2012   building a mobile linux firmware for your router - ...
Vietnam mobile day 2012 building a mobile linux firmware for your router - ...Quang Anh Le
 
Vietnam mobile day 2012 ban quyen mobile contents - vsm
Vietnam mobile day 2012   ban quyen mobile contents - vsmVietnam mobile day 2012   ban quyen mobile contents - vsm
Vietnam mobile day 2012 ban quyen mobile contents - vsmQuang Anh Le
 
Vietnam mobile day 2012 platform mo va ung dung de phat trien mang xa hoi m...
Vietnam mobile day 2012   platform mo va ung dung de phat trien mang xa hoi m...Vietnam mobile day 2012   platform mo va ung dung de phat trien mang xa hoi m...
Vietnam mobile day 2012 platform mo va ung dung de phat trien mang xa hoi m...Quang Anh Le
 
Vietnam mobile day 2012 co hoi mobile tai vietnam - cyber agent
Vietnam mobile day 2012   co hoi mobile tai vietnam - cyber agentVietnam mobile day 2012   co hoi mobile tai vietnam - cyber agent
Vietnam mobile day 2012 co hoi mobile tai vietnam - cyber agentQuang Anh Le
 
Vietnam mobile day 2012 html5 game using impact js - aiti-aptech
Vietnam mobile day 2012   html5 game using impact js - aiti-aptechVietnam mobile day 2012   html5 game using impact js - aiti-aptech
Vietnam mobile day 2012 html5 game using impact js - aiti-aptechQuang Anh Le
 
Vietnam mobile day 2012 tuong lai cho nha phat trien nds - share plus
Vietnam mobile day 2012   tuong lai cho nha phat trien nds - share plusVietnam mobile day 2012   tuong lai cho nha phat trien nds - share plus
Vietnam mobile day 2012 tuong lai cho nha phat trien nds - share plusQuang Anh Le
 

Más de Quang Anh Le (20)

Mobilemonday.vn mobile interaction - mr ng cuu long goldsun focus media
Mobilemonday.vn   mobile interaction - mr ng cuu long goldsun focus mediaMobilemonday.vn   mobile interaction - mr ng cuu long goldsun focus media
Mobilemonday.vn mobile interaction - mr ng cuu long goldsun focus media
 
Mobilemonday.vn adflex
Mobilemonday.vn   adflexMobilemonday.vn   adflex
Mobilemonday.vn adflex
 
Mobilemonday.vn momo-monetize thinking_tu do tai chinh_v1.2
Mobilemonday.vn   momo-monetize thinking_tu do tai chinh_v1.2Mobilemonday.vn   momo-monetize thinking_tu do tai chinh_v1.2
Mobilemonday.vn momo-monetize thinking_tu do tai chinh_v1.2
 
02 mobile monday hanoi april 2013 vinova
02 mobile monday hanoi april 2013   vinova02 mobile monday hanoi april 2013   vinova
02 mobile monday hanoi april 2013 vinova
 
01 mobile monday hanoi april 2013 mobile game - afoli
01 mobile monday hanoi april 2013   mobile game - afoli01 mobile monday hanoi april 2013   mobile game - afoli
01 mobile monday hanoi april 2013 mobile game - afoli
 
03 mobile monday hanoi april 2013 monetize thinking g mo m-work
03 mobile monday hanoi april 2013 monetize thinking g mo   m-work03 mobile monday hanoi april 2013 monetize thinking g mo   m-work
03 mobile monday hanoi april 2013 monetize thinking g mo m-work
 
2. minh chau momo t4
2. minh chau momo t42. minh chau momo t4
2. minh chau momo t4
 
0. mobilemonday.vn hcm 20130424
0. mobilemonday.vn hcm 201304240. mobilemonday.vn hcm 20130424
0. mobilemonday.vn hcm 20130424
 
Vietnam mobile day 2012 phan mem cho phai dep - mana
Vietnam mobile day 2012   phan mem cho phai dep - manaVietnam mobile day 2012   phan mem cho phai dep - mana
Vietnam mobile day 2012 phan mem cho phai dep - mana
 
Vietnam mobile day 2012 i os memory management - techmaster
Vietnam mobile day 2012   i os memory management - techmasterVietnam mobile day 2012   i os memory management - techmaster
Vietnam mobile day 2012 i os memory management - techmaster
 
Vietnam mobile day 2012 monetizing mobile apps games - rubycell
Vietnam mobile day 2012   monetizing mobile apps games - rubycellVietnam mobile day 2012   monetizing mobile apps games - rubycell
Vietnam mobile day 2012 monetizing mobile apps games - rubycell
 
Vietnam mobile day 2012 cuoc cach mang thoi ky hau mobile - misfit
Vietnam mobile day 2012   cuoc cach mang thoi ky hau mobile - misfitVietnam mobile day 2012   cuoc cach mang thoi ky hau mobile - misfit
Vietnam mobile day 2012 cuoc cach mang thoi ky hau mobile - misfit
 
Vietnam mobile day 2012 multi platform development - game loft
Vietnam mobile day 2012   multi platform development - game loftVietnam mobile day 2012   multi platform development - game loft
Vietnam mobile day 2012 multi platform development - game loft
 
Vietnam mobile day 2012 developer opportunity - nokia
Vietnam mobile day 2012   developer opportunity - nokiaVietnam mobile day 2012   developer opportunity - nokia
Vietnam mobile day 2012 developer opportunity - nokia
 
Vietnam mobile day 2012 building a mobile linux firmware for your router - ...
Vietnam mobile day 2012   building a mobile linux firmware for your router - ...Vietnam mobile day 2012   building a mobile linux firmware for your router - ...
Vietnam mobile day 2012 building a mobile linux firmware for your router - ...
 
Vietnam mobile day 2012 ban quyen mobile contents - vsm
Vietnam mobile day 2012   ban quyen mobile contents - vsmVietnam mobile day 2012   ban quyen mobile contents - vsm
Vietnam mobile day 2012 ban quyen mobile contents - vsm
 
Vietnam mobile day 2012 platform mo va ung dung de phat trien mang xa hoi m...
Vietnam mobile day 2012   platform mo va ung dung de phat trien mang xa hoi m...Vietnam mobile day 2012   platform mo va ung dung de phat trien mang xa hoi m...
Vietnam mobile day 2012 platform mo va ung dung de phat trien mang xa hoi m...
 
Vietnam mobile day 2012 co hoi mobile tai vietnam - cyber agent
Vietnam mobile day 2012   co hoi mobile tai vietnam - cyber agentVietnam mobile day 2012   co hoi mobile tai vietnam - cyber agent
Vietnam mobile day 2012 co hoi mobile tai vietnam - cyber agent
 
Vietnam mobile day 2012 html5 game using impact js - aiti-aptech
Vietnam mobile day 2012   html5 game using impact js - aiti-aptechVietnam mobile day 2012   html5 game using impact js - aiti-aptech
Vietnam mobile day 2012 html5 game using impact js - aiti-aptech
 
Vietnam mobile day 2012 tuong lai cho nha phat trien nds - share plus
Vietnam mobile day 2012   tuong lai cho nha phat trien nds - share plusVietnam mobile day 2012   tuong lai cho nha phat trien nds - share plus
Vietnam mobile day 2012 tuong lai cho nha phat trien nds - share plus
 

Último

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Último (20)

The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

PHP Day 2011 Quercus – PHP in JAVA

  • 1. Java implementation of the PHP language Author: Bui Dinh Ngoc Aiti-aptech
  • 2. What's Quercus  Quercus 100% Java implementation of PHP  PHP run on JVM (not Zend Engine)  Opensource GPL license
  • 3. Why? ● Performance – Up to 4x faster on some applications ● Security – Avoids buffer overflow problems in C-based implementation ● Java/PHP integration – PHP can now access any Java library or objects – Java can use PHP as a view technology
  • 4. Why? (continue) ● PHP on Google App Engine – Google cloud computing ● Long Live Process (worker) – Php process ~ 82 live hours - Java process ∞ live hours ● Delicate Cache vs Cache on process
  • 5. Existing PHP applications on Quercus  Mediawiki  Gallery2  Wordpress  Php-Nuke  DokuWiki  PhpMyAdmin  Drupal  Openads
  • 7. Working with Java classes in PHP <?php $a = new Java("java.util.Date", 123); echo $a->time; ?> OR <?php import java.util.Date; $a = new Date(123); echo $a->time; ?>
  • 8. PHP Module  Standard modules Quercus implements the standard PHP libraries (arrays, strings, date, regexp, zip ,zlib mcrypt, bcmath.
  • 9. PHP Ext Module  APC (object caching)  Image support ('gd')  PDF generation (PDFlib api)  AJAX (JSON)  GetText (localization)
  • 10. Using Databases (PHP API)  MySQL  PostgreSQL  Oracle
  • 11. Java Module All, of course !!!
  • 12. Benefits of Quercus  Performance - simply faster  Development - fast, safe, and easy  Capability - powerful Java technologies  Security - no more pesky C memory bugs  Scalability - Massive clusters of PHP  Internationalization - 16-bit unicode
  • 13. Demo <?php $a=time(); $arr = array(); for($i=0;$i<10000000;$i++) { $arr[i] = $i; } sort($arr); $b=time(); echo $b-$a; ?> ====> Time Processing  http://quercusdemo.appspot.com/ ====> 8s  http://222.255.28.33:8888/index.php ====> 5s  http://o2tv.vn/quercus.php ===> 15s