“Галантис” ориентируется на платформу Microsoft .NET
ПРОЕКТЫ
При изучении потенциальных возможностей сложных программных систем, в частности продуктов класса ERP, крайне необходимо разобраться в архитектурных принципах их построения. Ведь именно они определяют готовность решений к росту объема обработки информации, увеличению числа пользователей, адаптации к конкретным требованиям и т. д. При этом нужно иметь в виду, что понятие “архитектура” - не только набор правил, протоколов, интерфейсов и пр., но прежде всего технологическая платформа, на базе которой разработчик создает готовые решения для конечных пользователей.
Первый вице-президент корпорации
“Галактика” Геннадий Гацко
В развитии прикладных систем можно выделить два параллельных процесса:
- эволюционный - модернизация имеющихся и создание новых решений в рамках принятой технологической платформы (развивающейся также сугубо эволюционно);
- революционный - разработка новой технологической платформы, которая предлагает модернизацию архитектуры прикладных решений, обеспечивающую возможность создания последних на более высоком качественном уровне.
На примере одного из лидеров российских поставщиков ERP-систем корпорации “Галактика” все сказанное выше выглядит следующим образом: продолжая развитие своих решений на базе действующей архитектуры, специалисты компании еще два года назад приступили к разработке системы “Галантис” с ориентацией на архитектуру Microsoft .NET. “Галантис” - первый проект корпорации по созданию прикладных систем нового поколения.
Решения “Галактика” (существующая архитектура)
В основе используемой сейчас технологической платформы лежит собственное средство разработки “Атлантис”, написанное на C++ и Delphi. Оно включает компиляторы для своего языка VIP (класса 4GL), собственную среду исполнения бизнес-логики и визуальной части. Его применение обеспечивает быструю разработку, поддержку COM-технологии, независимость прикладного кода от выбранной СУБД (Pervasive SQL, MS SQL, Oracle). С использованием “Атлантиса” созданы текущая коммерческая версия 5.8 системы “Галактика”, анонсированная нынешней осенью версия 7.1, с его же помощью ведется разработка следующей версии 8.0 (см. таблицу). О функциональном развитии этого семейства продуктов подробно рассказал президент корпорации “Галактика” Николай Красилов (см. PC Week/RE, № 32/2002, с. 1).
Отметим, что нынешняя платформа постоянно совершенствуется и модифицируется. В частности, сейчас готовится к выпуску пятая версия “Атлантиса”. Она будет использоваться для разработки “Галактики 8.0” в рамках реализации проекта “Эффективность. Открытость. Качество”. Основной особенностью данной версии является развитие в первую очередь общесистемных (нефункциональных) свойств продукта. Ключевые результаты, которых планируется достичь:
- построение полностью трехуровневой архитектуры;
- завершение перехода к объектным технологиям;
- реализация компонентной модели с поддержкой независимой разработки и сопровождения компонентов;
- поддержка тонкого клиента.
Представители корпорации подчеркивают, что пока существующая архитектура востребована клиентами, ее развитие будет продолжено. Однако перспективное развитие систем связано с новыми технологиями, создание которых уже второй год ведется по проекту “Галантис” на базе архитектуры Microsoft .NET”.
Ставка на .NET
Первый вице-президент корпорации “Галактика” Геннадий Гацко, руководящий управлением разработки ПО, сообщил, что изучение .NET началось еще в середине 2000 г., когда появилась ее Technical Preview. Именно тогда было принято решение о переходе от COM к .NET. Это дает серьезные конкурентные преимущества (несмотря на понятное увеличение затрат на начальном этапе) при построении будущих прикладных систем. В этой связи нужно упомянуть о двух ключевых концептуальных отличиях .NET от COM - виртуализации и расширяемости метаданных.
Последовательность выпуска прикладных систем корпорации “Галактика”
Как известно, идеология .NET базируется на применении виртуальной машины исполнения, что должно обеспечить независимость от аппаратно-программной платформы (процессоры, операционные системы), т. е. многоплатформность. По мнению разработчиков “Галактики”, это, в частности, сможет обеспечить простой перевод решений на 64-разрядные вычислительные системы. Расширяемость метаданных (метаданные есть и в COM, но там их набор статичен) позволяет формировать прикладные слои описания на уровне компонентной модели, что в свою очередь предоставляет возможность создания многоуровневых инструментов и прикладных технологий, оперирующих, например, в терминах бизнес-логики.
Впрочем, вопрос о переходе от COM к .NET не столь принципиален: учитывая, что при всех своих инновациях .NET представляет собой естественное развитие COM, решение о подобном переводе является лишь делом времени. Принципиальный же выбор разработчикам сложных бизнес-решений нужно делать между .NET и Java (точнее, J2EE и CORBA). Вот какие доводы в пользу .NET приводят представители корпорации “Галактика”:
1) более широкие доступные возможности .NET, чем возможности комбинации J2EE + CORBA, во многом объясняемые тем, что более “свежее” решение обычно учитывает недостатки предыдущего;
2) единое интегрированное решение при ориентации на .NET. Казалось бы, при этом разработчики “завязываются” на одного поставщика, а альтернативный вариант дает большую свободу выбора. Однако необходимость использования CORBA также требует сотрудничества с конкретной компанией из числа создателей данной платформы, но без гарантии получить от нее все необходимое. А работа с несколькими поставщиками не гарантирует полной совместимости их продуктов;
3) стабильность разработчика платформы (т. е. Microsoft);
4) снижение затрат клиентов. Применение CORBA подразумевает покупку конечным пользователем дорогостоящих серверов приложений, что существенно повышает для него общую стоимость владения программным продуктом. Платформа .NET поставляется бесплатно, в перспективе - вместе с операционной системой;
5) большие возможности аутсорсинга в .NET, учитывая ориентацию широкого круга разработчиков на применение технологий Microsoft. Уже сейчас существует рынок компонентов для .NET, несмотря на то что коммерческая версия .NET появилась только в начале года. Расширяется инструментарий и набор языков программирования;
6) простота обеспечения поддержки широкого круга СУБД, так как для этого достаточно наличия OLE DB-провайдера для конкретной СУБД или адаптера ADO+, которые сегодня имеются для всех наиболее распространенных СУБД.
Последний пункт нужно рассмотреть подробнее. Проблема здесь заключается в том, что при разработке прикладных систем нужно добиться реальной независимости слоя бизнес-логики от СУБД, что достигается созданием еще одного уровня специальных функций. В EJB есть готовые решения подобного слоя, но они не устраивают специалистов “Галактики” ни по стоимости, ни по функциональности, ни по совместимости. По их оценкам, в .NET разработать этот уровень проще, и в проекте “Галантис” он создан. Сейчас уже есть драйвер для MS SQL, но наличие специального функционального слоя позволит без особых затрат предложить драйвер для других СУБД без изменения прикладного кода.
Говоря о своих доводах в пользу .NET, разработчики “Галактики” подчеркивают, что речь идет не только о новых архитектурных решениях и о среде исполнения, но также о поддержке:
- общепринятых стандартов (например, XML, Web-services);
- широкого набора технологий (ADO+, ASP.NET, WinForms, CodeDOM, Component model, Reflection, Security, Remo-ting, Interoperability и т. д.);
- средств разработки и утилиты (Visual Studio.NET, MS Application Center Test), интегрированных с платформой исполнения;
- набора продуктов для различного круга задач (MS SQL Server, MS Office, MS Exchange Server и т. д.).
“Галантис” появится уже в следующем году!
Работа над проектом “Галантис” на базе концептуальных особенностей и преимуществ .NET ведется уже второй год (корпорация “Галактика” имеет статус Early Adopter, что обеспечивает прямое взаимодействие с Microsoft при освоении ее новых технологий). Как сообщил Геннадий Гацко, это решение является продуктом нового поколения и имеет свойства бизнес-конструктора, с реализацией петли управления и WorkFlow, с инструментарием для адаптации и развития.
Любопытно отметить, что освоение .NET “Галактикой” подтверждает общие рекомендации экспертов, в частности Gartner Group (PC Week/RE № 42/2001, c. 1). Так, аналитики предлагают начинать с создания приложения-прототипа. Разработчики корпорации уже подготовили подобное приложение - Web-аналог существующей системы предприятий “Проблемы и решения” (элемент корпоративной технологии и системы качества). Его опытная эксплуатация в офисах корпорации идет с сентября этого года.
В следующем году должна появиться первая коммерческая версия “Галантиса” (т. е. спустя два-три года после выхода предварительного выпуска .NET). Отвечая на вопрос о том, когда корпоративным пользователям нужно переходить на .NET, специалисты “Галактики” говорят: “Когда появятся системы с необходимой функциональностью”. Ждать осталось недолго.