“Галантис” ориентируется на платформу 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, специалисты “Галактики” говорят: “Когда появятся системы с необходимой функциональностью”. Ждать осталось недолго.