Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как подружить сайт с БД? / 20 сообщений из 20, страница 1 из 1
09.02.2009, 10:10
    #35805010
mmi
mmi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Доброго времени суток.

Существует такая задача:
Есть очень небольшая фирма, у этой фирмы имеется сайт, написанный на PHP, располагается данный сайт у провайдера. Также сотрудники офиса в своей работе пользуются давно приобретенной программой. БД данной программы крутится на MSSQL 2000. И вот руководство захотело "подружить" сайт с БД. Условно пользователи сайта можно поделить на три группы: Клиенты (приобретатели услуг), Партнеры (поставщики услуг) и Операторы (сотрудники офиса).

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

Спасибо.
...
Рейтинг: 0 / 0
09.02.2009, 11:31
    #35805237
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
- самый простой вариант - периодический экспорт данных (например в CSV-формате) из офисной БД, в БД установленную у хостинг-провайдера
...
Рейтинг: 0 / 0
09.02.2009, 11:56
    #35805321
mmi
mmi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Kachalov- самый простой вариант - периодический экспорт данных (например в CSV-формате) из офисной БД

Спасибо за ответ, это что-то типа самописной репликации получится?

В данной задаче предполагается двунаправленный поток, как из БД на сайт, так и заявки оставляемые клиентом на сайте должны в конечном итоге появиться в БД. Правильно ли я понимаю, что при репликации возникает необходимость дублирования части структуры БД на стороне веб-сервера?
...
Рейтинг: 0 / 0
09.02.2009, 12:07
    #35805347
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
mmiВ данной задаче предполагается двунаправленный поток, как из БД на сайт, так и заявки оставляемые клиентом на сайте должны в конечном итоге появиться в БД.
- "конечный итог" - это сколько по времени? Какая временная дельта между данными на сайте и данными в офисной БД допустима?

mmiПравильно ли я понимаю, что при репликации возникает необходимость дублирования части структуры БД на стороне веб-сервера?
- да, обычно это вызвано тем что у хостера используется БД отличная от БД используемой в офисе (что-то типа: MySQL у хостера и MS SQL в офисе). Возможен вариант найти PHP хостинг на Windows с MS SQL и тогда репликацию данных будет осуществлять проще. Также PHP может удаленно конектится к офисной MS SQL, но это не очень секьюрно (как настроить) и, скорее всего (зависит от архитектуры сайта), чревато потерями производительности.
...
Рейтинг: 0 / 0
09.02.2009, 12:10
    #35805358
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
mmi
так и заявки оставляемые клиентом на сайте должны в конечном итоге появиться в БД.
каким образом, если программа офисная куплена официально и её БД может правиться только из самой программы?
...
Рейтинг: 0 / 0
09.02.2009, 12:34
    #35805425
mmi
mmi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Petro123каким образом, если программа офисная куплена официально и её БД может правиться только из самой программы?

Куплена то она, куплена, только производитель давно ее не поддерживает, бизнес данная программа на 99% устраивает, а сам бизнес за последние пять лет не поменялся. Код серверной части доступен, структура то же более-менее понятна.

Спасибо.
...
Рейтинг: 0 / 0
09.02.2009, 12:51
    #35805467
mmi
mmi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Kachalov
- "конечный итог" - это сколько по времени? Какая временная дельта между данными на сайте и данными в офисной БД допустима?


В идеале хочется realtime, но это только тогда, когда в офисе есть кто-то из сотрудников. Заявка, пришедшая в субботу вечером, может спокойно ждать своей очереди до утра понедельника.

Kachalov
Также PHP может удаленно конектится к офисной MS SQL, но это не очень секьюрно (как настроить) и, скорее всего (зависит от архитектуры сайта), чревато потерями производительности.

Этот вариант интересен, ожидаемое число заявок невелико до 30 в день, процедура добавления заявки в БД сводится к добавлению записей в три - четыре таблицы. С возможными потерями производительности офисной БД руководство согласно.
...
Рейтинг: 0 / 0
09.02.2009, 12:55
    #35805472
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
mmi
В идеале хочется realtime, но это только тогда, когда в офисе есть кто-то из сотрудников.
вы определитесь - одно или второе
...
Рейтинг: 0 / 0
09.02.2009, 12:56
    #35805477
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
mmiВ идеале хочется realtime, но это только тогда, когда в офисе есть кто-то из сотрудников. Заявка, пришедшая в субботу вечером, может спокойно ждать своей очереди до утра понедельника.
- во многих компаниях это сделано как оповещение по email при поступлении нового заказа на сайт

mmiС возможными потерями производительности офисной БД руководство согласно.
- я имел в виду потери производительности для сайта, т. к. удаленный коннект к БД через Интернет это обычно не очень быстро (кстати, а Вы можете гарантировать что офисная БД будет всегда доступна? может у Вас в офисе на выходные/на ночь электричество отключат?)
...
Рейтинг: 0 / 0
09.02.2009, 13:01
    #35805489
mmi
mmi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Petro123вы определитесь - одно или второе

Ответ в такой постановке вопроса - конечно realtime. Определиться мне мешает только, то, что я не представляю разницы в стоимости первого и второго вариантов, что-то подсказывает мне что эти стоимости будут разными.
...
Рейтинг: 0 / 0
09.02.2009, 13:06
    #35805501
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
mmiPetro123вы определитесь - одно или второе

Ответ в такой постановке вопроса - конечно realtime. Определиться мне мешает только, то, что я не представляю разницы в стоимости первого и второго вариантов, что-то подсказывает мне что эти стоимости будут разными.
если руководство готово мириться с минусами от Kachalov (недоступность сайта при падении сети в офисе), то варант с удалённым коннектом - дешевле. Всё (МНОГОЕ) зависит от Web программиста проекта
...
Рейтинг: 0 / 0
09.02.2009, 13:26
    #35805582
mmi
mmi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Kachalov
- во многих компаниях это сделано как оповещение по email при поступлении нового заказа на сайт
Оповещение по email у нас сейчас тоже работает, проблема только в том, что дальше сотрудник офиса вынужден вручную заводить данные заявки в офисную программу, чего и хотелось бы избежать. Так же, кроме клиентских заявок еще существуют и партнеры, которые осуществляют подтверждение (бронирование).

Kachalov
- я имел в виду потери производительности для сайта, т. к. удаленный коннект к БД через Интернет это обычно не очень быстро (кстати, а Вы можете гарантировать что офисная БД будет всегда доступна? может у Вас в офисе на выходные/на ночь электричество отключат?)
Гарантировать круглосуточную доступность БД я не могу. Сейчас на сайте есть буфер, в котором и хранятся пришедшие с сайта заявки.
Развернуть часть сайта, отвечающую за работу с заявками, на сервере в офисе по причине возможных отключений электричества не хочется. На размещении копии офисной БД у провайдера руководство не пойдет.
...
Рейтинг: 0 / 0
09.02.2009, 13:35
    #35805613
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Petro123готово мириться с минусами от Kachalov (недоступность сайта при падении сети в офисе)
:) я бы еще добавил необходимость адекватной настройки файрвола для офисной БД
...
Рейтинг: 0 / 0
09.02.2009, 13:42
    #35805631
mmi
mmi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Petro123если руководство готово мириться с минусами от Kachalov (недоступность сайта при падении сети в офисе), то варант с удалённым коннектом - дешевле. Всё (МНОГОЕ) зависит от Web программиста проекта

Как я понял, без хранения копии БД у провайдера проблему недоступности сайта решить неудасться?

Прошу Вас, если есть такая возможность, поделиться информацией о требованиях к каналу, для варианта удаленного коннекта. Запросы/данные в этом случае ходят в бинарном виде? Какими средствами для данного варианта, возможно будет обеспечить безопасность сервера БД?

Petro123Всё (МНОГОЕ) зависит от Web программиста проекта
Таковой имеется, паренек толковый вроде. Неподскажите, какие ключевые слова ему нужно озвучить?

Спасибо.
...
Рейтинг: 0 / 0
09.02.2009, 13:44
    #35805636
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
mmiОповещение по email у нас сейчас тоже работает, проблема только в том, что дальше сотрудник офиса вынужден вручную заводить данные заявки в офисную программу, чего и хотелось бы избежать. Так же, кроме клиентских заявок еще существуют и партнеры, которые осуществляют подтверждение (бронирование).
- что-то мне это напоминает ;) Случайно не ЖД билеты продаете?

mmiСейчас на сайте есть буфер, в котором и хранятся пришедшие с сайта заявки.
Развернуть часть сайта, отвечающую за работу с заявками, на сервере в офисе по причине возможных отключений электричества не хочется. На размещении копии офисной БД у провайдера руководство не пойдет.
- на сайте должны быть только заказы и те данные которые Вы планируете отображать на сайте, тащить все офисную БД на сайт бессмысленно. Соответственно репликация данных производится для заказов и для того что требуется показывать на сайте.
...
Рейтинг: 0 / 0
09.02.2009, 13:50
    #35805658
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
mmiКак я понял, без хранения копии БД у провайдера проблему недоступности сайта решить неудасться?
- полная копия БД не нужна (см. выше). Кроме предложенных, возможен вариант с периодической автоматической синхронизацией данных (как задание в cron), что менее критично для работы сайта чем соединение с БД в момент заказа или для отображения списка "чего-то там".

mmiПрошу Вас, если есть такая возможность, поделиться информацией о требованиях к каналу, для варианта удаленного коннекта.
- главное требование стабильность соединения, остальное зависит от объема данных которые предполагается передавать (этот момент Вы не озвучили)


mmiКакими средствами для данного варианта, возможно будет обеспечить безопасность сервера БД?
- адекватной настройкой файрвола
...
Рейтинг: 0 / 0
09.02.2009, 14:02
    #35805700
mmi
mmi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Kachalov- что-то мне это напоминает ;) Случайно не ЖД билеты продаете?

И ЖД в том числе ;)

Kachalov
- на сайте должны быть только заказы и те данные которые Вы планируете отображать на сайте, тащить все офисную БД на сайт бессмысленно. Соответственно репликация данных производится для заказов и для того что требуется показывать на сайте.
Да для работы по заявкам и партнерам, конечно, вся база не нужна, даже структура таблиц, необходимая веб части сильно упрощается. Отсюда следуют вопросы: штатная репликация MSSQL сервера в данном случае подойдет, или нужно писать свою? Если писать самим то, как я понимаю, требования наличия у хостера сайта MSSQL сервера отпадает?
...
Рейтинг: 0 / 0
09.02.2009, 14:19
    #35805759
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
mmiPetro123Всё (МНОГОЕ) зависит от Web программиста проекта
Таковой имеется, паренек толковый вроде. Неподскажите, какие ключевые слова ему нужно озвучить?

IMHO
- 2-х сторонняя репликация
- атомарность распределённой транзакции (стадии прохождения заявки)
- Бизнес-Логика на офисной БД
- слой обеспечения совместимости БЛ с покупной программой и её БД.
- защита данных при публикации БД
- удобство и персонализация интерфейса Web для клиентов
- ...
...
Рейтинг: 0 / 0
09.02.2009, 14:30
    #35805789
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
mmiИ ЖД в том числе ;)
date.com.ru? dalekoe-blizko.ru? davs.ru?

mmiОтсюда следуют вопросы: штатная репликация MSSQL сервера в данном случае подойдет, или нужно писать свою?
IMHO, лучше свою (более гибкое решение, если разрешить доступ только для определенных таблиц еще и безопасней выйдет)

mmiЕсли писать самим то, как я понимаю, требования наличия у хостера сайта MSSQL сервера отпадает?
- да, можно реплицировать в любую базу (возможно возникнет вопрос конвертации типов)
...
Рейтинг: 0 / 0
09.02.2009, 15:02
    #35805896
mmi
mmi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как подружить сайт с БД?
Petro123
- Бизнес-Логика на офисной БД
- слой обеспечения совместимости БЛ с покупной программой и её БД.
- удобство и персонализация интерфейса Web для клиентов
- ...
Это понятно, и думаю, что нам по силам.

Petro123
- 2-х сторонняя репликация
- атомарность распределённой транзакции (стадии прохождения заявки)
- защита данных при публикации БД


Это результат наличия двух БД?

Еще раз большое Спасибо.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как подружить сайт с БД? / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]