![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Забегу вперед и сразу отвечу на вопрос, почему этот топик я создал в этой ветке. Суть вопрос не в технической реализации хранимых процедур, а в том, как это отражается на архитектуре приложения, которая прежде по большей части строилась на базе PHP.
К сути. Руководитель в текущем проекте настаивает на полной инкапсуляции всей логики работы с БД в хранимые процедуры MySQL. Меня, как разработчика, такая идея очень удивила. Я уже давно свыкся с мыслью, что ведущие разработчики всего мира являются приверженцами объектно-ориентированного подхода к программированию. Благодаря этому движению мы имеем паттерна ActiveRecord и проекторы, вроде Doctrine, которые по сути призваны реляционную логику приводить к объектно ориентированной. На фоне этого использование хранимых процедур мне кажется возвратом в каменный век. Т.е. имхо с точки зрения удобства в работе - это просто катастрофа. Далее я пытался найти другие, возможные плюсы, этого подхода. Единственный более или менее достойный ответ был - это безопасность. Я соглашусь с тем, что безопасность действительно выше, но сомневаюсь, что прирост общего показателя безопасности будет существенным. Так вот у меня вопрос. Какой смысл от этого подхода? |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
В чем? После взлома сайта могут залить тот же пыхадмин и получить данные из СУБД, в том числе и хранимые процедуры (а из них вывести опять все связи). -------------------- Amazing |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
MoLeX, Предполагается, что приложение не может выполнять произвольные запросы - только процедуры.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Кто ограничивает приложение? Внутренняя самодисциплина разработчиков? Или есть более другие способы запретить выполнение любого запроса? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Для работы с базой данных приложение использует определенную учетную запись, закрепленную за ним. У этой учетной записи права минимальные т.е. только запуск процедур. Добавлено через 4 минуты и 48 секунд Просьба не уходить от основной темы топика - хранимых процедур. Вопрос безопасности - это частность, а меня интересует ваше общие мнение о данной технологии. |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
правила форума запрещают использовать всю мощь русского языка, если вкратце: да ну её нафиг -------------------- Amazing |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Смысл в отделении логики приложения от различных фронтендов.
php и web-интерфейс это не единственные потребители БД. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
||||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Весь проект самодельный и переписывать - добивать его будет одна и та же команда разработчиков? Следует понимать, что ни один сторонний модуль подключить не удастся. Придется самим писать все служебные утилиты навроде phpmyadmin. Ну или запускать такие утилиты под более правильным аккаунтом. Это сообщение отредактировал(а) ksnk - 6.6.2012, 16:53 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| JackGmen |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 20.8.2011 Репутация: нет Всего: нет |
Я думаю этот вопрос стоит задать руководителю ...
|
|||
|
||||
| Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
А без "если". Оценочный размер проекта в человеко-часах. Круг задач, которые он должен решить. Доступные ресурсы Этот тот минимум, чтобы можно было хотя бы гадать на кофейной гуще. Добавлено через 1 минуту и 13 секунд
Это о чем? Какой сторонний модуль?
Разве это проблема? -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
Хранимые процедуры лучше использовать в триггерах когда происходят какие то события с таблицами но не более, переносить логику в БД это тупость.
-------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Fortop,
Кратко. Проект рассчитан на 2 месяца, задача/цель - каталог с возможность заказа (без оплаты) со сложным механизмом фильтров и выгрузкой данных в CRM, ресурсы в разумных пределах не ограниченные. Архитектура проекта целостная и предполагает только выгрузку данных по собственной инициативе. Т.е. единственный потребитель базы данных - само приложение, оно же и занимается выгрузкой данных. Не каких сторонних потрибителей, согласно спецификации, в проекте не придусмотренно. Руководитель ответил, что так мы избавляемся от необходимости писать SQL в коде и улучшаем безопасность. Более подробных комментариев получить не удалось. Не знаю, что именно имел ввиду ksnk, но меня ооочень сильно напрягает невозможность работать с базой через ORM. Это сообщение отредактировал(а) BuShaRt - 6.6.2012, 23:49 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Систему комментариев на сайте, почтовые рассылки, служба online-саппорта и так далее - все это придется не брать готовыми из готовых проектов а писать самим практически с нуля... Если сверхзадача - написать все самим и самим же это все тащить, развивать и поддерживать, то почему бы и нет, но скорее всего задача - получить работоспособный, расширяемый проект Это сообщение отредактировал(а) ksnk - 7.6.2012, 00:18 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Таких модулей в проекте не придусмотренно =) Все сами... ну или за счет более мелких составляющих.. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |