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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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


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