L'application
Nous avons une petite application Java qui utilise des routes Camel pour récupérer les fichiers téléchargés d'un serveur Web, les traiter et envoyer des e-mails avec les résultats.
Le serveur sur lequel cette application s'exécutait a été mis hors service. Pour l'instant, nous devons l'exécuter sur du matériel sous-alimenté, car je ne peux pas convaincre l'administrateur d'installer un JRE sur le serveur Web (qui est en fait un serveur polyvalent).
La peur
Je suis moi-même ingénieur d'application Java, j'écris du code JEE pour une vie, en gérant des transactions B2B d'une valeur de plusieurs dizaines de milliers d'euros par semaine. Mais j'ai du mal à trouver des sources crédibles qui réfutent le mythe selon lequel java n'est pas sûr en soi.
Les deux principaux arguments de l'administrateur contre l'installation d'un JRE:
- Les applications Java mangent toute ma RAM
- Java regorge de vulnérabilités
La vérité?
En ce qui concerne les applications Java, manger de la RAM. Eh bien ... je dirais que nous devons définir des valeurs appropriées pour Xmx. Terminé.
Maintenant, de nombreuses sources parlent des nombreuses vulnérabilités de Java. Ces sources visent principalement les utilisateurs finaux exécutant un certain système d'exploitation d'une entreprise de Redmond / USA. AFAIK, il peut être vrai pour les versions non corrigées du plug-in de navigateur Java qui est configuré pour exécuter automatiquement toutes les applets, qu'il y a de grandes chances d'être victime d'un lecteur par infection. Tout comme il y a un risque d'attraper une MST lorsque vous avez des relations sexuelles non protégées avec tout le monde dans votre train en vous rendant au travail.
Mais je n'ai trouvé personne sur l'interwebz mondial qui parle d'applications serveur ou de JRE fonctionnant sans tête. C'est une toute autre chose.
Ou est-ce que je manque quelque chose ici?
[modifier le 2014-08-28] clarification: je ne m'inquiète que de Java sur les serveurs. Je ne me soucie pas des problèmes avec le plugin Java et / ou un logiciel spécifique développé en java.