Développement basé sur le web pour des applications basées sur le web


Les environnements de développement basés sur le web peuvent simplifier le processus de développement à de nombreux égards. En effet, ces nouveaux outils offrent des possibilités de travail décentralisé et mobile pour les collaborateurs internes et externes.
L'objectif des solutions actuellement disponibles est de mettre rapidement à disposition des ressources de développement pour un projet, de faire évoluer des équipes internes et externes sans obstacles techniques, tout en réduisant les coûts d'exploitation et de maintenance de l'environnement informatique.
Externaliser le développement vers le cloud
Un environnement de développement web est un environnement de développement logiciel complet, mis à disposition par un prestataire de services en nuage. Il comprend aussi bien des outils de développement que des systèmes de test, des prototypes ou le dépôt de code source. La technologie utilisée est le plus souvent JavaScript.
L'utilisation de ces environnements de développement ne nécessite pas de connexions réseau dédiées entre le cloud et l'informatique de l'entreprise. Cela est possible grâce à la technologie JavaScript.
En effet, JavaScript est exécuté localement dans le navigateur web et ressemble donc aux solutions traditionnelles à installer localement. À une exception près : l'environnement de développement est maintenu par le fournisseur de services en nuage et toujours mis à jour.
Les collaborateurs internes peuvent accéder comme d'habitude aux systèmes informatiques internes existants pour tester ou distribuer de nouvelles applications. D'un point de vue technique, ces collaborateurs continuent à travailler localement et n'ont donc besoin que d'un accès à Internet.
En revanche, les collaborateurs externes sont nécessaires dans de nombreux projets informatiques pour apporter des connaissances spécialisées qui ne peuvent pas être implantées ou développées durablement au sein de l'entreprise.
Or, l'on-boarding de ces ressources prend beaucoup de temps, tant sur le plan administratif que technique. De plus, il est souvent peu souhaitable ou coûteux d'intégrer des collaborateurs externes dans les équipes internes de développement de logiciels ou d'accorder des droits d'accès à l'environnement informatique interne.
Les environnements de développement web offrent de nouvelles solutions dans ce cas, comme la création automatisée de maquettes de systèmes informatiques internes, qui sont mises à disposition de manière fonctionnelle dans un environnement en nuage à des fins de développement.
La technologie du développement basé sur le web permet de faire évoluer facilement les équipes internes avec des ressources externes supplémentaires.
Des compétences spéciales, telles que les connaissances CSS nécessaires pour le développement d'interfaces utilisateur, peuvent ainsi être intégrées de manière flexible dans une équipe de projet en fonction des besoins, sans devoir d'abord demander ou gérer des droits d'accès informatiques coûteux. Il suffit d'accéder à l'environnement de développement logiciel.
Points communs entre SAP et d'autres solutions
Tous les grands fabricants de solutions logicielles individuelles proposent désormais des environnements de développement et de test basés sur le web. Ces solutions ont de nombreux points communs et reposent toutes sur le même principe : un développement basé sur le web pour des applications basées sur le web !
Les environnements de développement web sont principalement conçus pour fournir des sites web, des portails, des applications hybrides et des applications HTML5 pures. Les produits disponibles sont par exemple Microsoft WebMatrix, IBM BlueMix, SAP Web IDE, SAP Hana Workbench ou Google Chrome Dev Editor. Jusqu'à présent, seul le Hana Workbench s'adresse au domaine du développement natif.
Les produits partagent les caractéristiques de base suivantes :
- Ils sont optimisés pour les spécificités des fabricants, comme par exemple SAP Fiori ou IBM BPM.
- Ils comprennent tous une boîte à outils du fabricant avec des blocs de code et des modèles prédéfinis.
- Tous les produits utilisent des interfaces standardisées, par exemple avec le dépôt de code GitHub ou l'outil de suivi des bugs Bugzilla.
En outre, l'architecture informatique et la procédure de développement - test, stratégie de développement, concepts d'autorisation, etc. - sont toutefois toujours identiques. La combinaison de différentes solutions de fabricants est donc toujours possible et permet d'utiliser à tout moment l'outil idéal pour un projet spécifique. En effet, l'ajout d'une autre solution ne signifie souvent rien de plus que l'ajout d'un autre lien dans les favoris du navigateur web.
Mise en œuvre concrète dans l'environnement SAP
À quoi faut-il faire attention dans la pratique ? Pour la communauté SAP, le thème du développement de logiciels basés sur le web prend de plus en plus d'importance. D'une part, les avantages évidents de cette nouvelle technologie ne sont plus guère à démontrer :
La distribution et la maintenance d'une application en nuage sont beaucoup plus simples que la maintenance d'une application de bureau classique. D'autre part, SAP mise fortement sur l'utilisation de son propre "SAP Web-IDE" pour le développement et l'extension de Fiori.
Il en sera de même à l'avenir pour Hana, qui met déjà à disposition divers outils de développement sous forme de solution cloud. Rien que pour cette raison, il est nécessaire d'examiner de plus près les nouvelles technologies et de les intégrer aussi bien dans la stratégie d'exploitation informatique que dans la méthodologie de projet, car il n'y aura plus de solutions alternatives et classiques dans un avenir proche.
Après les premières expériences de projet avec les nouvelles technologies, les aspects suivants doivent être pris en compte lors de l'utilisation d'un environnement de développement basé sur le web :
- Fournir des maquettes graphiques d'applications dès le début dans l'environnement web.
- Générer très tôt des maquettes d'interface des systèmes on-premise et tester leur fonctionnement.
- Créer un concept d'autorisation pour le développement de logiciels et la réalisation de projets dès la phase de conception
- Définir et communiquer des normes de développement uniformes au sein de l'entreprise.
- Mettre à disposition le référentiel de code source ainsi que le suivi des bugs sur site et les relier à l'environnement de développement web.
La mise à disposition rapide de maquettes est l'un des grands avantages de la nouvelle technologie. Comme les environnements de développement basés sur le web fonctionnent dans un nuage fourni en externe, il n'est pas nécessaire, dans un premier temps, d'utiliser des ressources et des systèmes informatiques internes pour mettre une "application de démonstration" à la disposition des départements spécialisés de l'entreprise.
Les assistants numériques permettent de créer rapidement de nouvelles applications prêtes à l'emploi. Pour ce faire, des interfaces utilisateur et des éléments d'interface standardisés, tels que des champs de texte et des boutons, sont assemblés pour former une application complexe.
L'application créée peut ensuite être publiée en ligne en quelques "clics" et être transmise aux services spécialisés pour examen et discussion. Les collaborateurs responsables du domaine peuvent vérifier directement l'application, même sur différents appareils tels que smartphones, tablettes ou ordinateurs de bureau.
Des normes impératives
Dans le cadre de la nouvelle technologie, une infrastructure et des normes uniformes gagnent en importance. Les environnements de développement web des différents fabricants sont optimisés en fonction de leurs spécificités et offrent chacun le module optimal pour leurs produits.
Du point de vue du développement logiciel, il est donc logique de choisir l'environnement de développement approprié. Cependant, les processus commerciaux sont souvent communs à plusieurs systèmes, de sorte que plus d'un environnement de développement est finalement utilisé.
Dans un environnement de projet, le défi consiste donc à guider des équipes ayant des antécédents technologiques différents et utilisant des outils différents vers une solution uniforme et cohérente en soi.
La standardisation est une réponse possible à ce défi. Il faut toutefois veiller à adopter cette approche de la manière la plus pragmatique possible et à se concentrer sur les domaines clés.
Pour les interfaces, par exemple, une seule technologie devrait être choisie, si possible, et si le choix se porte sur "REST", par exemple, il convient de définir fondamentalement comment ce paradigme doit être mis en œuvre.
De même, tous les outils de soutien, comme par exemple le suivi des bugs, le référentiel de code source et la documentation, doivent être choisis de manière aussi uniforme que possible et une seule fois pour toutes les équipes.
En outre, il faut savoir que les normes sont importantes, mais qu'elles n'ont de sens que si elles sont comprises et appliquées. Dans la pratique, il convient donc de définir avec les participants au projet issus du développement, de l'infrastructure et des services spécialisés ce qui est important et décisif pour la réussite commune.