Информация об изменениях

Сообщение Re[5]: Spring или не Spring от 19.11.2015 15:10

Изменено 19.11.2015 15:12 vsb

Здравствуйте, Orgy243, Вы писали:

O>1. Можно ли реализовать приложение с поддержкой до 5000 параллельно работающих пользователей? Что для этого надо сделать / не делать.


Можно. 5000 это число ни о чём не говорящее, но если это 100 запросов в секунду (1 запрос в минуту от каждого пользователя), это вообще не нагрузка для вменяемого приложения. В любом случае вопрос нагрузки ложится на базу, а что будет служить прослойкой между базой и пользователем — хоть Spring + Java, хоть Python, хоть PHP — на конечный результат большого влияния не окажет.

O>2. Реализация информационной безопасности на основе Spring Security – сильные/слабые стороны, лучшие практики.


Моё имхо — Spring Security это очень переусложнённая библиотека. Я её несколько раз пытался использовать (правда это было несколько лет назад) и ни разу не получил от этого удовольствия. Проблем она мне приносила больше, чем решала. Но я не настаиваю на этом мнении, во-первых у меня не было сложных правил, во-вторых прошло много времени и там могло многое поменяться. В любом случае я бы посмотрел на аналоги, а также взвесил бы трудоёмкость реализации своего слоя безопасности, без специализированных библиотек.

O>3. Как реализовать Мультиарендность (англ. multitenancy — «множественная аренда») — элемент архитектуры программного обеспечения, где единый экземпляр приложения, запущенного на сервере, обслуживает множество организаций-клиентов («арендаторов») и поддержу развёртывания в публичных и частных облаках.


Ничего не понятно. Разворачивание приложения обычно — копируете .war-ку в томкат или запускаете через встроенный jetty. Опционально ставите nginx на входе. Хоть в облаках разворачивайте, хоть на ноутбуке, джаве без разницы.

O>4. Как внедрить в систему поддержку скриптового языка для обеспечения возможности адаптации приложения без изменения исходного кода.


Я не уверен, что вам это действительно надо. Лучше не усложняйте жизнь во много раз на ровном месте. Нет ничего страшного в изменении исходного кода, компиляция приложения занимает несколько минут максимум. Если сильно хочется — используйте JavaScript или Groovy, и то и то Java поддерживает. Сколько я сталкивался с такими "скриптовыми языками", которые якобы должны поддерживать специалисты, не умеющие программировать — нифига они не могут. В итоге их поддерживают полноценные программисты, матерясь на ограничения этих скриптов.

O>5. Как правильно реализовать поддержку пользовательского интерфейса для мобильных устройств на Sprige есть ли особая технология или нет.


Поддержка пользовательского интерфейса для мобильных устройств реализуется через CSS Media Queries, если мы говорим о веб-приложении. Это тема для фронтэнда, к бэкэнду (т.е. к Java, Spring) это не относится никак.

O>Я понимаю, что на любом фрейме наверно можно сделать все что угодно, но встанет вопрос удобства, времени на изучение и.т.д. Поэтому если есть готовые решения, чтоб не изобретать "Велосипед",пожалуйста поделитесь вашим опытом и скажи на чем это реализовать лучше\удобнее\быстрее\надежней.


Java, Spring это сложные технологии, не стоит их использовать без выделения значительного времени на обучение. Если ваши программисты не знают этого, получится полная фигня. Если вы только планируете набирать команду — это отличные технологии, которые позволяют сделать всё, что угодно. Но надо уметь их "готовить".
Здравствуйте, Orgy243, Вы писали:

O>1. Можно ли реализовать приложение с поддержкой до 5000 параллельно работающих пользователей? Что для этого надо сделать / не делать.


Можно. 5000 это число ни о чём не говорящее, но если это 100 запросов в секунду (1 запрос в минуту от каждого пользователя), это вообще не нагрузка для вменяемого приложения. В любом случае вопрос нагрузки ложится на базу, а что будет служить прослойкой между базой и пользователем — хоть Spring + Java, хоть Python, хоть PHP — на конечный результат большого влияния не окажет.

O>2. Реализация информационной безопасности на основе Spring Security – сильные/слабые стороны, лучшие практики.


Моё имхо — Spring Security (не Spring, а именно Spring Security, это отдельная библиотека) это очень переусложнённая библиотека. Я её несколько раз пытался использовать (правда это было несколько лет назад) и ни разу не получил от этого удовольствия. Проблем она мне приносила больше, чем решала. Но я не настаиваю на этом мнении, во-первых у меня не было сложных правил, во-вторых прошло много времени и там могло многое поменяться. В любом случае я бы посмотрел на аналоги, а также взвесил бы трудоёмкость реализации своего слоя безопасности, без специализированных библиотек.

O>3. Как реализовать Мультиарендность (англ. multitenancy — «множественная аренда») — элемент архитектуры программного обеспечения, где единый экземпляр приложения, запущенного на сервере, обслуживает множество организаций-клиентов («арендаторов») и поддержу развёртывания в публичных и частных облаках.


Ничего не понятно. Разворачивание приложения обычно — копируете .war-ку в томкат или запускаете через встроенный jetty. Опционально ставите nginx на входе. Хоть в облаках разворачивайте, хоть на ноутбуке, джаве без разницы.

O>4. Как внедрить в систему поддержку скриптового языка для обеспечения возможности адаптации приложения без изменения исходного кода.


Я не уверен, что вам это действительно надо. Лучше не усложняйте жизнь во много раз на ровном месте. Нет ничего страшного в изменении исходного кода, компиляция приложения занимает несколько минут максимум. Если сильно хочется — используйте JavaScript или Groovy, и то и то Java поддерживает. Сколько я сталкивался с такими "скриптовыми языками", которые якобы должны поддерживать специалисты, не умеющие программировать — нифига они не могут. В итоге их поддерживают полноценные программисты, матерясь на ограничения этих скриптов.

O>5. Как правильно реализовать поддержку пользовательского интерфейса для мобильных устройств на Sprige есть ли особая технология или нет.


Поддержка пользовательского интерфейса для мобильных устройств реализуется через CSS Media Queries, если мы говорим о веб-приложении. Это тема для фронтэнда, к бэкэнду (т.е. к Java, Spring) это не относится никак.

O>Я понимаю, что на любом фрейме наверно можно сделать все что угодно, но встанет вопрос удобства, времени на изучение и.т.д. Поэтому если есть готовые решения, чтоб не изобретать "Велосипед",пожалуйста поделитесь вашим опытом и скажи на чем это реализовать лучше\удобнее\быстрее\надежней.


Java, Spring это сложные технологии, не стоит их использовать без выделения значительного времени на обучение. Если ваши программисты не знают этого, получится полная фигня. Если вы только планируете набирать команду — это отличные технологии, которые позволяют сделать всё, что угодно. Но надо уметь их "готовить".