2009-02-17 2 views
1

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

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

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

Спасибо.

ответ

1

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

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

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

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

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

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

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

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

Отчетность

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

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

Смежные вопросы