На alphaworks.ibm.com появилось описание (http://www.alphaworks.ibm.com/tech/dbcjs/) интересной технологии IBM Database Connectivity for JavaScript (http://www.alphaworks.ibm.com/tech/dbcjs) (IBM DBCJS) - аналог ODBC для веб-приложений.
Это набор API функций, которые позволяют (http://blog.webrule.ru/?p=7) выполнять запросы к базе данных на сервере "почти напрямую". На стороне клиента IBM DBCJS состоит из набора API функций и библиотеки, которая может быть использована веб-приложениями напрямую, без использования каких либо дополнительных плагинов. На стороне сервера используется IBM DBCJS гейтвей(gateway), написанный на PHP. Это промежуточный слой функций между IBM DBCJS и сервером баз данных, он так же обеспечивает безопасность и перенаправление вызовов.URL: http://blog.webrule.ru/?p=7
Новость: http://www.opennet.me/opennews/art.shtml?num=10415
Оказывается "почти напрямую" - это через скрипт, через http сервер, через ODBC (например).
А о какой безопасности может идти речь, если запросы делаются из JS то есть со стороны клиента?
о безопасности для микрософт со стороны таких разработчиков :)
SQL, к Вашему сведению подразумевает "делание" запросов со стороны клиента к серверу. В Оракле уже давно используется механизм запросов посредством Java и JavaScript(c некоторыми функциональными ограничениями). В данном случае JS выступает в роли программного интерфейса для доступа к СУБД. Возможность доступа к БД посредством JS - вполне разумно и востребованно. А защиту данных и организацию доступа реализуйте на здоровье штатными средтвами СУБД. Ни для кого не секрет, что используя "серверный" программный PHP-интерфейс можно получить несанкционированный доступ к базам MySQL с клиентов. Каждая технология существует для своей области применения. При грамотном использовании защита системы будет на высоте.
Гм, а всегда боролись за "тонкого" клиента или я ошибаюсь? А в результате память отгребаемая тойже Мозиллой вырастает до сотен метров на некоторых сайтах... по мне так лучше когда каждый занимается своим делом... сервер обрабатывает логику, клиент рендерит картинку ИМХО еще никогда ничего толкового не получалось когда кто-то начинал заниматься не своим делом... (Сугубо Субьективное Мнение :) )
/me представил юзеров жизнерадостно хреначащих своей стороны SELECT * FROM ... или того веселее DROP TABLE ... :)
Давно использую подобные запросы, только на стороне клиента мой собственный cgi, написанный на c.Запрос идет с правами зарегистрированного пользователя. Что ему разрешено, то и доступно. Никаких DROP ему не обломится, если прав не дадено. Разговоры о безопасности на пустом месте раздражают.
Толщину клиента в данном случае блюсти ни к чему. Глупо не использовать ресурсы клиента из идеологических соображений.
> Давно использую подобные запросы, только на стороне клиента мой собственный cgi, написанный на c.Для тех кто в танке: .cgi выполняется на стороне сервера - независимо от того, на чём он написан.
сорри, конечно на стороне сервера
>Давно использую подобные запросы, только на стороне клиента мой собственный cgi, написанный
>на c.
Наверное вы все-таки имели в виду сервера.В принципе - тоже вариант.Но какие плюсы дает выполнение запросов со стороны юзера (кроме бОльшей опасности про**а и того что юзврег лишнего выполнит) пока не совсем очевидно.Можно пояснить?>Запрос идет с правами зарегистрированного пользователя. Что ему разрешено, то и доступно.
Ну это уже другой вопрос.А вы как, сами делите права и проводите валидацию user input?
Плюс я вижу в том, что количество мест описания бизнес-логики сокращается на единицу. Раньше это было: база данных, серверные скрипты, клиентские скрипты. Теперь: база данных, клиентские скрипты.Авторизация идет через список пользователей базы данных.
+1
http://zkoss.org/ , тут подобные вещи уже реализованны