Вот вариант использования:
У меня есть настольное приложение (созданное использование Eclipse RCP), который на запуске, выталкивает открытый диалоговое окно с полями 'UserName' и 'Password' в нем. Однажды конечный пользователь, вводит его UserName и Пароль, с сервером связываются (пружинный удаленный сервлет, при этом сторона клиента является пружиной httpclient: подобный подходы здесь.), и аутентификация выполняется на стороне сервера.
Несколько вопросов связаны с вышеупомянутым сценарием:
Сообщите мне свои комментарии/предложения дизайна / архитектурные комментарии/предложения. Цените свою справку.
Простой ответ таков: Не позволяйте службе аутентификации выйти из строя!
Убедитесь, что ваша служба аутентификации работает в кластерной среде с балансировкой нагрузки за виртуальным IP. Таким образом, вы сможете избежать простоя в случае выхода из строя одного из отдельных серверов. Это касается не только самой службы, но и любых источников данных, на которые она опирается.
Очевидно, что ни одна система не является полностью отказоустойчивой, но вы должны быть в состоянии обеспечить время работы, близкое к 100%, чтобы не было необходимости в создании "ограниченного" режима для настольного клиента.
Должен ли я иметь резервную копию службы аутентификации, работающую на другой машине в качестве резервной?
Да! Это было бы лучшим решением. Проблема должна решаться ИМО на уровне сети / инфраструктуры, а не на клиенте.
Если есть полезные части приложения, которые все еще могут работать без доступа к сети (например, маршрутизатор не работает, сетевая карта отключается), можно рассмотреть вариант 1. Сопоставьте объем необходимой работы с тем, насколько это вероятно и насколько критично ваше приложение.
- Если бы сказано, что эта служба аутентификации будет отключена, что будет лучший способ справиться дальше разбирательства? Аутентификация то, с чем я не могу покончить. Запустил бы настольный клиент в "ограниченный" режим - хорошая идея? Для например, важно функции / меню / просмотры будут отключены, остальная часть приложения будет доступен?
Полезен ли клиент без сервера? Есть ли что-то, что может делать пользователь? Если да, хотите ли вы, чтобы пользователь мог делать эти вещи без аутентификации? Это ответ на ваш вопрос.
Непонятно, что вы имеете в виду, когда говорите: «Аутентификация - это то, с чем я не могу избавиться». что ты имеешь в виду. Вы имеете в виду, что есть некоторые функции, требующие аутентификации пользователя, или это требование, наложенное кем-то другим, или? (Почему вы не можете с этим покончить?)
- Следует ли мне иметь резервную службу аутентификации, работающую на другая машина, работающая как резервное копирование?
Насколько полезен ваш клиент в описанной выше ситуации? Если это очень полезно, вы можете основывать это решение и то, сколько потратить на обслуживание резервного сервера, исходя только из того, насколько ценны только аутентифицированные функции.
Если ваше приложение бесполезно без аутентификации, тогда ваше решение о том, сколько инвестировать в резервный сервер аутентификации, зависит от того, сколько вам это будет стоить, если ваши пользователи не могут пройти аутентификацию.
- Каковы общие передовые практики в этом сценарии? я помню, как читал о механизмах Google и как это позволит вам редактировать и делать вещи в автономном режиме - должно что-то вроде быть спроектированным?
Если есть способ хранить полезные данные в автономном режиме, я думаю, что это хорошая идея, но я предвзято против хранения моей информации в облаке, где я не могу ее контролировать или создавать резервные копии. Чтобы развить способность работать как онлайн, так и офлайн, вместо одного из двух, потребуется время и косвенно деньги. Это суждение о том, насколько приложение ценно для ваших пользователей в автономном режиме.
Если сказано, что эта служба аутентификации должны были пойти вниз, что будет лучший способ справиться дальше разбирательства? Аутентификация то, с чем я не могу покончить.Запустил бы настольный клиент в "ограниченный" режим - хорошая идея? Для например, важно функции / меню / просмотры будут отключены, остальная часть приложения будет Доступен?
Ограниченный запуск настольного клиента - очень хорошая идея. Представьте, что вы не могли написать электронное письмо, обработать вложения или сделать что-либо в почтовом клиенте, если вы не вошли в систему. Хорошее взаимодействие с пользователем требует возможности работать в автономном режиме.
Следует ли мне использовать резервную копию аутентификации служба работает на другом машина, работающая как резервная?
На этот вопрос уже были очень хорошие ответы, хотя я не полностью согласен с dbyrne. Даже если все ваши сети и серверы могут работать нормально, простои неизбежны, и связь между настольным клиентом и сервером не всегда будет идеальной.