Сегодня 31.03.2025 Вы зарегистрированы в системе под именем ANONYMOUS

Rambler's Top100
Начало
Обо мне
Моя семья и звери
Статьи
Проекты
Стихи
Фото-галерея
Досуги
Былое и думы
Универсальная Самообучающаяся Экспертная Система
Мудрости
Приколы
 
Новости
Карта сайта
Все материалы
Обсуждение
Опросы
 
Высказаться
Email
Вид для печати
 
Регистрация
Настройка
 


КиноНавигатор поможет выбрать фильм, если не знаешь, что посмотреть.
Персональный сайт Андрея Акопянца  >  Статьи  >  О конкретных системах и компаниях

    След. материал >>

Вторая молодость Software AG

Обзор систем Tamino и Bolero от компании Software AG, и некоторые разышления по этим поводам. Написана весной 2000г., публикована в журнале "Инфобизнес" в сильно сокращенном варианте.

;;;;;;;;;;;;;;;;;

Когда начинается шторм, на поверхность поднимается крупная рыба... Японская народная мудрость

Вспомним 5-летней давности корпоративный пейзаж в области информационных технологий... Борьба Микрософт и Netscape на рынке браузеров, Oracle, Informix и Sybase на рынке корпоративных СУБД, полное засилье MS Windows в области desktop-операционных систем и планомерное, и казалось бы, неостановимое наступление NT на рынке серверов. И, кажется, все... Рынок был достаточно стабилен, и существенного передела его не предвиделось, а выйти на него новым игрокам было крайне трудно.

Нынешний интернет-бум (точнее, бум электронной коммерции) взбаламутил тихую воду информационных технологий, породив массу компаний, за год-два-три поднявшихся из полного небытия и достигших мирового признания. Процент знакомых имен в потоке IT-новостей катастрофически уменьшается. Сейчас только ленивый не разрабатывает инструментальных средства для XML, электронной коммерции, WAP, корпоративных порталов и электронного b2b взаимодействия.

Но, с некоторой задержкой, как и положено большим и солидным компаниям, на рынке инструментов для электронной коммерции стали появляться "киты" софтверного бизнеса - IBM, HP, CA, Oracle и др. Причем появляться не со скороспелыми поделками, собранными на коленке в гараже на деньги венчурных инвесторов, а с большими комплексными системами. Конечно, как задержка, так и нынешнее появление на рынке этих компаний связано не столько с их нерасторопностью, сколько с тем, что клиентура - такая же большая и солидная, наконец созрела для внедрения систем электронного бизнеса.

И вот кроме бывших, в общем, на слуху IBM и других, всем на удивление всплыла и начала активный маркетинг покоившийся в тихой заводи больших корпоративных систем немецкая компания Software AG. Ветераны информационных технологий могут помнить эту компанию как разработчика системы управления базами данных Adabas, самой массовой системе на ЕС-овских мэйнфреймах и до сих пор самой быстрой из промышленных систем управления данными.

Software Ag - компания-старожил, начинавшая свою деятельности еще в те времена, когда можно было компанию незатейливо называть АО "Программное обеспечение", а базу данных - просто "A Data Base".

Причем Software AG не просто всплыла на волне Интернет-бума, подавая старые достижения в новой обертке, а предъявила миру два совершенно новых, больших и действительно революционных продукта для создания Интернет-приложений, причем продуктов скорее даже не сегодняшнего, а завтрашнего дня. Это XML-база данных Tamino и система разработки приложений Bolero.

Оба продукта написаны на чистой Java (более 1млн строк кода!), работают на всем, от мэйнфреймов до IBM PC, поддерживают все мыслимые и немыслимые стандарты, изготовлены с чисто немецкой основательностью и базируются на огромном опыте Software AG в области больших систем и солидной методологической базе.

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

Несколько слов об XML

Про XML написано уже достаточно, но я думаю, не лишним будет еще раз повториться. XML (eXtensible Markup Language) - это способ для обмена и хранения в Сети структурированной информации. XML-документы представлены в виде текста с разметкой (тегами), только в отличии от HTML набор тегов в XML не фиксирован, а задается при описании ТИПА ДОКУМЕНТОВ, или может вообще не фиксироваться.

Вокруг XML существует также ряд связанных технологий, без которых XML был бы практически бесполезен:

XSL (eXtensible Stylesheet Language) - язык описания визуализации XML-документов, обычно используется для отображения XML-документов в HTML-страницы. Современные браузеры (IE5 и Netscape v5) понимают XSL, и соответственно, могут непосредственно визуализировать XML- документы (если конечно, им рассказали. как это делать - т.е. предоставили XSL-описание).

XQL (eXtensible Query Language) - язык запросов для баз данных, представленных в виде XML-документов

DOM (Document Object Model) - API для доступа к XML-документам после обработки их стандартными парсерами XML. Пользуясь DOM, можно, например, написать на Java или JavaSrcipt программу для браузера, которая будет визуализировать XML-докумен нужным образом, причем гарантируется, что это будет работать в любых браузерах, поддерживающих DOM.

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

Кстати, сейчас основное использование XML - это не обмен информацией между веб-серверами и браузерами, а обмен между серверами, а так же как использование его как внутреннего технологического формата в различных системах работы с динамическим веб-контентом.

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

Эта легкость, впрочем, чревата и некоторой опасностью "смешения языков" и утраты единых стандартов. Если раньше разработать некоторый протокол обмена данными и реализовать его могло позволить себе только большое сообщество или действительно крупная фирма, то такие протоколы долго рождались, а появившись, становились стандартами де-факто или де-юре.

Сейчас разработать собственный протокол на базе XML может любая маленькая фирма. И это уже происходит в действительности.

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

Найти и сохранить

Использование XML как способа хранения и обмена информацией ставит две проблемы

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

- нужно уметь эффективно хранить и искать среди больших коллекций собственно, XML-документов, то есть нужны XML-базы данных.

Конечно, XML-документы можно "разложить" в структуру реляционной базы данных, таким образом, что запросы на XQL будут эффективно транслироваться в запросы на SQL. И некоторое количество таких продуктов на рынке уже есть. Производители популярных СУБД (Oracle, Informix) анонсировали соответствующие надстройки над своими системами. Имеются продукты и третьих фирм.

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

Но тут нужно заметить, что структура данных, принятая в Adabas, и называемая сейчас постреляционной (забавный каламбур, поскольку эта структура появилась до того, как Кодд сформулировал свою реляционную модель!), гораздо ближе к XML, чем реляционная...

И Software AG не преминула этим воспользоваться, и первая в мире выпустила "честную" XML-базу данных, где XML-документы хранятся в компактном виде, и эффективно индексируются для поиска с учетом их структуры.

Конечно, не стоит воспринимать Tamino как Adabas, приспособленный для хранения XML, но опыт Adabas-a наверняка был востребован. В результате Tamino анонсируется как самая быстрая в мире XML-база данных, и я охотно в это верю, хотя сам лично не проверял...

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

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

Рыночные ниши для такого продукта, очевидные уже сейчас, это

- всевозможные системы документооборота, хранения и поиска документов, где Tamino вполне может составить конкуренцию традиционным решения типа Docs OPEN и Documentum, особенно в области Интернет-ориентированных систем работы с документами.

- так называемые "корпоративные порталы". Про это нужно сказать немного подробнее.

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

Но быстро выяснилось, что

- просмотр и поиск документов в этом массиве является самостоятельной проблемой

- кроме доступа к документам, нужен оперативный доступ к данным, "живущим" в корпоративных информационных системах.

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

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

Танцем Bolero

Bolero позиционируется как "Фабрика приложений для электронного бизнеса".

Система включает в себя язык программирования Bolero, среду разработки приложений на этом языке (Bolero Studio), и среду иcполнения приложений (Bolero Application Server). Впрочем, последнее может не использоваться - порожденный Bolero код может использоваться в любом стандартном окружении, поддерживающем Java, так как компилятор Bolero порождает стандартный Java-байт код.

Bolero - это самостоятельный объектно-ориентированный язык программирования, По заявлению разработчиков, он так же соотносится с Jаva, как так называемые языки 4-того поколения (4GL - концепция популярная в начале 70-тых годов прошлого века) соотносились c стандартными на том момент времени языками программирования типа С и Паскаль, а именно - включали ряд высокоуровневых концепций и были оптимизированы для разработки бизнес-приложений, работающих с базами данных.

Bolero по большинству своих свойств очень похож на Java, и совместим с Java на уровне библиотек, но имеет ряд отличий.

Во первых, у Bolero другой синтаксис - он больше похож на помесь Паскаля с Коболом, чем на Java и Cи.

Во вторых, в Bolero добавлен ряд приятных мелочей, которых не хватает в Java - в частности, наличие Null-значений для любых типов данных, некий аналог темплейтов С++ и др.

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

И наконец, в Bolero реализован ряд высокоуровневых концепций, крайне полезных при реализации серьезных бизнес-приложений. Это

- хранимые объекты

- поддержка транзакций

- длинные транзакции

Хранимые объекты позволяют в широком классе приложений вообще забыть о существовании базы данных. Достаточно сказать, что некоторый объект является хранимым, и Bolero само сохранит его в базе, и достанет оттуда, когда мы обратимся к этому объекту.

Причем, как и в случае с Tamino, Bolero может либо само организовывать хранение объектов, либо отображать структуру хранения объектов на структуру некоторой существующей БД.

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

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

Техника описания таких транзакций достаточно похожа на Workflow - т.е. описание потоков работ, при этом накапливается история исполнения транзакции, а действия, ее выполняющие, должны иметь описанные парные действия, выполняющие "откат" в случае необходимости.

Для динамического формирования HTML-страниц в Bolero применяется модный сейчас подход, при котором дизайн полностью отделяется от функциональности за счет того, что на этапе дизайна объекты (тэги) на HTML-страницы снабжаются идентификаторами, и компилируются в Java-объекты, с которыми потом идет работа.

Наверное, излишне говорить, что Bolero (как среда разработки, так и исполнения) работает на всем от S/390 до Windows, поддерживает все компонентные стандарты (Corba, Dcom, Java beans) и все способы межкомпонентного взаимодействия, причем как в смысле взаимодействия и включения в свою среду уже имеющихся объектов, имеет открытый интерфейс для подключения новых библиотек Bolero-объектов и др.

Платой за все это (и в первую очередь за то, что все Bolero написано на Java) является тяжеловесность среды разработки. Ей необходимо минимум 256М оперативной памяти, что впрочем, сегодня уже не составляет проблемы, а со средой исполнения у Bolero все нормально, никаких супер-требований к ней не предъявляется.

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

Хотя, конечно, для маленьких проектов преимущества Bolero могут и не успеть проявиться, и существующие решения класса JSP (Java Serevr pages) Web-серверов приложений типа Bea WebLogic и Netscape iPlanet, и разнообразные среды для разработки Java-приложений (Microsoft Java Studio, IBM Visual Age for Java, Java Caffee) являются вполне конкурентоспособными.

А так же многое другое...

Попутно у Software AG обнаружился еще один очень интересный продукт - реляционная СУБД, называемая "Adabas D". Эта система практически неизвестна российской общественности, в то же время она является полнофункциональным сервером баз данных, крайне проста в администрировании, работает везде, включая Linux, а с недавних пор стала еще и свободно распространяемой в составе Sun-овского Star office. О том, что это вполне серьезная система, свидетельствует тот факт, что большая часть установок R/3 в мире работает вовсе не на Oracle, как принято считать, а именно на Adabas D.

И для сегодняшней российской действительности Adabas D, как полнофункциональная свободно распространяемая база данных для создания динамических Web-решений, может оказаться неожиданно актуальным, даже более актуальным, чем Tamino и Bolero...

Оказалось так же, что Software AG является также одним из ведущих мировых поставщиков Middlware - ее система EntireX вполне сравнима по популярности с лидерами рынка - IBM MQ Series и Taxedo (кажется, сейчас принадлежит Nowell..).

Кроме разработки продуктов, Software AG предпринимает сейчас значительные усилия по популяризации философии электронного бизнеса. Изданная компанией книжка, которая так и называется - "Успех в электронном бизнесе", содержит очень ясное и компактное (пожалуй, лучшее, из того, что мне приходилось встречать) изложение основ современных Интернет-технологий (XML, Java и др.), технологий построения распределенных систем и других технологических и методологических аспектов, являющихся основой для современного электронных бизнеса. Книжка не переведена, тем не менее настоятельно рекомендую - она будет полезна как профессионалам, так и просто интересующимся.

В общем, несмотря на свой преклонный возраст, в 3 тысячелетие Sowtware AG входит с изрядно обновленным продуктовым рядом и напором, которому могут позавидовать многие молодые "dot-com" компании.


( опубликовано 06.05.2001)
    След. материал >>

Обсуждение (нет реплик) Высказаться    Настройка



В начало страницы (C) Andrey Akopyants
Перепечатка авторских материалов сайта приветствуется! Ссылка на первоисточник при перепечатке обязательна.