Financial/Data Warehousing DataBlade Modules
Informix Software, Inc. | Informix TimeSeries DataBlade |
Consistency Point Technologies, Inc. | CPT OptiLink DataBlade |
Electronix Digital Documents,Inc. | EDD DataCleanser DataBlade |
Expector Software,Inc. | Expector Fuzzy Search DataBlade |
IUWA: универсальная архитектура Informix для работы в Internet/Intranet
А. Гвоздев, Informix (тел.: 755-8700, )
Основные положения
Развитие WEB приложений.
Мощные и гибкие, "разумные" ( intelligent ) WEB приложения.
IUWA - Informix Universal Web Architecture.
Продукты, инициативы и партнеры Informix в решении
проблем работы в Internet/Intranet
Примеры реализованных проектов - это работающая технология.
1996 год часто называют "годом Internet". Вполне
может быть 1997 год будет годом утверждения и реального массового
использования Internet в бизнесе. Другими словами, в 1997 году
люди начнут разрабатывать, использовать и управлять Internet/Intranet
приложениями столь же активно и эффективно как делают это сейчас
с традиционными приложениями. При этом можно говорить о множестве
требований, которым должны удовлетворять эти web-приложения. Например:
Обеспечить максимально простой
доступ ко всей существующей информации;
Обеспечить максимально возможное использование
уже накопленных данных и разработанных приложений/алгоритмов;
Снизить стоимость доставки информации;
Позволить бизнес процессам быть максимально гибкими;
Обеспечить динамическую доставку конкретной информации,
необходимой именно данному пользователю ( customizable information
);
Обеспечить адекватную поддержку новым каналам
сбыта ( прямые продажи через Internet, one-to-one маркетинг;
И многое другое...
То что все эти приложения требуют активного использования
баз данных ни у кого не вызывает сомнений. Существовавшие решения
использования баз данных в web-приложениях показали следующие
проблемы, требующие решения. Это:
Обеспечение хорошо масштабируемой
web-инфраструктуры;
Решение проблем производительности;
Управление быстро растущим содержимым web-узла
и самим web-узлом;
Предоставление возможности настройки на каждого
индивидуального пользователя;
Поддержка постоянного развития web-приложения;
Поддержка максимальной безопасности;
Рис. 1.
Рис. 2.
Ни одна из выше названных задач не может быть эффективно
решена при использовании технологии web-узлов 1-го и 2-го поколения
(см. рис.1).Проблема заключается в предоставлении технологии (
и реальных продуктов, работающих в рамках этой технологии) обеспечивающей
максимально гибкую интеграцию баз данных в web-ориентированные
приложения. Такую технологию и предлагает Informix с помощью IUWA
- универсальной архитектуры для работы в WEB (рис. 2 ).
Основная идея проста:
вместо того чтобы создавать web-узел как трудно контролируемое
сборище файлов различных форматов, разнообразных скриптов и дополнительных
утилит, IUWA позволяет хранить весь web-узел в базе данных, обеспечивая
максимальную производительность, масштабируемость, гибкость и
управляемость. Все содержимое web-узла, включая тексты произвольного
формата, картинки, видео и аудио ролики, карты, шаблоны и логика
приложений хранятся в единой базе данных и доступны для работы
на клиенте, сервере или ПО промежуточного слоя. Особо хотелось
бы подчеркнуть то что:
хранение всей логики web-приложений
и полного содержания web-узла в базе данных обеспечивает максимальную
прозрачность модификации приложений
масштабируемость сервера БД обеспечивает адекватную
возможность значительного роста "мощности" web-приложения и роста
числа пользователей
возможности встроенной репликации БД серверов
Informix позволяют легко и эффективно строить распределенные web-узлы;
поддержка парадигмы "push computing" - т.е. интересующая
пользователя информация доставляется ему автоматически, в режиме
"подписки", без необходимости постоянного "плавания по Internet
в поисках необходимой информации
Какие конкретно продукты и программы входят в IUWA?
В поставку любого сервера БД
Informix бесплатно входит web-сервер от Netscape (Enterprise или
FastTrack) и браузер Netscape Navigator Gold
INFORMIX-Web DataBlade Module
INFORMIX-Universal Web Connect
Стратегия Java Anywhere, включающая продукт INFORMIX-JWORKS,
а также означающая предоставление Java API & JDBC и поддержку
Java на уровне сервера БД
Программы "INFORMIX-Universal Web Connect partners"
"Universal Web Solution Specialists"
"Electronic commerce partners"
Небольшие комментарии по некоторым позициям.
INFORMIX-Web DataBlade Module обеспечивает генерацию
HTML страниц " на лету" на основе содержимого базы данных; поддерживает
работу с любым браузером и web-сервером; поддерживает стандарты
CGI, ISAPI, NSAPI, SGML; имеет мощное средство разработки и контроля
Application Page Builder c набором готовых шаблонов.
INFORMIX-Universal Web Connect - единая платформа,
обеспечивающая работу единожды написанного web-приложения c любым
из серверов, от INFORMIX Workgroup Server до INFORMIX XPS и Universal
Server. Архитектура и механизм работы INFORMIX-Universal Web Connect
показаны на рисунках 3 и 4. Помимо функциональности предоставляемой
INFORMIX Web DataBlade, данный продукт обеспечивает:
поддержку постоянных сессий
web-пользователей c БД;
механизм поддержки транзакций через web;
режим работы "подписка-доставка";
Web-DB Publisher - максимально простое в использовании
средство, позволяющее конечным пользователям без знания HTML и
SQL создавать и выполнять отчеты над базой данных через web. Специальный
планировщик позволяет задать вам либо конкретное время генерации
отчетов, либо периодичность.
Продукт INFORMIX-JWORKS это компонентный инструментарий,
позволяющий Вам как самостоятельно, так и в любой среде разработки
приложений на Java (Java Workshop, Cafй, Visual J++ и др.), создавать
приложения с полнофункциональным доступом к серверам БД Informix.
Кроме того, виртуальная Java машина встраивается непосредственно
в INFORMIX Universal Server.
Коротко об участниках программы "INFORMIX-Universal
Web Connect partners".
Компания | Продукт | Функциональность |
Bluestone | Sapphire/Web | Среда разработки приложений для WEB |
HANT Software | HANTSITE | Среда разработки, мониторинга и управления web-узлом |
NetDynamics | NetDynamics Studio App Server | Основанная на Java среда разработки для web |
NetObjects | Fusion | Среда создания и развития web-узла |
OneWave | OneWave Enterprise | Средство, предоставляющее возможность уже существующим клиент-сервер приложениям работать через web |
Wallop Software | Build-IT | Cреда управления web-узлом |
Конечно, все сказанное можно рассматривать только как короткое
сообщение о предлагаемых Informix и его партнерами решениях. Мы
всегда будем рады рассказать Вам подробно о заинтересовавших Вас
продуктах, показать их в работе. Достаточно позвонить.
Рис. 3.
Рис. 4.
Рис. 5.
[]
[]
[]
JASMINE: объектно-ориентированная мультимедийная СУБД
О. Арефьев, Computer Associates
Построение виртуального предприятия
В настоящее время фирмам нужно перерабатывать горы информации, которую невозможно хранить в традиционных базах данных. К такой информации относится видео, звук и анимация. При этом фирмы остро нуждаются в создании мощных мультимедийных приложений следующего поколения, которые можно разместить в Internet, корпоративных Intranet и в системах клиент/сервер.
Jasmine может удовлетворить все эти потребности. Это первая и единственная промышленная объектно-ориентированная база данных, предоставляющая систему разработки мультимедиа-приложений, ориентированных на Internet/Intranet. Jasmine - это полнофункциональное интегрированное решение, открывающее бизнесу новые рынки, позволяющее повысить производительность, снизить затраты и вдохнуть новую жизнь в существующие системы
Обзор технологии
Уникальность продукта Jasmine объясняется согласованностью взаимодействия различных его функций. Jasmine одновременно:
...Объектно-ориентированный
Представляя бизнес-данные с помощью мультимедийного интерфейса, формируя логику приложений или накапливая данные в базе данных, Jasmine сохраняет объектно-ориентированный подход. Это важно, потому что объекты могут быть спроектированы один раз и затем многократно использованы, обеспечивая быстрое создание и распространение все более и более сложных приложений. Упрощается и процесс приспособления созданных ранее систем к изменяющимся потребностям бизнеса: доработке подлежат лишь отдельные структурные блоки, которых касаются изменения. Это исключает необходимость коренной переработки прежней версии продукта и позволяет строить чрезвычайно гибкие коммерческие приложения.
Кроме того, объектная СУБД увеличивает количество доступных и интерпретируемых данных. В то время как в прошлом компании были способны фиксировать скудные 15% от того объема данных, с котором они работали, Jasmine управляет всем пространством данных: от видео, звука, пространственных координат и карт, до молекулярных структур, временных рядов, финансовых инструментов и телекоммуникационных сетей.
Это увеличение в качестве и количестве данных улучшает процесс принятия решений.
...Обеспечивающий работу с Internet/Intranet
Система Jasmine в полной мере использует возможности интеграции Internet (или, в пределах компании,- Intranet) с широким спектром бизнес-стратегий, технологий и функций. Используя огромные возможности Internet, Jasmine уменьшает затраты на поиск заказчиков и поставщиков, геометрически расширяет рынки и облегчает организацию своевременного производства и платежей. В рамках корпоративной Intranet Jasmine способствует концентрации деловой активности на особо-важных направлениях, упрощению организации бизнеса и предоставляет возможность работникам более эффективно обмениваться информацией.
...Поддерживающий мультимедиа
Благодаря многовариантности представления информации мультимедиа-системы коренным образом улучшают качество информации. Например, при их использовании в целях рекламы товаров можно создать столь привлекательный виртуальный интерфейс, что рекламируемая продукция будет представлена потенциальному заказчику с самой выгодной стороны. А это сразу приведет к увеличению объема реализации. Мультимедиа могут также использоваться корпорациями для передачи важнейшей информации акционерам для получения их поддержки. Служащие, имеющие мощь мультимедиа в своем распоряжении, повышают производительность своей работы и принимают решения лучше и быстрее. Они также тратят минимальное время на изучение новых приложений.
...Полнофункциональный и открытый
Jasmine - завершенный программный продукт, спроектированный в расчете на удовлетворение самых современных требований рынка. Все, что требуется для разработки приложений - начиная от раннего прототипа и вплоть до готового к коммерческому использованию продукта,- всегда "под рукой" и готово к использованию. Это является существенным для создания нового поколения мультимедийных бизнес-приложений.
Так как все функциональные модули Jasmine бесшовно интегрированы в целостную визуальную среду, Jasmine позволяет существенно поднять производительность труда программиста.
Объектно- ориентированная СУБД действует как распределенное хранилище информации, которое облегчает многократное использование системных и прикладных программ и упрощает поддержание и сопровождение. Встроенная функция быстрой разработки прототипов приближает процесс проектирования приложений к бизнесу и обеспечивает удовлетворение потребностей конечных пользователей.
...Мощный и надежный
Разработчики могут легко создавать прикладные программы, которые отражают сложности ежедневной деловой активности. Jasmine, который объединяет бизнес-процессы и данные в связную объектную модель, позволяет разработчикам решать сложные проблемы, создавая приложения путем простой компоновки типовых структурных элементов. Построенные на основе проверенных технологий Computer Associates International, Inc. (CA) и Fujitsu, приложения Jasmine постоянно демонстрируют высокие стандарты целостности, надежности и производительности, которые необходимы для критически важных бизнес-функций.
...Переносимый и расширяемый
Jasmine учитывает, что разработчикам выгодно создать приложение один раз, а затем распространить в Internet или Intranet. Доступ к созданной Jasmine продукции открыт повсюду благодаря многоплатформенной Web-ориентированной исполнительной среде. Использование большого массива библиотек классов, созданных CA и Fujitsu, а также множеством независимых фирм-производителей программного обеспечения, позволит пользователям реализовать мощный потенциал Jasmine для расширения спектра приложений.
Архитектура
Приложения Jasmine допускают распространение: они работают на рабочих станциях клиентов, как автономных, так и на Web-браузерах, а также взаимодействуют с сервером базы данных, реализующим бизнес-логику и обеспечивающим хранение объектов мультимедиа.
Такая распределенная архитектура позволяет полностью использовать ресурсы современных настольных компьютеров для поддержки мультимедиа и взаимодействия с пользователями. В то же время критически важная бизнес-логика реализуется в надежной и защищенной среде сервера.
Дополнительное повышение производительности достигается за счет применения инструментария разработки приложений, соответствующего конкретной задаче. Бизнес-логика реализуется с помощью богатого возможностями объектно-ориентированного языка программирования, в то время как средства взаимодействия с пользователем представлены простым в использовании непроцедурным инструментарием, управляемыми с помощью одной клавиши "мыши". Таким образом удается избежать разработки сложных сценариев, что до настоящего времени было такой трудоемкой работой при традиционном программировании для мультимедиа-систем, и направить творческий потенциал на создание внешнего представления и организацию взаимодействия с конечным пользователем, а персонал разработчиков сконцентрировать на программировании внутрисистемных процедур.
Особенности системы:
Индустриально-мощный, многоплатформенный, объектно-ориентированный процессор базы данных
Высокоэффективный процессор базы данных, действующая как репозитарий для определения, администрирования и параллельного доступа к определениям классов и объектам;
Объектно-ориентированная база данных обеспечивает интеллектуальную поддержку для сложных структур и больших объемов данных, требуемые современными мультимедиа-приложениями, и все возможности, необходимые в современных объектных базах данных, включая многократное наследование, методы и свойства классов;
Богатый объектно-ориентированный язык для описания бизнес-логики на сервере, обеспечивающий все возможности современных объектно-ориентированных языков; Jasmine также поддерживает методы в C, C++ и Java;
Обширная библиотека классов с предопределенными классами для мультимедиа и других сервисных классов;
Универсальный доступ к унаследованным системам, обеспечивающий интеграцию с данными в реляционных базах данных из объектно-ориентированной оболочки;
Открытый интерфейс разработки приложений (API) для C и C++ и любых систем разработки приложений, поддерживающих OLE ;
Сервер доступен для различных UNIX-систем и Windows NT.
Интегрированная среда разработки для создания визуальных объектно-ориентированных мультимедийных приложений
Система разработки с обширной совокупностью мультимедиа-классов, включающих обработку изображений, видео, звука, алгоритмически сгенерированной фоновой музыки и речевого распознавания;
Интеллектуальный редактор для расположения объектов на "сцене", определяющий их свойства и поведение, определяющий их взаимодействие с пользователем и устанавливающий связь объектов с базой данных;
Визуальные, типа "point-and-click", средства для определения классов, программирования методов и редактирования объектов;
Среда разработки доступна для Windows 95 и Windows NT.
Небольшие требования к платформе для эксплуатации мультимедиа-систем, работающих или самостоятельно, или как модули расширения Web-браузеров
Автономный режим работы, подходящий для внутриофисных приложений, автономных императивных систем мультимедиа со свободным доступом и многих других ситуаций;
Работа в виде расширения к Web-браузерам, в частности как полностью интегрированного модуля расширения для Netscape Navigator; основанная на Web работа оптимизирована для ограниченной пропускной способности и обеспечивает инкрементный доступ к мультимедийным данным, интеллектуальное кэширование и сжатие их при передаче;
Многоплатформенное подключение к серверу: или через прямое сетевое соединение, или через соединение Internet/WEB;
Исполнительная среда доступна для Windows 3.1, Windows 95, Windows NT, Macintosh и платформы UNIX/Motif.
Объектно-ориентированный процессор базы данных
Надежная база данных
Объектно-ориентированный процессор базы данных Jasmine обеспечивает надежный фундамент, необходимый для мультимедиа-приложений, доступных через Internet, и особенно для организации электронной коммерции. Эта среда обеспечивает целостность и безопасность данных, управление транзакциями, производительность, характерную для СУБД промышленного уровня.
Полная объектно-ориентированная функциональность
Технология объектно- ориентированных баз данных особенно хорошо подходит к обработке сложных структур и больших объемов данных, требуемых для современных мультимедиа-приложений. В отличие от неструктурированных "больших бинарных объектов" (BLOB), присутствовавших в классических реляционных СУБД, объектно-ориентированная система органично воспринимает структуру, присущую таким большим массивам данных, как видео, звук, изображения, и обеспечивает возможности для анализа и обработки этих данных.
Jasmine поддерживает все возможности, характерные для современных объектно-ориентированных баз данных:
множественное наследование;
свойства экземпляров и классов;
методы экземпляров и классов;
собственная поддержка наборов с помощью методов для них.
Мощный объектно-ориентированный язык
Методы определяются в мощном объектно-ориентированном языке с собственным синтаксисом для обработки объектов базы данных, поиска в базе данных и навигации наборов. Благодаря этому языку снимаются барьеры, разделявшие ранее программирование и базу данных: методы работают в базе данных под полным контролем систем управления транзакциями и защиты информации.
Jasmine поддерживает методы, созданные в языках С и С++, что позволяет использовать накопленный опыт программирования и предоставляет возможность повторного использования существующей логики. Jasmine предусматривает также поддержку методов, разрабатываемых для Java - одного из важнейших средств создания приложений для Internet.
Широкая библиотека классов
Jasmine включает в себя широкую библиотеку классов, рассчитанную на поддержку мультимедиа-информации и других данных сложных типов, включая изображения, последовательности мультипликационных фреймов, различные типы звука, видео, компоновку текстов и страниц.
Будучи полезными инструментами сами по себе, встроенные классы также обеспечивают основу для расширения, выступая в качестве предков для последующих классов, создаваемых для нужд конкретных приложений. Кроме основных классов, поддерживаемых CA, разработчики третьих фирм также поставляют библиотеки классов, что позволяет обеспечить мощную основу для разработки приложений.
Интеграция с реляционными базами данных
Jasmine предусматривает интегрированную поддержку дополнительных СУБД, в том числе реляционных систем, подобных CA-OpenIngres, Oracle, Sybase, Informix, SQLServer, а также СУБД для больших ЭВМ, таких как CA-IDMS, CA-Datacom, DB2. Благодаря представлению данных в виде объектов, такая интеграция позволяет применять методы, разработанные для объектов Jasmine, ко всем данным, хранящимся в разработанных ранее приложениях. Разумеется, новые приложения могут быть установлены и подключены к общей информационной системе "незаметно для пользователя", без изменения структуры существующих элементов.
Особенно тесно взаимодействует Jasmine с CA-OpenIngres, поддерживая бесшовное управление транзакциями, защиту информации, управление дублированием данных в среде CA-OpenIngres и Jasmine.
Гибкие API-интерфейсы
Мультимедиа хорошо использовать для приложений конечного пользователя. Однако повседневные служебные функции (например, управление запасами, установление цен продукции, публикация каталогов, управление отгрузкой товаров), зачастую вынуждают оформлять программы для доступа к базам данных, используя традиционные языки программирования. При этом, как правило, применяется стандартная архитектура взаимодействия клиент/сервер.
База данных Jasmine поддерживает API-интерфейсы для доступа к объектам из языков С, С++ и SmallTalk. Средства ActiveX также обеспечивают подключение баз данных к Visual Basic и другим системам разработки приложений, поддерживающим ActiveX.
Автоматический HTML-визуализатор
Jasmine предоставляет автоматический HTML-визуализатор, обеспечивающий для текстов и форм доступ к объектам Jasmine, их связям и методам из стандартного Web-браузера. HTML-визуализатор не обладает всеми возможностями собственных средств мультимедиа Jasmine, однако позволяет выполнять настройку внешнего представления по шаблонам, разработанным на инструментальных средствах HTML.
Среда разработки приложений
Интегрированная среда разработки
Интегрированная среда разработки функционирует на рабочей станции Windows (Windows 95 и Windows NT). Система предоставляет инструментарий для просмотра и редактирования объектов и классов в базе данных, а также для создания и редактирования мультимедиа-приложений.
Просмотр и редактирование классов
Браузер классов используется для идентификации и редактирования классов и их методов. С его помощью обеспечивается визуальное представление всех классов в базе данных, их отношения наследования, атрибуты и методы. База данных содержит объекты различных классов, как тех, которые могут быть представлены в мультимедиа-приложениях, так и тех, которые остаются при этом "в тени" и используются как скрытые объекты.
Редактор методов используется для определения методов - программ, принадлежащих к одному из классов и выполняемых на сервере. Методы определяются с помощью объектно-ориентированного языка, обладающего всеми возможностями, характерными для современных систем программирования, в том числе встроенной поддержкой навигации совокупностей объектов.
Хранение объектов баз данных и ресурсов мультимедиа
Браузер объектов предназначен для инспекции, определения и редактирования объектов в базе данных. Он представляет все атрибуты объекта (включая ссылки на другие объекты) с помощью визуального интерфейса, мультимедиа-атрибуты отображаются в графическом виде.
Мультимедиа-объекты могут иметь много типов мультимедиа-атрибутов, таких как фотографии продуктов, рекомендательные письма клиентов, руководства по установке и использованию компонента, проектные чертежи и торговые предложения. Браузер объектов включает простой интерфейс буксировки для накопления мультимедиа-ресурсов - образов, анимационных последовательностей, звука и видео.
Разработка мультимедиа-приложения
При разработке приложений с помощью размещения объектов создаются сцены. Пользователь может взаимодействовать с объектами, в свою очередь последние могут издавать звуки, демонстрировать видео- и анимационные ролики, а приложение тем временем переходит от одной сцены к другой.
Объекты, как пассивные (например, фон и мебель), так и активные (например сапоги, седло и ковбой), обладают собственными свойствами и поведением и могут предпринимать действия в рамках приложения мультимедиа с помощью методов, реализуемых как на машине-клиенте, так и на сервере.
Размещение объектов на сцене
Все классы, объекты и запросы отображаются в окне "Add Object". Вы можете разместить их путем простой буксировки на сцену.
Размещение выбранных объектов на сцене удобно для мебели, фона, интерактивных средств управления типа кнопок и специальных услуг типа тележки для покупок и кассы. Размещение классов или запросов на сцене используется для динамических ситуаций, когда приложение должна показывать много объектов, например при просмотре каталога изделий.
Определение взаимодействия и поведения
Поведение объекта - как он отвечает на действия пользователя, сообщения от базы данных и другие события - определяется в терминах событие-действие, не требующих никакого программирования.
События включают все случаи от нажатия клавиши до "задержки" курсора мыши, истечение таймеров, начало и конец мультипликации и видео, поступление сообщений посланные от других объектов. Объекты могут уметь производить большое число различных действий, включая показ графики, прогон мультипликации, звука или видео, изменение сцены и посылку сообщений другим объектам.
Для объектов некоторого класса с методами, определенными в базе данных, выполнение метода на сервере и ответ на его результат настолько же просто, как и прогон видео или мультипликации. Действия могут относиться непосредственно к методам и свойствам самого объекта и другим объектам базы данных.
Система также обеспечивает вычисление выражений, логику условий и циклов всякий раз, когда это требуется. Но, реально, сложная бизнес-логика не принадлежит внешнему мультимедиа-интерфейсу и выполняется методами серверной части приложения с использованием всей мощи и устойчивости к ошибкам объектно-ориентированного сервера и его объектно-ориентированного языка.
Исполнительная среда
Исполнительная среда Jasmine представляет собой оболочку для выполнения частей приложений, относящихся к машине клиента. Среда, в частности, управляет анимацией и другими мультимедиа-средствами, координирует взаимодействие пользователя с внутренними функциями, обеспечивает своевременное получение мультимедиа-ресурсов из базы данных, а также взаимодействует с сервером при реализации соответствующих методов.
Исполнительная среда может функционировать в двух режимах:
Автономный
В данном режиме мультимедиа-приложения выполняются на компьютере так же, как и другие приложения клиент/сервер. Этот режим наиболее часто используется для создания уникальной среды для пользователя в виде законченного приложения для специальных целей. Примерами таких приложений являются электронные каталоги на CD-ROM и автономные императивные системы мультимедиа со свободным доступом.
В такой конфигурации исполнительная среда взаимодействует с сервером с помощью любого подходящего коммуникационного протокола;
Интегрированный как модуль расширения в Web-браузере
Исполнительная среда Jasmine может функционировать как модуль расширения (или другой тип подключения) в Web-браузере. Это позволяет использовать мультимедиа-приложение как "applet" (небольшое специализированное приложение) в рамках HTML-страницы. Сфера его применения может быть различна: от простейших заставок и развлекательных анимационных роликов до сложнейших систем электронной коммерции.
В данной конфигурации исполнительная среда связывается с сетью посредством протокола HTTP, являющегося стандартом для Web. В отличие от других более ранних Web-модулей расширения, Jasmine не требует загрузки по линии связи или использования нефрагментированных анимационных роликов. Взаимодействие с сервером оптимизировано для обеспечения инкрементной загрузки, чтобы минимизировать требования к быстродействию сети и использовать механизмы кэширования WEB-браузеров, проксисов и серверов.
Программирование
Как в первом, так и во втором режиме исполнительная среда Jasmine доступна управлению со стороны пользователя. Web-браузеры с JavaScript или VBScript обеспечивают взаимодействие с мультимедиа-приложениями Jasmine. Кроме того, другие приложения, написанные на Visual Basic или другом языке, поддерживающем OLE-технологию, также имеют возможность доступа в среду Jasmine и управляют ею.
С процессором Pentium Pro связано появление целого ряда новых приложений в сфере управления бизнесом. Многие из этих приложений будут разработаны на Jasmine фирмы СА - одной из первых сред разработки приложений мультимедиа, которая полностью поддерживается объектной базой данных. Сочетание процессора Pentium Pro и системы Jasmine дает предприятиям возможность развернуть у себя развитые мультимедийные приложения, в которых максимально используются быстро растущие возможности Internet.
Дейв Хаус (Dave House), Первый вице-президент корпорации Intel, Генеральный менеджер подразделения Enterprise Server Group
Стой, смотри и слушай! В один прекрасный день во всех базах данных будут реализованы функции Internet Commerce Enabled (ICE) продукта Jasmine. Но это будет не скоро. Сейчас в Jasmine есть необыкновенный набор функций для разработки приложений следующего поколения, обогащенных мультимедиа и нетрадиционными типами данных и полным пониманием того, что распределенным приложениям нужны продуманные контроль и управление.
Питер Кастнер (Peter Kastner), Вице-президент, Aberdeen Group
Sun Microsystems готова помочь предприятиям воспользоваться возможностями Internet на базе таких технологий, как Java и JavaScript. По мере роста коммерческого использования Internet повысится спрос на надежную объектно-ориентированную базу данных Jasmine, позволяющую переносить новые мультимедийные приложения в сеть.
Скотт МакНили (Scott McNealy), Президент, Председатель совета директоров и Исполнительный директор корпорации Sun Microsystems.
Система Jasminе олицетворяет стремление СА вести рынок за собой, а не тащиться в его хвосте.
Возможности мультимедиа сочетаются в ней с мощной средой содержательного управления, что позволяет удовлетворить насущную потребность в "новой среде" и приложениях на базе Internet/WWW.
Наташа Крол (Natasha Krol), Вице-президент, директор по сервису, META Group
Программа по Jasmine для партнеров по разработке программного обеспечения: Обеспечить технологию завтрашнего дня уже сегодня
Фирма Computer Associates финансирует программу для партнеров по Jasmine, которая позволяет ее участникам создавать бизнес-приложения, удовлетворяющие требованиям завтрашнего дня.
Программа по Jasmine для партнеров по разработке программного обеспечения является уникальной и построена таким образом, чтобы стимулировать спрос на любое связанное с Jasmine решение независимо от того, является ли оно бизнес-приложением (критически важным и полномасштабным), специализированной библиотекой классов или дополнительным инструментальным средством для среды разработки. Партнеры получаю неограниченный доступ к организациям фирмы CA по всему миру, связанных с продажей услугами и разработкой. Обширная маркетинговая программа с помощью таких средств коммуникаций как реклама, взаимодействие с прессой, конференция CA-World, участие в международных мероприятиях и других позволяет дойти до каждого потенциального потребителя.
Открытая архитектура Jasmine и удобные API-интерфейсы облегчают провайдерам промышленных решений и системным интеграторам адекватно реагировать на текущие и возникающие потребности бизнеса. С увеличением темпов роста производства модульных программных компонентов заказчики со своими постоянно возникающими проблемами бизнеса будут обращаться к партнерам по Jasmine за современными мощными решениями для увеличения возможностей своей существующей информационной инфраструктуры.
Дополнительную информацию относительно Программы по Jasmine для партнеров можно получить по телефонам (095) 188-47-32, 974-70-83. Следите также за информацией на Web-сервере .
[]
[]
[]
Кто такой Артур Секрет и как это все начиналось
Первые попытки создания интерфейса между базой данных
и Web сервером. Роль CGI в становлении стандарта. Протокол HTTP
в системах браузер, Web-сервер и база данных.
Материалы технической конференции "Корпоративные базы данных '97"
ПЛЕНАРНЫЕ ДОКЛАДЫ
С.Кузнецов, Центр Информационных Технологий, Открытые системы
А. Волков, Компания "Корпоративные Системы"
Г. Ладыженский, Jet Infosystems
А. Вендров, Центральный Банк РФ (Москва)
А. Сахаров, Oracle
Х. Залкин, Informix
ПРОЕКТЫ, МЕТОДЫ И ТЕХНОЛОГИИ
С. Лапин, Е. Фоминский, Г. Козлов, Е. Фоминская, Б. Позин, Компания Аргуссофт
В. Ляшков, ФОРС
А. Закис, Н. Приезжий, DataX/FLORIN
В. Индриков, АО ВЕСТЬ
А. Старыгин, МетаТехнология
ПЕРЕХОД К АРХИТЕКТУРЕ КЛИЕНТ-СЕРВЕР
Б. Вольфман, ЭЛКО Технологии
С. Орлик, Borland
CASE-СРЕДСТВА И СИСТЕМЫ БЫСТРОЙ РАЗРАБОТКИ ПРИЛОЖЕНИЙ
Е. Ойхман, О. Евсеев, С. Паронджанов, Компания Аргуссофт (Москва)
Л. Сорокин, Oracle
УПРАВЛЕНИЕ ДАННЫМИ В РАБОЧИХ ГРУППАХ
А. Чернышев, Алконсофт
Г. Серяков, А. Симкин, Б. Позин, Компания Аргуссофт (Москва)
ОРГАНИЗАЦИЯ И АДМИНИСТРИРОВАНИЕ СОВРЕМЕННЫХ СУБД
О. Арефьев, Computer Associates
А. Бачин, ИВЦ АИС (Москва)
ТЕХНОЛОГИИ ДОСТУПА К БАЗАМ ДАННЫХ В INTERNET
Б. Филимонов, РД ТеХ
А. Гвоздев, Informix
М. Елашкин, Oracle
А. Шуленин, Microsoft
Менеджер хочет узнать...
Как найти заказы на сумму более чем $500, место доставки которых находится в пределах 50 км от заказчика
select C.cname from customer C, order O where Within50 (C.location, O.iocation) = T and O. Amount >500
Как найти заказы с пометкой "срочно", РО Date которых находится в пределах 4 дней от Order Date
select cname, orderID from order where FaxDateDiff(PO_fax,date)
*Within50() и FaxDateDiff() являются определяемыми пользователем функциями
Как найти маршруты, находящиеся в пределах зоны с почтовым кодом 77056
select R.route from route R, facility F where GeoZip (F.location) = 77056 and whithin (F.location, R.route_pts)
Как найти маршруты, общая длина которых превышает 100 км, с пометкой 'priopity'
select route from route where RouteLength(route_pts) > 100 and ContainsWords(route_notes,'priority') = T
*GeoZip(), Within(), RouteLength() являются определяемыми пользователем функциями
Как найти компоненты от поставщика XYZ в филиалах, расположенных в пределах 77056 почтовой зоны
select component_id from component C, facility F where GeoZip (F.location) = 77056 and C. Fname = F.fname and comp_id. Name like 'XYZ'; (comp_id is a ROW TYPE)
Где найти чертежи компонент, которые нуждаются в техническом обслуживании (временной ряд), помеченные "трудно"
select schematic from component where MaintlsDue= T and ContainsWords(comp_notes,'difficult') = T;
Найти компоненты, находящиеся в пределах пяти метров от места утечки
select component_id from component where DistWithin(comp_loc,(300,500))
*GeoZip(),MaintlsDue() иDistWithin() являются определяемыми пользователем функциями
Microsoft SQL Server и активный Internet
А. Шуленин, Microsoft
1. Обзор основных способов доступа
Правилом хорошего тона при написании статей, прямо
или косвенно затрагивающих тему Сети, стало введение, содержащее
философский анализ природы данного общественного явления и причин
столь взрывного роста его популярности. В силу априори ограниченного
объема пространства и времени мы позволим себе отступить от этого
правила и перейдем сразу к более прозаическим вопросам практики
создания Internet/Intranet приложений для работы с Microsoft SQL
Server.
Internet действительно неожиданно бурно ворвался
в устоявшуюся жизнь разработчиков клиент-серверных приложений.
Однако первоначальный шок довольно быстро прошел, как только наступило
осознание нехитрого в общем-то факта, что структура Интернет/интранет
приложений имеет много общего с традиционной платформой "клиент-сервер".
Правильнее говоря, World Wide Web также основывается на клиент-серверной
архитектуре. В самом деле, Web-браузер является типичным клиентским
front-end'ом, основное отличие которого от клиентских мест, построенных
с помощью Visual C++, Visual Basic, Visual FoxPro и других средств
разработки, состоит в более гибко настраиваемой функциональности,
которая может определяться даже во время выполнения программы.
При этом не требуется ни перекомпиляции, ни переустановки модулей,
что уже само по себе является нетривиальной задачей в больших
и сложных клиент-серверных системах масштаба корпорации. Правда,
первоначально браузеры использовались только как средства форматирования
статического текста. Однако активно развивающийся в Internet бизнес
вскоре перестал довольствоваться простой публикацией рекламы предприятия
и справочной информации о его деятельности. Например, клиент имел
полное право хотеть выбрать из рекламного проспекта фирмы понравившиеся
ему образцы и совершить покупку. Подобно типичному интерфейсу
клиентского приложения на VB, VFP и т.д., сценарий работы предполагал
заполнение клиентом некоторой формы, населенной, вообще говоря,
различными элементами управления, отправку соответствующего запроса
на сервер и прием результатов обработки. Таким образом, требования
бизнеса выдвинули на первый план принципы динамического взаимодействия
браузера и Web-сервера внутри сессии, что заставило задуматься
как об активной роли браузера, так и о расширении функциональности
сервера по сравнению с простым хранением и пересылкой HTML-документов.
Первым способом повышения активности Web-страниц
стали приложения Common Gateway Interface (CGI), поскольку спецификация
CGI позволяет браузеру вызвать тот или иной исполняемый модуль
или скрипт на Web-сервере, который мог обратиться с запросом к
базе данных, построить в HTML-кодах страницу результатов и передать
ее обратно Web-серверу, который же, в свою очередь, отсылал результаты
браузеру. CGI-приложения могут содержать вызовы других программных
(написанных, например, на С++) или командных (.bat, .cmd) файлов.
С помощью CGI-cкриптов, а точнее на языке PERL (Practical Extraction
and Reporting Language), построено немало интерактивных Web-приложений.
К сожалению, каждый такой скрипт исполняется как иной, нежели
Web-сервер, процесс, что быстро "съедает" ресурсы даже
достаточно "навороченной" по сегодняшним меркам машины,
особенно при большом количестве заходов на сервер.
Помимо исполнения CGI-скриптов, Microsoft Internet
Information Server (MS IIS) предоставляет разработчикам возможность
создания с помощью соответствующего API (ISAPI) приложений в виде
dll, запуск которых происходит в ответ на команду или выбор линка
на Web-странице. Каждое такое приложение выполняется в адресном
пространстве Web-сервера, что, естественно, повышает скорость
работы и существенно экономит машинные ресурсы. В зависимости
от сложности сайта и приложений, dll могут быть предзагружены
одновременно с запуском сервера, либо подгружаться/выгружаться
из памяти по мере необходимости.
Целью настоящей статьи является рассказ о способах
построения активных Web-страниц и средствах их взаимодействия
с Microsoft SQL Server. К наиболее известным средствам разработки
приложений на основе ISAPI относятся входящий в состав MS IIS
Internet Database Connector (IDC), а также свободно распространяемый
dbWeb. Кроме этого, мы рассмотрим простую, но достаточно мощную
утилиту в составе самого MS SQL Server 6.5 под названием SQL Web
Assistant. В завершение мы поговорим о развитии стратегии распределенных
вычислений, компонентном подходе к созданию распределенных приложений
и о концепции активных серверных страниц как наглядной реализации
компонент доступа к MS SQL Server через Интернет/интранет. Позиционирование
этих средств по шкале "сложность/функциональность" приводится
на рис.1.
Рис.1
Microsoft SQL Server Web Assistant
В состав Microsoft SQL Server 6.5 входит SQL Web
Assistant (см.рис.2), с которого было бы целесообразно начать
наше рассмотрение, так как это довольно простая в использовании
утилита, не требующая знания HTML и серьезной практики работы
с SQL. Web Assistant имеет интерфейс мастера (wizard), т.е. состоит
из ряда последовательных форм с вопросами, отвечая на которые
администратор может сэкономить время по выполнению рутинного HTML-кодирования
и получить готовую (в HTML-кодах) страницу, содержащую результаты
опубликования произвольного запроса к базе. Полученная страница
не является активной в строгом смысле этого слова, так как публикуется
при помощи push-метода (cм.рис.4), т.е. обновление происходит
по инициативе сервера, и не допускает обновления со стороны клиента.
Однако сервер может производить обновление (перегенерацию) страницы
на триггерной основе или на основе расписаний задач под управлением
SQL Executive. Мастер работает только с базами данных MS SQL Server
и использует три хранимых процедуры sp_makewebtask, sp_runwebtask
и sp_dropwebtask. При необходимости они могут использоваться самостоятельно
в кодах T-SQL.
Рассмотрим следующий простой пример. Пусть мы имеем
некоторую базу данных MS SQL Server, содержащую таблицу rates
с курсами валют.
id | kod | kurs |
1 | Валюта 1 | 1000.00 |
2 | Валюта 2 | 2000.00 |
3 | Валюта 3 | 3000.00 |
4 | Валюта 4 | 4000.00 |
5 | Валюта 5 | 5000.00 |
6 | Валюта 6 | 6000.00 |
7 | Валюта 7 | 7000.00 |
8 | Валюта 8 | 8000.00 |
9 | Валюта 9 | 9000.00 |
Рис. 3
Мы хотим публиковать на Web оперативные данные об
изменении курсов, как только таковые будут иметь место. Для этого
мы определяем задачу публикации:
sp_makewebtask @outputfile
= 'c:\rates.htm', @query = 'select kod, kurs from rates', @procname=web_rates,@resultstitle
= 'Курсы валют', @URL = "http://www.microsoft.com",
@reftext = 'Microsoft Home Page', @whentype=9
Практически все значения параметров здесь интуитивно
понятны. В пояснении нуждается только последний @whentype, который
означает, что страница должна быть создана сразу по выполнении
данного оператора, а также в дальнейшем по мере поступления запросов.
Полный перечень параметров процедуры и их назначение приводится
в руководстве по языку T-SQL.
Далее мы можем определить триггер на все виды транзакций
в таблице rates:
if exists (select * from
sysobjects where id = object_id('dbo.tr') and sysstat & 0xf
= 8)
drop trigger dbo.tr
go
create trigger tr on dbo.rates
for insert,update,delete
as exec sp_runwebtask
@procname=rates
go
Рис.4
Теперь любое изменение в таблице rates вызовет обновление
страницы c:\rates.htm. В своей презентации на выставке UnixExpo'97
я немного усложнил задачу и посылал запрос на MS SQL Server по
электронной почте непосредственно в теле письма с темой SQL.
update rates set kurs=kurs+100
where id=1
На MS SQL Server в этот момент была запущена утилита
SQLMail, обеспечивающая взаимодействие с электронной почтой, и
хранимая процедура
sp_processmail @subject='SQL',
@dbuse='db_rates', @set_user='dbo',
смысл которой состоял в том, чтобы сканировать содержимое
ящика входящих сообщений, выбирать из них непрочитанные с темой
SQL и передавать содержащийся запрос на выполнение MS SQL Server.
Как только письмо поступало, запрос обрабатывался и триггер инициировал
обновление соответствующей страницы.
2. dbWeb
Microsoft dbWeb представляет собой шлюз между 32-битными
ODBC-ресурсами, в качестве которых могут выступать, например,
Microsoft SQL Server, Microsoft Access, Microsoft Visual FoxPro,
Oracle и т.д., и MS IIS. dbWeb предусматривает создание схемы,
содержащей описание данных и связанных с ними Web-страниц. Он
поддерживает исполнение запросов в реальном режиме времени на
основе "pull"-модели публикации, позволяя тем самым
создавать активные Web-страницы.
Рис.5
Microsoft dbWeb структурно состоит из двух основных
компонент: dbWeb Service и dbWeb Administrator (cм.рис.5). dbWeb
Service является типичным ISAPI-приложением, которое обрабатывает
пользовательские запросы, направляемые посетителем страницы через
браузер, и управляет соединениями между браузером, ODBC-ресурсом
и IIS. К функциям dbWeb Administrator относится создание HTML-страниц,
содержащих результаты выполнения запросов на основе уже упоминавшихся
схем, с помощью которых осуществляется управление публикуемыми
данными. Схемы определяют сам запрос и структуру страниц. При
этом не требуется знания HTML или ISAPI, так как в состав dbWeb
Administrator входит интерактивный мастер-построитель схем (Schema
Wizard), который в традиционной для любой программы-мастера манере
позволяет задать поля поиска по методу Query-by-Example (QBE),
выбрать поля для отображения в таблице страницы результатов и
определить переходы из списка записей в отдельные страницы, содержащие
развернутую информацию по текущей записи. Настройкой соответствующих
свойств можно разрешать или запрещать операции вставки, удаления
и редактирования. Для проверки прав пользователя используется
система безопасности той СУБД, к которой происходит доступ. dbWeb
имеет в своем составе широкий спектр шаблонов страниц, которые
при необходимости могут быть легко откорректированы и настроены
разработчиком для более полного соответствия его задачам. Таким
образом, dbWeb не является конечным пользовательским приложением.
Скорее его можно охарактеризовать как достаточно легкий в использовании
инструментарий разработки, который, как всякий мастер, не поддерживает
языка программирования и оттого, на мой взгляд, несколько проигрывает
в функциональности рассмотренному нами ранее SQL Web Assistant,
несмотря на возможность инициируемого посетителем обновления информации
в базе. Тем не менее, эта программа успешно справляется с автоматизацией
большинства рутинных операций по организации соединений и публикации
данных из БД и покрывает, по разным оценкам, порядка 40-60% потребностей
бизнеса среднестатистической фирмы при организации доступа к своим
источникам данных через Internet.
dbWeb является свободно распространяемым
приложением и может быть установлен с Microsoft Technet, Windows
NT Resource Kit или непосредственно с .
3. Internet Database Connector (IDC)
IDC является другим примером достаточно давно и успешно
используемого ISAPI-приложения. Он входит в состав MS IIS. С помощью
вызовов функций ODBC API IDC обеспечивает прямую связь между полями
HTML-формы и соответствующим ODBC-достижимым источником данных,
например, базой данных MS SQL Server, без необходимости написания
замысловатых CGI-скриптов. Схема работы IDC показана на рис.6.
Для доступа к данным и публикации на Web IDC использует
файлы двух типов- .idc и .htx. Файл с расширением idc содержит
всю необходимую информацию о соединении с источником данных, текст
запроса, а также ссылку на соответствующий htx-файл. Файл с расширением
htx служит шаблоном страницы, на которой будут опубликованы данные
из базы, а также элементы оформления в виде статического текста,
графики, видео и т.п.
Рис.6
MS IIS распознает расширение .idc как вызов httpodbc.dll,
которая считывает http-заголовки из управляющего блока ISAPI для
определения параметров запроса. Httpodbc.dll читает и разбирает
idc-файл, указанный в URL. Имя источника, имя пользователя, пароль
и пр. используются для подключения к соответствующему ресурсу
ODBC, после чего httpodbc передает на выполнение SQL-запрос и
получает результаты. Результаты используются для наполнения заготовки
в виде htx-файла, после чего полученный HTML-документ MS IIS передает
браузеру. Описанная последовательность действий иллюстрируется
на рис.7
Продолжим развитие нашего простого примера из п.2
средствами IDC. Опубликуем таблицу rates с помощью файлов rates.idc
и rates.htx
Рис.7
Rates.idc:
Datasource: rates
Template: rates.htx
SQLStatement: select id,kod,kurs from rates
Username: sa
Rates.htx:
<!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html;
charset=windows-1251">
<meta name="GENERATOR"
content="Microsoft FrontPage 2.0">
<title></title>
</head>
<body>
<p><font size="5"><strong>Курсы
валют</strong></font></p>
<table border="1">
<tr>
<th><font
face="Times New Roman CYR">Код</font></th>
<th><font
face="Times New Roman CYR">Курс</font></th>
</tr>
<%begindetail%>
<tr>
<td><a
href="http://ntalexejs/aaa/rates_edit.idc?id1=<%id%>"><font
face="Times
New Roman CYR"><%kod%></font></a></td>
<td><font
face="Times New Roman CYR"><%kurs%></font></td>
</tr>
<%enddetail%></table>
</body>
</html>
Попутно заметим, что Microsoft FrontPage предоставляет
удобный редактор для построения заготовок и программу-мастер для
генерации idc-файлов. Результат показан на рис.8.
Рис. 8
Предположим, по ссылке мы хотим предоставить возможность
редактирования текущего курса валюты. Тогда соответствующая пара
файлов может выглядеть следующим образом:
Модуль DataBlade
Расширяет функциональность СУБД Определяемые пользователем типы данных и поведение Легко адаптируется самим заказчиком Выбор решений |
Модули DataBlade: географические и пространственные данные
ECOlogic Corporation | ECOlogic Visualization DataBlade |
Informix Software, Inc. | Informix Spatial DataBlade |
MapInfo Corporation | MapInfo Geocoding DataBlade |
TelContar | TelContar Global/Interval DataBlade |
Модули DataBlade: контекстный поиск и документооборот
ArborText | ArborText SGML Document Objects DataBlade |
Excalibur Technologies Corporation | ExcaliburReal-Time Profiling DataBlade Excalibur Text DataBlade |
IsoQuest | IsoQuest Name Tag DataBlade |
Open Text Corporation | Open Text LiveLink Document Managment DataBlade |
Personal Library Software | PLS Text DataBlade Verity Text DataBlade |
Verity,Inc. | Verity Text Extender DataBlade |
Модули DataBlade: мультимедийные данные
Excalibur Technologies Corporation | Excalibur Face Recognition Excalibur Image DataBlade Excalibur Scene Change DataBlade |
Informix Software, Inc. | Informix Video Foundation DataBlade |
MuscleFish LLC | MuscleFishAudio Information Retrieval DataBlade |
NEC Corporation | NEC TigerMark DataBlade |
Virage,Inc. | Visual Information Retrieval DataBlade |
Vxtreme,Inc. | Vxtreme VideoDataBlade |
Модули DataBlade: Web/Electronic Commerce
Informix Software, Inc. | Informix Web DataBlade |
Mortice Kern Systems,Inc, | MKS Content Management DataBlade |
Open Market, Inc. | Open Market Internet Commerce DataBlade |
Prime Factors,Inc. | Prime Factors DesCrypt DataBlade |
SLP-Statistiques | SLP Web Report DataBlade |
Объектно-ориентированные базы данных
Datablade и картридж как инструменты создания Internet-приложений.
Общие характеристики универсального сервера
Способность хранить и управлять
любыми данными
в одном объединенном источнике
и при этом пользоваться централизованными механизмами
оптимизации запросов
администрирования баз данных
архивирования и восстановления данных
безопасности и целостности данных
Пользоваться открытым, стандартным интерфейсом (т.е. SQL)
Масштабируемость (Scalability)
Дополняемость (Extensibility)
т.е. возможность добавлять новые типы
данных в ядро СУБД-до бесконечности
Производительность
Открытая поддержка инструментальных средств
Хранение и доступ к Web-страницам
Опыт разработки систем конфигурационного управления
Г. Серяков, А. Симкин, Б. Позин, Компания Аргуссофт (Москва)
Необходимые сведения о
конфигурационном управлении (КУ)
Элементы КУ
Объекты, которые составляют конфигурацию
Состояния, которые принимают объекты
Действия, которые осуществляются с объектами
Исполнители, которые осуществляют действия
Чем является КУ для пользователей
Для сотрудников организации, охваченной КУ, она может различным образом (воспринимаемые особенности ранжированы от точки зрения руководителя до рядового исполнителя):
Контроль процесса,
Организация процесса,
Автоматизация процесса,
Применение людьми технических средств.
Особенности различных систем конфигурационного управления
Системы КУ (СКУ) могут содержать в себе богато структурированные данные и менее разнообразные процессы, и наоборот. Типичный случай СКУ будет содержать в себе как достаточно сложные данные, так и нетривиальные процессы, но особенности СКУ наиболее наглядно проявляются в крайних случаях.
Пример СКУ со сложностью данных (СКУ для "ЦЕНТР-МЕБИУС")
Постановка задачи:
Внедрение конфигурационного управления в процессы разработки и сопровождения,
Документирование процессов разработки и сопровождения,
Реинжиниринг процессов разработки и сопровождения,
Построение модели версионных данных,
Построение схемы применения средств PVCS,
Инсталляция и настройка средств конфигурационного управления,
Разработка методики конфигурационного управления.
Особенности задачи
Крупная программная система (10,000 файлов)
Одновременно с построением СКУ производился реинжиниринг программной системы,
Многоплатформенность программной системы,
Многомодульная структура программной системы,
Совместное использование компонент.
Схема версионного хранения
Схема версионного хранения основана на модели версионных данных, то есть формальном представлении объектов КУ в их взаимном отношении (Рис. 1).
Рис. 1.
Пример СКУ со сложностью процессов (СКУ региона для сопровождения
нормативно-справочной документации в масштабах региона)
Постановка задачи
Выявление процессов ведения и сопровождения НСД,
Формализация процессов,
Построение схемы применения средств PVCS,
Построение модели данных слежения,
Разработка вспомогательного ПО.
Особенности задачи
Территориальная распределенность
Включенность в ежедневный технологический процесс
Интеграция с почтовыми системами
Упрощенная модель данных.
Схема ведения и сопровождения
Рис. 2
Рис. 3
Рис. 4
Рис. 5
Функциональные возможности, доступные с рабочего места исполнителя
Отображение актуального состояния процессов ведения и сопровождения
Просмотр истории процессов ведения и сопровождения
Ручная коррекция состояния
Генерация отчетов
Автоматизированная регистрация событий конфигурационного управления с помощью сообщений почтовой системы
[]
[]
[]
Пример дополняемости
create table customer( | ||
ЖЖЖ | cname caddress start_year | varchar(30), varchar(40), int); |
create table order( | ||
orderID cname amount date | int, varchar(30), money, date); |
create table facility( | ||
ЖЖЖ |
fname faddress |
varchar(30), varchar(40)); |
create table component( | ||
component_id description fname |
varchar(20), varchar(100), varchar(30)); |
Пример расширяемости
create table facility( | ||
ЖЖЖ |
fname faddress route | varchar(30), varchar(40), varchar(20)); |
create table route( | ||
route description |
varchar(20), varchar(100)); |
Rates_edit.htx
<!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html;
charset=windows-1251">
<meta name="GENERATOR"
content="Microsoft FrontPage 2.0">
<title>Untitled
Normal Page</title>
</head>
<body>
<p> </p>
<form action="rates_submit.idc?kurs1=<%txtKurs%>&id1=<%id%>"
method="POST"
name="rates_edit"
<%txtkurs%>"&id1="<%id%>"">
<p><font
face="Times New Roman CYR">Код валюты- <strong><%kod%></strong>
</font></p>
<p><font
face="Times New Roman CYR">Курс <input
type="text"
size="20" name="txtKurs" value="<%kurs%>"></font></p>
<p><input
type="submit" name="B1"
value="Передать
изменения"></p>
</form>
</body>
</html>
Результат приводится на рис.9. Далее результаты редактирования
курса передаются обратно в базу данных, т.е. файл rates_submit.idc
будет, очевидно, содержать оператор update, а соответствующий
.htx- переход на новую страницу или возвращение обратно на просмотр
списка и т.д.
Необходимо отметить, что соответствующий источник
данных (в нашем случае rates) должен быть создан в ODBC-менеджере
как системный, иначе он не будет виден другим пользователям.
Рис.9
4. Active Data Objects
Когда речь заходит о компонентах ActiveX, как правило,
неявно подразумевается клиентская часть приложения. Microsoft
Active Server Pages (ASP)- активные серверные страницы- представляют
собой инструмент для эффективной разработки серверных Web-приложений,
интегрирующих в своем составе HTML-код, VBScript и компоненты
ActiveX. Это означает, что в уже существующие наработки легко
могут быть встроены фрагменты кода на VBScript или JavaScript,
а также вызовы соответствующих объектов ActiveX. Как, наверное,
известно, VBScript- это сужение хорошо знакомого языка программирования
Visual Basic на область создания Web-страниц. Основным идейным
отличием VBScript от VB, на мой субъективный взгляд, служит то,
что VBScript не содержит операторов файлового ввода-вывода и вообще
средств прямого доступа к операционной системе (напрашиваются
параллели, если Java сопоставить с С/С++, не правда ли). Кроме
этого, в VBScript существует только один тип переменных- variant,
отсутствуют декларативные константы и т.п. Наличие привычного
синтаксиса языка высокого уровня существенно упрощает создание
HTML-страниц. См. классический пример:
<HTML>
<BODY>
<% For i = 3 To 7 %>
<FONT SIZE=<% =
i %>>
Hello World!<BR>
<% Next %>
</BODY>
</HTML>
Кроме этого, в состав среды активных серверных страниц
(ASP Framework) входят следующие 5 основных встроенных объектов.
Application (приложение)- для
разделения информации между всеми пользователями данного приложения
Request (запрос)- для получения тех значений,
которые броузер клиента передает на сервер по HTTP-запросу, т.е.,
грубо говоря, для получения информации о пользователе или от пользователя
Response (ответ)- для передачи информации клиенту
Server (сервер)- предоставляет возможность обращения
к методам и свойствам сервера для управления средой исполнения
ASP
Session (cеанс)- для хранения информации, относящейся
к данной пользовательской сессии.
Подробнее узнать о назначении и использовании объектов
ASP, их методах и свойствах можно, обратившись к документации,
например, Active Server Pages Roadmap.
Помимо базовых объектов, ASP поддерживают многочисленные
компоненты ActiveX, которые упрощают создание и значительно повышают
функциональность активных Web-страниц. К ним относятся различные
элементы управления, компоненты, создающие содержание приложения,
компоненты ввода/вывода в файл (чего, как мы помним, не было в
VBScript) и многие другие. Но нас в первую очередь будут интересовать
компоненты, позволяющие организовать доступ к базам данных, или
Active Data Objects (ADO).
Рис.10
В отличие от хорошо известных Data Access Objects
(DAO) или Remote Data Objects (RDO) ADO имеют менее иерархически
строгую структуру (см.рис.10) и потому более удобны при работе
с базами данных.
Например, публикация нашей таблицы с курсами валют
при помощи ASP и ADO может быть выполнена следующим образом.
Ratesado.asp
<% if IsObject(Session("conn"))
then
set c=Session("conn")
else
set c=Server.CreateObject("ADODB.Connection")
c.Open "rates","sa",""
set Session("conn")=c
end if
set RS=c.Execute("select
* from rates")%>
<!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html;
charset=windows-1251">
<meta name="GENERATOR"
content="Microsoft FrontPage 2.0">
<title>Курсы валют</title>
</head>
<body>
<p><font size="5"
face="Times New Roman CYR"><strong>Курсы
валют</strong></font></p>
<table border="1">
<tr>
<th align="left"><font
face="Times New Roman CYR">Код</font></th>
<th align="left"><font
face="Times New Roman CYR">Курс</font></th>
</tr>
<% do while not RS.EOF
%> <tr>
<td><%
id1=RS("id") %> <a
href="http://ntalexejs/aaa/ratesado_edit.asp?id1=<%=id1%>"><%=RS("kod")%></a></td>
<td><%=RS("kurs")%>
</td>
</tr>
<% RS.MoveNext
loop %></table>
</body>
</html>
Получим результат, аналогичный рис.7. Обратите внимание
на передачу идентификатора соединения между разными скриптами
с помощью переменных класса Session. Обновление курса валюты организуем
следующим образом:
Ratesado_edit.asp
<%id1=Request.QueryString("id1")
RS=Session("conn").Execute("select
kod,kurs from rates where id="&id1)
kurs1=RS("kurs")%>
<!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html;
charset=windows-1251">
<meta name="GENERATOR"
content="Microsoft FrontPage 2.0">
<title>Код валюты</title>
</head>
<body>
<form action="ratesado_submit.asp"
method="POST" name="frm">
<input type="hidden"
name="hid" value="<%=id1%>"><p>Код
валюты <strong><%=RS("kod")%>
</strong></p>
<p>Курс<strong>
</strong><input type="text" size="14"
name="txtKurs"
value="<%=kurs1%>"><strong> </strong></p>
<p><input
type="submit" name="B1"
value="Передать
изменения"></p>
</form>
</body>
</html>
Приведенный код вполне может быть воспроизведен,
и если он вдруг заработает , то мы получим страницу типа той,
что изображена на рис.9. Наконец, запрос на обновление оформим
как отдельный asp:
Ratesado_submit.asp
<%Session("conn").Execute
"update rates set kurs=" & Request.Form("txtKurs")
& "where id=" & Request.Form("hid")
Response.Redirect("ratesado.asp")%>
Последний оператор осуществляет автоматический переход
на просмотр таблицы курсов.ADO являются универсальным инструментом
доступа к данным. Вы можете без изменений использовать интерфейс
ADO из данного примера при работе с базами данных на VB, Visual
FoxPro и т.д. Наконец, с помощью ADO, в свою очередь, могут быть
построены пользовательские компоненты, для обращения к серверу
баз данных как со стороны "толстого" (Win32), так и
со стороны тонкого (Internet Browser) клиента. Функции обеспечения
целостности транзакций, сервисы безопасности и согласованной работы
компонент в распределенном приложении может взять на себя Microsoft
Transaction Server (cм.рис.11), но это уже тема совсем другого
рассказа.
Рис.11
[]
[]
Rates_edit.idc
Datasource: rates
Template: rates_edit.htx
SQLStatement: select id, kod, kurs from rates where
id=%id1%
Username: sa
Развитие электронной коммерции
Проблемы безопасности и целостности транзакций и
невозможность их обеспечения с помощью стандартных протоколов.
Лавинный рост сложности создаваемых приложений. Миграция корпоративных
приложений к технологии Intranet. Кризис жанра.
Современные задачи администрирования баз данных Oracle
А. Бачин, ИВЦ
АИС (Москва)
Мне представляется, что с появлением Pesonal Oracle
и Oracle7 Workgroup Server существенно меняются взгляды на вопросы
и задачи администрирования баз данных Oracle. С одной стороны,
как в старые добрые времена Oracle5 под управлением MS-DOS, конечный
пользователь Pesonal Oracle снова становится владельцем базы данных
в целом с возложением на себя всей ответственности администрирования.
С другой стороны, в персональных и небольших групповых системах
функции "классического" администрирования значительно
упростились. Этому способствует повышение надежности вычислительных
средств, их производительности, резкое увеличение емкости дисков.
Так что не будет большим преувеличением сказать, что:
а) пользователь Pesonal Oracle (группа пользователей
Oracle7 Workgroup Server) не вырабатывает всей производительности
вычислительной установки;
б) слишком мала вероятность повреждения базы данных
по техническим причинам и восстановление базы данных все более
требуется только в результате ошибочных действий пользователей.
Поэтому классические задачи администрирования базы
данных Oracle: настойка производительности и реализация плановых
процедур резервирования и восстановления как бы уходят в тень.
Если к этому еще добавить наличие дружественных графических интерфейсов
основных административных функций (включая мониторинг и дефрагментацию)
под различными Windows'ами, то может создаться впечатление об
уходе профессии администратора базы данных (АБД) Oracle, как таковой.
Но позволю себе высказать как бы афоризм: "Сотня
домашних кошек не заменят одного тигра (в джунглях) и - наоборот."
Не кажется ли Вам, что в настоящее время мы поднялись на определенный
уровень развития, и необходимо немного оглядеться и хорошенько
на нем освоиться перед штурмом следующих вершин. И если во многих,
особенно в только начинающих развиваться, малых и средних системах
баз данных еще какое-то время можно остаться на уровне "классического"
и даже упрощенного администрирования, то в продвинутых средних
и больших системах уже назревают административные задачи следующего
уровня сложности.
Можно с уверенностью сказать, что в настоящее время
определился квалификационный уровень знаний по системе Oracle
, на котором базируются различные с ней связанные специальности.
Такой квалификацией, на мой взгляд, является понимание архитектуры
взаимодействия ресурсов: собственно пользователей, их информационных
объектов, распределения дисковой памяти, деятельности процессов
Oracle в операционной среде. Это - как бы общий язык, на котором
должны общаться все имеющие отношение к Oracle. (Важно повторить,
что этот язык универсален, не зависит от платформы. Конкретные
особенности платформ имеют значение только для АБД.)
На этом уровне должны находиться менеджеры, отвечающие
за информатизацию предприятий и компаний. Совокупность знаний
по архитектуре Oracle позволяет им понимать своих АБД и разработчиков
приложений, принимать правильные решения по направлениям совершенствования
информационной системы, при закупке новых программных продуктов,
при покупке новой техники.
"Ниже" этого уровня - специалисты-потребители
информации и различного рода операторы, работающие с готовыми
приложениями и полностью сопровождаемые разработчиками, администраторами,
системными интеграторами.
"В бок" - разработчики приложений, архитекторы
и администраторы данных (по систематизации Т.Кокса ), поскольку
у них имеются собственные функции и задачи, наборы инструментария,
а также свое собственное место в жизненном цикле базы данных.
Необходимо их тесное взаимодействие с АБД в процессах привязки
проектов и приложений к реалиям среды конкретной базы данных.
Возрастание количества внедренных в информационной системе приложений
вызывает качественные изменения во внутренней структуре конкретной
базы данных (советую обратиться к статье М.Гохмана ).
"В другую сторону" - собственно администраторы
баз данных Oracle, для которых основными задачами становятся все
более углубленное изучение как архитектуры и новых возможностей
системы Oracle, консультирование пользователей всех уровней по
этим вопросам, так и участие в проектировании распределенной базы
данных, а также управление общими для системы ресурсами, распределенными
транзакциями, связями баз данных, дополнительными процессами в
операционной среде, параллельными экземплярами Oracle, ... Начало
же должно быть вполне классическим - "20 заповедей начинающего
Администратора Базы Данных" . (И эти классические задачи,
наверно, всегда будут с нами!)
Таким образом, по моему мнению, на нашем отечественном
уровне развития современными задачами администрирования баз данных
Oracle являются:
углубленное изучение функционирования,
динамической производительности базы данных ;
построение корпоративной (общей для многих пользователей)
базы данных, которая является вместилищем вновь внедряемых в информационную
систему приложений;
управление многими десятками и сотнями прописанных
в базе пользователей, определение их полномочий, ограничений,
ролей (см. также );
построение эффективных систем обеспечения безопасности,
разграничения доступа, регистрации и прослеживания (audit) событий
данных;
освоение опций параллельных запросов и параллельных
серверов;
сопровождение распределенных (различного уровня)
баз данных, начиная с динамики пульсирования журналов моментальных
копий (snapshot log) до мониторинга и восстановления распределенных
транзакций;
подготовка к созданию и сопровождению баз данных
очень большого объема (VLDB).
Большинство из перечисленных задач так или иначе
связаны с сетевой проблематикой. И это не случайно. Опять же по
моему мнению, следующий уровень административной деятельности
будут составлять управление многопротокольными преобразователями,
web- и multimedia- серверами, серверами data warehouse, что без
освоения сегодняшнего сетевого уровня сделать будет очень затруднительно.
А впереди Oracle8! При заявленной гарантии переносимости
всех проблемных разработок что он с собой принесет АБД, сейчас,
наверно, никто не скажет.
Литература
1. Steven M. Bobrowski "Mastering Oracle7 &
Client/Server Computing", SYBEX, San Francisco, 1994; русский
перевод - С.Бобровски "Oracle7 и вычисления клиент-сервер",
"ЛОРИ", 1995).
2. Tom Cox "Some Thoughts on Data Administrators,
DBAs, and Data Architects", ORACLE INTEGRATOR, vol.7, No.2,
march/april 1996; русский перевод - "ORACLE MAGAZINE/РУССКОЕ
ИЗДАНИЕ", вып. 1, лето 1996)
3. Mark Gokman "Data: To Share Or Not To Share",
SELECT, vol.3, No.2, january 96; русский перевод - "Мир
Oracle", вып. 4, 1996)
4. Richard J. Niemiec "20 Tips for the bigining
DBA", SELECT, vol. 2, No 4, July 95; русский перевод - "Мир
Oracle", вып. 7, 1995)
5. Dave Ensor "Getting information rather than
data from V$ objects" (BMC Software. Доклад на конференции
EOUG-96; русский перевод - "Мир Oracle", вып. 4, 1996)
6. Kevin M. Loney "System-Level Roles in ORACLE7.
Going Beyond CONNECT, RESOURCE, and DBA", ORACLE MAGAZINE,
summer 1994; русский перевод - "Мир Oracle", вып. 3,
1995)
[]
[]
[]
Sybase SQL Anywhere Professional
А. Чернышев, Алконсофт
Содержание доклада
Sybase SQL Anywhere Professional 5.5 общий обзор
Состав. Исторические корни. Назначение. Возможности. Характеристики. Ниша Sybase SQL Anywhere на рынке.
Собственно SQL сервер
Устройство. Варианты конфигурации.
Характеристики и возможности.
Совместимость. Мобильность. Переносимость. Ограничения формальные и реальные. Быстродействие и оптимизация.
Практическое использование и замеченные недостатки
Интерфейсы со средствами разработки приложений. Использование Sybase SQL Anywhere для персональной работы и как сервера рабочей группы. Использование Sybase SQL Anywhere в филиалах при использовании в центральном офисе более мощного SQL сервера. Использование Sybase SQL Anywhere при разработке тиражируемых решений. Использование Sybase SQL Anywhere для дистрибуции БД на CD.
Репликация данных в Sybase SQL Anywhere
Когда и зачем требуется репликация данных.
Организация подписки
Возможные схемы репликации
Репликация между двумя серверами SQL Anywhere. Репликация в 'большой' Sybase.
Состав компонент для репликации данных.
Доступ к данным из Internet, организация Web-узлов
Компонент NetImpact Dynamo?.
Назначение. Схема работы. Использование.
Утилиты администрирования Sybase SQL Anywhere
Краткие сведения о Sybase SQL Anywhere Professional 5.5
Sybase SQL Anywhere является дальнейшим развитием линии SQL-СУБД Watcom.
Sybase SQL Anywhere - полноценная SQL СУБД, работающая как в технологии клиент-сервер, так и в локальном варианте. Обеспечивает полную поддержку механизма транзакций, ANSI стандарта SQL89 уровня 2 и IBM SAA стандарта. Sybase SQL Anywhere поддерживает также entry level SQL92. Полностью реализованы механизмы декларативной ссылочной целостности с каскадированием, механизмы триггеров и хранимых процедур.
Sybase SQL Anywhere отличает, наряду с простотой изучения и использования, наличие масштабируемости в широком диапазоне, что делает данную СУБД пригодной для использования как небольшими, так и значительными по числу одновременно работающих пользователей рабочими группами.
Небольшой объем занимаемой памяти, легкость установки и администрирования позволяет использовать Sybase SQL Anywhere не только в качестве сервера БД, но и на локальном рабочем месте, а также на переносных компьютерах (notebook). Вместе с тем Sybase SQL Anywhere содержит мощный оптимизатор запросов, обеспечивающий высокую скорость доступа к данным при минимальном количестве обращений к диску.
Sybase SQL Anywhere имеет в своем составе ?runtime? компоненты для дистрибуции баз данных в составе информационно-поисковых систем. Поставляемая база данных может быть сжата (в 2-2.5 раза) и расположена на CD. Расположенная на CD БД может быть использована для доступа только на чтение. Для выполнения операций записи SQL Anywhere создает отдельный файл (на доступном для записи носителе) для сохранения изменений сжатой БД.
База данных - Sybase SQL Anywhere специально спроектирована для PC платформы и представляет собой настоящее 32-х разрядное приложение, оптимизированное для процессоров Intel 486 и Pentium архитектуры, при обеспечении совместимости с более старыми 386 процессорами. Sybase SQL Anywhere легко переносима и работает под управлением DOS, Windows 3.х, Windows 95, Windows NT, OS/2 и Novell NetWare, причем файлы базы данных переносятся из одной системы в другую без дополнительной обработки (т.е. просто как файлы без процесса экспорта/импорта или копирования/восстановления). Sybase SQL Anywhere поддерживает полный набор журналов транзакций, обеспечивающих автоматический процесс восстановления и отката. Используя эти журналы и специальную встроенную компоненту - SQL Remote?, можно асинхронно тиражировать (реплицировать) изменения данных между установками, например посредством электронной почты. SQL Remote? использует стандартное API к средствам электронной почты (Microsoft MAPI, Lotus VIM and Internet SMTP/POP) и позволяет автоматически синхронизировать данные удаленных пользователей с заданной частотой. Sybase SQL Anywhere совместим с Sybase SQL Server'ом и посредством поставляемого отдельно Replication Agent'а и Open Server'а Sybase может быть включен в архитектуру репликационного сервера Sybase, что позволяет тиражировать данные в Sybase, Oracle и DB/2.
Поддерживается тиражирование всех типов данных включая BLOB.
Помимо этого Sybase SQL Anywhere по языку совместим с Sybase Transact-SQLR и поддерживает работу Sybase Open Client через Sybase Open Server. Это позволяет строить масштабируемые в широком диапазоне приложения, одинаково работающие и с Sybase SQL Anywhere на переносном компьютере, и с мощным Sybase SQL Server'ом в локальной сети организации.
Sybase SQL Anywhere облегчает создание высокопроизводительных приложений. Для этого поддерживаются курсоры с двунаправленным движением по выборке и возможностью обновления данных. Наличие типов данных ?BLOB?, позволяет использовать СУБД Sybase SQL Anywhere в системах мультимедиа.
Прилагаемые ODBC драйверы высокоэффективны и поддерживают весь спектр возможностей СУБД. Кроме того, имеется возможность интегрировать базу данных и desktop-приложения Windows посредством интерфейса DDE и динамически подключаемых библиотек DLL.
Управление (администрирование) БД в Sybase SQL Anywhere выполняется в мощной и удобной графической оболочке - SQLCentral позволяющей управлять созданием и удалением таблиц, индексов, процедур и т.д. в технологии drag-drop. В состав версии Sybase SQL Anywhere Professional 5.5 входит широко известный инструмент построения отчетов и форм InfoMaker?.
В версии Sybase SQL Anywhere Professional 5.5 также имеются средства создания Web-узлов с динамическим доступом к БД. NetImpact Dynamo? (так называется этот продукт) позволяет строить шаблоны HTML страниц содержащих встроенные SQL запросы и фрагменты программ обрабатывающих результаты. Язык описания полностью совместим с JavaScript.
Техническая спецификация
Требования к аппаратной части
Требования клиентской части: IBM PC совместимый компьютер, с необязательным, но желательным наличием устройства CD-ROM, работающий под управлением DOS версии 3.3 и выше, Windows 3.1, Windows 95, Windows NT 3.x, или OS/2 2.x. и выше. Требования к серверу СУБД: IBM PC совместимый компьютер под управлением Windows 3.x, Windows 95, Windows NT 3.x, Novell NetWare ver. 3.11 и выше, или OS/2 ver. 2.x и выше с процессором 80386 или выше и с 8 MB RAM.
Поддерживаемые платформы:
Windows, Windows NT, Windows95, Novell NetWare, OS/2, DOS
Требования к сети:
NetBIOS , TCP/IP, или Novell NetWare IPX (клиент в DOS'е поддерживает только NetBIOS и IPX)
Объемные характеристики базы данных (максимальные значения)
размер базы данных..........................................12 TB
таблиц в базе данных...................................32,767
размер таблицы...........................................1024 GB
строк в таблице..............................ограничено только размером таблицы
колонок в таблице........................................999
символов в имени колонки......................128
колонок в сложном индексе..............................999
индексов на таблицу.........................................32,767
Типы данных
binary..............................................32,767 байт
long binary..................................2,147,483,647 байт
character......................................32,767 символов
long varchar............................2,147,483,647 символов
integer..........................+/- 2,147,483,647 целочисленный рад
small integer...........................+/- 32,767 целочисленный рад
tiny int.............................между 0 и 255 включительно
real................................4-байтовое число с плавающей точкой
float, double.......................8-байтовое число с плавающей точкой
decimal, numeric...................+/- 9.99 e+/254 десятичный ряд
money.....................между +/- 9,999,999,999,999,999.9999
small money...........................между +/- 9,999,999.9999
date...........................................от 0000 до 9999 года
timestamp, datetime, small datetime....с точностью до 1/1,000 секунды
time...................................с точностью до 1/1,000 секунды
bit...............................битовое значение колонки только 1 или 0
Факс: (095) 918-1380, 362-5138
Email:
[]
[]
[]
Time Series DataBlade
Содержит типы данных: календарь и временной ряд | |
Сложные данные, сохраняемые в каждый промежуток времени | |
Больше 20 встроенных функций: Clip, project, running average, exponential smoothing, on balance volume, etc. | |
Бoлее чем в 100 раз быстрее, чем в реляционной СУБД | |
Возможности применения: управлениe рискaми финансовых портфелей регистрация показателей приборов покадровый анализ видео |
Universal Server: два подхода
Различные API связываются с множеством серверов | Единый интерфейс с объединенным сервером данных |
Universal Server: Новые типы данных
create table customer( | ||
ЖЖЖ |
cname caddress start_year location | varchar(30), varchar(40), int, point); |
create table order( | ||
orderID cname amount date PO_fax order_notes materials ship_location |
int, varchar(30), money, date, image, doc, setof(part_type), point); |
Pозничная торговля
create table facility( | ||
ЖЖЖ |
fname faddress location |
varchar(30), addr_type, fac_loc_t); |
create table route( | ||
route description route_map route_notes route_pts |
varchar(20), varchar(100), GeoMap, doc, setof(fac_loc_t)); |
Логистика/Транспорт
create table facility( | ||
ЖЖЖ |
fname faddress location |
varchar(30), addr_type, fac_loc_t); |
create table component( | ||
comp_id description fname maint_sched comp_loc comp_notes schematic |
comp_id_t, varchar(100), varchar(30), TimeSeries, point, doc, largeObject); |
Промышленность