Je me demandais si quelqu'un avait un aperçu de ce problème.Quelle est la meilleure stratégie pour combiner IntrAnet et site Web exposé-Web?
Un peu d'histoire:
Nous avons utilisé Rails pour migrer d'un ancien dBase et système basé sur Visual Basic pour construire la société interne IntrAnet qui fait des choses comme l'impression d'étiquettes, contrôle invetory, expédition, etc - essentiellement un ERP
Le dilemme
en ce moment, nous avons besoin de remplacer un ancien site Web destiné au client qui a été fait en Java, que se connecterait à notre système interne pour nos clients à utiliser. Nous voulons être en mesure de tirer des informations comme l'inventaire, le placement des commandes, les relevés de compte de notre système interne et de l'exposer sur le site en direct. La raison en est que nous prenons des commandes sur le site Web, par fax & téléphone et parfois nous avons des walk-ins. Donc parfois (très rarement), même un court délai dans la mise à jour de l'inventaire sur notre ancien site Java nous oblige à passer une commande en rupture de stock, car nous vendons le même article à 2 clients en une demi-heure. Il est généralement fixé en un jour, mais nous voulons éviter cela à l'avenir.
Question actuelle
Quelqu'un at-il des suggestions sur la façon d'y arriver dans une meilleure façon ?
Voici trois options que je vois:
a) Construire une application Rails séparée sur un serveur web, qui se connecte à la même DB que notre application interne se connecte.
+++: Pluses données en direct - même chose que nos applications internes voir, à savoir les commandes sont créées en temps réel, l'inventaire est épuisé tout de suite
--- Inconvénients: risque de sécurité potentiel, duplication de code - c'est-à-dire que j'ai besoin de dupliquer tous les contrôleurs, modèles, vues, etc. qui traitent des commandes.
b) Construire une application Rails séparés sur un serveur web, qui se connecte à un autre DB de notre application interne.
- +++ Plus: Moins d'exposition de sécurité.
- --- Moins: Effort supplémentaire pour synchroniser la base de données Web et la base de données interne (ou utiliser un service Web comme REST-API), code supplémentaire pour gérer l'épuisement des stocks et la création du numéro de commande les contrôleurs, modèles, vues, etc. qui traitent des commandes.
c) Expose application interne au web
- +++: tous les points positifs problèmes de dessus éliminés. C'est beaucoup "DRY" er méthode.
- --- Les moins: beaucoup plus de maux de tête de sécurité.Systèmes de connexion plus compliqués - un pour le web & un pour les utilisateurs internes utilisant LDAP.
Alors des pensées? Quelqu'un a eu le même problème à résoudre? S'il vous plaît gardez à l'esprit que notre société a des ressources limitées - à savoir un développeur qui est dédié à cela. Il faut donc que ce soit l'une de ces solutions «justes» et «intelligentes», et non pas «jeter de l'argent/des personnes/des ressources à ces solutions».
Merci.
Mike, ce lien est mort. :-( – konung
désolé à ce sujet! Fixé et ajouté un lien vers l'api docs – Mike
merci de jeter un oeil! – konung