Question

Je construirai un en interne, parfois connectés App (OCA). Quelles sont les technologies proposeriez-vous que j'emploie.

Voici mes paramètres:

  1. Boutique .NET ( 3.5sp1 )
  2. C # pour le code derrière ( WinForm, WPF, silverlight )
  3. SQL Server backend ( 2005 ou peut 2008 en attente d'approbation )
  4. Développeur Solo
  5. Solo SQL Administrator
  6. les utilisateurs finaux Low Tech
  7. faible bande passante à 5 succursales
  8. Ceci est une application LOB mais pas un point de vente.
  9. La majorité des utilisateurs ont des ordinateurs portables qu'ils prennent à l'accueil de membres
  10. Les données pour cette appli est stockée dans 5 bases de données distinctes, bien que dans une instance de SQL.

Je cherche des recommandations spécifiques sur quelle voie choisir. La réplication de fusion ou fournisseurs synchronisation de base de données Sync Framework? SQL Express ou SQL CE à l'abonné? Puis-je utiliser LINQ to SQL pour le DAL?

est un Silverlight 'hors ligne / hors navigateur App' Exemple Ici , faisable?

Ceci est mon premier grand application métier afin de commentaires expérimentés sont les bienvenus.


Comme demandé voici quelques informations supplémentaires sur le type de données. Mes utilisateurs sont des infirmières et des travailleurs sociaux qui vont au domicile de membres et de créer « plans » ou « Avis d'évaluation de la santé » pour eux. Ce sont des choses comme une liste de médicaments ou d'une liste de là « fournisseurs » actuels. Étapes à suivre pour atteindre les objectifs des membres ou une liste de là diagnostic actuel / passé de. Des choses comme ça.

De plus, le nom des membres typique, adresse, numéro de téléphone, etc. La plupart du temps c'est une application de stockage et récupération de données qui facilite la déclaration. Très peu de « transformation » a lieu et les infirmières et les travailleurs sociaux travaillent dans des équipes qui lui sont confiées membres, donc je suis généralement très peu de croisement ou des conflits de données potentiels. Les infirmières et SW de sont également responsables de la zone différente de la MCP ( Membre Plan d'Centré )


Question supplémentaire; Est-Sync Framework vraiment seulement une option viable si je peux utiliser SQL 2008? Semble de cette façon en raison du changement de suivi, etc .... pensées?

Était-ce utile?

La solution

Une fois que vous résoudre le problème de la détection de changement et de mouvement de données, tout le reste est trivial. Dans d'autres technologies de mots comme WPF, Silverlight, les formes et même WCF sont orthogonales à votre problème principal et votre choix doit être en fonction de vos préférences personnelles et de l'expérience. Le vrai problème difficile à résoudre travaille déconnecté et la synchronisation des changements. Ce qui laisse deux hors-the-box avenues:. Cadre Synch ou réplication

Je dirais, pour votre scénario, Cadre Synch . La réplication de fusion, comme toutes les formes de réplication, est conçu pour les systèmes qui sont connectés en continu avec déconnexions intermittant. Et réplication la plus critique ne peut fonctionner que sur les noms statiques. Les ordinateurs portables se connectent à partir de divers points chauds et les FAI ont une mauvaise habitude de changer les noms de FQ à chaque connexion. La réplication peut surmonter ce que si un réseau privé virtuel de tri est utilisé et VPN est généralement un problème de soutien important. La réplication est tout simplement pas conçu pour la mobilité des systèmes OCA.

Cadre Synch forcera à peu près vous SQL Server 2008 back-end en raison de la nécessité de Suivi des modifications , à la fois être SQL 2008 ne présente que.

Vous aurez encore beaucoup de problèmes difficiles à résoudre avant (authentification, versionnage et mettre à jour, les données politiques de résolution des conflits, la sécurisation des données sur le client pour la perte de médias accidentels etc etc)

Autres conseils

Pour ma part, je dirais:

  • .NET 3.5
  • WCF Data Services (pour la communication entre l'application client et vos données)
  • SQL Server 2K5 / 2K8 (selon ce que vous pouvez utiliser)
  • Silverlight w / Hors navigateur Fonctionnalité
  • VistaDB (pour stocker des données localement sur le client jusqu'à ce que vous pouvez pousser sur le serveur)

utilisez-identifiant unique pour la clé si vous créez des choses en mode hors connexion et non connectés et quand vous connectez, la mise à jour la base de données.

cela va être beaucoup plus facile que d'utiliser la clé auto-incrément

Après avoir travaillé sur une demande de temps en temps connecté, je vous encourage à regarder dans CE SQL Server pour les machines clientes, avec les services de synchronisation pour gérer les connexions.

J'ai écrit une prise de commande programme pour les représentants des ventes de vin. Voici la vidéo. Le logiciel client est installé en utilisant cliquez-fois. Cela permet également d'installer SQL Server Express et charge la base de données. J'ai utilisé le Microsoft Sync Framework pour synchroniser la base de données locale avec celle sur le serveur (voir la dernière section de la vidéo.)

  • Avec des clients puissants maintenant, je ne vois aucune raison de ne pas utiliser SQL Server Express, il est libre avec une limite de 4 Go.

  • CE SQL avait trop de limites -. Procs pas stockées étant un problème majeur

  • Vous devrez utiliser GUIDs partout comme la clé primaire - voir la nouvelle newsequentialid ()

  • .
  • I love-cliquez une fois, il est un grand gain de temps.

Je suis impatient de Silverlight, mais tout simplement pas eu le temps de l'examiner. Je ne sais pas si je l'aurais fait avec Silverlight Si vous le faites maintenant ou non.

Après avoir dit tout cela, ce n'est pas un projet pour toute personne sans expérience. Donc, je voudrais aussi obtenir de l'aide très expérimenté.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top