В недавнем прошлом главной целью внедрения информационных технологий (ИТ) было облегчение и ускорение бизнес-процессов внутри компании. С появлением Интернета ИТ все более ориентируются на заказчика. Хорошее обслуживание клиента означает не только предоставление действительно нужных ему продуктов, но также упрощение всех сопутствующих процедур. Для этого все шире применяются электронные средства обработки данных, транспортной средой для которых служит Интернет. Информация, описывающая клиентов, их требования, образцы товаров и способы выполнения заказов, более не хранится централизованно, в одном месте. Она рассредоточена по разным источникам как внутри, так и вне компании и всегда должна быть доступна для своевременного выполнения заказа.

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

Software AG выпускает два ключевых продукта, реализующих стратегию компании в области электронного бизнеса: это информационный сервер Tamino (Transaction Architecture for the Management of Internet Objects) и “фабрика” приложений для электронного бизнеса Bolero.

Х-фаза Интернета

С каждым днем все больше людей общаются через Интернет. Ежегодный прирост количества пользователей Сети составляет 60%. Еще быстрее идет в Интернете развитие электронного бизнеса. Вместе с тем с развитием “Всемирной паутины” выявились недостатки технологий, основанных на языке HTML (HyperText Markup Language). Он был разработан для решения задачи отображения информации и ее поиска в ручном режиме. Однако HTML не подходит для автоматической обработки информации. Например, браузер “знает”, что конструкция <h1>Sun</h1> появится на экране как заголовок. Но какой смысл несет содержимое? Это одна из звезд нашей галактики? Имя джазового музыканта? Название компьютерной компании? Мы можем догадаться об этом по контексту, компьютер - нет.

В 1996 г. группа экспертов во главе с Йоном Босаком (Jon Bosac) из компании Sun Microsystems при поддержке консорциума World Wide Web (W3C) приступила к разработке нового стандарта, который задумывался как простой, расширяемый и понятный и людям, и компьютерам язык. В феврале 1998 г. он обрел имя - XML (eXtensible Markup Language - расширяемый язык разметки) и вскоре нашел применение в электронной торговле. По данным агентства Zona Research, уже в III квартале 1998 г. доля компаний, использующих XML, выросла по сравнению с предыдущим кварталом с 1% до 16%. Новый стандарт быстро поддержали и приняли на вооружение лидеры индустрии, в том числе компании Sun, Microsoft, DataChannel, NetScape, IBM, SAP, Adobe и Software AG. На основе XML разработаны десятки “вертикальных” стандартов, таких, как CDF (Channel Definition Format) и OSD (Open Software Description), так что XML для Интернета превратился действительно в lingua galactica.

Появление XML означает новый этап развития Интернета, преобразования “Всемирной паутины” во всеобъемлющую базу знаний и глобальную вычислительную среду. Какие же свойства этого языка делают его столь привлекательным?

Простота. Язык XML чрезвычайно прост для восприятия. В то же время он с легкостью обрабатывается компьютером. Создать XML-документ гораздо проще, чем отобразить информацию в формате HTML, где автору необходимо учитывать особенности разных браузеров.

Открытость. Говоря о языке XML, мы обычно имеем в виду три тесно связанные спецификации: собственно XML - как средство описания структуры документов, XSL - как средство преобразования XML-документа в HTML-документ или другой формат отображения информации и наконец XLL - расширяемый (или открытый) язык связывания документов, аналогичный применяемому в HTML, но в отличие от него позволяющий, например, делать многонаправленные ссылки и ссылаться не на весь документ, а на конкретный его элемент. Кроме того, разработчикам приложений предоставляется возможность использовать программный интерфейс XML Document Object Model (DOM), реализованный, в частности, компанией Microsoft.

Расширяемость. Язык XML не имеет фиксированного набора элементов разметки (тегов). Более того, новые теги могут создаваться в процессе формирования документа и для этого не нужно внедрять новые версии программного обеспечения.

Самоопределенность. Традиционные СУБД требуют, чтобы структура записей всегда соответствовала схеме данных, заранее определенной администратором базы данных. Документы, представленные в структуре XML, могут храниться без таких описаний, поскольку эти метаданные уже включены в сам текст документа в виде элементов XML и/или их свойств.

Возможность идентификации автора и версии документа на уровне элемента XML. Любой элемент XML может иметь неограниченное число атрибутов и среди них имя автора или номер версии.

Машинно-читаемый контекст. Теги, свойства и структурные элементы XML несут информацию о контексте, позволяя тем самым интерпретировать значение элемента XML. Это открывает новые возможности для построения интеллектуальных поисковых машин, средств многомерного анализа данных, различного рода агентов. В этом видится главное преимущество XML перед HTML, затрудняющим или вовсе исключающим контекстный анализ информации.

Отделение содержания документа от формы его представления. Теги XML описывают значение, а не представление выделяемой ими части документа. Девиз HTML: “Я знаю, как это выглядит”. Девиз XML: “Я знаю, что это значит, а ты можешь мне сказать, как это должно выглядеть”. Собственно форма представления документа в формате XML определяется с помощью расширяемых стилей (XSL - eXtensible Stylesheets Language), позволяющих менять внешний вид документа, не затрагивая его содержания. Одно и то же содержание может быть легко представлено в нескольких видах.

Поддержка многоязыковых документов и Unicode. Это особенно важно для построения глобальных приложений.

Сравнение и агрегация данных. Иерархическая древовидная структура XML-документа позволяет эффективно выполнять поэлементные операции сравнения и агрегации, а благодаря включению в состав сообщения описания контекста передаваемых данных XML упрощает поиск и слияние данных, хранящихся в разнородных БД и приложениях.

Поддержка разных типов данных. XML-документ может включать данные любого типа: от мультимедиа (графика, звук, видео) до активных программных компонентов (аплеты Java, ActiveX). Полученные данные могут быть дополнительно обработаны на клиентской машине без выхода в сеть, что позволит снизить требования к пропускной способности Интернета.

Работа с существующими данными. Грамматика языка XML позволяет легко решать проблему отображения существующих данных, будь то файловая система или РСУБД. Важно отметить, что XML дает возможность не только читать данные, хранящиеся в разных источниках, и объединять их в единый документ, но и строить системы обновления XML-документов, передавая по сети только изменяемые в конкретной транзакции данные. Это обстоятельство может оказаться существенным резервом повышения эффективности использования существующих сетей.

Возможность просмотра распределенных данных с одного сервера. XML-документ может состоять из вложенных элементов, значения которых хранятся на разных удаленных серверах. В этом смысле XML на сегодня является самым изощренным форматом описания распределенных данных, с помощью которого можно представить всю WWW как одну громадную базу данных.

Поддержка со стороны производителей программного обеспечения. Такие компании, как Software AG, IBM, Sun, Microsoft, SAP, Netscape, DataChannel и многие другие, уже объявили о поддержке XML. Microsoft будет применять XML в качестве формата обмена в пакете Microsoft Office, а также в браузере IE5. SAP внедряет XML в продукт SAP Business Connector with R/3, а Software AG обеспечила поддержку этого стандарта в линии продуктов Bolero и Natural и выпускает Tamino как информационный XML-сервер.

Tamino - инструмент для электронного бизнеса

Деловой мир развивается все стремительнее и время от времени требует реорганизации бизнес-процессов в короткие сроки для сохранения конкурентоспособности предприятия. Это обстоятельство приводит к необходимости создания такой инфраструктуры ИТ, в которой новые приложения смогут работать совместно с существующими компонентами и прикладными системами. Быстрое развитие электронного бизнеса и будущих рынков предполагает “перманентную революцию” в сфере ИТ, в то же время задача сохранения инвестиций (например, в оборудование или обслуживающий персонал клиента) требует принятия эволюционных мер. Таким образом ИТ должны быть способны реализовать радикальные изменения и быстро, и по возможности плавно.

Архитектура Tamino

Вместе с тем электронный бизнес ставит новые проблемы, поскольку для его ведения необходимы:

- быстрая адаптация технологии в соответствии с изменяющимися требованиями рынка;

- адаптация систем к меняющимся (иногда на порядки) скоростям передачи данных;

- соединение существующих “островов” ИТ без дублирования промышленных решений;

- сокращение расходов на программирование в среде Интернет и администрирование серверов.

Для решения этих проблем компанией Software AG и был создан Tamino - информационный XML-сервер, основанный на открытых стандартах. Компоненты Tamino обеспечивают быстрый, но плавный процесс изменения ИТ, объединяя Интернет-технологии с современными достижениями в области разработки новых баз данных и средств доступа к уже существующим. Информационный сервер Tamino поддерживает спецификацию XML V.1.0, язык ссылок XLL, таблицы стилей XSL и подмножество XQL, а также концепцию пространства имен XML. Это интегрированное решение, объединяющее целый набор технологий.

Технология X-Machine

X-Machine представляет собой высокопроизводительный инструмент для хранения XML-данных в оригинальном виде и подключения написанных пользователем функциональных расширений сервера для выполнения различных операций преобразования документов.

Структура модуля X-Machine

Технология X-Machine позволяет не только хранить, но и отыскивать объекты, относящиеся к бизнес-процессам.

X-Machine включает в себя:

- XML-процессор. Объекты XML, запоминаемые в XML-хранилище, описываются соответствующей схемой данных, выраженной в правилах отображения. Данная информация хранится в базе данных Tamino. Внутренний XML-процессор выполняет проверку правильности синтаксиса описателей объекта и отвечает за синтаксическую корректность структуры объектов XML;

- процессор объектов. Он используется при запоминании объектов в XML-хранилище. При этом структурированные данные (данные РСУБД) запоминаются в таблицах и колонках, соответствующих описанию схемы. Обмен с внешними источниками данных выполняется с помощью компонента X-Node;

- интерпретатор запросов XML. Поддерживает язык запросов XQL и вместе с генератором объектов обрабатывает полученный запрос с целью поиска и формирования результата в виде XML-документа;

- генератор объектов (Object Composer). Данный компонент применяется для поиска и чтения объектов. Используя уникальные идентификаторы объектов, сформированные X-Machine при их запоминании, генератор объектов конструирует информационные объекты и возвращает их как результат выполнения запроса в виде XML-документов. В простейшем случае информационные объекты будут объектами XML. В сложных запросах для конструирования XML-объекта из традиционных источников данных генератор объектов обращается к Tamino X-Node или Tamino SQL Engine;

- программы обслуживания. Tamino предоставляет ряд программ обслуживания информационного сервера. В качестве главного примера может служить программа загрузки XML-объектов (аналог утилиты массовой загрузки данных в традиционных СУБД).

Tamino SQL Engine

За взаимодействие с SQL-приложениями в Tamino отвечает SQL-процессор. Опираясь на него, входящие в Tamino средства отображения данных формата XML могут автоматически представлять эти данные в виде объектов Интернета и, наоборот, информационные объекты Интернета могут стать доступными для стандартных приложений, ориентированных на SQL.

SQL-процессор поддерживает операторы SQL версии 2 в части манипулирования определениями и управления данными (DML, DDL, DCL), а также выполнение ACID-транзакций.

Структура модуля Tamino SQL Engine

SQL-процессор получает SQL-запросы от Tamino несколькими способами:

- посредством внутренних обращений Tamino X-Machine;

- из SQL-приложений с помощью встроенного SQL либо через стандартные интерфейсы ODBC, JDBC, OLE DB;

- через диспетчер Tamino.

Кроме того, SQL-процессор предоставляет препроцессоры для компиляторов со стандартных языков программирования.

Диспетчер Tamino

Схема администрирования объектов Tamino

Диспетчер Tamino представляет собой инструментарий для администрирования объектов Tamino в Интернете. Для выполнения функций администрирования (создания базы данных, запуска или остановки сервера, сохранения, восстановления или загрузки данных и т. д.) в состав этого диспетчера входит агент, устанавливаемый на каждом узле, где развернут сервер Tamino. Кроме того, диспетчер Tamino взаимодействует с генератором схемы Tamino для настройки параметров XML-процессора (Parser), задания правил отображения данных и установки программ-расширений сервера Tamino.

Расширения сервера

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

Схема подключения расширений сервера

Помимо этого, расширения могут использоваться для динамического отображения данных, т. е. преобразования структуры XML в структуру РУСБД на основании значения элемента документа.

Расширения сервера являются составной частью Tamino и могут быть написаны на Си, Си++ или других языках, совместимых с технологией COM/DCOM. Предлагаемая среда разработки оснащена мастерами (Wizards), упрощающими написание программ. Применение расширений сервера позволит уменьшить нагрузку на сеть за счет перевода обработки данных с клиента на сервер.

Описание схемы

Взаимодействие компонента “Описание

схемы” с другими элементами системы

Компонент “Описание схемы” (Schema Description) сервера Tamino составляет его базу знаний, содержащую правила отображения, хранения и конструирования объектов XML. Правила построения объектов основаны на информации о схеме данных, поддерживаемой администратором сервера, и используются в следующих целях:

- для отображения структур XML во внутреннюю структуру XML-хранилища, благодаря чему обеспечивается хранение XML-документов в их исходном виде;

- для отображения структур XML в структуры существующих СУБД и наоборот, что делает возможным объединение данных из разнородных источников;

- для отображения структур существующих файлов Adabas;

- для отображения структур XML в структуру другого сервера Tamino.

Правила построения и отображения структур данных поддержаны соответствующим графическим инструментарием, входящим в состав администратора Tamino.

Компонент X-Node

С помощью компонента Tamino X-Node пользователь получает доступ к разнородным и распределенным источникам данных: базам данных, файловым системам, системам передачи сообщений. X-Node позволяет представлять их прикладной программе как единый источник, а также перегруппировывать данные, объединять существующие БД с новыми источниками, поскольку вся обрабатываемая информация представляется в виде одного объекта XML.

Схема доступа к разнородным и распределенным источникам данных

Благодаря X-Node пользователь получает возможность обращаться через Интернет к базам данных предприятия, в каком бы виде и на каких платформах они не существовали.

Tamino SDK

Комплект инструментальных средств разработки приложений Tamino SDK, обеспечивающий взаимодействие Tamino с XQL, SQL или объектно-ориентированными приложениями (DOM), состоит из набора следующих интерфейсов:

- интерфейса прямого доступа к объектам XML с помощью традиционной их адресации через URL;

- интерфейса языка запросов XQL, существующего в настоящее время в виде проекта стандарта;

- интерфейсов OLE DB, ODBC, JDBC и DCOM для приложений, использующих SQL и объектно-ориентированные технологии.

Tamino поддерживает спецификации модели DOM на уровне W3C’s Document Object Model Recommendation Level 1, что позволяет представлять объекты XML как объекты DOM. В результате приложение получает доступ к элементу документа, может обработать его и изменить его значение. Все функции для работы с DOM реализованы на сервере; клиентская прикладная программа обращается к ним через специальный интерфейс. таким образом в Tamino реализована идеология тонкого клиента.

Преимущества Tamino

Высокая производительность. Tamino - это быстродействующий, надежный и масштабируемый информационный сервер. Поскольку Tamino ориентирован на хранение XML-документов в их оригинальном виде, он легко превзойдет по производительности реляционные СУБД и объектно-ориентированные СУБД, оснащенные XML-преобразователем. Tamino может работать в различных средах (от Windows NT и Unix до OS/390), предоставляя возможность достаточно гибкого управления пропускной способностью серверов Интернета.

Полнотекстовая поисковая машина. Реализованные в ядре Tamino средства полнотекстовой поисковой машины позволяют легко создавать интеллектуальные поисковые системы, учитывающие структуру документа.

Минимизация затрат на обслуживание. Tamino реализует концепцию “нулевого администрирования”. С помощью диспетчера Tamino пользователь может с одного рабочего места обозревать всю систему, включая внешние источники данных, доступные через X-Node. При этом рабочее место администратора Tamino может находиться в среде Интернета и быть доступно через любое соединение, поддерживаемое протоколом HTTP.

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

Возможность управления транзакциями. Протокол HTTP не сохраняет состояние сеанса, что приводит к потере Интернет-сервером содержания HTML-страницы после ее передачи клиенту. Tamino же ориентирован на бизнес-приложения, требующие надежного выполнения транзакций в среде Интернета, и поддерживает механизм выполнения классических транзакций, удовлетворяющих требованиям ACID (Atomic, Consistent, Isolated, Durable) на уровне объектов. Tamino реализует механизм блокировки доступа к изменяемым данным на уровне объекта и в сочетании с Bolero, “фабрикой” приложений для электронного бизнеса, поддерживает не только классические транзакции, но и так называемые длинные транзакции, охватывающие сложные бизнес-процессы.

Ведение журналов. В Tamino предусмотрены средства для ведения журналов на уровне операций с базой данных и внутренних событий исполнительной системы.

Интеграция информационных технологий. Tamino может выполнять роль интегратора информационных технологий. С помощью компонентов Data Map, X-Node и X-port сервер Tamino обеспечивает доступ к существующим базам данных из приложений бизнес - бизнес через Интернет.

Tamino и Adabas. С помощью компонентов Tamino Data Map и X-Node можно легко обеспечить доступ к данным СУБД Adabas. При этом логическая структура файла интерпретируется как соответствующая структура XML, а запись файла - как конкретный экземпляр XML-документа.

Tamino и EntireX. Продукт EntireX обеспечивает взаимодействие с существующими программными системами, такими, как SAP R/3, PeopleSoft, Baan, по протоколу DCOM. Поскольку Tamino имеет доступ к объектам DCOM, появляется возможность интеграции существующего программного обеспечения с новыми приложениями XML.

Tamino и Natural. С помощью продукта Natural можно получить доступ как к объектам XML, так и к SQL-данным, хранящимся в Tamino. В свою очередь Tamino может взаимодействовать с объектами Natural с помощью комбинации продуктов EntireX и NaturalX.

Tamino и Bolero. Bolero функционирует под управлением виртуальной машины Java (JVM), поэтому приложения Bolero выполняются на любой платформе, имеющей сертифицированную JVM.

Приложения Bolero могут обращаться к объектам Tamino непосредственно через URL, выполняя операции чтения, создания и изменения объектов XML с использованием интерфейса DOM. Bolero поддерживает кодировку Unicode, что соответствует стандарту XML. Все это вместе делает Tamino и Bolero идеальной парой для разработки приложений электронного бизнеса.

Данная уникальная комбинация позволяет:

- хранить любые объекты Интернета, документы стандартных приложений, сложные информационные объекты, традиционные данные, представленные в реляционной структуре;

- реализовать концепцию безопасного выполнения транзакций бизнес-приложений в среде Интернета;

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

- обеспечить доступ к существующей информации, хранящейся во внешних базах данных, таких, как Adabas или РСУБД.

Платформы. В настоящее время информационный сервер Tamino выпускается на платформе Windows NT. В следующем году ожидается появление продукта на платформах Unix, включая Sun Solaris, AIX, Linux и др., а также OS/390.

Требования к программно-технической платформе. ПК: INTEL Pentium II Processor от 300 МГц; HDD: >150 Мб (NTFS); RAM: 128 Мб; Windows NT 4.0 SP5; Microsoft IIS 3 и выше; или Apache WS 1.3.3, 1.3.4, 1.3.6 или 1.3.9; или IBM HTTP Server 1.3.6 и выше.

Лицензирование. Стоимость лицензии на использование Tamino зависит от общего числа процессоров, на которых функционирует система, а также от количества дополнительных интегрируемых продуктов СУБД.