2009-02-17 11 views
1

Je suis en train d'élaborer un cadre pour diverses applications CRUD internes. J'ai considéré plusieurs technologies MS (WPF, Access, WinForms, ASP.NET) et je me suis installé sur ASP.NET MVC avec HTA + Jquery pour le client. Ma raison de le faire est que j'ai besoin d'un moyen d'écrire et de déployer rapidement des applications GUI uniques ainsi que de maintenir des applications plus robustes qui devraient avoir une longue durée de vie. D'abord, j'apprécierais quelques réflexions sur les mérites relatifs d'employer ADODB du côté de client contre ADO.NET du côté de serveur. Je me penche vers ADODB puisque j'aurai un accès côté client au SQL Server (j'ai déjà écrit une bibliothèque js qui gère l'interaction avec ADODB). Cependant, je peux voir comment développer un service RESTful peut éventuellement être utile.Conseils pour la conception d'une application Crud basée sur HTA

Deuxièmement, j'ai besoin d'incorporer des capacités de reporting dans le système. Je peux utiliser les services de reporting SQL Server ou les rapports Crystal, mais les utilisateurs se sont habitués à certaines applications plus anciennes qui utilisent VBA pour écrire des rapports dans Word; donc j'envisage d'utiliser WordML pour écrire les rapports.

Merci.

Répondre

1

Access Database

Si vous avez besoin d'un client léger, il est probablement préférable de rester à l'écart d'accéder directement à la base de données à partir du client.

Le problème principal est que vous introduisez une forte dépendance à l'égard d'une architecture de réseau spécifique et que votre application ASP.Net et votre HTA dépendent fortement de la base de données. Au lieu de cela je préférerais couper la dépendance sur la ligne de vue directe à la base de données et avoir les données à traiter par le serveur.

Cela a quelques avantages:

  • pour de nombreuses petites modifications à la db, vous êtes probablement devoir mettre à jour l'application ASP. Si vous avez besoin de votre application cliente pour fonctionner sur Internet (par exemple parce que certains utilisateurs se rendent à une réunion externe, doivent travailler au travail ou que votre entreprise ouvre une nouvelle succursale), vous n'aurez pas à le faire. réécrivez votre client léger. Vous gardez un meilleur contrôle sur l'accès aux ressources: laissez uniquement l'application ASP parler à la base de données et filtrer ce qui entre/sort de celle-ci. Cela vous évitera d'avoir à implémenter toute la sécurité sur le client: l'application ASP devient le gardien de la base de données. C'est un bien meilleur moyen de sécuriser l'information et cela vous donne beaucoup plus de contrôle.

rapports

Car je voudrais rapports utiliser le serveur à nouveau plutôt que de mettre en œuvre des capacités de reporting complexes dans le client lui-même.
Le problème est que vous allez toujours être limité sur le client si vous utilisez un HTA et que vous ne voulez pas commencer à installer des dépendances sur la machine de chaque utilisateur.
Vous finirez-up la construction d'un épais client en peu de temps ...

Si vous utilisez ASP.Net il ya beaucoup d'outils de reporting vraiment bons qui rendront votre vie beaucoup plus facile et permettra à vos utilisateurs d'obtenir de bons rapports en Excel, Word, PDF, etc. sans avoir à coder ces fonctionnalités vous-même.
Crystal Reports est OK, mais il existe des alternatives meilleures et plus simples, par exemple le moteur Developer Express Report est assez facile à utiliser.

Questions connexes