Oracle для профессионалов



              

Открытость - часть 3


СУБД Oracle предлагает возможность детального контроля доступа (Fine Grained Access Control, FGAC, — ему посвящена глава 21). Если коротко, эта технология позволяет разработчику встраивать в базу данных процедуры, которые изменяют поступающие в базу данных запросы. Это изменение запросов используется для ограничения количества строк, которые клиент может получать или изменять. Процедура может определять, кто выполняет запрос, когда этот запрос выполняется, с какого терминала и т.д., и ограничивать соответствующим образом доступ к данным. С помощью FGAC можно организовать такую защиту, когда:

  • запросы, выполняемые в нерабочее время определенным классом пользователей, не возвращают никаких записей;
  • данные могут читаться с терминала в охраняемом офисе, но на терминал "удаленного" клиента конфиденциальная информация не выдается.
  • Эта возможность позволяет организовать контроль доступа в СУБД, непосредственно выдающей данные. Теперь уже неважно, получает ли пользователь данные через компоненты, страницы JSP, из приложения на VB с помощью ODBC или через SQL*Plus, — будут применяться одинаковые правила защиты. Вы готовы воспринять любую новую технологию.

    Теперь я спрошу: какая технология более "открытая"? Та, что позволяет обращаться к данным только из кода VB и управляющих элементов ActiveX (замените язык VB языком Java, а компоненты ActiveX — компонентами EJB, если хотите; я говорю не о конкретной технологии, а о подходе)? Или та, что обеспечивает доступ из любой среды, способной взаимодействовать с СУБД, по столь отличающимся протоколам, как SSL, HTTP и Net8, или с помощью функциональных интерфейсов ODBC, JDBC, OCI и т. д.? Покажите мне средство создания отчетов, способное выполнять запросы к коду на VB. Я же назову десятки таких средств, выполняющих SQL-запросы.

    Решение идти на жертвы ради независимости от СУБД и полной "открытости" волен принять каждый, и многие так и поступают, но я считаю такое решение ошибочным. Независимо от СУБД, ее функциональные возможности необходимо использовать в полной мере. Именно это, как правило, и делается на этапе настройки производительности (этим приходится заниматься сразу же после внедрения). Удивительно, как быстро отказываются от требования независимости, если использование специфических возможностей СУБД позволяет ускорить работу приложения в пять раз.




    Содержание  Назад  Вперед