Appuyez sur Entrée pour rechercher

Moderniser IBM ? Voici les paquets les plus pratiques

Author Avatar
Mario Aquino
Business Consultant

J’ai regroupé certains « indispensables » afin que vos développeurs puissent travailler efficacement. Consultez cette liste pour commencer votre projet de modernisation.

Bash;

Coque logicielle développée par GNU. Elle associe des caractéristiques utiles de Korn shell (ksh) et C shell (csh). La même coque logicielle est utilisée dans tous les systèmes d’exploitation Linux.

  • Achèvement de chemin (en appuyant 2 x sur la touche)
  • Historique des commandes avec les flèches haut / bas
  • Commandes de tube

http://www.gnu.org/software/bash/bash.html

Éditeurs de texte : 

Un éditeur de texte intelligent pour créer ou éditer rapidement des fichiers de configuration...

  • Vim: (Vi IMproved), est un éditeur de texte hautement configurable conçu pour créer ou modifier tout type de texte de façon très efficace. Vim est très stable, dispose de nombreux plugins, prend en charge des centaines de langages de programmation, et offre de nombreux autres avantages. Cet éditeur de texte doit être utilisé par des ingénieurs système expérimentés (sachant déjà utiliser Vim).

https://www.vim.org/

  • Nano: Petit et convivial, je vous conseille cet éditeur de texte si Vim est trop volumineux.

Webservers:

  • NGINX: N'importe quel étudiant en informatique a déjà configuré l’un de ces serveurs web open source.
  • Apache: Le logiciel libre Apache HTTP Server est un effort afin de développer et maintenir un serveur HTTP open source pour les systèmes d’exploitation modernes incluant UNIX et Windows. Apache reste le serveur web le plus populaire. (Ne peut pas être installé avec le gestionnaire de paquets open source !)
  • Git: Un autre « indispensable » afin que vos développeurs puissent travailler efficacement : le contrôle de code source. Heureusement, la communauté IBM dispose également d'un paquet pour GIT. GIT vous permet d’héberger un dépôt sur le même serveur que votre application, ou sur un serveur dédié pour le contrôle de version. Vous pouvez créer / déployer votre application automatiquement avec des hooks GIT, Jenkins ou des conteneurs.

Les plus importantes caractéristiques du contrôle de version sont :

  • Coopération pratique (pour les équipes de toutes tailles)
  • La capacité de revenir sur les erreurs
  • Un aperçu de toutes les caractéristiques en cours
  • Déploiement automatique

Aucune équipement de déploiement moderne ne peut travailler sans contrôle de code source / version.

Langages de programmation / frameworks modernes

Jusqu’à présent, nous avons discuté des outils simples mais astucieux pour travailler efficacement sur votre terminal SSH, puis nous avons parlé des serveurs web modernes permettant d’héberger notre application. Nous disposons d'un contrôle de code source afin de faciliter le travail avec plusieurs développeurs. Cependant, dans quels langages de programmation / frameworks pouvons-nous programmer sur l’IBM i ? Tous les langages de programmation suivants peuvent fonctionner sur l’IBM i et se connecter aux bases de données IBM Db2 :

Python

Python est un langage de programmation interprété, de haut niveau et à usage général axé sur la lisibilité du code. Il est facile à programmer, orienté objet, et doté de nombreuses bibliothèques de prise en charge (l’installation est effectuée à l’aide du gestionnaire de paquets « pip »), ainsi que de nombreuses caractéristiques dynamiques afin de créer des solutions réutilisables ouvertes / fermées. Ses inconvénients sont les faibles performances et la couche de base de données obsolète, sachant que les autres langages de programmation disposent de technologies comme JDBC et ODBC.

Frameworks Python populaires :

  • Django
  • CherryPy
  • Pyramid

https://www.netsolutions.com/insights/top-10-python-frameworks-for-web-development-in-2019/

PHP

Le langage de programmation PHP existe depuis plus de vingt ans, et s’est imposé comme une solution puissante et fiable, remportant une armée de supporters et d’admirateurs. De célèbres exemples de PHP comme outil de développement web sont WordPress et Facebook. Les avantages de PHP sont les performances, les nombreuses options de connectivité aux bases de données, et la bonne documentation. Le plus grand inconvénient de PHP est la syntaxe incohérente : un nouveau développeur aura plus de mal à devenir courant dans ce langage.

Frameworks PHP populaires :

  • Laravel
  • Symfony
  • CodeIgniter

https://hackernoon.com/8-popular-php-frameworks-for-web-development-in-2020-od3f38ez

Node.js

Node.js est un programme événementiel JavaScript conçu afin de créer des applications de réseau extensibles. Node.js est très populaire car il offre une « scalabilité » simple, de nombreux paquets communautaires (installés avec NPM/YARN), et s’avère très performant. Voici les principales raisons pour lesquelles Node.js fonctionne si rapidement :

  • Le moteur V8 JavaScript de Google traduit JavaScript très rapidement dans des « commandes machine »
  • L’environnement d’exécution Node.js ne prend en charge aucune opération E/S de blocage
  • Il fonctionne asynchrone par défaut

Les inconvénients sont que ce code est difficile à lire (bien que la plupart des développeurs connaissent très bien JavaScript en tant que langage de programmation frontal) et dans le passé, des modifications importantes ont forcé les développeurs à revoir leurs applications. Il est fortement conseillé d’apprendre JavaScript étant donné que vous le rencontrerez dans les frameworks frontaux populaires (React.js, Angular et Vue.js).Vue.js).

Populaires Node.js frameworks:

  • Socket.io
  • Express.js
  • Sail.js

https://codersera.com/blog/top-10-nodejs-frameworks-for-developers-in-2020/

Ruby

Ruby est un langage de programmation open source dynamique qui met l'accent sur la simplicité et la productivité. Sa syntaxe élégante en facilite la lecture et l'écriture. Il est doté de nombreux paquets communautaires (appelés Gems), et bien documenté. Le code Ruby est facile à lire, mais un peu plus difficile à apprendre en raison de sa syntaxe radicale. Ruby offre de nombreuses fonctionnalités dynamiques afin d’écrire des solutions ouvertes / fermées et réutilisables. (Ne peut pas être installé avec le gestionnaire de paquets open source !)

Ruby a les mêmes problèmes que Python : de faibles performances et n’est ni purement fonctionnel ni orienté objet.

Populaires Ruby frameworks:

  • Ruby on Rails
  • Sinatra
  • Hanami

https://wpshopmart.com/best-ruby-frameworks/

.NET

.NET est une plateforme open source créée par Microsoft permettant la création de nombreuses applications différentes. Elle dispose de nombreux paquets (installés avec NuGet) ; malheureusement, tous ne sont pas gratuits. NET dispose d’autres fonctionnalités faisant gagner du temps comme LINQ, ASP.NET et Entity Framework. (Ne peut pas être installé avec le gestionnaire de paquets open source !)

https://dotnet.microsoft.com/learn/dotnet/what-is-dotnet

Bases de données

IBM db2

L’IBM i dispose de son propre système de base de données : IBM Db2 est un système de gestion de base de données relationnel (SGBDR). Son nom, Db2, se réfère au passage des modèles de bases de données hiérarchiques au nouveau modèle relationnel. Db2 a été conçu pour fonctionner uniquement sur les plateformes centrales IBM, mais il est aujourd'hui disponible sur tous les types de serveurs modernes. Il s’agit d'un moteur de base de données complet et hautes performances, capable de traiter de grandes quantités de données tout en servant de nombreux utilisateurs.

https://www.ibm.com/products/db2-database

Si, pour quelque raison que ce soit, ne voulez / pouvez pas utiliser les bases de données IBM Db2, QOpenSYS fournit de nombreuses alternatives.

PostgreSQL

PostgreSQL est un système de gestion de base de données relationnelle et objet avec plus de 30 ans de développement actif lui ayant valu une solide réputation pour sa fiabilité, sa robustesse, et ses performances. PostgreSQL est complètement open source, vous permettant d’exécuter, de consulter et d’éditer librement le code source. Elle est relationnelle et fonctionne très rapidement, notamment pour des requêtes complexes.

https://www.postgresql.org/

MySQL

MySQL est le système de gestion de base de données open source le plus populaire du monde. Grâce à ses performances prouvées, sa fiabilité et sa facilité d'utilisation, MySQL est devenu un système de premier choix pour ses applications basées sur le web. Il est relationnel et l’un des systèmes de gestion de base de données les plus rapides. Pour des requêtes complexes, il fonctionne un peu plus lentement que PostgreSQL. MySQL peut être utilisé à des fins commerciales, mais si vous modifiez le codebase, vous êtes censé le signaler.

https://www.mysql.com/

SQLite3

SQLite3 est une bibliothèque écrite en langage C qui implémente un moteur de base de données relationnelle SQL petit, rapide, complet, fiable et fonctionnel. SQLite est le moteur de base de données le plus utilisé au monde. SQLite est disponible sur tous les téléphones portables ainsi que sur la plupart des ordinateurs, et comprend de nombreuses autres applications dont les utilisateurs se servent chaque jour. SQLite est le choix de prédilection pour le stockage local car les bases de données ne peuvent pas être exposées sur internet. (ex. : votre base de données doit se trouver sur le même serveur que votre application back-end).

https://www.sqlite.org/index.html

Voici toutes les bases de données fournies par QOpenSYS à l’heure actuelle. MariaDB, MongoDB, Elasticsearch ne sont étonnamment pas (encore) disponibles, bien que ces systèmes de gestion de bases de données soient populaires. En général, QOpenSYS ne fournit aucune solution qui ne soit pas SQL. Mais la communauté IBM fournira assurément cela dans ses caractéristiques.

En resumé

Je veux souligner le fait que les systèmes IBM ont fait leurs preuves depuis des années, grâce à leur fiabilité et leurs performances. Ces systèmes sont devenus robustes grâce à leur compatibilité descendante, mais IBM a pris d'importantes mesures pour y parvenir. La société a toujours grandement contribué aux projets open source modernes (ex. : Red Hat) et continuera assurément à se moderniser.

Les serveurs sont de gros investissements. Vous devez donc bien les considérer avant d’acheter un autre système (généralement plus cher). J’ai été agréablement surpris par la durabilité des serveurs. J’ai déjà vu des sociétés qui avaient oublié disposer d’un serveur IBM (il était bien caché quelque part). Même sans maintenance ni support, il est resté là pendant des années. Cependant, cela ne veut pas dire que vous ne devez pas entretenir vos serveurs, parce qu’avant même que vous ne vous en aperceviez, la modernisation pourrait bien devenir obligatoire ;-).

New call-to-action