Les projets de transformation numérique reposent souvent sur la mise à jour ou le remplacement d’applications, mais cela peut freiner la vitesse de progression.

De nombreuses applications d’entreprise reposent sur des systèmes établis tels que Java, qui existent depuis un certain temps. longtemps mais reste toujours populaire. Nous avons parlé à Kim Weins, vice-président des produits de la plate-forme de développement Web open source Vaadin, pour en savoir plus sur les défis liés à la mise en place applications d’entreprise à jour.

BN : Quel est le rôle et la prévalence de Java dans les applications d’entreprise ?

KW : Java continue de dominer en tant que bête de somme pour les applications d’entreprise car il est facile à utiliser et peut gérer de lourdes charges de performance. Java possède un vaste écosystème de frameworks, de composants et d’outils. Au cours des 25 dernières années, les organisations ont créé des applications à l’aide de Java, de sorte que le nombre d’applications Java d’entreprise est énorme. Même aujourd’hui, Java est toujours l’un des langages de programmation les plus populaires (numéro trois selon RedMonk et Developer Nation). Avec un vaste écosystème de composants et d’outils disponibles, je ne vois pas ses utilisateurs d’entreprise devenir moins satisfaits.

BN : Quels sont les plus grands défis auxquels les développeurs sont confrontés lors de la création d’applications d’entreprise ?

KW : Les deux plus grands défis auxquels les développeurs sont confrontés sont la productivité des développeurs et l’expérience utilisateur. La productivité des développeurs signifie la rapidité et la facilité avec lesquelles les développeurs peuvent créer, améliorer et maintenir cette application. Une meilleure productivité des développeurs entraîne plusieurs avantages commerciaux importants, notamment des coûts de développement réduits et un délai de mise sur le marché plus rapide.

L’expérience utilisateur est un moyen de décrire la rapidité et la facilité avec lesquelles les utilisateurs de l’application peuvent faire avancer les choses dans l’application. Une meilleure expérience utilisateur améliore les mesures commerciales essentielles, y compris le temps et les efforts nécessaires pour effectuer les tâches et la satisfaction des utilisateurs, ce qui peut à son tour favoriser la fidélisation des employés ou des clients.

BN : Quels facteurs doivent être pris en compte lorsque concevoir des applications d’entreprise ?

KW : Les développeurs veulent créer des applications que les utilisateurs aiment et lorsque les utilisateurs aiment une application, cela peut avoir un impact sur vos résultats. Une étude de Forrester a constaté que les entreprises axées sur la conception ont un avantage commercial significatif, 70 % des entreprises axées sur la conception déclarant avoir une expérience numérique plus forte ou la meilleure de leur catégorie par rapport à leurs concurrents.

Les utilisateurs d’aujourd’hui sont des natifs du numérique habitués à l’auto-intégration sur des applications conçues de manière intuitive et attendez-vous à une excellente UX. La simplicité peut régner dans le développement d’applications grand public, mais dans l’entreprise, il existe des processus commerciaux complexes et souvent de nombreuses données à présenter.

La conception d’applications d’entreprise nécessite une solide compréhension des flux de travail et du rôle spécifique de chaque utilisateur. Pour les applications d’entreprise, vous devrez peut-être créer des fonctionnalités pour une saisie de données efficace et une prise en charge de la collaboration. Le changement qui doit se produire est un passage à la conception d’applications centrées sur l’utilisateur ou le flux de travail plutôt que sur les fonctionnalités. C’est ainsi que vous créez des applications que les utilisateurs adorent.

BN : Quel est le rôle de la modernisation des applications dans la transformation numérique et la migration vers le cloud ?

KW : Le La première décennie d’adoption du cloud était largement axée sur les applications entièrement nouvelles. Cela a commencé avec les entreprises sociales, de jeux et de technologie qui avaient peu d’applications héritées à gérer. Ils ont pu créer des applications à partir de zéro en utilisant des principes natifs du cloud. Les entreprises traditionnelles de tous les secteurs ont emboîté le pas en créant de nouvelles applications cloud pour répondre aux nouveaux besoins de l’entreprise. Désormais, les organisations vont au-delà des fruits à portée de main dans leur parcours vers le cloud. Ils doivent trouver des moyens de moderniser les applications existantes pour répondre aux attentes des utilisateurs d’aujourd’hui, ce qui signifie migrer ces applications vers le Web et le cloud.

BN : Pourquoi la modernisation des applications a-t-elle été plus lente que les autres ? domaines de la transformation numérique ?

KW : La modernisation des applications est difficile. C’est beaucoup pour les développeurs de se concentrer sur la maintenance des applications et je pense qu’il peut sembler écrasant de se concentrer sur la modernisation. Souvent, les développeurs préfèrent recommencer avec une table rase.

Cependant, chaque application métier peut représenter des millions de lignes de code qui encapsulent la logique métier et les flux de travail critiques. Recommencer n’est souvent pas une option. Par conséquent, de nombreuses organisations doivent trouver des moyens d’exploiter leurs backends Java existants, tout en fournissant une interface Web moderne et la possibilité de déployer leurs applications dans le cloud.

Bien que la modernisation ne soit pas facile, les avantages commerciaux peuvent être considérables. La modernisation des applications peut réduire la charge de maintenance, améliorer l’agilité en facilitant la fourniture de nouvelles fonctionnalités et réduire les coûts.

En fait, une enquête récente a révélé que les entreprises réalisaient une réduction de 52 % des temps d’arrêt, une réduction de 45 % du délai de commercialisation des nouvelles fonctionnalités et une réduction de 12 % économies de coûts post-migration après la migration de leur pile technologique vers le cloud.

BN : Que doivent prendre en compte les développeurs lorsqu’ils choisissent entre créer à partir de zéro ou migrer à partir de plates-formes héritées ?

KW: Les migrations bien faites demandent de la préparation. Commencez par une évaluation de la migration pour évaluer les caractéristiques de l’application, découvrir les dépendances dans votre code d’application et aider à déterminer si vous disposez des ressources de développement adéquates pour prendre en charge la migration.

Vous pouvez avoir une architecture d’application solide, mais avoir forte interdépendance des modules qui rendra plus difficile la modernisation. L’interdépendance peut être bonne sur le plan opérationnel, mais elle peut vous obliger à vous engager dans une approche big bang par rapport à une approche progressive. Les deux approches présentent des avantages selon le contexte. Une approche courante qui inclut les deux types de méthodes de migration consiste à effectuer d’abord une migration big bang qui cible la parité des fonctionnalités et a un impact moindre sur l’utilisateur, puis de la suivre avec une modernisation progressive de l’application avec un impact utilisateur élevé axé sur les vues critiques les plus utilisées..

Avec l’essor du cloud computing, les applications sans état sont devenues plus courantes, en particulier pour les applications grand public. Ces approches facilitent la mise à l’échelle horizontale des applications pour répondre aux demandes des utilisateurs en ajoutant et en supprimant simplement des machines virtuelles dans un environnement cloud. Pensez au site d’achat en ligne qui doit servir plus d’utilisateurs le soir ou le week-end, ou s’adapter pour répondre à l’énorme demande pendant les pics d’achats des fêtes. Avec une architecture sans état, la réduction de l’infrastructure à mesure que la charge des utilisateurs diminue n’interrompt aucune des sessions d’achat des utilisateurs en cours. La session utilisateur peut continuer sur n’importe laquelle des machines virtuelles restantes.

Si votre ancienne application utilise une architecture avec état, vous pouvez toujours la déployer dans le cloud. Toutefois, si vous souhaitez effectuer une mise à l’échelle horizontale dans le cloud, vous devrez effectuer des travaux de développement pour permettre aux sessions utilisateur de se déplacer entre les machines virtuelles lorsque vous effectuez une mise à l’échelle. Alternativement, vous pouvez reconstruire l’application avec une architecture sans état.

Crédit d’image : isak55/Shutterstock

By Kaitlynn Clay

Je travaille en tant qu'expert UX. Je m'intéresse à la conception de sites Web et à l'analyse du comportement des utilisateurs. Pendant mes jours de congé, je visite toujours le musée d'art.