Объединение бизнес-приложений с точки зрения Microsoft Business Solutions
По словам Александра Якунина, в настоящее время создавать бизнес-приложения все еще непросто |
Проблема интеграции приложений (Enterprise Application Integration, EAI), с одной стороны, становится актуальной для тех предприятий, информационные системы которых состоят из созданных своими силами или приобретенных у сторонних разработчиков решений. При этом разные системы предназначены для разных групп пользователей. С другой стороны, нередкие сейчас поглощения и слияния часто ставят перед сотрудниками ИТ-службы объединенной компании задачу создания из двух развивавшихся изначально по-разному информационных систем одну общую, не потеряв при этом ничего из данных, накопленных ранее. Из причин, которые также ставят вопрос об интеграции приложений, следует упомянуть и усиление роли электронного ведения бизнеса с партнерами и заказчиками (то, что сейчас обозначают аббревиатурой B2B), необходимость использования в новых условиях всеобщего Web-строительства унаследованных приложений, изначально не предназначенных для этого, создание общей информационной инфраструктуры компании при наличии географически распределенных филиалов.
О путях решения подобных задач и шла речь на конференции, докладчиками на которой выступали представители Microsoft и компании Navision, вошедшей совсем недавно в состав подразделения бизнес-решений Microsoft Business Solutions. И естественно, в качестве основных рассматривались решения с использованием соответствующих технологий.
Axapta шагает впереди
Тем компаниям, которые развернули предлагаемые Navision решения, можно считать, крупно повезло — система Microsoft Business Solutions-Axapta прозрачно и без значительных усилий позволяет осуществлять интеграцию с самыми разнообразными приложениями делового назначения, а также с Web-службами. Как это сделать рассказал и показал на примерах Евгений Глазов, сотрудник MBS.
Интеграцию можно проводить двумя путями — вызывая функции Axapta из других приложений, или, наоборот, вызывая из самого комплекса стороннее приложение. Здесь, правда, стоит заметить, что некоторые возможности доступны только при наличии Axapta версии 3.0. Технология COM делает доступными функции сторонних Windows-приложений, поддерживающих COM, что, помимо интеграции, дает возможность повторно использовать бизнес-логику и встраивать ActiveX-компоненты в формы Axapta. Встроенный редактор позволяет менять свойства COM-объекта внутри приложения.
Для того чтобы функциями Axapta могли воспользоваться другие приложения, имеется специальный COM-коннектор, который инкапсулирует в себе бизнес-логику и предоставляет другим приложениям доступ к объектам системы Axapta. С его помощью из любого приложения, написанного на Visual Basic for Application, или например из ASP-страниц, можно получить доступ ко всей системе.
Второй путь — использование XML, который позволяет загружать в систему Axapta и выгружать из нее любую информацию в данном формате. Этой цели служит Axapta Commerce Gateway, обеспечивающий интеграцию с более продвинутым инструментарием Microsoft BizTalk Server или позволяющий самостоятельно проводить автоматизацию бизнес-процессов на базе XML-документов. Commerce Gateway представляет собой своеобразную надстройку над XML Parser и BizTalk, позволяя синхронизировать объекты внешнего приложения с объектами Axapta, справочники номенклатуры и контрагентов, а также автоматически обрабатывать входящие и исходящие сообщения.
В будущее с Microsoft Business Framework
Пожалуй, основной задачей, стоящей перед Microsoft при развитии инициативы .Net, в настоящий момент является необходимость создания большого количества новых бизнес-объектов, используемых при программировании новых и интеграции существующих приложений в реальном бизнесе. Те базовые технологии, на которых построена .Net, сами по себе не могут привлечь интерес к новой стратегии компании, на которую, кстати, она сделала большую ставку. Все это только инструменты и материалы, с помощью которых должны быть созданы новые средства разработки, базовые структуры и библиотеки объектов, специфичные для каждой области бизнеса, упрощающие создание новых и модификацию старых бизнес-приложений. Но пока это не так.
По словам Александра Якунина, директора MBS по разработкам, в настоящее время создавать бизнес-приложения все еще непросто. Реализация даже программно не очень сложной бизнес-логики требует больших усилий, обладания значительными знаниями в предметной области. Необходимо владеть несколькими языками программирования (объектно-ориентированными, SQL, XML, HTML), уметь применять множество моделей программирования — опять же объектно-ориентированную, реляционную, на базе обмена сообщениями, с оперативной и автономной обработкой событий и т.д. В настоящий момент не существует и интегрированной и полнофункциональной инфраструктуры разработки бизнес-приложений, в рамках которой разработчики могли бы сосредоточиться на описании бизнес-логики приложения, а не на технологиях ее реализации. Следует также иметь в виду сложность управления изменениями, вносимыми в бизнес-приложение в процессе его создания и эксплуатации.
Для решения этих задач Microsoft предлагает инфраструктуру создания приложений для бизнеса — .Net Business Framework, которая может быть использована при разработке приложений для предприятий любого масштаба — малых, средних и крупных. Если описывать .Net Business Framework в двух словах, то это структура классов со средствами разработки, которая призвана упростить модель программирования, ликвидировать сложности, возникающие при создании распределенных приложений, и предоставить разработчикам готовую архитектуру. По этой модели приложения состоят из бизнес-компонентов и бизнес-правил, при этом первые переходят из состояния в состояние по задаваемым вторыми алгоритмам. Бизнес-компоненты сами состоят из сущностей, являющихся минимальными строительными элементами для бизнес-логики.
Бизнес-правила по данной модели всегда должны быть заменяемыми, что позволяет, в частности, легко выделить национальные блоки бухгалтерии во внешние, избавляя от необходимости создания отдельных локализованных версий бизнес-приложений. Тот факт, что элементы бизнес-логики, то есть, в сущности, сохраняются отдельно, позволяет изолировать ее от базы хранения сущностей, что на более высоком уровне дает возможность оперировать именно логикой и отвлечься от технологий реализации, облегчает дальнейшее расширение и модификацию приложения.