Советы по разработке для приложения Crud на основе HTA - PullRequest
1 голос
/ 17 февраля 2009

Я занимаюсь разработкой фреймворка для различных собственных CRUD-приложений. Я рассмотрел несколько технологий MS (WPF, Access, WinForms, ASP.NET) и остановился на ASP.NET MVC с HTA + Jquery для клиента. Моя причина в том, что мне нужен способ для написания и развертывания быстрых одноразовых приложений с графическим интерфейсом, а также для поддержки более надежных приложений, которые, как ожидается, будут иметь длительный срок службы.

Во-первых, я был бы признателен за некоторые соображения относительно преимуществ использования ADODB на стороне клиента по сравнению с ADO.NET на стороне сервера. Я склоняюсь к ADODB, так как у меня будет доступ со стороны клиента к SQL Server (я уже написал библиотеку js, которая обрабатывает взаимодействие с ADODB). Тем не менее, я вижу, как в конечном итоге может быть полезна разработка службы RESTful.

Во-вторых, мне нужно включить в систему возможность отчетности. Я могу использовать службы отчетов SQL Server или кристальные отчеты, но пользователи привыкли к некоторым старым приложениям, которые используют VBA для написания отчетов в Word; поэтому я подумываю использовать WordML для написания отчетов.

Спасибо.

1 Ответ

1 голос
/ 17 февраля 2009

Доступ к базе данных

Если вам нужен тонкий клиент, то, вероятно, лучше избегать прямого доступа к базе данных из клиента.

Основная проблема заключается в том, что вы будете сильно зависеть от конкретной сетевой архитектуры, и ваше приложение ASP.Net и HTA будут сильно зависеть от базы данных.

Вместо этого я бы предпочел разорвать зависимость от прямой линии прямой видимости до БД и получить данные для обработки сервером.

Это имеет несколько преимуществ:

  • для многих небольших изменений в БД вам, вероятно, потребуется обновить приложение ASP.

  • если вам когда-нибудь понадобится, чтобы ваше клиентское приложение работало через Интернет (скажем, из-за того, что некоторые пользователи собираются на стороннее собрание, им нужно работать с работы или ваша компания открывает новый филиал), у вас не будет переписать свой тонкий клиент.

  • вы сохраняете лучший контроль над доступом к ресурсам: только позволяйте приложению ASP взаимодействовать с базой данных и фильтровать то, что входит / выходит из нее.
    Это избавит вас от необходимости реализовывать всю безопасность на клиенте: приложение ASP становится хранителем базы данных. Это гораздо лучший способ защиты информации, и он дает вам гораздо больше контроля.

Отчетность

Для создания отчетов я бы снова использовал сервер, а не реализовывал сложные возможности отчетов в самом клиенте.
Проблема в том, что вы всегда будете ограничены в клиенте, если используете HTA и не хотите начинать устанавливать зависимости на компьютере каждого пользователя.
Вы в конечном итоге построите клиент толщиной в кратчайшие сроки ...

Если вы используете ASP.Net, есть множество действительно хороших инструментов отчетности, которые значительно облегчат вашу жизнь и позволят вашим пользователям получать хорошие отчеты в Excel, Word, PDF и т. Д. Без необходимости самостоятельно кодировать эти функции. .
С Crystal Reports все в порядке, но есть лучшие и более простые альтернативы, например, механизм Developer Express Report довольно прост в использовании.

...