Hyperwave был разработан IICM в Graz. Он начинался как
Hyper-G и сменил название на Hyperwave при коммерциализации (насколько помню, это было в 1996).
Hyperwave это не бесплатная программа. Текущая версия, 5.5, доступна на
www.hyperwave.com.
Можно запросить оценочную версию с ограниченным временем использования (30 дней).
Hyperwave это информационная система, аналогичная database (HIS, Hyperwave Information Server). Она сфокусирована на хранении и обслуживании
документов. Документом может быть любой блок данных, которые могут
сохраняться в файле. Каждый документ сопровождается записью объекта. Запись
объекта/object record содержит метаданные документа. Метаданные это список
атрибутов, который может быть расширен пользователем. Некоторые атрибуты
всегда устанавливаются Hyperwave-сервером, другие могут модифицироваться пользователем.
С 2001 г. доступен Hyperwave SDK. Он поддерживает Java,
JavaScript и C++. Данное расширение PHP базируется на интерфейсе C++.
Чтобы активировать поддержку hwapi в PHP, вы должны сначала установить Hyperwave SDK и сконфигурировать PHP с опцией
--with-hwapi=<dir$gt;.
API, предоставляемый расширением HW_API, является полностью объектно-ориентированным.
Он очень похож на интерфейс C++ Hyperwave SDK. Он состоит из следующих классов.
HW_API
HW_API_Object
HW_API_Attribute
HW_API_Error
HW_API_Content
HW_API_Reason
Некоторые базовые классы вроде HW_API_String, HW_API_String_Array, etc., которые имеются в
Hyperwave SDK, не реализованы, поскольку PHP имеет для них полноценную замену.
Каждый класс имеет метод, имя которого идентично имени его двойника из Hyperwave SDK.
Передача аргументов такой функции отличается от всех других расширений PHP и
напоминает C++ API пакета HW SDK. Вместо передачи различных параметров, они
все помещаются в ассоциативный массив и передаются как один параметр. Имена
ключей идентичны именам, задокументированным в HW SDK.
Общие параметры перечислены ниже. Если необходимы другие параметры, они
будут документированы, если это необходимо.
objectIdentifier - имя или id объекта,
например, "rootcollection", "0x873A8768 0x00000002".
parentIdentifier
- имя или id объекта, который считается родительским.
object - экземпляр класса HW_API_Object.
parameters - экземпляр класса HW_API_Object.
version - версия объекта.
mode - целочисленное значение - способ выполнения операции.
attributeSelector - массив строк, каждая из которых содержит имя атрибута. Это используется, если
вы запрашиваете запись объекта и хотите включить некоторые атрибуты.
objectQuery
- запрос на выбор определённого объекта из списка объектов. Используется для
уменьшения количества объектов, выдаваемых функциями вродеhw_api->children() или
hw_api->find().
Интеграция с Apache и, возможно, другими серверами уже описана в модуле Hyperwave Modul,
который был первым расширением для соединения с Hyperwave Server.