LINUX.ORG.RU

Как работают такого рода программы?


0

0

Существует множество программ, в которых множество клиентов общаются с центральной базой данных. Обычно, выбор базы данных (mysql, oracle, sql...) - за клиентом. Один пример такой программы - bugzilla. Как я понимаю, на сервере, между клиентом и самой базой данных есть оболочка, которая переводит запросы клиента в запросы, соответсвующие данной базе. До сих пор - всё понятно (если не ошибаюсь).

Багзилла - программа свободная, а бывают программы платные, в которых идет оплата по количеству юзеров (на пример: http://www.fogcreek.com/FogBugz/). В этом случае, контроль количества юзеров обеспечивается программой-оболочкой. Если доступ к базе данных есть, что мешает сторонней программе обратиться к ней (базе данных) в обход оригинальной оболочки, и подать данные клиенту? Достигается-ли защита шифрованием данных, так, что их обработка на сервере возможна только "правильной" программой, или-же существуют другие стратегии защиты?

(П.С: вопрос задан с целью пополнить комп. грамотность. Я не собираюсь ни писать не взламывать программы)

★★

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

Jik
()

>Как я понимаю, на сервере, между клиентом и самой базой данных есть оболочка, которая переводит запросы клиента в запросы, соответсвующие данной базе

если вся логика не в базе - она используется как хранилище данных, то даже этого не надо: select - он и в Африке select, да простит меня Шатлворт.

Уверен, что бугзилла так и работает

Pi ★★★★★
()

Серьёзные проекты обычно обладают трехзвенной структурой, будь то клиент <--> сервер приложений <-->БД. И именно на средний ложится обработка всех запросов, блокировок таблиц и очерёдностью транзакций.

А вот как отдавать он будет: если сервер приложений сможет выплёвывать данные по HTTP то выбор будет поистине хорош - начиная от SOAP и заканчивая XML. И всё это через шифрованые каналы (SSL).

Ej_Pulsar
()
Ответ на: комментарий от Ej_Pulsar

>блокировок таблиц и очерёдностью транзакций.

тока не надо бредить: это задача БД и никто лучше её не справится

Pi ★★★★★
()
Ответ на: комментарий от Pi

Возможно человек имел ввиду транзакционное управление на аппликейшн сервере, а не СБД.

Вспомним транзакции в EJB.

Но вот лочить таблицы... это тока БД.

PingWIN
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.