Взгляд на Internet
Если бы вам нужно было разработать способ хранения данных чрезвычайно разнообразных типов, которые можно было бы связывать друг с другом многочисленными и непредсказуемыми способами, нормальная файловая система была бы почти самым худшим из решений, которые вы могли бы придумать. Так почему мы храним данные Web таким образом? Разве не для этого были придуманы базы данных?
Поддержка данных, которые хранятся в сотнях или даже тысячах отдельных файлов, становится одной из самых больших проблем при управлении узлом Web. При увеличении размера узла даже просто поддержка связей между документами превращается в задачу для Геракла - задачу, которая привела к разработке таких инструментов поддержки, как WebAnalyzer фирмы InContext. Но единственный реальный путь решения проблемы - это просто совсем избавиться от статических HTML-файлов.
Использование баз данных для хранения всех данных узла Web - а не только реляционных - превращается в предпочтительное решение. Уже несколько узлов хранят все страницы и рисунки в базе данных и генерируют HTML-документы "на лету", когда пользователи запрашивают данные. Реализация такой системы, однако, обычно представляет собой дорогостоящий специализированный программный проект.
Несколько производителей работают над продуктами, которые позволяют снизить ценовой барьер. Интересны два из них - WebPower фирмы Arachnid (http://www.arachnid.com) и DynaBase Web Management System фирмы Electronic Book Technologies (http://www.ebt.com). Ни тот ни другой продукты пока не поставляются, но их бета-версии доступны на Web-узлах компаний.
Обе системы устраняют досадные ошибки в связях между документами и рисунками на узле, используя динамическое разрешение связей, а также позволяют обойти проблемы, связанные с применением реляционных баз данных на основе SQL для типов данных, используемых в Web. Arachnid разработала промежуточную объектно-ориентированную надстройку над СУБД Oracle (в будущем будут поддерживаться и другие базы данных, использующие SQL), а EBT использует объектно-ориентированную базу данных напрямую.
Одна из самых интересных особенностей обоих продуктов - то, что они позволяют создавать узлы с динамически адаптируемым содержанием. Например, на узле Arachnid в некоторых документах ко мне обращались по имени.
Продукт EBT включает более притягательные средства разработки приложений, в том числе язык сценариев, совместимый с Visual Basic. Продукт Arachnid использует CGI для создания механизма выборки и формирования HTML-документов, который в результате работает медленнее, но может использоваться с любым Web-сервером.
Одна общая для обоих продуктов проблема заключается в том, что любая организация, устанавливающая их, должна будет их интегрировать с существующими системами публикации и формирования содержания. Если вы просто создаете HTML-документы, как раньше, и помещаете их в базу данных, вы не слишком продвинулись в решении исходной проблемы. По крайней мере, эта часть процесса в большинстве компаний все же потребует специального программирования, но преимущества динамических узлов Web позволят окупить затраты для компаний, поддерживающих несколько сотен HTML-страниц.
Предполагается, что Web должна быть динамической. Избавившись от статических HTML-файлов, мы ближе подойдем к этой цели.
Имон Салливан