Notre société a commencé avec un seul produit, une application rails soutenue par certains services Java, puis a décidé qu'ils voulaient un autre produit qui était initialement considérablement différent du premier, mais le temps a passé nous avons réalisé qu'ils commençaient à converger, et faire un changement de code à un nécessite un changement de code similaire à l'autre pour une nouvelle fonctionnalité/correction de bogue. Cela devient évidemment une douleur.Combinaison de 2 applications de rails à une seule base de code
Dans certains cas, nous avons des pierres précieuses qui partagent certaines de ces fonctionnalités, mais il va au-delà de rubis en javascript, css etc ..
Je suis chargé de la fusion de ces deux applications en une seule base de code. Je pense finalement que nous aimerions que ce soit une seule application avec un accès basé sur les permissions, mais cela viendra beaucoup plus tard.
Ma première pensée pour les mettre rapidement ensemble est de créer deux moteurs de rails et de partager des bibliothèques communes entre eux. Je pense que c'est le moyen le plus rapide de combiner le code, de trouver des sections communes et de commencer à partager.
Mon premier problème est de savoir comment passer d'une application à l'autre. Une application utilise un seul nom de domaine qui ne change jamais, l'autre application a de nombreux domaines. Quelqu'un peut-il suggérer comment je pourrais acheminer une demande particulière à une application particulière afin qu'ils puissent rester séparés pour commencer tout en partageant une base de code commune de bibliothèques?
Ou, si quelqu'un a d'autres suggestions quant à un moyen de combiner ces applications, je suis tout ouïe.
Ils sont tous les deux Rails 2.3.10 applications en cours d'exécution JRuby 1.5.3, mais nous sommes ouverts à peut-être mise à niveau Rails3 si cela rendrait les choses beaucoup plus facile ou plus propre (ie avec une meilleure intégration en rack)
I N'a pas fait de programmation Rack mais n'a jamais fait de mal d'apprendre si cela nous facilitera la vie.
rack serait une solution de déploiement et est probablement pas la solution ici. – Chirantan
rack est le middleware à droite? Je pensais qu'il pourrait intercepter la demande et l'itinéraire de manière appropriée? mais encore une fois je ne sais pas beaucoup à ce sujet – brad