Présentation des conteneurs de développement pour le développement d'applications de sous-systèmes mainframe

Photo de profil de Gary Evans sur fond gris

Par Gary Evans

5 min de lecture

Introduction

Après près de 40 ans d'expérience en tant que développeur ou avec des développeurs, je soutiens que l'écriture de code relève à la fois de l'art et de la science: un mélange de créativité et de compétences techniques. J'ai également constaté que la créativité s'épanouit pleinement lorsque les développeurs ont la liberté de faire des choix.

Il faut également reconnaître que les responsables du développement ont besoin de processus garantissant contrôle, visibilité et cohérence. Parallèlement, les entreprises pour lesquelles ils travaillent ont besoin de logiciels livrés plus rapidement, mais sans prise de risque.

Comment concilier toutes ces exigences dans le monde du cloud hybride ? C'est un obstacle particulièrement important pour les développeurs et les organisations qui produisent et utilisent des applications métier conçues pour interagir avec des sous-systèmes mainframe (MSS) comme CICS®, IMS ™ et Db2® .

Rocket Software vous propose une solution dotée de fonctionnalités de développement de pointe et d'une large gamme d'interfaces utilisateur. Déployables sur z/OS®, sur site et dans le cloud, sous Windows®, Linux® et AIX, les solutions Rocket® Enterprise Developer et Rocket® Enterprise Test Server offrent aux développeurs la possibilité de personnaliser leur expérience et d'intégrer des pratiques de développement modernes. Vous pouvez ainsi intégrer les principes DevOps à vos tâches quotidiennes lors de la maintenance et de la modernisation des applications MSS.

Les conteneurs sont conçus pour le développement

Dans les dernières versions, nous avons également introduit la prise en charge de la conteneurisation des outils de développement. Le déploiement de ces outils dans des conteneurs préserve les caractéristiques uniques d' Enterprise Developer. La possibilité de fournir des environnements de développement « individuels » qui éliminent les goulots d'étranglement de l'expérience de développement d'applications MSS traditionnelle est maintenue. Il en va de même pour la possibilité d'une gestion et d'un contrôle centralisés au sein des grandes organisations de développement.

La nature dynamique des conteneurs les a rendus omniprésents dans la mise en œuvre de fonctions de développement automatisées au sein de tous les principaux outils de pipeline CI/CD. Il est désormais également possible de les aligner sur les modèles de flux de travail des systèmes de contrôle de version basés sur les branches.

Pour étendre et compléter davantage ces options, la version 10.0 d' Enterprise Developer a introduit la possibilité de déployer à l'aide de conteneurs de développement.

 

Que sont les conteneurs de développement ?

Les conteneurs de développement (ou conteneurs Dev) sont des environnements de développement reproductibles. Mais en quoi diffèrent-ils des conteneurs standard ?

Les conteneurs de développement offrent un contrôle accru sur la configuration de l'environnement de développement. Ils étendent les fonctionnalités du conteneur standard grâce à des options de personnalisation spécifiques au développement. La gestion des conteneurs de développement s'effectue via un fichier de configuration JSON qui simplifie leur administration et peut être versionné avec l'application. Des fonctionnalités supplémentaires permettent à chaque développeur de personnaliser son environnement selon ses préférences.

 

Pourquoi les conteneurs de développement sont-ils importants ?

Dev Containers empower developers by providing a reliable, isolated, and efficient environment for building and testing code.

Ils contribuent à des cycles de développement plus rapides et à une meilleure collaboration au sein de l'équipe de développement.

 

Isolement et cohérence

  • Les conteneurs de développement permettent aux développeurs de travailler dans un environnement cohérent, indépendamment de leur configuration locale ou du système hôte.
  • En regroupant les outils, les bibliothèques, les environnements d'exécution et les dépendances, les conteneurs de développement garantissent que tous les membres de l'équipe travaillent avec la même configuration.
  • Cet isolement prévient les conflits entre les équipes de développement et d'exploitation, car chaque groupe peut se concentrer sur ses domaines de responsabilité respectifs.

 

Rapidité et efficacité

  • Configurer un nouvel environnement de développement peut prendre du temps, mais pas grâce aux conteneurs de développement qui simplifient ce processus.
  • Les développeurs peuvent rapidement déployer un environnement préconfiguré directement dans leur éditeur de code.
  • Cela permet de gagner du temps, de réduire les coûts de configuration et de garantir un environnement propre pour chaque session de développement.

 

intégration continue et tests

  • Les conteneurs de développement facilitent l'intégration continue (CI) et les flux de travail de test.
  • Ils offrent un environnement cohérent pour l'exécution des tests, garantissant ainsi la fiabilité et la reproductibilité des résultats.
  • Que vous soyez en phase de création, de test ou de déploiement de code, les conteneurs de développement simplifient le processus et améliorent la cohérence.

 

Développement natif du cloud

  • Les conteneurs de développement jettent les bases des pratiques de développement natives du cloud
  • Elles s'alignent sur les principes DevOps, les pipelines CI/CD et les architectures sans serveur.
  • Les applications conteneurisées peuvent fonctionner de manière transparente dans des environnements cloud distribués, ce qui les rend idéales pour le développement moderne.

 

En quoi les conteneurs de développement sont-ils différents ?

Dans le développement classique basé sur un hôte, tous les éléments tels que l'éditeur, les kits de développement logiciel (SDK), les serveurs d'applications, les outils et les packages, ainsi que le code source, se trouvent dans un seul environnement. Cela entraîne souvent des conflits logiciels entre les projets.

En cas de conflit, les développeurs doivent choisir des versions de ces dépendances qui ne sont pas identiques aux versions idéales, simplement pour préserver l'utilisation de plusieurs bases de sources.

développement basé sur l'hôte

Dans le développement basé sur des conteneurs, les kits de développement logiciel (SDK), les serveurs d'applications, les outils et les packages nécessaires sont installés dans un conteneur, notamment Rocket® Enterprise Developer. Le code source peut être chargé ou monté dans le conteneur, ce qui permet une isolation complète.

Développement basé sur des conteneurs de développement

Prenons l'exemple du développement d'applications MSS, où il est souvent nécessaire de respecter des cadences de livraison différentes. L'utilisation de conteneurs de développement permet aux développeurs de travailler sur différentes « versions » de l'application sans avoir à consacrer un temps considérable à la reconfiguration de leur environnement de développement.

 

Démo

Pour vous aider à visualiser comment tout cela fonctionne, regardez la vidéo suivante.

 

Combinaison de conteneurs de développement et de tests unitaires

Les conteneurs de développement offrent aux développeurs un accès simplifié à leurs outils, conformément aux pratiques modernes. L'utilisation de tests unitaires est un complément essentiel à cette approche: elle permet de simplifier et d'accélérer les tests du code modifié avant son intégration au processus CI/CD. De plus, les tests unitaires réduisent le taux d'erreurs lors des phases de tests fonctionnels ultérieures du cycle de vie du développement logiciel (SLDC).

Les tests unitaires COBOL [OC1] sont disponibles dans Rocket® Enterprise Developer depuis plusieurs versions. Dans la version 9.0, nous avons étendu cette fonctionnalité pour permettre la simulation et le remplacement de composants de programmation MSS tels que CICS et SQL, et ajouté la prise en charge d'IMS dans la version 10.0. Cela permet de tester le code de la logique métier modifié sans nécessiter un environnement MSS complet.

L'association de ces deux fonctionnalités d' Enterprise Developer permettra aux développeurs de tirer parti des pratiques de développement modernes pour accélérer les modifications de maintenance tout au long du cycle de vie du développement logiciel (SDLC). Elle est particulièrement avantageuse pour les organisations qui externalisent tout ou partie de ces modifications auprès de prestataires tiers.

Pour plus de détails sur le framework de tests unitaires pour développeurs Enterprise, consultez le blog associé. Pour voir des tests unitaires en action dans un conteneur de développement, regardez la vidéo ci-dessous.

 

Quelles sont les prochaines étapes pour les conteneurs de développement ?

Avec la généralisation des plateformes cloud dans le développement, l'adoption d'outils de développement hébergés progresse. GitHub Codespaces en est un exemple: ces environnements permettent de coder de n'importe où. Les fonctionnalités de développement sont gérées dans le cloud, via des conteneurs de développement, et accessibles depuis un navigateur grâce à la version web de VS Code.

Chez Rocket Software, nous sommes convaincus que ces environnements joueront un rôle essentiel dans l'avenir du développement d'applications MSS et nous travaillons à la mise à disposition Enterprise Developer pour GitHub Codespaces. Pour un aperçu de la valeur ajoutée de cette innovation, visionnez la vidéo ci-dessous.

 

Comment essayer les conteneurs de développement

Si vous êtes déjà client Enterprise Developer, veuillez télécharger la version 10.0 et consulter la documentation du produit ici .

Si vous n'êtes pas déjà client, veuillez suivre le lien ici pour obtenir une version d'essai d' Enterprise Developer.

Si vous vous intéressez à l'avenir du développement des applications MSS, veuillez contribuer à stimuler l'innovation en participant à l'enquête.

Articles connexes

Intelligence artificielle (IA)

Présentation de Rocket EVA 2.0

6 minutes de lecture
Rocket EVA 2.0 introduit des agents d'IA gouvernés pour les opérations informatiques mainframe et hybrides, aidant les équipes à accélérer les investigations, à étendre leur expertise et à appliquer [...]
Modernisation des applications

Choisir la bonne voie pour la modernisation du code augmentée par l'IA

3 minutes de lecture
Rocket reconnu comme Challenger dans le Magic Quadrant™ de Gartner® pour les outils de modernisation du code augmentés par l'IA
Modernisation des applications

Trouvez la voie de la modernisation qui protège ce qui compte

6 minutes de lecture
L'IA apporte davantage de valeur lorsque la modernisation commence par l'analyse des comportements d'affaires et se termine par la validation.