Je suis en train de refactoriser 4 composants logiciels disparates qui font à peu près la même chose dans un seul service (pas un service web - nécessairement ou même probable). 3 sont écrits en C++ tandis que le dernier et le plus important est écrit en Java. Le reste du système est écrit en Java et donc je ne vais pas refactoriser le code C++ et en utilisant JNI en particulier car les composants actuellement écrits en C++ sont programmés pour être remplacés par des composants Java dans un avenir prévisible.Un service logiciel doit-il être complètement autonome ou peut-il/devrait-il faire partie d'un composant plus important?
Le composant implémenté actuellement dans Java est en fait un sous-composant d'un composant plus important. Par conséquent, lorsque le composant plus grand/emballage souhaite utiliser le sous-composant (refacturé dans un service), il appelle simplement les méthodes Java intra-processus. Si je refactorise ce sous-composant dans un service distinct, le composant d'emballage d'origine perdra le bénéfice qu'il a actuellement de l'appel de la méthode dans le processus. Puis-je ajouter un thread au composant original/wrapping pour qu'il serve de passerelle de service ou devrais-je complètement refactoriser le code dans un service autonome.
J'espère que je suis suffisamment claire ...