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

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


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

Вторая молодость 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
Перепечатка авторских материалов сайта приветствуется! Ссылка на первоисточник при перепечатке обязательна.