Найти в Дзене
Oracle APEX

RISBANK и Oracle APEX

Технология быстрой компонентной сборки информационных систем RISBANK была создана в России в конце 1990х годов, средство быстрой разработки Web приложений Oracle APEX появилось в 2004 году. Между этими двумя подходами есть много общего, но есть и существенные различия. Мы попробуем вспомнить, как все это было. Говоря про RISBANK, я должен упомянуть имя Нины Рубиной, вклад которой в развитие и идеи, и технологии составляет 50%. Это соответствует действительности, закреплено соответствующим соглашением и является для меня приятным воспоминанием. Также я должен упомянуть, что большинство событий происходило на кафедре Компьютерных Технологий (КТ) Санкт-Петербургского ИТМО и во впоследствии созданных на тех же территориях организациях и подразделениях. Все события, также, теснейшим образом связаны с многолетним красивым проектом создания всероссийской университетской компьютерной сети RUNNet, хотя RISBANK и не являлся подпроектом RUNNet, будучи частной инициативой. Я не планирую называть
Оглавление

Технология быстрой компонентной сборки информационных систем RISBANK была создана в России в конце 1990х годов, средство быстрой разработки Web приложений Oracle APEX появилось в 2004 году. Между этими двумя подходами есть много общего, но есть и существенные различия. Мы попробуем вспомнить, как все это было.

Говоря про RISBANK, я должен упомянуть имя Нины Рубиной, вклад которой в развитие и идеи, и технологии составляет 50%. Это соответствует действительности, закреплено соответствующим соглашением и является для меня приятным воспоминанием. Также я должен упомянуть, что большинство событий происходило на кафедре Компьютерных Технологий (КТ) Санкт-Петербургского ИТМО и во впоследствии созданных на тех же территориях организациях и подразделениях. Все события, также, теснейшим образом связаны с многолетним красивым проектом создания всероссийской университетской компьютерной сети RUNNet, хотя RISBANK и не являлся подпроектом RUNNet, будучи частной инициативой. Я не планирую называть имена уважаемых и талантливых участников тех событий – но непосредственно к RISBANK они отношения не имели и могли бы стать героями других рассказов.

Немного истории

Прежде чем начинать разговор о собственно RISBANK, надо вспомнить обстоятельства, непосредственно предшествовавшие появлению этой идеи.

В начале 1990х годов персональные компьютеры уже не были диковинкой в системе высшего образования России, но были чрезвычайно дороги и демонстрировали устойчивую тенденцию потихоньку исчезать из учебных аудиторий в не совсем ясном направлении. Требовалась идея, как изменить формат поставки компьютеров в университеты таким образом, чтобы сделать невозможным изъятие машин по одной из компьютерных классов. Найденное решение было парадоксальным, но эффективным: поставлять компьютерные классы в виде бездисковых пользовательских машин, объединенных с сервером локальной сетью. В этом случае изъятая из класса машина превращалась в «трубу от граммофона», а изъятие сервера выводило из строя весь класс. Решение этой организационной задачи потребовало освоения новой области – сетевых технологий. Сборка и отправка сетевых компьютерных классов в университеты страны была поставлена на поток и решена к концу 1993 года.

Опыт, накопленный при сборке и поставке сетевых компьютерных классов в университеты, а также сформировавшиеся административные и технические контакты по всей стране легли в основу нового, еще более масштабного проекта. Объединение локальных сетей установленных ранее компьютерных классов во всероссийскую дальнемагистральную сеть было следующим шагом. Проект создания всероссийской университетской сети RUNNet стартовал в начале 1994 года и ежегодно демонстрировал количественный и качественный прирост сетевой связности высшей школы России. Электронная почта стала стандартом оперативного обмена сообщениями, развивались Web технологии, интеграция Web и баз данных открывала возможности создания интерактивных информационных систем.

RISBANK стучится в дверь

Во второй половине 1990х у будущих авторов RISBANK, тесно вовлеченных в описанные выше процессы, сформировалось мнение о том, что сетевая связность и серверные технологии сами по себе не приводят к автоматическому решению информационных задач. Да, уже все ведущие университеты имели устойчивую связь, хорошее обеспечение электронной почтой, свои Web сайты – но не было никакой гарантии того, что нужный адрес электронной почты можно найти, что Web сайт содержит нужную и актуальную информацию, что его раздел «Новости» не заканчивается прошлогодней записью «Мы открылись!»

Осознанию ситуации сопутствовали два обстоятельства:

1. Участие в проведении ежегодной всероссийской, а потом и международной, конференции;

2. Участие в международных проектах TACIS.

В обоих случаях приходилось иметь дело с обширными коммуникациями и с определенными правилами обращения с информацией. Успешная деятельность в обоих этих направлениях привела к ряду выводов разного уровня значимости и абстракции, которые затем способствовали появлению RISBANK:

· Правила информационного обмена в проекте должны вытекать из его целей, обосновываться и фиксироваться, а не оставляться на усмотрение участников проекта;

· Эти правила должны фиксироваться техническими средствами; следование этим правилам должно быть максимально облегчено, а отклонение от правил искусственно затруднено;

· Эти и последующие выводы укладываются в некую достаточно стройную теорию, а также могут быть достаточно изящно реализованы на практике;

· Максимальное количество информационных активов проекта должно храниться и обрабатываться в базе данных, а средством доставки полезной информации и управления всей системой должен быть Web;

· Разработка индивидуальных информационных систем для разных проектов является затратным подходом; предпочтительным подходом является разработка комплекта базовых компонентов систем, отражающих элементарные правила информационного обмена, из которых реальные системы будут собираться, как из конструктора;

· Стоимость владения собственной качественной информационной системой для проекта может быть неприемлемо высокой, а аренда такой сборной системы от специализированной компании может оказаться интересной альтернативой;

· В этом случае компания-поставщик услуги вкладывает свои ресурсы в анализ типовых правил информационного обмена проектов, в их декомпозицию на элементарные правила, в реализацию этих правил в виде программных компонентов и в систему оперативной сборки реальных систем из готовых компонентов – сайт за чашкой кофе.

Напомним еще раз, что это была вторая половина 1990х годов, когда еще не существовало социальных сетей, а системы управления контентом еще только начинали появляться. В это время и появился RISBANK – Rent of Information Support Based on Advanced Network Knowledge – Аренда Информационной Поддержки на Основе Продвинутого Понимания Сети.

Теория RISBANK

В основу теоретических рассуждений по RISBANK легли две очень далекие концепции:

1. Logical Framework Approach – методология ориентированного на цель проектного планирования и обоснования ожидаемой успешности проекта;

2. OSI Model – открытая модель сети передачи данных (в упрощенном варианте модель Интернета TCP/IP).

Каждая из этих концепций основана на слоистой структуре, в которой вышележащий слой является причиной существования и заказчиком услуг нижележащего:

· Цель проекта требует результатов;

· Результаты требуют действий;

· Действия требуют ресурсов;

· …

· Приложение требует гарантии доставки пакетов;

· Гарантия доставки требует маршрутизации и транспорта пакетов;

· Транспорт и маршрутизация требуют аппаратных средств.

В каждой из частей эти правила соблюдаются строго – в противном случае либо проект не достигнет цели, либо приложение не получит данных. Но стыковка слоистой структуры проекта и слоистой структуры информационной системы напрямую невозможна, поскольку не описаны правила взаимодействия, слишком далеки друг от друга нижний слой структуры проекта и верхний слой информационной системы. Между ними образуется Разрыв. Именно этот Разрыв приводит к неудачам создания «информационного пространства» над сетью передачи данных.

Нами было предложено ввести пару изначально согласованных слоев, соответственно, в нижней части логической структуры проекта и в верхней части логической структуры информационной системы, таким образом перекрывая Разрыв:

· Дополнение снизу в модель проекта: Информационная Политика – формализованные на языке проекта правила его информационного обмена, увязанные в причинно-следственную матрицу проекта и способствующие достижению проектом его цели;

· Дополнение сверху в модель информационной системы: Информационная Поддержка – совокупность действий и средств, направленных на воплощение Информационной Политики (проекта-клиента).

Подобно тому, как бесконечное количество химических соединений основывается на конечном числе химических элементов, а бесконечное количество музыкальных произведений – на конечном количестве нот, бесконечное количество разных проектов имеет бесконечное количество Информационных Политик, но эти политики с очень высокой вероятностью представляют собой комбинации конечного числа элементарных информационных задач.

В теории все замкнулось: цель проекта через несколько слоев определяет его Информационную Политику, эта политика передается поставщику Информационной Поддержки, который самостоятельно принимает решения о формах и методах ее технической реализации в виде комбинации решенных элементарных информационных задач.

Работы в области RISBANK велись в академической среде. Поэтому мысли и результаты в этой области достаточно подробно и часто освещались в статьях и выступлениях на конференциях, многие из которых выходили на английском языке. Наиболее полное изложение теории и практики RISBANK вышло в 2002 году на английском языке в форме многостраничного иллюстрированного реферата Нины Рубиной для одного из британских университетов, где подобному направлению исследований посвящалось значительное внимание.

Практика RISBANK

Терминология RISBANK имела определенную маркетинговую подоплеку. Само наименование концепции и технологии фонетически включало «банк», что во второй половине 1990х вызывало повышенный интерес. Словосочетания «информационная политика», «информационная поддержка», «информационное пространство» постоянно звучали в самых разных контекстах, но RISBANK предложил определения этих понятий, не входившие в противоречие с практикой их постоянного упоминания в СМИ. Это было достаточно динамичное, конкурентное, конфликтное время и владение формальными определениями модных понятий давало инструменты для полемики:

- Мы создали информационное пространство!

- Простите, понятие пространства предполагает его размерность. Какова размерность Вашего информационного пространства?

- ???

- Хорошо. Размерность пространства – это количество его (линейно) независимых координат. В RISBANK реализовано N независимых элементарных информационных задач, из которых собираются частные информационные пространства обслуживаемых проектов. Соответственно, размерность информационного пространства сервера RISBANK равна N, а поддерживаемого проекта M <= N. А у Вас?

Все элементарные информационные задачи, представлявшиеся актуальными в то время, были реализованы в виде PHP компонентов и таблиц Oracle. В базе данных хранились как смысловые данные, так и метаданные – информация о взаимодействии компонентов, о картах сайтов проектов, о правах доступа и т.п.

Пожалуй, самой интересной частью практической реализации RISBANK было административное Web приложение, позволявшее создавать сайты проектов удаленно от сервера RISBANK. Это приложение позволяло формировать навигационные карты, наполнять их компонентами, настраивать компоненты, создавать группы пользователей и наделять их правами.

В пике своего расцвета RISBANK предоставлял Информационную Поддержку паре десятков проектов совершенно различного масштаба – от индивидуальных сайтов частных лиц до международных проектов и ежегодной международной конференции по проблемам информатизации образования.

Работы по RISBANK были остановлены в 2002 году по организационным причинам, а активы утрачены. Примерно через 10 лет после этого RISBANK был полностью переписан по памяти со значительными улучшениями, в частности, в плане информационной безопасности, и в течение нескольких лет обслуживал службу сопровождения пользователей некоторого федерального агентства.

Немного об Oracle APEX

Oracle APEX (Application Express) – это средство для быстрого создания Web приложений из стандартных готовых модулей с разработкой из Web браузера.

Oracle APEX полностью берет на себя реализацию пользовательского интерфейса, автоматизирует хранение и сессионный контроль метаданных – служебной информации, необходимой для взаимодействия страниц, передачи параметров, организации процессов разграничения доступа. При этом он полностью оставляет разработчику ведение смысловой части базы данных: интерфейсные компоненты либо прямо отображаются на созданные разработчиком произвольные таблицы и представления, либо взаимодействует с ними на уровне SQL конструкций.

Целью Oracle APEX представляется создание для разработчика возможности полностью сосредоточиться на наиболее важных смысловых компонентах информационной системы – ее пользовательской архитектуры и структуры базы данных, – забирая на себя рутинные вопросы создания сложных экранных компонентов (интерактивные отчеты, графики, формы и т.п.). Он, также, обеспечивает максимально гладкую стыковку запросов разработчика и оптимизатора базы данных, оборачивая и реформируя запросы, что, справедливости ради, изредка приводит к парадоксам.

Аудиторией Oracle APEX являются пользователи деловых приложений, которых устраивает элегантный, но стандартный дизайн страниц, но которым важна скорость реакции разработчиков на их меняющиеся потребности. Скорость реакции разработки при пользовании этой технологией определяется скоростью формулирования SQL запроса – реализация интерфейсной части обычно выполняется несоизмеримо быстрее.

Вместе с тем, программирование на Oracle APEX отчасти напоминает езду на автомобиле с автоматической КПП: многочисленные стандартные задачи решаются быстро и просто, но «безобидные фантазии» заказчика могут неожиданно вызвать значительные проблемы.

Oracle APEX является бесплатной средой разработки, поставляемой в комплекте с сервером баз данных Oracle Database, даже для бесплатной версии Oracle Database Express Edition (XE). Это означает, что даже небольшая компания, автоматизирующая свои деловые процессы, может легально и бесплатно установить на своих серверных ресурсах Oracle Database и Oracle APEX из коробки, получая всю мощь манипулирования данными и производства программного продукта.

Сравнение RISBANK и Oracle APEX

Работы по RISBANK велись преимущественно в XX веке и были завершены в 2002 году; первая версия Oracle APEX вышла в 2004 году. Работы по RISBANK велись инициативно, Oracle APEX – это надстройка над сервером баз данных от ведущего поставщика профессиональных решений. RISBANK создавался в академической среде, лишь несколько лет тому назад приступившей к созданию магистральных систем передачи данных и распределенных информационных систем на их основе. Oracle APEX создавался лидером капитализации производства программного обеспечения для крупных заказчиков на пределе технического уровня развития индустрии и масштабов решаемых задач.

И RISBANK, и Oracle APEX предназначены для создания Web приложений, допустимо сказать «для создания Web сайтов». Ни один, ни другой не являются системами управления контентом (CMS), но CMS, как частная задача, может быть создана на основе обоих.

Обе технологии управляются с помощью Web подсистемы разработки и управления, обе хранят и данные, и метаданные в базе данных Oracle.

Обе технологии основаны на быстрой сборке приложений из готовых компонентов, предоставляют разграничение поддерживаемых проектов: у RISBANK это проект, у Oracle APEX это рабочее пространство и приложение (2 уровня). Обе технологии поддерживают разграничение доступа пользователей, но Oracle APEX имеет гораздо более развитый механизм регламентации доступа.

Обе технологии рассматривают Web страницу, вызываемую методом GET с параметрами, в качестве «молекулярного» элемента своей структуры. Но у RISBANK Web страница – это готовая стандартная информационная задача, а у Oracle APEX Web страница – это контейнер для произвольного сочетания регионов, стандартных элементов страницы: форм, отчетов, графиков. Страница RISBANK для всех проектов имеет одинаковую структуру, страница Oracle APEX имеет произвольную структуру, собранную из стандартных регионов.

RISBANK мыслит понятием Информационной Политики, нацелен на реализацию правил информационного обмена проекта непосредственно. Oracle APEX оставляет программисту переход от Информационной Политики к приложению – он не ставит своей задачей регламентацию информационного обмена, а предоставляет полную свободу в этом вопросе. RISBANK был нацелен на преодоление Разрыва между проектом и информационной системой, Oracle APEX предлагает скорость компонентной разработки, но на решение абстрактной проблемы стыковки логик проекта и поддержки не претендует. Цели у этих двух технологий разные, хотя заметное сходство прослеживается.