Le développement Java au service de l’Industrie 5.0

L'automatisation industrielle évolue vers plus de flexibilité, évolutivité et intégration de nouvelles technologies pour optimiser les processus de production. Java, avec ses capacités en temps réel et son intégration facile avec divers protocoles, devient essentiel pour les applications embarquées et les systèmes d'automatisation. J2EE et J2SE améliorent les performances, l'évolutivité et la portabilité des applications. Les langages orientés objet, comme Java, sont cruciaux pour le contrôle de processus complexes, la simulation et l'automatisation, malgré quelques limites en temps réel et sécurité. Java continue d'évoluer pour répondre aux besoins de l'Industrie 5.0, soutenu par des technologies émergentes comme la 5G et les objets connectés.

L’automatisation industrielle est actuellement caractérisée par un certain nombre de tendances induites par la situation actuelle du marché.

Les principales tendances sont la recherche d’une grande flexibilité, d’une bonne évolutivité, d’une grande robustesse des systèmes d’automatisation et de l’intégration de nouvelles technologies dans tous les domaines et niveaux d’automatisation. Plus précisément, les industries peuvent accélérer et optimiser leurs processus répétitifs et discrets. En collectant de meilleures données et en utilisant des algorithmes avancés, les machines peuvent prendre les meilleures décisions de production afin que l’usine puisse améliorer le processus de production.

Il y a actuellement une concurrence féroce causée principalement par la mondialisation et l’innovation technologique. Pour rester compétitives une industrie doit être automatisée. Au cours des cinq à dix prochaines années, il y aura un contraste frappant entre les entreprises qui utilisent l’automatisation industrielle, exploitée avec des solutions Big Data et des technologies de nouvelle génération, comme l’IoT, et celles qui ne le font pas. Plus de profits et une plus grande part de marché iront à l’entreprise qui peut exploiter la puissance illimitée de l’automatisation industrielle

Dans ce contexte, les langages orientés objet ont gagné en importance. En particulier, il y a eu un intérêt croissant pour Java en temps réel en raison de ses défis et de son important potentiel sur le développement d’applications embarquées et en temps réel.

Parmi les nouveaux développements de l’initiateur Java Sun Microsystems, il y a Java 2 Enterprise Edition (J2EE), intégrant Java Connector Architecture(JCA), qui améliore la capacité du logiciel à s’intégrer aux périphériques d’usine en utilisant différents protocoles basés sur TCP / IP. Auparavant, les applications J2EE donnaient aux utilisateurs une interface Web via HTML etHTTP, mais l’interface très générale avec un navigateur client léger n’était pas assez robuste pour les environnements de fabrication typiques. Avec JavaServer Faces, J2EE peut désormais présenter des interfaces utilisateur plus riches au sein de la même approche client.

Les protocoles de services Web représentent une norme émergente dans la communication B2B, que les serveurs d’applications J2EE doivent implémenter pour assurer l’interopérabilité. De plus, les services Web(WS) et leurs principes sont compatibles avec les architectures décentralisées des installations de fabrication typiques. Ainsi, WS devient un modèle efficace de communication entre les usines et le bureau central, pour des tâches telles que les calendriers / statuts des ordres de fabrication, les exigences en matière de matériaux, les informations de qualité et la logistique.

Le J2SE améliore les constructions de thread de Java pour permettre une utilisation efficace de la technologie Java de base dans les algorithmes de contrôle de processus complexes, la simulation et l’automatisation. J2SE améliore également les performances d’exécution et l’évolutivité de Java en réduisant le temps de démarrage et l’utilisation de la mémoire. Le J2EE est une véritable avancée dans la technologie Java, principalement parce qu’il simplifie le développement d’interfaces de services Web, vitales pour le développement d’applications de fabrication décentralisée. Parmi les avantages de Java la portabilité vers différentes plates-formes qui permet le déploiement du même code dans diverses configurations : « WriteOnce, Run Any where ».

Outre les avantages généraux, les domaines d’application potentiels typiques de Java dans l’automatisation industrielle et leurs exigences spécifiques doivent être prise n compte. Aux niveaux supérieurs de la pyramide d’automatisation (ERP et SCADA(Supervisory ControlAnd Data )/MES-Systems), Java est déjà utilisé comme une alternative pour :

  • Mieux piloter et gérer la production par un suivi de la production,
  • Mieux gérer la traçabilité,
  • Contrôler la qualité,
  • Gérer la maintenance préventive

Les exigences dans ce domaine sont très similaires aux applications informatiques typiques et caractérisées par un matériel puissant. Ici, Java2SE (Standard Edition) et Java2EE (EnterpriseEdition) avec une grande variété d’API prenant en charge différentes technologies de communication, de visualisation et d’accès aux bases de données sont les plates-formes Java appropriées.

Java est une plate-forme de développement assez ouverte qui prend en charge de nombreuses normes. Les serveurs d’applications prennent généralement en charge les normes, telles que XML,HTTP, WS, etc., pour faciliter l’intégration avec le contrôle des machines, l’ERP et d’autres systèmes.

Néanmoins l’utilisation de Java présente quelques limites à savoir les problèmes de temps réel et de sécurité. Lors de la mise en œuvre d’un système de contrôle de fabrication, les considérations en temps réel(RT) sont très importantes.

Dans le sens le plus simple, RT signifie que les réponses du système de contrôle doivent être complétées de manière prévisible dans des délais définis par l’application. Le développement d’applications RT utilisant Java, mais conseille un soin particulier dans le processus, citant deux préoccupations principales.

  1. Tout d’abord, les applications en temps réel utilisent souvent Java compilé pour permettre des temps d’exécution plus rapides. Ici, le code Java fiable doit être écrit à proximité du système d’exploitation, car l’interprétation de la machine virtuelle Java (JVM) ne peut pas être utilisée dans la partie RT du programme.
  2. Deuxièmement, la fonctionnalité de gestion de la mémoire (garbage collection) de Java peut nécessiter l’ajout d’une couche en temps réel, disponible auprès des fournisseurs de logiciels. Il faut tenir compte de l’ensemble de l’environnement applicatif pour les développements en temps réel. Mais la connexion complète de l’entreprise et la fabrication juste-à-temps laissent l’usine vulnérable, ce qui nécessite des mesures de sécurité et de connectivité renforcées comme :
    Limiter explicitement les capacités d’un programme Java en cours d’exécution à un profil souhaité (« bac à sable ») permet de limiter les dommages potentiels à un système informatique. L’authentification rigoureuse des utilisateurs et le contrôle de leur accès à des fonctions et des données spécifiques constituent une autre étape, ainsi qu’une piste d’audit précise.

La fourniture d’API pour toutes les principales méthodes de chiffrement basées sur les canaux et les messages augmente également le niveau de confidentialité des données pendant la communication.

La technologie Java a révolutionné de nombreuses applications d’usine en réalisant un grand progrès sur les problèmes en temps réel. Avec les nouveaux développements de la technologie la 5G, les objets connectés, Java a de nouveaux défis à relever pour entrer dans l’ère de l’industrie 5.0.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *