Веб-интерфейс или толстый клиент через VPN?
Вопрос
В электроэнергетической компании, куда меня наняли временно, нам необходимо провести обновление системы выставления счетов и платежей (текущая система — это система dbaseIII).Мы с программистом компании решили использовать VB.Net и MySQL.
Компания обслуживает несколько городов и имеет центры выставления счетов и платежей в некоторых городах.Каждый расчетный период считыватели счетчиков считывали показания каждого электросчетчика, а затем записывали показания в таблицу.Каждые 17:00 сотрудник центров собирал листы и затем отправлялся в главный центр, где показания шифровались.
Счета распечатываются в главном центре, а затем распределяются по филиалам.
Во время переговоров с генеральным директором и руководителями компании нам двоим поручено воспользоваться Интернетом, потому что в тех городах, где расположены центры, есть подключение к Интернету, а в тех, где его нет, мы можем использовать мобильный Интернет.
Новая система позволит пользователям вводить показания, а затем отправлять данные на главный сервер в главном филиале.У них также есть возможность скачать и распечатать счета.
Наша проблема сейчас в том, какой тип системы нам нужно внедрить.Должно ли это быть веб-приложение или настольное приложение, которое будет подключаться к нашему серверу базы данных через VPN.
Решение
Я не знаю ситуации клиента...но как насчет того, чтобы дать им лучшее из обоих миров?Учитывая, что это похоже на то, что вы будете программировать в системе на базе Windows и иметь доступ к развертыванию оборудования на базе сервера Windows, почему бы не создать приложение Silverlight или не создать приложение WPF, размещенное в окне IE?Это могло бы дать вам лучшее из обоих миров?
Другие советы
Если это проект с фиксированной ценой и клиент принимает как веб-версию, так и настольный компьютер, используйте настольный компьютер через VPN.Вы сэкономите МНОГО времени и получите что-то более отзывчивое (с точки зрения пользователя).
Однако, если вы думаете, что клиенту в конечном итоге понадобится использовать продукт на мобильных устройствах или в Интернете, вы стреляете себе в ногу, используя winforms.
Имея некоторый опыт использования толстого клиента через VPN, я бы посоветовал использовать какое-нибудь веб-приложение.Если все сделано неправильно, использование толстого клиента через VPN может оказаться весьма затруднительным из-за перетока данных.Веб-приложение концентрирует все это на сервере, что делает его намного лучше с этой точки зрения.
Другие преимущества:
никаких проблем с развертыванием
нет прямого доступа к базе данных с компьютера пользователя.
Очевидно, это также зависит от ваших навыков и от того, сколько у вас времени/бюджета...
Я думаю, что ответ зависит от типа/частоты запросов к базе данных, которые вам нужно делать.Запрос к БД от толстого клиента через VPN может быть МЕДЛЕННЫМ.В веб-приложении логика приложения работает рядом с БД, возможно, даже на том же компьютере, поэтому запросы к БД выполняются быстро.Обратной стороной является то, что пользовательский интерфейс может работать медленнее.Но, вероятно, проще разработать адаптивный веб-интерфейс, чем сделать VPN быстрым.
какой инструмент будет использовать ваш сборщик счетов?1> Ноутбук с мобильным inetConnection 2> или специализированным ручным инструментом, который читает счет и отправляется в сервисный центр?
1> Если это ноутбук, вы можете создать веб-сайт, на котором только авторизованное лицо сможет войти в систему, а затем он сможет вставить базу данных.Вы можете использовать HTTPs для большей безопасности.