В последние месяцы архитектура информационных систем, ориентированная на Web-службы (Service-Oriented Architecture, SOA), оказалась в фокусе внимания аналитиков и производителей. Подачу, выполненную компанией Sonic Software в форме подходов SOA и ESB (Enterprise Service Bus), живо восприняли IBM и BEA Systems, а также некоторые другие приверженцы технологии Java.
Apriso, материализующая архитектуру, альтернативную SOA, в России не слишком известна. Деятельность компании была рассчитана на поставку приложений только для крупных заказчиков; за десять лет существования набралось всего 140 клиентов, но среди них General Motors, Honeywell, Matsushita Avionics, Lockheed, British American Tabacco и им подобные. Генезис нового названия Apriso обнаруживается в испанском слове aprisa, которое переводится как нечто не только «быстрое», и к тому же «твердое» или «упорное». Случившееся переименование не самоцель; вместе с ним компания произвела то, что называют ребрендингом. Она изменила и свой статус: если прежде она была известна как поставщик штучных решений CRM и SCM, то в новом качестве Apriso предложила FlexNet — оригинальный инструментарий интеграции приложений, который должен стать в большей мере массовым и расширить круг заказчиков компании.
FlexNet (вторая часть имени явно указывает на родственность .Net) построен на фундаменте корпоративной философии Bottom-out. Основные положения этой философии изложены в отнюдь не шуточном документе, где излагаются основы технической стратегии Bottom-out Enterprise Software. Однако озаглавлен он несерьезно: «Если бы в футбол играли так, как делают бизнес». Суть образного сравнения такова: попробуйте представить себе, что футболисты лишены индивидуальной личной инициативы и вместо моментальной реакции на изменения игровой ситуации следуют строго прописанным правилам. Нет слов, абсурд, но, как ни странно, в не менее сложных, чем любая игра, условиях бизнеса XXI века корпоративные информационные системы строятся по тем же принципам, что и несколько десятилетий назад.
Для того чтобы отличить свой подход к построению систем, в Apriso классические системы называют спроектированными «сверху вниз» (Top-Down), развивая при этом альтернативный подход Bottom-Out, что можно перевести как «от основания». Если отбросить метафоры и перевести маркетинговый язык в термины кибернетики, то надо сказать, что в Apriso осознали невозможность строить сложные детерминированные системы на принципах программного управления и ищут пути создания систем с элементами самоуправления. Иного пути к «предприятию, работающему в режиме реального времени» (Real Time Enterprise), не дано. В IBM для самоуправляемых систем предложен термин autonomic computing, другие обозначают их словосочетанием autonomous systems, но как бы не называли разные фирменные подходы, их роднит необходимость в переходе от интуитивно обоснованных методов построения систем к системам, построенным по хорошо известным кибернетическим принципам. Internet и другие коммуникационные технологии изменили окружающую среду по причине исключительно возросшей скорости обмена данными. На внешние воздействия теперь требуется реагировать в соответствии с этими скоростями, т. е. в режиме реального времени.
В официальных документах Apriso большое внимание уделяется экономическому обоснованию предлагаемых продуктов и решений. Для обозначения новой экономики существует масса вариаций на тему e-business. Есть и другие, одна из них — The Execution Economy, т. е. «экономика исполнения» или «исполнительная экономика». Исполнительная в том смысле, что предполагает не строгое следование предписанной программе, а оперативное исполнение или отработку реакций на внешние воздействия (примерно то же самое означает еще один растиражированный термин — «по требованию»). Реализовать обработку по требованию (On Demand) можно на разных уровнях, на программном, на аппаратном, но самое критическое требование — это требование со стороны потребителя: предприятие должно выпускать то, что требует потребитель. Другими словами, не отдельные системы и подсистемы должны быть построены On Demand, а все предприятие в целом.
Есть две полярные экономические модели — push, навязывающая потребителю производимые товары и услуги, хорошо знакомая по временам социализма, и ее альтернатива pull, полностью подчиненная потребителю. Ни та, ни другая модель в чистом виде существовать не могут; однако для эффективной работы в идеале функционирование предприятия должно приближаться ко второму варианту. Для того чтобы добиться этого, вся информационная система должна функционировать On Demand, от самого основания, Bottom-Out.
Архитектура Web-служб FlexNet
Для того чтобы определить свою позицию по отношению к Web-службам, в Apriso предложили классификацию самих служб и рынка служб. Web-службы делятся на четыре категории:
- consumer oriented - службы, предназначенные для конечных пользователей, чаще всего доступ к контенту или передача с пользовательских рабочих мест небольших объемов информации;
- business oriented - службы, реализующие бизнес-процессы;
- system oriented - службы, реализующие системные функции (оценка производительности, мониторинг безопасности и т.д.);
- device oriented - службы, обеспечивающие доступ к устройствам.
Рынок Web-служб подразделен на две части:
- Web services application - доступ к приложениям, размещенным в Сети;
- middleware and tools - инфрастуктура, позволяющая пользователям создавать и выполнять собственные Web-приложения.
С технологической точки зрения из четырех категорий Apriso выбрала в качестве предмета своей деятельности службы категорий business oriented и device oriented, а с точки зрения бизнеса она ориентирована на рынок инструментов и программного обеспечения промежуточного слоя.
Основной продукт Apriso, «гибкая сеть» FlexNet представляет собой решение, предназначенное для совместного производства и цепочки поставок, построенное на основе технологий XML-ориентированных Web-служб, входящих в Microsoft .Net. В число основных использованных средств входят Microsoft BizTalk Server, управляющий интерфейсом между приложениями, который построен на основе слабо связанных сообщений, а также Crystal Reports, входящий в состав Visual Studio .Net, служит средством для генерации графических отчетов и запросов, позволяющих обращаться к любому типу устройств через Internet. Кроме того, в FlexNet используются операционные системы Windows 2000 Server, Advanced Server и Datacenter Server, .Net Framework, Visual Studio .Net, язык программирования C#, СУБД SQL Server 2000 и компонентная объектная модель Component Object Model (COM).
Перечислим основные компоненты, из которых состоит архитектура FlexNet (рис. 1).
- FlexNet Real-Time Enterprise Database. Все приложения, работающие в среде FlexNet, используют реляционные СУБД Microsoft SQL Server или Oracle, которые поддерживают операционные данные о работе предприятия. Корпоративная база данных состоит более чем 900 таблиц, она может содержать весь набор данных о продукции, логистике, контролю качества, управлению процессами. СУБД может работать автономно или синхронно совместно с базами данных приложений ERP, CRM, PLM или SCM. База данных может быть единственной консолидированной или распределенной между несколькими площадками со всеми необходимыми механизмами репликации и управления.
- Data Access Layer. Уровень доступа, основанный на XML, образует платформу для доступа к данным, обеспечивающую совместимость и масштабируемость.
- Business Services Tier. Службы представляют собой допускающие повторное использование строительные блоки, из которых могут быть "собраны" компонентные приложения. Apriso разработала основной набор XML-ориентированных Web-служб, который обеспечивает взаимодействие пользователей в процессе производства и распределения продукции.
- Web Services Wrapper. Оболочка, которая преобразует приложения в XML-ориентированные Web-службы. Visual Studio .Net автоматически создает необходимые интерфейсы для объектов XML и объектов протокола SOAP, необходимые для превращения и сборки повторно используемых компонентов в XML-службы, что позволяет разработчикам сосредоточится на бизнес-логике приложений.
- ASP.NET User Interface Framework. Платформа .Nеt Compact Framework обеспечивает взаимодействие с мобильными устройствами.
- Web Forms. Одна из основных технологий Visual Studio .Net, которая позволяет разрабатывать кросс-платформенные и независимые от типа браузера Web-приложения, используя те же самые приемы, что и для приложений, предназначенных для настольных компьютеров.
- Web Services Applications. Эти приложения доступны для пользователей с применением персональных компьютеров или мобильных устройств.
- Machine Integrator. Интеграционная машина, представляющая собой систему распределения данных.
- Workflow Manager. Выполняет функции распределения задач.
- XML Manager. Интеграция приложений ERP, CRM, PLM и SCM средствами Microsoft BizTalk Server.
- Enterprise Integration. Прозрачная для пользователей интеграция SCP, ERP, PLM и CRM.
Утверждается, что FlexNet обеспечивает сертифицированный интерфейс с системами SAP R/3, mySAP.com и Oracle e-Business Suite. Кроме того, есть возможность интегрировать приложения с использованием стандартов ANSI/ISA 95.00, ebXML и RosettaNet.
Даже поверхностное сравнение решений архитектуры, ориентированной на службы от компании Apriso с тем, что предлагают адепты Java, показывает: перед нами корпоративная интерпретация .Net, которая воплотила в себе генетические черты программных продуктов Microsoft со всеми их достоинствами и недостатками. n
Шина ESB, предложенная Sonic, один из важнейших компонентов SOA, построена на основе ориентированной на Java системы обмена сообщениями JMS. Поэтому сегодня архитектура SOA почти однозначно ассоциируется с миром Java и особенно с платформой J2EE. Однако сама по себе идея объединения приложений средствами Web-служб не связана с какой-то единственной технологией. Существуют альтернативные, близкие по функциональности решения, построенные на базе .Net. В наиболее полном виде решение, аналогичное SOA, в основу которого положена философия Web-служб можно найти у компании Apriso.