2009-10-22 7 views
0

Je précise un projet potentiel. Le cœur du projet est un ensemble de données que le client veut pouvoir présenter à différents tiers. Le client veut être en mesure d'offrir différents sous-ensembles de données à différents tiers.Comment définir différents sous-ensembles d'un ensemble de données commun dans une application Web?

Les données seront stockées dans une base de données MySQL. Une application Web se connecte à la base de données et fournit les données via une API aux applications client. Chaque application cliente peut avoir accès à différents enregistrements dans la base de données. Voici quelques exemples de données:

fruit 
id name color 
1 apple red 
2 orange orange 
3 grape purple 
4 banana yellow 

location 
id name 
1 new york 
2 florida 
3 california 

fruit_location 
fruit_id location_id 
1   1 
2   2 
3   3 
4   2 

L'API pour ces données aurait des méthodes telles que get_all_fruit() et get_fruit_by_location().

Par défaut, les applications clientes auraient accès à toutes les données. Cependant, un client peut seulement vouloir (ou être autorisé) l'accès aux informations sur les fruits de Floride. Une autre application peut avoir besoin d'accéder à toutes les données à l'exception de l'enregistrement de raisin. Les appels aux méthodes API seraient les mêmes pour chaque application, mais renverraient des données différentes avec des résultats éventuellement omis, en fonction de l'application client qui effectue la requête.

Je me demande quelles sont les suggestions des membres étonnants de la communauté SO pour définir ce type de filtre.

  • Définie au sein de la base de données
  • Certains types de fichier de configuration

Les deux principales préoccupations:

  • Facilité de création et de modification du filtre spécifié, ceux-ci seront gérées par un utilisateur final
  • Performant pour un nombre faible à modéré d'utilisateurs simultanés

Autres notes

  • Les données seront lues uniquement pour les applications clientes
  • Les données changeront au fil du temps que de nouvelles informations sont ajoutées ou modifiées

Je sais que c'est Général, laissez-moi savoir si je peux fournir d'autres détails qui pourraient aider. Merci d'avoir pris le temps de faire des suggestions!

Répondre

0

personnellement, je gérerais cela au niveau de votre API. où vous stockez les critères n'est pas pertinent. votre API devra convertir toutes les règles que vous avez dans SQL afin que vous puissiez l'ajouter en tant que clause WHERE à toutes vos requêtes.

Questions connexes