Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> целесообразность использования J2EE, J2EE для маленькой фирмы 
:(
    Опции темы
serger
Дата 10.12.2009, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 2
Всего: 5



Цитата(DimW @  10.12.2009,  17:20 Найти цитируемый пост)
в случае с мускулом возможно так и есть, но если взять СУБД такие как oracle, BD2, ms sql, то встроенные языки достаточно эффективны для того что бы реализовывать БЛ именно на стороне БД.

Исходя из опыта, и личных наблюдений - это хорошо для систем, которые постоянно дорабатываются, или для создания впечатления постоянной занятости..  smile 
А если серьёзно - это будет требовать постоянного контроля БД, наличия грамотного специалиста, дополнительных ограничений в масштабируемости.. Если серьёзно, мало верю, что так можно будет сделать решение "под ключ", даже простое.


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Vasay
Дата 10.12.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



DimW
Цитата(DimW @  10.12.2009,  17:20 Найти цитируемый пост)
вы путаете разграничение прав на объекты БД и с реализацие секюрности приложения.
у мускула как и многих современных БД есть понятие сесси, в которой как и в случае http сессис сервлет контейнера можно организовать инициализацию объекта(в случае с мускулом - инициализацию глобальных переменных) в которых можно хранить параметры авторизованного, посто эти параметры необходимо передавать в sql который должен выполняться с учетом их значений.
ну т.е. если пользователь XXX в системе фигурирует как менеджер компании, то в соответствии с его привелениями приложение должно давать ему доступ только к его клиентам.
примерно так:


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

берем какую-нибудь тулзу для работы с БД, подключаемся через нее к серверу MySQL, и кто нам запретит выполнить запрос вида 
Код

select * from clients


п.с. Возможно, в новых версиях MySQL и есть варианты защиты, но раньше их точно не было.



--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
DimW
Дата 10.12.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 3
Всего: 44



Цитата(serger @  10.12.2009,  17:48 Найти цитируемый пост)
это хорошо для систем, которые постоянно дорабатываются

назовите хоть одну систему уровня предприятия которая не доробатывается?

Цитата(serger @  10.12.2009,  17:48 Найти цитируемый пост)
для создания впечатления постоянной занятости

имхо это кросплатформенное явление  smile 

Цитата(serger @  10.12.2009,  17:48 Найти цитируемый пост)
это будет требовать постоянного контроля БД

что в вашем понимании "контроль БД"? не уж то администрирование?

Цитата(serger @  10.12.2009,  17:48 Найти цитируемый пост)
наличия грамотного специалиста

а в случае с реализацией БЛ на сервере приложений отсутствие таковых это норма?  smile 

Цитата(serger @  10.12.2009,  17:48 Найти цитируемый пост)
дополнительных ограничений в масштабируемости

и как же БЛ на стороне БД сказывается на маштабируемости приложения? на этот вопрос обязательно ответьте, уж больно интересно стало

Цитата(serger @  10.12.2009,  17:48 Найти цитируемый пост)
мало верю

ваша вера пропорциональна вашему опыту и наблидениям.

Добавлено через 7 минут и 46 секунд
Vasay, вы все верно говорите про то, что в случае с десктопом, овладеть не легальным доступом к БД проще чем в случае с сервером приложений.
вот только я вам не про то толкую, я ведь про разграничение доступа в приложении, а не про наглое овладевание паролем к БД. smile
 
PM MAIL ICQ   Вверх
serger
Дата 10.12.2009, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 2
Всего: 5



Цитата(DimW @  10.12.2009,  18:04 Найти цитируемый пост)
и как же БЛ на стороне БД сказывается на маштабируемости приложения?

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


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Vasay
Дата 10.12.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Цитата(DimW @  10.12.2009,  18:04 Найти цитируемый пост)

Добавлено через 7 минут и 46 секунд
Vasay, вы все верно говорите про то, что в случае с десктопом, овладеть не легальным доступом к БД проще чем в случае с сервером приложений.
вот только я вам не про то толкую, я ведь про разграничение доступа в приложении, а не про наглое овладевание паролем к БД. smile


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

Кроме того трехзвенная архитектура дает много плюсов в сравнении с двухзвенной. 




Это сообщение отредактировал(а) Vasay - 10.12.2009, 18:45


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
DimW
Дата 10.12.2009, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 3
Всего: 44



Цитата(serger @  10.12.2009,  18:22 Найти цитируемый пост)
Да банально

так я и думал...

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

Цитата(serger @  10.12.2009,  18:22 Найти цитируемый пост)
единственный способ повышения производительности был - покупка нового сервака.

сомниваюсь, что сторона реализации БЛ, была причиной покупки сервера.

Добавлено через 11 минут и 17 секунд
Цитата(Vasay @  10.12.2009,  18:40 Найти цитируемый пост)
может я изначально не ясно выражался

все ясно было по поводу овладевания паролем - с этим все ясно.

просто помимо этого вы упоменули:
Цитата(Vasay @  10.12.2009,  12:01 Найти цитируемый пост)
Но не будем же мы создавать отдельную БД для каждого менеджера?

в связи с этим я и привел пример как это делать в случае с двухзвенкой.

Цитата(Vasay @  10.12.2009,  18:40 Найти цитируемый пост)
Кроме того трехзвенная архитектура дает много плюсов в сравнении с двухзвенной. 

вобщем то да, я сам двухзвенку на дух не переношу - изжила она себя, в корпоративных маштабах. 
PM MAIL ICQ   Вверх
serger
Дата 10.12.2009, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 2
Всего: 5



Цитата(DimW @  10.12.2009,  18:48 Найти цитируемый пост)
serger, маштабируемость и производительность это разные понятия, не вытекающие друг из друга.
маштабируемость - это возможность одновременного доступа к данным, чем больше пользователей могут одновременно использовать один и тот же ресурс тем показатель маштабируемости выше.
производительность  - это показатель за какое время все эти пользователи смогут выполнить тот или иной процесс.


Спасибо за разъяснение - понял. Честно говоря, теперь не совсем понятно, чем же они всё же различаются в реальной жизни? Именно на уровне БД.


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Vasay
Дата 10.12.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



DimW
Цитата(DimW @  10.12.2009,  18:48 Найти цитируемый пост)
просто помимо этого вы упоменули:
Цитата

Но не будем же мы создавать отдельную БД для каждого менеджера?


в связи с этим я и привел пример как это делать в случае с двухзвенкой.



Это я упомянул, как единственный известный мне способ в MySQL защитить данные второго менеджера от первого, если первый подключается к БД напрямую. а не через программу.

Ну т.е. у каждого менеджера своя БД  со своим паролем и логином smile 

Понятно, что это изврат  smile 


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


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
v2v
Дата 10.12.2009, 19:47 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Цитата(Vasay @  10.12.2009,  17:59 Найти цитируемый пост)

берем какую-нибудь тулзу для работы с БД, подключаемся через нее к серверу MySQL, и кто нам запретит выполнить запрос вида 
Выделить всёкод SQL

select * from clients


п.с. Возможно, в новых версиях MySQL и есть варианты защиты, но раньше их точно не было.

кто мешает создать пользователя для доступа к бд , который будет иметь доступ только к конкретно сформированным представлениям.

Добавлено @ 19:49
Цитата(Vasay @  10.12.2009,  19:15 Найти цитируемый пост)


Ну т.е. у каждого менеджера своя БД  со своим паролем и логином smile 

Понятно, что это изврат  smile 

зачем своя бд? просто свой логин\пароль. и данные между пользователями не шарятся.

Код

view the_only_one:
select * from client where created_user = :login_user



Это сообщение отредактировал(а) v2v - 10.12.2009, 19:50


--------------------
PM   Вверх
AntonSaburov
Дата 10.12.2009, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Мы решали проблему доступа на уровне БД за счет того, что ВСЕ данные получались/менялись ТОЛЬКО через хранимые процедуры.
По сути слой бизнес-логики был вынесен в БД на уровен хранимых процедур.

До сих пор считаю, что это один из самых эффективных способов для офиса, который не собирается превращаться в два, три и расползаться по всему миру. И никто не собирается получать доступ к данным извне.

Как только нужен Интернет-доступ - сразу появится сервер приложений (пусть даже очень просто в виде Томката+Spring).
Правда и в этом случае можно сделать доступ через хранимые процедуры.

PM MAIL WWW ICQ   Вверх
Vasay
Дата 10.12.2009, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



v2v

Вы правы есть такая возможность (честно - не знал что в MySQL можно устанавливать права на представления)

Это вариант, хотя и накладывающий некоторые ограничения на работу с БД


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
DimW
Дата 11.12.2009, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 3
Всего: 44



Цитата(serger @  10.12.2009,  19:14 Найти цитируемый пост)
чем же они всё же различаются в реальной жизни? Именно на уровне БД. 

serger, понимаете, каким бы мега маштабированным приложение не было, маштабированней СУБД оно быть не может, ведь механизмы блокировок, формирования rollback сегментов, кеширования используемых данных, и .т.д. - реализованы в СУБД. Не позволят они приложению повлиять на маштабируемость и производительность в лучшею сторону, только в худшую.

Цитата(Vasay @  10.12.2009,  19:15 Найти цитируемый пост)
масштабируемость в моем понимании

Vasay, ваше понимание и объективная реальность различаются, может стоит не уператься, а раз и навсегда заполнить этот пробел?!

Цитата(AntonSaburov @  10.12.2009,  21:53 Найти цитируемый пост)
Правда и в этом случае можно сделать доступ через хранимые процедуры.

именно так и поступили, десятки филиалов по всей стране активно работают с системой и преград для расширений мы не видим. smile

Это сообщение отредактировал(а) DimW - 11.12.2009, 10:26
PM MAIL ICQ   Вверх
Vasay
Дата 11.12.2009, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Цитата(DimW @  11.12.2009,  10:22 Найти цитируемый пост)
Vasay, ваше понимание и объективная реальность различаются, может стоит не уператься, а раз и навсегда заполнить этот пробел?!



Ну я бы сказал, мое понимание понятия "масштабируемости" не дальше от объективной реальности чем Ваше  smile  :


Цитата(DimW @  10.12.2009,  18:48 Найти цитируемый пост)
маштабируемость - это возможность одновременного доступа к данным, чем больше пользователей могут одновременно использовать один и тот же ресурс тем показатель маштабируемости выше.




http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%...%81%D1%82%D1%8C

Цитата

Масштаби́руемость (scalability) — в информатике означает способность системы увеличивать свою производительность при добавлении ресурсов (обычно аппаратных). Масштабируемость — важный аспект электронных систем, программных комплексов, баз данных, маршрутизаторов, сетей и т. п., если для них требуется возможность работать под большой нагрузкой. Система называется масштабируемой, если она способна увеличивать производительность пропорционально дополнительным ресурсам. Масштабируемость можно оценить через отношение прироста производительности системы к приросту используемых ей ресурсов. Чем ближе это отношение к единице, тем лучше. Также под масштабируемостью понимается возможность наращивания дополнительных ресурсов без структурных изменений центрального узла системы.


Это сообщение отредактировал(а) Vasay - 11.12.2009, 12:02


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
DimW
Дата 11.12.2009, 11:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 3
Всего: 44



Цитата(Vasay @  11.12.2009,  10:51 Найти цитируемый пост)
Ну я бы сказал мое понимание понятия "масштабируемости" дальше от объективной реальности чем Ваше  smile  :

да наверное Вы правы, первое не исключает второе, правильный выбор СУБД и грамотная разработка БЛ скорее отсрочит потребность в расширении аппаратной платформы, но ни как не исключит ее расширение при бурном развитии функциональности и числа пользователей приложения.  smile
PM MAIL ICQ   Вверх
serger
Дата 11.12.2009, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 2
Всего: 5



Цитата(DimW @  11.12.2009,  11:15 Найти цитируемый пост)
да наверное Вы правы, первое не исключает второе, правильный выбор СУБД и грамотная разработка БЛ скорее отсрочит потребность в расширении аппаратной платформы, но ни как не исключит ее расширение при бурном развитии функциональности и числа пользователей приложения.  smile 


Красиво написано,  smile , 
Мне интересно, как всё-таки как базы "масштабируются" в реальной жизни. Те как увеличить производительность только за счёт увеличения количества "машин".



--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0903 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.