XML - единый стандарт описания структурированных документов
Сегодня одной из наиболее актуальных проблем развития корпоративных компьютерных систем стала интеграция разнородных информационных и вычислительных ресурсов. Фактически эта задача требует создания простого и надежного механизма обмена данными между самыми разнообразными приложениями, в том числе работающими на разных аппаратно-программных платформах в распределенной среде, использующими собственные внутренние форматы и т. д.
Конечно, идеальным вариантом является перевод предприятия на единую аппаратно-программную платформу. Но такой подход нереален даже для крупной организации, начинавшей свою ИТ-историю с чистого листа (даже внедрив SAP R/3, трудно обойтись без разнообразных специализированных приложений). И уж тем более он неприемлем для фирмы, имеющей “бурное” ИТ-прошлое и накопившей огромное число наследуемых приложений. Все эти проблемы актуальны как для транснациональных компаний, так и для малых предприятий и даже частных лиц, если они используют хотя бы несколько приложений от разных поставщиков программных решений.
До недавнего времени задача информационного обмена между приложениями решалась с помощью двусторонних конвертеров, позволяющих осуществлять взаимопреобразование конкретных форматов документов. Сейчас же, в условиях глобализации информационных систем и необходимости интеграции данных между десятками и сотнями приложений и создаваемых ими документов, такой подход уже исчерпал себя. Современное решение проблемы заключается в создании универсальных промежуточных форматов данных, с помощью которых можно обеспечить обмен данными между любыми приложениями.
Здесь не лишне будет упомянуть, что попытка реализации такого промежуточного стандарта для разных человеческих языков (вспомните эсперанто) в конце XIX века оказалась в целом не очень удачной. В мире же компьютерных технологий с их высоким уровнем формализации такой подход может быть вполне осуществим.
В середине 90-х годов компьютерная индустрия сделала серьезный шаг на пути универсального обмена данными, разработав стандарт языка HTML. Однако его возможностей для обеспечения полной информационной совместимости сегодня уже недостаточно. HTML ориентирован на описание неструктурированных (но форматированных) данных и поэтому не подходит в качестве механизма обмена между структурированными наборами данных. (Так, документ Word представляет собой пример неструктурированной информации, а рабочая книга Excel - структурированной. Первый предназначен прежде всего для визуального восприятия и обработки его человеком, вторая - для автоматической обработки.)
Решение проблемы обмена структурированными данными заключается в создании нового стандарта, получившего название XML (eXtensible Markup Language). Его разработка ведется под эгидой международной организации по стандартизации спецификаций для Интернета - World Wide Web Consortium (W3C) при активном участии всех ведущих поставщиков ИТ-технологий.
XML отличается от HTML тем, что позволяет записать не только сами данные, но также и информацию об их структуре. Фактически оба этих языка представляют собой упрощенный вариант давно известного среди компьютерных лингвистов языка SGML (Standard Generation Markup Language).
Сегодня уже выпущена версия XML 1.0 и ведется подготовка следующей, расширенной версии. О поддержке технологии XML в качестве универсальной платформы обмена данными уже объявили практически все ведущие ИТ-поставщики. Многие из них включили эти механизмы в свои продукты. Более того, XML взяли на вооружение разработчики корпоративных специализированных систем, в том числе и российские.
Инициатива BizTalk
Использование XML позволяет унифицировать описание структурированных данных и закладывает фундамент для обмена информацией. Однако сам по себе XML не решает другую важную задачу - преобразование XML-документов, что необходимо для передачи данных от одного приложения к другому. Не устранив эту проблему, нельзя добиться интеграции приложений и бизнес-процессов как внутри одной компании, так и при взаимодействии разных организаций.
Для выработки единых архитектурных концепций с целью решения указанной задачи корпорация Microsoft полтора года назад выступила с инициативой BizTalk, поддержанной лидерами многих отраслей и поэтому сразу превратившейся в межиндустриальную. В марте 1999 г. был создан руководящий комитет BizTalk Steering Committee, в состав которого входят ведущие в своих отраслях поставщики, органы стандартизации и корпоративные заказчики, а в конце года были утверждены и опубликованы спецификации BizTalk Framework Document Specification 1.0, подготовленные Microsoft. Эти спецификации необходимы для проектирования и разработки программных решений на основе XML, налаживающих взаимодействие между приложениями с использованием стандартных Интернет-технологий.
Целью инициативы BizTalk является создание единой архитектуры, призванной обеспечить взаимодействие приложений и документов для широкого круга прикладных задач: электронной коммерции, онлайновых служб, сотрудничества с другими компаниями, интеграции бизнес-процессов и информации в рамках одной компании. А для этого надо в первую очередь сделать следующее:
- создать единую реферативную модель;
- подготовить набор описаний спецификаций разнообразных служб;
- разработать бизнес-документы;
- сформировать глоссарий элементов данных для схем на основе XML.
Практическая деятельность комитета BizTalk заключается также в разработке стандартов документов для различных прикладных областей (медицины, электротехники, энергетики и пр.). Именно поэтому данная инициатива является “межиндустриальной”. Эта задача решается путем формирования единой базы данных о разнообразных XML-схемах, которые позволяют правильно интерпретировать и обрабатывать содержимое XML-документов. Следует подчеркнуть, что собственно создание XML-схем документов должно осуществляться разработчиком оригинальных документов (например, XML-схемы для документов системы R3 разрабатываются компанией SAP). Сам комитет BizTalk в данном случае обеспечивает регистрацию открытых (публичных) или закрытых (секретных) схем.
Открытая online-библиотека комитета находится на Web-узле BizTalk.Org (www.biztalk.org). Там же содержатся все информационные ресурсы, спецификации и зарегистрированные XML-схемы документов. Спецификации доступны любому физическому или юридическому лицу; их, в частности, целесообразно использовать при реализации решений в области интеграции приложений и электронной коммерции на основе BizTalk Framework. Доступ к XML-схемам можно получить на основании прав, определенных их разработчиком.
Одна из ключевых идей инициативы BizTalk - необходимость создания универсального, платформно-независимого механизма обмена данными между приложениями без учета того, на каких платформах, операционных системах и технологиях они построены. Соответственно распределение “ролей” всех заинтересованных участников этого глобального процесса выглядит примерно следующим образом.
1. Ведущие разработчики платформ и корпоративные заказчики, а также организации, занимающиеся вопросами стандартизации, разрабатывают базовые стандарты (языки, протоколы, форматы).
2. Компании, специализирующиеся в прикладных сферах деятельности, формируют стандарты на документы по отраслям.
3. Разработчики прикладных программ создают конкретные XML-схемы для своих документов и конвертеры преобразования внутренних форматов данных в XML (и обратно) в соответствии с этими схемами. (То есть наличие таких схем и средств преобразования данных становится обязательным требованием к современным бизнес-приложениям.)
4. Разработчики инструментальных средств обеспечивают поддержку XML-технологий в своих продуктах (в частности, при работе с XML-документами).
5. Разработчики серверных платформ создают инструменты для автоматизации задач управления XML-документами (маршрутизация, преобразование, обеспечение безопасности и пр.).
6. Разработчики корпоративных информационных систем, используя инструменты, перечисленные в пп. 3 и 4, занимаются интеграцией применяемых ими бизнес-приложений.
Microsoft BizTalk Server 2000
Выступив с инициативой BizTalk, Microsoft сразу приступила к разработке инструментальных средств поддержки этой технологии. В конце 1999 г. появился инструментальный набор BizTalk Jumpup Toolkit, включающий средства создания COM-объектов на основе XML-схем и полнофункциональный механизм Runtime Engine для организации обмена XML-документами (в феврале 2000 г. была выпущена версия 2.0 этого продукта).
В апреле Microsoft объявила о начале программы предварительного технического ознакомления с Microsoft BizTalk Server 2000 (относящимся ко второму поколению комплекса средств реализации идеологии BizTalk Framework), который заменяет прежний BizTalk JumpStart Kit, предоставляя значительно больше возможностей и инфраструктуру промышленного уровня.
BizTalk Server 2000 включает в себя комплект серверных приложений, обеспечивающих безопасность и надежность доставки, рассылки и преобразования бизнес-документов, а также набор средств разработки и специальные адаптационные программы, которые позволяют дополнить существующие приложения поддержкой XML.
Архитектура BizTalk Server 2000 содержит следующие основные компоненты.
1. Инструментальные средства для создания схем и документов, установления соответствия между элементами документов и управления системой:
- BizTalk Editor - редактор документов различных промышленных (XML, EDIFACT, X12) и собственных пользовательских форматов, обеспечивающий также их преобразование в XML;
- BizTalk Mapper - визуальное средство для установления связей между полями документов различных форматов. Использует инструменты программной обработки для поддержки разнообразных XML-преобразований (в частности, автоматическое преобразование XML-данных через запросы, сортировку и фильтрацию с помощью XSLT-технологий);
- BizTalk Management Desk - инструмент конфигурирования бизнес-параметров (формирование договоров с контрагентами и поддержка рассылки документов с учетом их содержания по определенным правилам);
- BiTalk Server Administration - средство администрирования сервера (конфигурирование серверов и групп, управление очередями и базами данных, обеспечение трекинга, защита данных, шифрование и пр.).
2. Набор служб для обработки входящих и исходящих документов:
- поддержка транспортных сетевых протоколов, таких, как HTTP, HTTPS, FTP, SMTP, SMB (передача файлов), Microsoft Message Queue Server (MSMQ) и Microsoft Exchange;
- обеспечение надежной защиты - поддержка шифрования, цифровых подписей и инфраструктуры с использованием открытого ключа (public key infrastructure);
- трекинг документов для контроля за их движением;
- средства анализа, позволяющие исследовать бизнес-процессы и генерировать любые отчеты, а также поддержка встроенных в Microsoft Office средств анализа данных.
3. Репозиторий для хранения схем и документов.
4. Набор готовых компонентов для обработки документов. В частности, сейчас имеются адаптационные программы, обеспечивающие прямую интеграцию XML в системы SAP R/3 и EDI. Расширяемая архитектура позволит интегрировать XML и с другими бизнес-приложениями.
5. Набор средств для разработчика (SDK):
- готовые компоненты для интеграции приложений и обработки документов;
- Plug-In Generator для разработки COM-объектов;
- интерфейсы BizTalk Server 2000 COM для программного управления сервером.
Microsoft позиционирует BizTalk Server как один из главных инструментов реализации архитектуры Windows DNA, использующих ПО промежуточного слоя.
Версию BizTalk Server 2000 для предварительного ознакомления можно бесплатно загрузить с www.microsoft.com/biztalkserver. Финальная версия этого продукта должна выйти во второй половине года.