Автор: Аарон Хансен (Aaron Hansen), компания Tridium, Inc, председатель комитета по XML стандартам oBIX
Стандарт oBIX (Open Building Information Exchange/Открытый обмен информацией в зданиях) для сетевых служб включает в себя большое количество специфических особенностей, и если его пока еще нет в открытом доступе, то скоро это будет возможным. Стандарт oBIX (Open Building Information Exchange/Открытый обмен информацией в зданиях) для сетевых служб включает в себя большое количество специфических особенностей, и если его пока еще нет в открытом доступе, то скоро это будет возможным. В любом случае, стандарт oBIX, продвигаемый консорциумом по открытым стандартам OASIS, является уникальным среди других стандартов сетевых служб. Уверен, что акцентирование внимания на его уникальных особенностях будет способствовать развитию интереса к этому стандарту, и смею надеяться, это привлечет вас к участию в процессе его стандартизации.
Стандарт oBIX позволяет специалистам-интеграторам подключать такие системы, как системы контроля доступа к корпоративным системам, и связывать их, например, с обслуживающими их операторами. Хотя сегодня это осуществляется с использованием контрольно-измерительных точек, графиков тенденций и предупреждающих сообщений, все ожидают, что эти требования будут быстро изменяться. То есть oBIX – это гораздо больше, чем просто способ описания точек данных, тенденций и предупреждающих сообщений. Это расширяемая модель для описания других моделей. oBIX позволяет продавцам систем автоматизации полностью описывать их характеристики, а также выявлять нестандартные данные и находить новые способы для их применения.
Расширяемость заложена в основу стандарта oBIX за счет использования понятия «соглашение». Соглашение – это список всех условий и моделей, которым соответствует сложный набор данных. Соглашения используются для описания стандартизованных структур, таких, как контрольно-измерительные точки, тенденции и предупреждающие сообщения, а также для описания данных, генерируемых закрытыми системами автоматизации, предлагаемыми их поставщиками. Прелесть использования соглашений в том, что можно вводить новые соглашения, не затрагивая основной схемы стандарта oBIX. В типичных сетевых службах, предназначенных для деловых приложений, введение новых структур данных требует создания новых документов схем. А это сущий кошмар для разработчиков новых версий. Существующие инструменты не могут обрабатывать неизвестные им схемы и поэтому игнорируют нестандартные данные. При использовании стандарта oBIX поставщики систем и разработчики стандартов могут задавать соглашения, и если клиент даже не будет знать, как поступать с новыми соглашениями, он все еще сможет пользоваться содержащимися в них первичными данными. Таким образом, все данные становятся допустимыми, а инструменты перестают игнорировать нестандартные данные.
Стандарт oBIX уникален еще и потому, что при установлении связей он агностичен. В нем не только существует связь с SOAP, позволяющая oBIX взаимодействовать с WS-* (стеком сетевых услуг), но поскольку для связи используется протокол HTTP, это делает стандарт oBIX совместимым с архитектурой REST (Representational State Transfer/Передача текущего состояния). На этом принципе основан современный Интернет. Хотя в строгом смысле этого слова он и не является стандартом, но лучше всего его можно позиционировать как набор стандартов, использование которых и стало причиной успеха современных сетевых технологий.
Примерами подобных стандартов являются HTTP, URL, XML и HTML, на основе которых построен oBIX. Он определяет объекты с помощью их URL-адресов, представляет данные о состоянии этих объектов в формате XML и пересылает данные об объектах по протоколу HTTP, используемому для передачи HTML-страниц. Доступ к oBIX-серверам может осуществляться с помощью сетевых браузеров, и поэтому они могут индексироваться поисковыми системами, подключаться к другим сетевым страницам и взаимодействовать на базовом уровне с любыми другими основными сетевыми технологиями.
Слышали ли вы о технологии Applied JavaScript & XML (AJAX)? Проще всего AJAX описать как динамические веб-страницы, посылающие запросы в фоновом режиме и автоматически производящие собственное обновление. Подобные веб-страницы со сложным содержанием ведут себя как независимые приложения, но для их отображения не требуются специальные дополнения-plugins для браузеров. Хороший пример использования данной технологии – ресурс Google Maps. И если вы с ним еще не знакомы, обязательно посетите его. Совместимость с архитектурой REST очень важна, поскольку позволяет строить интерфейсы, работающие в реальном масштабе времени, столь же просто, как и обычные веб-страницы. Это преимущество кардинально – оно легко создает сложные интерфейсы, не зависящие от используемой системы.
Совместимость с архитектурой REST также означает, что доставка информации о событиях, таких как появление предупреждающих сообщений и изменение отслеживаемых значений, осуществляется так же, как и в обычной сети.
Рассмотрим, например, электронную почту. Большинство ее пользователей полагают, что отсылаемые сообщения каким-то магическим образом попадают на экран их адресатов. Но получатель электронных писем – программа-клиент, периодически проверяющая наличие новых входящих сообщений на почтовом сервере. Детали процесса передачи данных не должны волновать конечного пользователя. Технология RSS (Really Simple Syndication/Действительно простое распространение данных), используемая для доставки сетевых новостей и связи сетевых порталов, также основана на опросе клиентом заданных серверов. Таким образом, при использовании oBIX для регистрации событий клиент просто извещает сервер о том, какие события его интересуют, и после этого периодически опрашивает сервер о новых событиях. При их отсутствии сервер не посылает клиенту никаких ответных сообщений. Это «элегантное» решение дало возможность обойти множество сложных вопросов, связанных с межплатформенным оборудованием и программным обеспечением, что и позволило подобным технологиям завоевать господствующие позиции в современных сетях.
И последнее – так как oBIX очень удобен для моделирования, то ему можно найти и другие применения, не связанные с интеграцией работы элементов систем в реальном масштабе времени.
Я имею в виду возможность использования oBIX для описания различных устройств. В нашей компании мы разработали собственную запатентованную XML-схему, предназначенную для описания различных устройств, используемых в нашей продукции. Мы создаем XML-документы для этих устройств, которые затем преобразуются специальным компилятором, автоматически создающим нужные программные блоки для нашей продукции.
В будущем планируем перейти на использование oBIX для создания описаний устройств, предлагая нашим партнерам делать то же самое. Ведь тогда нам будет легко обмениваться описаниями устройств в открытом портативном формате, пригодном для автоматического считывания.
Я надеюсь, что заинтересовал вас, так как уверен, если вы посвятите еще какое-то время изучению материалов о стандарте oBIX, то осознаете, каков его действительный потенциал для создания интерфейсов между различными коммерческими системами и их отдельными компонентами. Кстати, вам еще не поздно присоединиться к техническому комитету OASIS, занимающемуся разработкой стандарта oBIX, и внести свой существенный вклад в это общее и важное дело.
Дополнительную информацию по стандарту oBIX можно получить по адресу: http://oasis-open.org/committees/obix
По материалам сайта AutomatedBuildings |