Vous souhaitez moderniser votre existant ou consolider l’utilisation des nouvelles technologies sur votre IBM i ?
Cette session vous aidera à choisir la bonne technologie pour vos besoins de modernisation, au travers d’un comparatif Node.js versus PHP :
Environnement serveur
Philosophie de développement
Ecosystèmes
Performances (au travers d’un benchmark sur POWER9)
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...Paris Open Source Summit
#Business #Apps - Track - Solutions pour l'Entreprise
La création d'une nouvelle entreprise est la source de nombreuses interrogations et notamment au sujet des outils informatiques à utiliser : comment gérer les clients, les commandes, les besoins spécifiques complexes, comme la réservation de salles, avec une équipe tout en étant visible sur le web et les mobiles ? Quelles plateformes open source utiliser ? Comment gérer et intégrer les évolutions des outils, auxquelles on aimerait participer ?
Ce talk va présenter toutes les solutions open source choisies et installées pour gérer la société interindep dont l'activité consiste à louer des salles de formation à des formateurs indépendants.
En quelques semaines une solution pérenne, efficace et adaptée a pu être élaborée à partir de différents projets open source comme : Dolibarr ou Wordpress, qui, associés à GIT, sont gérés de manière simple pour faciliter la gestion de leurs évolutions.
En parallèle de l'utilisation, la contribution à ces outils sera également évoquée, puisque plusieurs solutions proposées sont hébergées sur GitHub et permettent ainsi une interaction directe avec les développeurs ce qui est un avantage important d'une solution open source.
Ce talk donnera ainsi de nombreux conseils pour tous les créateurs d'activité, sur les choix d'hébergement, d'outils et de solutions pour répondre à une grande majorité de problèmes récurrents.
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Xavier Lacot
Cette présentation a été effectuée dans le cadre du Forum PHP 2010.
Apparus il ya quelques années, les frameworks PHP évoluent rapidement,gagnent en maturité et, avec l'arrivée de PHP 5.3, ils entament une nouvelle mutation.
Après avoir rappelé l'intérêt de l'emploi de frameworks, cette session mettra l'accent sur les critères de choix permettant de départager les différents frameworks du marché, présentera les différences entre les grands frameworks du moment, mettra en évidence les tendances architecturales, et finalement s'attachera à montrer l'enracinement des frameworks dans le paysage professionnel PHP.
Une courte présentation à WebAssembly, des avantages et cas d'usages associés, des concepts techniques derrière (cf. AOT vs JIT), de l'état actuel du marché et de l'avenir de cette tendance / technologie
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôleAlphorm
Vous trouverez la formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-pcsoft-gds-et-centres-de-controle-20
Dans cette formation vous découvrirez la gestion des codes sources dans le cadre d’un projet informatique.
Dans un premier temps vous allez apprendre à créer un projet, à le gérer, à affecter des tâches à vos équipes, à gérer les retours de vos clients, tout cela dans le centre de suivi des projets de PCSOFT.
Ensuite, nous entrerons dans le vif du sujet en découvrant toutes les facettes du GDS. Nous y verrons notamment la notion de fusion, de branche, de droit, de partage de code sources. Une partie est également dédiée aux administrateurs permettant d’installer et maintenir la base du GDS.
Enfin, vous y découvrirez le Cloud de PCSOFT, de la création d’un compte à l’utilisation de PCSCloud dans l’AGL windev.
Et cerise sur le gâteau, vous y découvrirez la version 20 de windev, le nouveau centre de contrôle HFSQL et bien d’autres nouveautés !
OSSPARIS19 - Utiliser les outils open source pour démarrer une nouvelle entre...Paris Open Source Summit
#Business #Apps - Track - Solutions pour l'Entreprise
La création d'une nouvelle entreprise est la source de nombreuses interrogations et notamment au sujet des outils informatiques à utiliser : comment gérer les clients, les commandes, les besoins spécifiques complexes, comme la réservation de salles, avec une équipe tout en étant visible sur le web et les mobiles ? Quelles plateformes open source utiliser ? Comment gérer et intégrer les évolutions des outils, auxquelles on aimerait participer ?
Ce talk va présenter toutes les solutions open source choisies et installées pour gérer la société interindep dont l'activité consiste à louer des salles de formation à des formateurs indépendants.
En quelques semaines une solution pérenne, efficace et adaptée a pu être élaborée à partir de différents projets open source comme : Dolibarr ou Wordpress, qui, associés à GIT, sont gérés de manière simple pour faciliter la gestion de leurs évolutions.
En parallèle de l'utilisation, la contribution à ces outils sera également évoquée, puisque plusieurs solutions proposées sont hébergées sur GitHub et permettent ainsi une interaction directe avec les développeurs ce qui est un avantage important d'une solution open source.
Ce talk donnera ainsi de nombreux conseils pour tous les créateurs d'activité, sur les choix d'hébergement, d'outils et de solutions pour répondre à une grande majorité de problèmes récurrents.
Forum PHP 2010 - Les frameworks, essentiels dans-l-ecosysteme-php-xavier-laco...Xavier Lacot
Cette présentation a été effectuée dans le cadre du Forum PHP 2010.
Apparus il ya quelques années, les frameworks PHP évoluent rapidement,gagnent en maturité et, avec l'arrivée de PHP 5.3, ils entament une nouvelle mutation.
Après avoir rappelé l'intérêt de l'emploi de frameworks, cette session mettra l'accent sur les critères de choix permettant de départager les différents frameworks du marché, présentera les différences entre les grands frameworks du moment, mettra en évidence les tendances architecturales, et finalement s'attachera à montrer l'enracinement des frameworks dans le paysage professionnel PHP.
Une courte présentation à WebAssembly, des avantages et cas d'usages associés, des concepts techniques derrière (cf. AOT vs JIT), de l'état actuel du marché et de l'avenir de cette tendance / technologie
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôleAlphorm
Vous trouverez la formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-pcsoft-gds-et-centres-de-controle-20
Dans cette formation vous découvrirez la gestion des codes sources dans le cadre d’un projet informatique.
Dans un premier temps vous allez apprendre à créer un projet, à le gérer, à affecter des tâches à vos équipes, à gérer les retours de vos clients, tout cela dans le centre de suivi des projets de PCSOFT.
Ensuite, nous entrerons dans le vif du sujet en découvrant toutes les facettes du GDS. Nous y verrons notamment la notion de fusion, de branche, de droit, de partage de code sources. Une partie est également dédiée aux administrateurs permettant d’installer et maintenir la base du GDS.
Enfin, vous y découvrirez le Cloud de PCSOFT, de la création d’un compte à l’utilisation de PCSCloud dans l’AGL windev.
Et cerise sur le gâteau, vous y découvrirez la version 20 de windev, le nouveau centre de contrôle HFSQL et bien d’autres nouveautés !
S18 db2 web query comment partir de zeroGautier DUMAS
Dans cette session, le focus sera fait sur les différentes étapes à suivre, de l’installation jusqu’aux premiers graphiques et tableaux de bord, pour démarrer simplement et rapidement un projet décisionnel sur IBM i avec DB2 Web Query.
Présentation des concepts autour de Node.js ainsi que son écosystème de modules. Très rapide overview de Sails.js, un excellent framework de développement d'API REST et d'application web.
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
Avec 3 autres MVP, nous avions réalisé une démonstration autour de Docker, ASP.NET Core et Raspberry PI 2 pendant la soirée du tech.days camp du 16/03 organisée par Microsoft. J'ai fait un retour d'expérience sur cette démo principalement sur le Continuous Delivery avec VSTS.
Vous pouvez reproduire la démo chez vous avec l'aide de notre repo Github https://github.com/punlimitlab/home.
S55 db2 web query pour les administrateurs ibm iGautier DUMAS
DB2 Web Query est LA solution de Business Intelligence sur IBM i, qui exploite et valorise les données métier stockées dans DB2. Mais saviez-vous que vous pouviez profiter de la puissance de l’outil combiné aux services IBM i (SQL as a Service) pour monitorer/analyser votre système IBM i ? Cette session présentera des exemples concrets d’analyse du système au travers de rapports, graphiques et tableaux de bord DB2 Web Query, que vous pourrez utiliser sur vos partitions avec ou sans adaptation.
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureMicrosoft
La base de données MariaDB (fork de MySQL) connaît une croissance annuelle supérieure à 400% depuis son lancement. Elle s'impose comme une puissante alternative couvrant aussi bien le SQL, le NoSQL, le Cloud (SaaS, PaaS...) et les contraintes quotidiennes. Cette session PHP/MariaDB abordera 4 axes : - Comprendre les fondamentaux du déploiement d'un site PHP (Application Drupal) dans Azure Websites ainsi que ses bénéfices (Elasticité dynamique, environnement de prod/pré-prod et couplage Git...). - Les notions premières à connaître pour réussir l'installation de MariaDB dans des Cloud Services Azure, ainsi que son utilisation avec le langage dynamique PHP. - Les différentes possibilités de communiquer, d'échanger des données entre les différents outils Microsoft (Office, ODBC, SQL...) et les 'storages engines overview' disponibles dans MariaDB - Enfin, le dernier point s'attardera sur quelques possibilités d'automatisation de déploiement dans Azure, et d'optimisation de la performance / la scalabilité, en voyant la multi-réplication dans un ou plusieurs Cloud Services (MariaDB Galera cluster)
Conférence 'Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure' présentée au TechDays 2015 à Paris par Christophe Villeneuve et Serge Frezefond
Notre voyage vers le déploiement continu avec micro-services, la conteneurisation et l'orchestration des conteneurs utilisant Kubernetes. Sur notre chemin, nous avons dû créer divers outils pour nous aider à mieux utiliser et tester le tout avant d'aller en production. Nous avons également intégré une variété d'autres outils pour nous donner de la visibilité sur notre plate-forme. Cette conférence sera un aperçu de notre voyage jusqu'à maintenant.
Our journey towards continuous deployment with micro-services, containerization and orchestration of containers using Kubernetes. On our way there, we've had to create various tools to help us better use and test everything before going to production. We also had to integrate a variety of other tools to give us visibility on our platform.
This talk will be an overview of our journey up to now.
S18 db2 web query comment partir de zeroGautier DUMAS
Dans cette session, le focus sera fait sur les différentes étapes à suivre, de l’installation jusqu’aux premiers graphiques et tableaux de bord, pour démarrer simplement et rapidement un projet décisionnel sur IBM i avec DB2 Web Query.
Présentation des concepts autour de Node.js ainsi que son écosystème de modules. Très rapide overview de Sails.js, un excellent framework de développement d'API REST et d'application web.
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
Avec 3 autres MVP, nous avions réalisé une démonstration autour de Docker, ASP.NET Core et Raspberry PI 2 pendant la soirée du tech.days camp du 16/03 organisée par Microsoft. J'ai fait un retour d'expérience sur cette démo principalement sur le Continuous Delivery avec VSTS.
Vous pouvez reproduire la démo chez vous avec l'aide de notre repo Github https://github.com/punlimitlab/home.
S55 db2 web query pour les administrateurs ibm iGautier DUMAS
DB2 Web Query est LA solution de Business Intelligence sur IBM i, qui exploite et valorise les données métier stockées dans DB2. Mais saviez-vous que vous pouviez profiter de la puissance de l’outil combiné aux services IBM i (SQL as a Service) pour monitorer/analyser votre système IBM i ? Cette session présentera des exemples concrets d’analyse du système au travers de rapports, graphiques et tableaux de bord DB2 Web Query, que vous pourrez utiliser sur vos partitions avec ou sans adaptation.
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureMicrosoft
La base de données MariaDB (fork de MySQL) connaît une croissance annuelle supérieure à 400% depuis son lancement. Elle s'impose comme une puissante alternative couvrant aussi bien le SQL, le NoSQL, le Cloud (SaaS, PaaS...) et les contraintes quotidiennes. Cette session PHP/MariaDB abordera 4 axes : - Comprendre les fondamentaux du déploiement d'un site PHP (Application Drupal) dans Azure Websites ainsi que ses bénéfices (Elasticité dynamique, environnement de prod/pré-prod et couplage Git...). - Les notions premières à connaître pour réussir l'installation de MariaDB dans des Cloud Services Azure, ainsi que son utilisation avec le langage dynamique PHP. - Les différentes possibilités de communiquer, d'échanger des données entre les différents outils Microsoft (Office, ODBC, SQL...) et les 'storages engines overview' disponibles dans MariaDB - Enfin, le dernier point s'attardera sur quelques possibilités d'automatisation de déploiement dans Azure, et d'optimisation de la performance / la scalabilité, en voyant la multi-réplication dans un ou plusieurs Cloud Services (MariaDB Galera cluster)
Conférence 'Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure' présentée au TechDays 2015 à Paris par Christophe Villeneuve et Serge Frezefond
Notre voyage vers le déploiement continu avec micro-services, la conteneurisation et l'orchestration des conteneurs utilisant Kubernetes. Sur notre chemin, nous avons dû créer divers outils pour nous aider à mieux utiliser et tester le tout avant d'aller en production. Nous avons également intégré une variété d'autres outils pour nous donner de la visibilité sur notre plate-forme. Cette conférence sera un aperçu de notre voyage jusqu'à maintenant.
Our journey towards continuous deployment with micro-services, containerization and orchestration of containers using Kubernetes. On our way there, we've had to create various tools to help us better use and test everything before going to production. We also had to integrate a variety of other tools to give us visibility on our platform.
This talk will be an overview of our journey up to now.
S28 db2 web query - analytique et mobilitéGautier DUMAS
Les rapports produits par DB2 Web Query peuvent être intégrés dans une stratégie de mobilité. Cette session présente les technologies disponibles et les stratégies de mise en oeuvre :
- Mode connecté / déconnecté ?
- Les rapports actifs
- Les favoris mobiles
- Navigateur ou application ?
- Les Web Services
S21 les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...Gautier DUMAS
Voici les nouveautés de l'environnement PHP sur IBM i qui vont améliorer la productivité des développeurs (gain de temps et qualité du code).
Parmi ces nouveautés, nous découvrirons la nouvelle interface du Zend Server, les novueaux outils de débogage (Z-Ray, Z-Ray Live!, URL Insight) ainsi que l'intégration du Zend Studio dans l'environnement IBM i.
Le point sera fait sur le futur de PHP sur IBMi : PHP7. Qu'est ce qu'apporte cette nouvelle version comment se préparer à la migration avec Zend Studio 13 ?
S21 les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...
S35 developper en node.js versus php
1. Université IBM i 2019
22 et 23 mai
IBM Client Center Paris
Gautier DUMAS
Notos – https://www.notos.fr
gdumas@notos.fr – 04 30 96 97 31
Twitter @GautierDUMAS @Notos1
S35 – Développer en Node.js versus PHP
2. Université IBM i – 22 et 23 mai 2019
Au programme de cette session
▪ Présentation des deux technologies
• Node.js
• PHP
▪ Modèle bloquant / non bloquant
▪ Domaines d’application
▪ Get started / Installation
• Open Source Package Management
• Zend Server
▪ Prêt pour la production ?
▪ Benchmark sur POWER9
▪ Conclusions
3. Université IBM i – 22 et 23 mai 2019
NoToS
▪ Expertise autour de l’IBM i
▪ Sécurité
▪ PHP sur IBM i
▪ DB2 Web Query
▪ Développement de progiciels
5. Université IBM i – 22 et 23 mai 2019
Node.js
▪ Langage JavaScript côté serveur
• JavaScript != Java
▪ Runtime Javascript s’appuie sur le moteur JavaScript v8 de Chrome (le
navigateur de Google)
▪ Orienté évènement
▪ Non bloquant
▪ Asynchrone
▪ Utilisation du gestionnaire de paquets npm (node package manager)
6. Université IBM i – 22 et 23 mai 2019
Node.js – Stabilité et prévisions 2019-2021
▪ https://github.com/nodejs/Release
7. Université IBM i – 22 et 23 mai 2019
PHP – Zend Server
▪ Langage de scripts côté serveur
▪ Runtime PHP amené par le Zend Server
▪ Généralement utilisé avec un serveur web (APACHE sur IBM i)
▪ Mais peut être utilisé pour du Scripting
▪ Programmation procédurale ET objet
▪ Disponible depuis 2006 pour de la production sur IBM i
▪ Composer (dépôt packagist) disponible mais non obligatoire pour la gestion des
modules et des dépendances
8. Université IBM i – 22 et 23 mai 2019
PHP – Stabilité et prévisions
▪ https://php.net/supported-versions.php
Extension et support à long terme avec Zend
http://www.zend.com/fr/support-center/support/php-long-term-support
10. Université IBM i – 22 et 23 mai 2019
Les modèles
▪ Modèle bloquant
• Fonctionnement intuitif de PHP
▪ Modèle non-bloquant
• Fonctionnement natif de Node.js
12. Université IBM i – 22 et 23 mai 2019
Modèle non bloquant en PHP
▪ En cours de discussion pour une meilleure intégration dans les versions futures
de PHP
▪ Un vrai intérêt de la communauté PHP
▪ Plusieurs projets déjà disponibles pour implémenter le modèle non bloquant
ou asynchrone
• ReactPHP : https://reactphp.org/
• projet ratchet (WebSockets pour PHP) : http://socketo.me/
▪ A l’heure actuelle, pour l’implémentation d’un modèle non-bloquant, Node.js
est mieux positionné
13. Université IBM i – 22 et 23 mai 2019
Domaines d’application
Node.js v10 PHP 7.2
Pour les applications temps réels
comme les chats, streaming vidéo …
Pour les calculs (CPU)
Pour les applications à très fort trafic
en raison de son I / 0 non bloquante et
de son modèle évènementiel
Pour les applications de gestion,
intranet, extranet
Single page
Utilisation de CMS pour des sites web,
sites e-commerce, blogs
15. Université IBM i – 22 et 23 mai 2019
Node.js – Les modules open source
▪ Prérequis
• V7R2 ou supérieur
• Accès SSH à la partition (installé et démarré)
• IBM i Access Client Solutions 1.1.8.0 min (Juin 2018)
▪ Apporté par le gestionnaire de modules open source
d’ACS
▪ Le gestionnaire est lui-même à installer lors de la
première utilisation
17. Université IBM i – 22 et 23 mai 2019
Première application Node.js
▪ C’est un serveur web qui récupère et analyse l’url
demandée pour servir du contenu sur le protocole http
▪ Le code est dans le script serveur.js dans un dossier vide
créé pour l’application /www/NodeJs10/
▪ Démarrage de l’application Node.js
• CALL QP2TERM
• /QOpenSys/pkgs/bin/node /www/NodeJs10/serveur.js
▪ Le serveur écoute sur le port 2204 (cf. dernière ligne de
code Node.js).
▪ Testez dans un navigateur :
• http://adrs_ip:2204/
• http://adrs_ip:2204/a-propos/
• http://adrs_ip:2204/formation/ibmi/nodejs
var http = require('http');
var url = require('url');
var server = http.createServer(function(req, res) {
var page = url.parse(req.url).pathname;
console.log(page);
res.writeHead(200, {"Content-Type": "text/plain"});
if (page == '/') {
res.write('Ici l'accueil, que puis-je pour vous ?');
}
else if (page == '/a-propos') {
res.write('NoToS - Modernisation IBM i !');
}
else if (page == '/formation/ibmi/php') {
res.write('Formation php IBM i !');
}
else if (page == '/formation/ibmi/nodejs') {
res.write('Formation nodejs IBM i !');
}
res.end();
});
server.listen(2204);
18. Université IBM i – 22 et 23 mai 2019
npm
▪ npm - Node Package Manager – Gestionnaire de paquets officiel de Node.js
▪ Installé automatiquement avec Node.js
▪ Gestion des dépendances d’une application
▪ Installation des applications et modules Node.js disponibles sur le dépôt npm
19. Université IBM i – 22 et 23 mai 2019
Utilisation npm – module idb-connector
▪ Prérequis : indiquer la version Node.js utilisée par défaut
• /QOpenSys/pkgs/bin/nodever 10
▪ CALL QP2TERM
• cd /www/monApplication/
• /QOpenSys/pkgs/bin/npm i idb-connector
20. Université IBM i – 22 et 23 mai 2019
Utilisation du module idb-connector
▪ Exemples et documentation : https://github.com/IBM/nodejs-idb-connector
const {dbconn, dbstmt} = require('idb-connector');
const sSql = 'SELECT STATE FROM QIWS.QCUSTCDT’;
const connection = new dbconn();
connection.conn('*LOCAL');
const statement = new dbstmt(connection);
statement.exec(sSql, (x) => {
console.log(JSON.stringify(x));
statement.close();
connection.disconn();
connection.close();
});
21. Université IBM i – 22 et 23 mai 2019
PHP sur IBM i
▪ Dernière version de PHP (7.2) apportée par le Zend Server (actuellement en
version 2018.0.3)
• Téléchargement et informations sur :
http://www.zend.com/en/solutions/modernize-ibm-i
• Produit sous licence 7PHPZND
• L’installeur (format zip) fait un peu plus de 600 Mo
– Et le savf (zendphp7.savf) un peu plus de 1,5 Go
▪ Prérequis
22. Université IBM i – 22 et 23 mai 2019
Zend Server 2018.0.3
▪ Le Zend Server apporte
• Le moteur PHP (dans l’IFS dans /usr/local/zendphp7/…)
• La configuration par défaut d’une instance APACHE nommée ZENDPHP7 avec par
défaut les ports :
– 10080 pour les applications – document root associé /www/zendphp7/htdocs/
– 10081 pour l’interface graphique d’administration du Zend Server
– 10082 et 10083 pour des ports interne Zend
• Avec une licence, des fonctionnalités pour « augmenter » PHP
– Pour la production, la sérénité
– Monitoring, Zend Job Queue, Gestion du cache, outil de déploiement …
– Pour le développement, la productivité
– Z-Ray, Code Tracing, URL Insight, Zend Debugger…
23. Université IBM i – 22 et 23 mai 2019
Installation
▪ Installation en deux parties
• Première partie 5250 : restauration du programme sous licence
RSTLICPGM LICPGM(7PHPZND) DEV(*SAVF) SAVF(QGPL/ZENDPHP7)
• Deuxième partie dans un navigateur : premières configurations avant démarrage
http://adrs_ip:10081/ZendServer
Fin installation 5250
Fin configuration Web
Portail Zend Server !
24. Université IBM i – 22 et 23 mai 2019
Comparatif – get started
▪ Egalité pour ce match.
▪ Facile d’accès et d’installation
▪ Application « hello world !» rapide
26. Université IBM i – 22 et 23 mai 2019
Node.js
▪ Node.js existe depuis 2009
▪ Sur IBM i depuis la V7R1 et l’apparition du produit 5733-OPS
▪ NodeJs 10 à partir de la V7R2
▪ Maintenance et support gratuit par la communauté
• Par des ouvertures de tickets directement sur les projets Github, npm, bitbucket …
▪ Support par IBM Runtimes Team :
https://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/7/649/ENUSA17-
0817/index.html&request_locale=en
▪ Paquets idb-connector et itoolkit maintenus par IBM
• https://github.com/IBM/nodejs-idb-connector
• https://github.com/IBM/nodejs-itoolkit
▪ Nécessite d’utiliser un « Process Manager »
• PM2
27. Université IBM i – 22 et 23 mai 2019
Installation PM2 sur IBM i
▪ Dans l’interpréteur PASE
• > npm i –g pm2
▪ Réglage du PATH permanent pour le profil connecté
echo 'PATH=/QOpenSys/pkgs/bin:$PATH' >> $HOME/.profile
export PATH >> $HOME/.profile
echo 'PATH=/QOpenSys/pkgs/lib/nodejs10/bin:$PATH' >> $HOME/.profile
export PATH >> $HOME/.profile
28. Université IBM i – 22 et 23 mai 2019
Utilisation de PM2
▪ Pour lancer l’application Node.js, il suffit de :
• cd /www/NodeJs10/SQLquerySample/ positionnement dans l’application
• pm2 start sample.js
▪ L’application est lancée, des données d’utilisation (CPU et mémoire) sont stockées
et consultables
• pm2 monit
▪ Redémarrage automatique des applications en cas de crash
▪ Pour arrêter l’application :
• pm2 stop sample.js
29. Université IBM i – 22 et 23 mai 2019
PHP – Zend Server
▪ PHP depuis 1994 et sur IBM i depuis plus de 10 ans :
• Zend Core en 2006
▪ Connecteur natif avec l’extension ibm_db2
▪ PHP Toolkit for IBM i
• S’appuie sur le XMLSERVICE d’IBM
▪ Un environnement conçu et testé pour
la production :
• Dernières versions stables de PHP
• Mise à disposition des mises à jour
• Un support dédié à la plateforme IBM i
par Rogue Wave Software (Zend)
• Monitoring avancé des applications
• Gestion des déploiements
…
Monitoring
- Historique intelligent
des incidents
Configuration
avancée
Débogue
Z-Ray -
Zend Debugger -
Logs
Performance
- Code tracing
- Accélérateur de PHP pour
IBM i
- Gestion du cache
Statistiques
30. Université IBM i – 22 et 23 mai 2019
Comparatif - production ready ?
▪ PHP remporte ce comparatif
• Node.js plus jeune que PHP
• Partenariat fort et historique entre
Rogue Wave Software (Zend) et IBM
• Support entreprise de Zend
• Environnement et fonctionnalités
pour la production avec le Zend Server
32. Université IBM i – 22 et 23 mai 2019
Contexte et environnement du benchmark
▪ La machine
• Power 9 (6 cœurs, 128 Go de mémoire, HMC virtuelle)
– Partition utilisée pour le benchmark
– 1 Coeur
– 64 Go de mémoire
– IBM i - V7R3
▪ Les serveurs
• Node.js 10 (pour le serveur web et le runtime Javascript) + PM2
• Zend Server 2018.0.3 - PHP 7.2 + Apache 2.4
▪ Le traitement / le test
• Récupération de 75 enregistrements par une requête SQL sur DB2 (PROCESS + I/O)
• Encodage en json du jeux de résultats (PROCESS)
• Retour de la chaîne JSON (NETWORK)
▪ Le testeur / stresseur pour la montée en charge : Apache Jmeter 2.13
• 700 requêtes HTTP en 10s
33. Université IBM i – 22 et 23 mai 2019
Les scripts – un peu de code !
▪ PHP
Connexion à DB2
Exécution requête SQL
Parcours des résultats
Conversion en chaine JSON
+ affichage
34. Université IBM i – 22 et 23 mai 2019
Les scripts – un peu de code !
▪ Node.js
Connexion à DB2
Exécution requête SQL
Conversion en chaine
JSON + affichage
Création du serveur web Node.js
35. Université IBM i – 22 et 23 mai 2019
Résultats
PHP Node.js
Moyenne temps
réponse
30 ms 24 ms
Ecart type 4 ms 3 ms
Valeur Min. 20 ms 20 ms
Valeur Max. 68 ms 49 ms
36. Université IBM i – 22 et 23 mai 2019
Comparatif - performances
▪ Node.js remporte ce comparatif
• Des I/O très performantes
• Son modèle non-bloquant
• Son fonctionnement évènementiel
• Bas niveau
37. Université IBM i – 22 et 23 mai 2019
Conclusions
▪ PHP et Node.js deux langages de scripts côté serveur
▪ Node.js plus jeune que PHP, mais en pleine croissance
▪ Plus partenaire et complémentaire que concurrent
▪ Node.js plus performant que PHP
▪ Apprentissage de PHP plus accessible que Node.js pour les développeurs
▪ Des nouvelles ressources de développeurs sur IBM i
▪ Bien intégrés dans nos environnements