Зачем беспокоиться о многослойном RIA, если Интернет быстро справляется с «традиционным» толстым клиентом C / S? - PullRequest
0 голосов
/ 03 июня 2010

Зачем беспокоиться о многослойном RIA, если Интернет сейчас достаточно быстр, чтобы сделать «традиционный» толстый клиент C / S?

Для чего просто использовать простое приложение C ++ / Delphi / Oracle Forms / JAVA-Swing, напрямую взаимодействующее с RDBMS через Интернет?

Очень сложная скомпилированная exe-программа в Delphi занимает около 10 МБ, то есть количество загрузок кода за пару минут при приличном 1 МБ ADSL-соединении.

В конце концов, что мы делаем с AJAX / BlazeDS / JSON / etc, проталкивающим протокол http / https, но с большим количеством слоев и множеством точек отказа ...

Комментарии, пожалуйста ...

1 Ответ

1 голос
/ 29 июня 2010

Сначала немного о терминологии. То, что вы называете «традиционными толстыми клиентами», - это, вероятно, программное обеспечение для настольных компьютеров. Веб-приложения часто пишутся как тонкие клиенты, но они также могут быть написаны как толстые клиенты. Богатые клиентские интернет-приложения ориентированы на клиента, что означает, что большая часть работы выполняется в клиенте (браузере). RIA для толстых клиентов могут быть написаны с помощью таких технологий, как AJAX или Adobe Flash.

Чтобы сравнить преимущества веб-приложений над настольным программным обеспечением:

Поддержка: Одним из преимуществ веб-приложений является их поддержка. Вам нужно только сделать одну установку приложения, и тогда оно будет доступно для всех пользователей. То же самое касается обновления программного обеспечения, вам нужно только обновить программное обеспечение на сервере, и тогда вы можете быть уверены, что каждый отдельный пользователь использует последнюю версию программного обеспечения. Это исключает необходимость обновления отдельных частей приложения на компьютерах пользователей.

Безопасность: При использовании веб-приложения есть два положительных аспекта безопасности. Как было сказано ранее, вам нужно обновить программное обеспечение только в одном месте. Это означает, что пользователи всегда имеют самую последнюю версию используемого программного обеспечения, что устраняет проблему людей, использующих устаревшую уязвимую версию приложения.

Что более важно, так это то, что толстые клиентские приложения небезопасны. Они раскрывают логику приложения и, возможно, конфиденциальные данные, такие как учетные данные базы данных. Жирные клиенты могут быть подвергнуты обратному проектированию, а атаки могут быть произведены на основе полученной информации. Чтобы приложение было действительно защищено, логика приложения должна оставаться на сервере, а клиент должен быть тонким и единственным сервером в качестве уровня представления информации, обрабатываемой в приложении. Помните, что разоблачение логики приложения также может повлиять на богатые интернет-приложения. Легко написать RIA так, чтобы она раскрывала логику приложения. Следовательно, важно помнить, что состояние приложения всегда должно оставаться на сервере, а браузер, как уже говорилось, является единственным средством представления данных. Другими словами, и веб-приложения, и настольные приложения могут быть (не) безопасными, я бы сказал, что при написании программного обеспечения для настольных компьютеров существует больший риск передачи логики приложения клиенту.

Независимо от платформы: Веб-приложения не зависят от платформы (за исключением приложений, которые используют специфические для платформы функции, такие как activex). Это означает, что ваши пользователи могут использовать приложение с компьютера Mac, Windows или Linux, это не имеет значения. Конечно, к сожалению, легко создавать веб-приложения, которые не работают / работают только в определенных браузерах, таких как Internet Explorer. Хотя сделать кросс-браузерную совместимость веб-приложений намного проще, чем написать программное обеспечение для настольных компьютеров, которое было бы по-настоящему кросс-платформенным.

Доступность: Если вы подключены к Интернету / Интранету, у вас есть доступ к приложению. Неважно, заимствовали ли вы ноутбук своего друга или если вы сидите за настольным компьютером, у вас все равно есть доступ к приложению, поскольку для этого не требуется ничего устанавливать на компьютер. Просто перейдите к URL-адресу приложения.

...