По данным Gartner Group к 2004 году оборот в этом секторе достигнет 8 трлн. долл. При этом темпы роста рынка B2B в 10 раз превысят темпы роста в сфере B2C. В отчете компании Goldman, Sachs & Company отмечается, что уже сегодня в США 31% компаний ведут бизнес через Internet, а к концу 2001 года их число превысит 90%. Подобные перспективы обостряют конкуренцию между поставщиками ERP-систем, поставляющими свои решения для организаций, непосредственно связывающих свой бизнес с Сетью и исповедующих централизованную стратегию при децентрализованной структуре.

Сегодня рынок ERP-систем вполне сформировался - список игроков хорошо известен, а расстановка сил между ведущими компаниями отражается всевозможными рейтингами. В частности, журнал Accounting Today, ежегодно обновляющий список лучших ERP-продуктов, в конце 1999 года включил в этот список, помимо PeopleSoft, Baan, Oracle и SAP, дебютировавшую в 1998 году датскую систему AXAPTA. Одним из факторов, повлиявшим на выбор журнала, стала ориентированность этой системы на Internet-технологии. В данном статье мы рассмотрим новый продукт с точки зрения аспектов, интересующих ИТ-менеджеров при построении и администрировании информационной системы предприятия: набор реализованных в систем технологий, архитектура, наличие средств разработки, обеспечение безопасности.

Kонцепция интеграции с Internet

С развитием Internet возникла концепция электронной торговли как способа продажи и приобретения товаров через Сеть. Затем возник еще один термин электронный бизнес, обозначающий взаимодействие компании со своими контрагентами (клиентами, поставщиками, банками, государством и др.) также через Internet (рис. 1). Таким образом, требования компаний к средствам автоматизации бизнеса начали смещаться от простых бухгалтерских программ в сторону сложных ERP-систем, действующих в окружении Internet-экономики. Известные брэнды ERP-систем появились и достигли зрелости задолго до того, как Internet стал доступным для электронного бизнеса, поэтому, чтобы не отстать от времени, многие поставщики в срочном порядке начали «осуществлять интеграцию с Internet».

Рис. 1. Участники электронного бизнеса

Традиционные ERP-системы построены в двухзвенной архитектуре клиент-сервер, которая предполагает, что значительная часть бизнес-логики исполняется на клиентских станциях. В электронном бизнесе логика клиентских приложений становится несколько иной, да и доступ к ней должен осуществляться из разных пользовательских интерфейсов. Соответственно, для разработки разнотипных «клиентов» приходилось использовать и различный инструментарий. В некоторых случаях для сопряжения ERP-системы с Internet нужно использовать еще одну СУБД. В результате возникает множество проблем, связанных с синхронизацией баз данных, дублированием бизнес-логики, смешением технологий и обновлением версий.

Вместо того чтобы два года назад «интернетизировать» свою старую систему Concorde XAL, компания Damgaard начала разработку ERP-системы нового поколения AXAPTA, которая изначально создавалась с учетом требований электронного бизнеса.

Свое решение в области Internet компания Damgaard именует «e-Sphere», подчеркивая, что есть ядро системы, которое «омывается» океаном Internet. В основе технологии лежит трехзвенная модель архитектуры клиент/сервер, в которой промежуточный слой - сервер приложений (AXAPTA Object Server-AOS), отвечает за бизнес-логику системы, изолируя таким образом, Windows и Web-клиентов от бизнес-логики и от базы данных. В результате у системы есть только одна база данных, одно приложение, отвечающее за функциональность, единый программный код, единый инструментарий разработки, но два разных интерфейса: Windows и Web-браузер. С точки зрения конечного пользователя интерфейсы разные, но ERP-система, с которой они работают одна и та же, как, впрочем, и база данных, с которой они общаются в реальном времени.

Функциональность

Вторым важным принципом, которым руководствовались разработчики AXAPTA, была идея создать систему, которая могла бы развиваться вместе с расширением бизнеса компании-пользователя независимо от ее профиля. Практическим воплощением такого подхода стала модульная конфигурация системы, которая позволяет наращивать функциональность постепенно по мере возрастания потребностей клиента.

Однако разделение на модули производится лишь на уровне пользовательского интерфейса, поскольку каждый модуль - это не отдельный файл, а часть общей функциональности, «зашитой» в единый исполнимый файл. После установки в системе потенциально присутствуют все модули, однако доступ к ним регламентируется «лицензионными кодами», которые выдаются пользователю при приобретении конфигурации. Подключение новых модулей фактически означает приобретение очередного лицензионного кода, который открывает пользователю доступ к новой функциональности - никаких специальных действий по расширению системы, вроде запусков пакетов обновления, не требуется.

Стартовая конфигурация системы состоит из серии финансовых модулей, предназначенных для ведения плана счетов, бюджетирования, мониторинга денежных потоков (Cash Flow), обслуживание банковских операций (прием/оформление платежей), расчетов с кредиторами/дебиторами, выставление текстовых счетов-фактур. Это некий функциональный минимум, позволяющий автоматизировать базовые функции любой компании в области бухгалтерского учета.

Модули из серии «Торговля» позволяют оформлять и обрабатывать заказы и закупки, а также управлять складскими запасами компании. Особый интерес представляет модуль электронной коммерции (Customer Self-Service), позволяющий оформлять заказы клиентам компании через Internet.

В серию «Логистика» входят модули, обеспечивающие гибкую настройку цен, скидок, бюджетирование заказов/закупок, описание спецификаций изделий и их конфигураций.

Кроме того, имеются модули для сводного планирования, управления производством, проектами и ресурсами.

На рис. 2 показан фрагмент пользовательского интерфейса AXAPTA, где показано Главное Меню системы, открывающее доступ к модулям системы.

Рис. 2. Пользовательский интерфейс AXAPTA

Помимо локализации пользовательского интерфейса в системе выполнены модификации, связанные со спецификой российского законодательства в части форматов первичных документов, подготовки отчетности, налогов и пр. Кроме этого, помимо стандартных в систему вошел большой набор модулей расширения, коммерчески доступными из которых сегодня являются Основные средства, Заработная плата, Управление персоналом. В стадии разработки находится еще 20 различных приложений.

Архитектура системы

Первые версии системы AXAPTA были реализованы по двухзвенной модели. Клиентское приложение - это типичный «толстый» клиент. Прикладная база данных использовалась только для хранения табличных данных, а вся презентационная и бизнес-логика исполнялась на машине клиента, что определяло весьма высокие технические требования к клиентским компьютерам и пропускной способности корпоративной сети. Практически такая архитектура годилась только для локальных сетей.

Для удаленной работы можно было запускать клиентские приложения AXAPTA в терминальном режиме, используя для этого пакет Windows Terminal Server (WTS). В этом случае приложение исполняется на центральном сервере, а клиентские терминалы служат только для ввода/вывода данных. Здесь существует ограничение на число поддерживаемых клиентов, которое определяется мощностью центрального сервера. Существенно усложняется интеграция AXAPTA с другими приложениями и периферийными устройствами (принтеры, сканеры, ридеры штрих-кодов и пр.), работающими на клиентских станциях.

Принципиально новым решением был переход на трехуровневую архитектуру с использованием специального сервера приложений (AOS), отвечающего за реализацию всей бизнес-логики системы. Новая топология позволила позиционировать AXAPTA как ERP-систему для организаций с централизованной стратегией и децентрализованной структурой. На рис. 3 показаны возможные варианты построения корпоративной информационной системы компании с децентрализованной структурой (наличие удаленных офисов, мобильных пользователей и пользователей AXAPTA через Internet).

Рис. 3. Варианты инсталляции AXAPTA

В головном офисе компании располагается центральная часть ERP- системы: сервер приложений, сервер баз данных, база данных прикладных объектов (AOD), сервер пакетных заданий и клиентские рабочие места.

Сервер приложений (AOS). С технической точки зрения AOS реализован в виде сервиса NT, причем одновременно могут запускаться несколько процессов, обслуживающих независимые копии AOS. Каждый процесс отвечает за работу одного приложения AXAPTA. На одном сервере Windows NT может одновременно исполняться несколько AOS, обслуживающих работу нескольких клиентских станций, работающих с разными приложениями AXAPTA. С другой стороны можно объединять несколько серверов Windows NT для обслуживания единственного приложения AXAPTA. Кроме того, система поддерживает кластерные технологии NT - сервер приложений может быть размещен на нескольких компьютерах, объединенных в кластер, что существенно повышает надежность работы корпоративной системы. Все общесистемные задачи (журнализация операций, мониторинг производительности и пр.) выполняются при этом средствами самой операционной системы.

База данных прикладных объектов (AOD) представляет собой хранилище прикладных объектов: меню, форм, отчетов, классов и др., отвечающих за интерфейс и функционал системы.

Прикладные базы данных. В качестве СУБД в AXAPTA используются Microsoft SQL Server 7.0 и Oracle 8. Поскольку вся бизнес-логика системы вынесена на уровень сервера приложений AOS, модель прикладной базы данных очень простая. Фактически, СУБД используется только для хранения табличных данных, обеспечения целостности и безопасного выполнения транзакций. Отказ от использования специальных объектов СУБД (триггеров, хранимых процедур и пр.) позволил резко упростить администрирование. Функции администратора сводятся лишь к созданию прикладной базы данных перед инсталляцией AXAPTA и созданию резервных копий. Причем последнюю операцию можно легко автоматизировать штатными средствами СУБД.

Коммуникации. Для связи сервера приложений с клиентскими рабочими местами был разработан специальный коммуникационный протокол - AXAPTA Object Communication Protocol (AOCP), основанный на стандарте TCP/IP, что обеспечило возможность применения широкого спектра сетевых соединений - ISDN, Frame relay, арендованных линий, сотовой связи (WAP) и модемов. Все это позволяет работать с AXAPTA как в локальных, так и глобальных сетях. Одной из целей создания AOCP была идея упростить использование стандарта виртуальных частных сетей (Virtual Private Network - VPN), рекомендованного в качестве средства безопасной передачи данных в Internet.

Клиенты. С помощью технологии AXAPTA Intelligent Client (AIC) имеется возможность инсталлировать на клиентских рабочих местах «тонкого» или «интеллектуального» клиента. «Тонкий» клиент отвечает лишь за презентационную логику (ввод/вывод данных) и не общается с сервером баз данных. Когда пользователь открывает форму, сервер приложений вызывает соответствующий объект из базы данных прикладных объектов, запрашивает необходимые данные от сервера баз данных и передает готовый к исполнению объект на станцию клиента.

«Интеллектуальный», «толстый» клиент получает прикладные элементы с сервера приложений, но данные берет с сервера баз данных напрямую. Понятно, что таких клиентов целесообразно инсталлировать в локальной сети головного офиса, где легко обеспечить связь клиентского компьютера с сервером баз данных. Если для установки «тонкого» клиента подойдет «стандартный» ПК, то для установки клиента второго типа потребуется более мощные компьютеры.

Для пользователей, работающих с AXAPTA через Internet для установки и обновления клиентских приложений рекомендуется использовать AXAPTA Web Deployment Client (AWDC) - «клиент AXAPTA, устанавливаемый через Internet». AWDC позволяет полностью администрировать (устанавливать, обновлять и конфигурировать) клиентское приложение фактически без участия конечного пользователя. Его единственная забота - открыть в Web-браузере нужную Web-страницу, на которую помещен специальный элемент контроля ActiveX, и щелкнуть по кнопке AXAPTA. После этого программа проверяет, установлен ли соответствующий клиент на данной машине и если нет, то загружает клиентское ПО с корпоративного web-сервера. После установки значок «AXAPTA» меняет цвет с красного на зеленый и, если еще раз по нему щелкнуть, то загрузится приложение AXAPTA, причем в той конфигурации, которая была настроена администратором системы из центрального офиса. Таким же образом (автоматически) производится обновление клиентских приложений при выпуске пакетов обновления.

Сервер пакетных заданий. На практике часто встречаются ситуации, когда какая-нибудь операция занимает много времени (например, массовая распечатка счетов-фактур по заказам, оформленным в течение дня), но при этом результаты ее выполнения не требуются сиюминутно. Специально для таких случаев в AXAPTA реализован режим пакетной обработки, в соответствии с которым любое задание может быть определено, как «пакетное». Несколько пакетных заданий могут быть собраны в «пакет», для которого настраиваются такие характеристики, как время запуска пакетной обработки и имя компьютера, на котором пакет должен исполняться. Как правило, для обслуживания пакетных заданий используется выделенный компьютер с более мощными характеристиками, чем обычные рабочие станции.

При разработке AXAPTA ставка была сделана на технологии Microsoft. Основной мотив был такой - «все знают как работать с Microsoft», что по мнению авторов должно было сократить время освоения системы и ее администрирование. При первой загрузке AXAPTA у пользователя такое ощущение, что открыто какое-нибудь новое приложение MS Office. Однако совпадение интерфейсов - лишь вершина айсберга. Интеграция с технологиями Microsoft пронизывает всю систему.

MSDE/Microsoft SQL Server 7.0 - основные СУБД для прикладных баз данных AXAPTA. MSDE (Microsoft Data Engine) - это процессор баз данных и «облегченная» копия Microsoft SQL Server 7.0. Рекомендуется для инсталляций AXAPTA с числом пользователей до 5. MS OLAP Services - инструмент аналитической обработки данных. AXAPTA формирует описания «многомерных кубов» и экспортирует их в MS OLAP для дальнейшего анализа. MS Information Server и MS Transaction Server - служат основой для публикаций данных из AXAPTA и работы Internet/Intranet-приложений, созданных в AXAPTA. Internet Explorer - браузер для работы с базой данных «часто задаваемых вопросов» на сайте Damgaard непосредственно из приложения. Используется также для просмотра страниц контекстной помощи системы в формате html. COM/DCOM - стандарт Microsoft для интеграции разнообразных приложений. MS E-commerce - специальный сервер компании Microsoft, позволяющий создавать решения в области электронной торговли. MS System Management Server - обеспечивает установку клиентских приложений AXAPTA в корпоративной сети предприятия. MS Terminal Server/Client - продукты Microsoft, позволяющие реализовать терминальный режим работы клиентских приложений AXAPTA. MS Framework - технология коллективной разработки приложений, которая используется разработчиками Damgaard и партнерами.

Средства модификации и разработки

Для пользователей и «группы поддержки» (ИT-менеджера, программистов) корпоративных систем очень важно, насколько просто можно адаптировать интерфейс системы, расширять или модифицировать базовую функциональность. С этой точки зрения AXAPTA предлагает разнообразные возможности: технологию модификаций интерфейса IntelliMorph, генератор меню, генератор отчетов и др., а также встроенную среду разработки MorphX Suite.

IntelliMorph - позволяет пользователю «на лету» (без перекомпиляции объектов) видоизменять интерфейс системы: временно убирать из форм любые видимые элементы (поля, группы полей, меню, кнопки, таблицы и пр.). В момент удаления элементов система не просто «затирает» элемент, оставляя пустым место под ним, а автоматически перестраивает весь дизайн формы - меняет ее размер, упорядочивает расположение кнопок, полей и т.д. Эта же технология применяется и при работе с мастером отчетов, посредством которого пользователь может получить любой отчет «на лету». В этом случае дизайн отчета формируется системой также автоматически.

Кроме того, пользователи могут обмениваться вариантами настроек интерфейса или администратор системы может разработать «корпоративный шаблон интерфейса» и сделать его единым для всех пользователей. Разумеется, все модификации можно «откатить» назад и вернуться к первоначальному интерфейсу.

Меню-генератор. Позволяет легко проектировать индивидуальные рабочие места для сотрудников определенного профиля: операционистов, бухгалтеров, менеджеров по продажам и т.д. Система позволяет создать пустое меню, а затем методом буксировки (drag-and-drop) перетащить на него необходимые для сотрудника данного профиля объекты - формы, отчеты, меню.

Функциональные ключи. Также являются инструментом управления пользовательским интерфейсом. Ключи имеют сложную иерархическую организацию - на нижнем уровне они открывают/закрывают доступ к отдельным полям таблиц, форм, отчетов. На более высоком уровне - доступ к таблицам, формам, отчетам, пунктам меню, меню и, наконец, на верхнем уровне - доступ к модулям. Ключи, отвечающие за доступ к данным, регулируют еще и права доступа: «только на чтение», «редактирование», «удаление», «добавление».

Меточные файлы. В AXAPTA все текстовые строки, участвующие в интерфейсе (названия полей, текстовые подсказки, сообщения и пр.) не «зашиты» в само приложение, а вынесены во внешние, так называемые, меточные (ASCII) файлы. Поэтому, редактируя строки этого файла, можно легко видоизменить пользовательский интерфейс системы, причем без перекомпиляции ее объектов. Эта особенность может оказаться весьма полезной для компаний, занятых в разных индустриях и привыкших называть одни и те же понятия разными терминами. Например, в торговых компаниях товар - это «товар», а в производственных - «материалы».

MorphX Suite. Это название встроенной среды разработки в AXAPTA, в основе которой лежит объектно-ориентрованная технология. Внешне среда разработки выглядит в виде «дерева», «ветвями» которого служат прикладные объекты - словарь данных, макросы, классы, формы, web-формы, отчеты, запросы к базе данных, меню, пункты меню и документация (рис. 4). «Листьями» каждой ветви являются однотипные объекты: таблицы, формы, отчеты. Каждый объект, например форма, имеет несколько внутренних ветвей, отражающих различные свойства - источники данных (таблицы), с которыми форма работает, дизайн формы, методы (программный код), обслуживающие события, на которые «откликается» форма.

Рис. 4. MorphX Suite - интегрированная среда разработки в AXAPTA

Наиболее важный элемент среды разработки - это словарь, в котором детально описана модель данных AXAPTA, включая типы данных, описания таблиц и их полей, связи между таблицами, индексы и методы работы с таблицами - своего рода триггеры, используемые в СУБД, но реагирующие не только на операции добавления, обновление и удаление записей, но и на другие события, задаваемые разработчиком.

Внутреннее описание таблиц для AXAPTA более приоритетно, чем физическая модель базы данных на сервере. Как только система «видит», что структура таблицы в СУБД не совпадает с ее внутренним описанием, она тут же предлагает синхронизировать физическую модель со словарем данных. Таким образом, AXAPTA администрирует базу данных изнутри. В момент сохранения новой таблицы в словаре, происходит создание этой же таблицы на сервере базы данных. Создание необходимых таблиц на сервере баз данных происходит при первом запуске AXAPTA.

Язык программирования X++. В качестве внутреннего языка программирования был разработан специализированный язык четвертого поколения X++, синтаксис которого создан на основе Java, C++ и SQL. Java образует основу языка (методы таблиц, методы форм и классы), из языка C++ взяты операторы For, While, If-Then, а синтаксис SQL необходим для доступа к базам данных с помощью SQL - языка структурированных запросов (select, insert, delete и др.). Весь исходный код системы открыт, поэтому разработчик имеет возможность модифицировать функциональность системы даже на уровне системных классов. Для отладки программного кода имеется отладчик со стандартным набором функций - пошаговое исполнение, задание точек останова, анализ переменных, трассировка вызовов методов и SQL-трафика.

Технология слоев. С помощью инструментальных средств пользователь может легко модифицировать существующую функциональность, а также разрабатывать совершенно новые функции, вплоть до разработки собственных модулей.

При работе с различными инструментальными системами традиционно возникают проблемы с переходом от старой версии системы на новую. В AXAPTA эта задача решается при помощи технологии «слоев приложений». Выглядит это следующим образом: AXAPTA состоит из ядра, реализующего базовые системные функции (доступ к базе данных, поддержка стандартных инструментов, работа с контекстной помощью, файлами, печатью и пр.). В свою очередь ядро управляет работой прикладной части системы состоящей из восьми слоев:

SYSTEM (SYS) - системный слой, отвечает за базовую функциональность системы, общую для всех стран. Используется разработчиками Damgaard;

SOLUTION (GLS)- слой «интегрированных сертифицированных решений». Предназначен для разработки модулей расширения, то есть не входящих в дистрибутив системы. Используется разработчиками Damgaard;

DISTRIBUTOR (DIS) - слой для разработки функциональности, отражающей специфику страны. Используется компаниями-дистрибуторами AXAPTA на локальных рынках - в России, Польше, Чехии и пр.;

LOCAL (LOC) - слой «интегрированных сертифицированных решений», учитывающий специфику страны. Используется компаниями-дистрибуторами AXAPTA;

BUSINES (BUS) - слой для разработки «горизонтальных» (индустриальных, или отраслевых) и «вертикальных» (то есть не связанных со спецификой отраслей) приложений, используется бизнес-партнерами Damgaard;

PARTNER (VAR) - слой разработки функциональности, специфичной для конкретной компании. Используется VAR-партнерами;

CUSTOMER (CUS) - слой модификаций, выполненный компанией-пользователем AXAPTA на корпоративном уровне;

USER (USR) - уровень пользовательских (индивидуальных) модификаций.

Таким образом, модификации выполненные бизнес-партнером Damgaard или обычным пользователем сохраняются в раздельных слоях и не затрагивают функциональность нижних слоев. При исполнении приложения модификации верхних слоев имеют высший приоритет, при этом всегда есть возможность «откатиться» назад и использовать базовую функциональность.

Первый слой (SYS) полностью контролируется Damgaard и не доступен для остальных пользователей. При выходе новой версии AXAPTA обновляется только этот слой. Любые модификации, сделанные в верхних слоях остаются неизменными.

Интеграция с внешними приложениями и Internet

Сегодня никого не интересуют закрытые системы, поэтому вопрос интеграции с внешними приложениями весьма актуален. В качестве основного средства интеграции в AXAPTA используется COM, специфицирующая правила интеграции, коммуникаций и обмена данными между внешними приложениями. На основе этой технологии был разработан специальный компонент AXAPTA COM Connector, обеспечивающий интеграцию с любыми приложениями, поддерживающими стандарт COM, исполнение бизнес-логики AXAPTA (классов) по инициативе внешних приложений и использование элементов контроля типа ActiveX в формах AXAPTA.

Для интеграции с Internet на основе COM Connector был разработан еще один компонент - AXAPTA Internet Connector, позволяющий работать с объектами AXAPTA через Internet. Благодаря AXAPTA COM/Internet Connector можно решать разнообразные задачи интеграции, причем во многих случаях не требуется загрузка AXAPTA. С помощью этого компонента можно:

  • привязывать к любой записи любой таблицы AXAPTA внешние документы, сгенерированные в Excel/Word;
  • визуализировать данные из AXAPTA во внешнем приложении, написанном, например на Visual Basic;
  • средствами Internet Information Server и Transaction Server динамически публиковать на web данные из базы данных AXAPTA. Для этого создается web-страничка в формате .asp , в которой с помощью COM-интерфейса динамически извлекаются данные из AXAPTA;
  • получать доступ к объектам MTS из кода X++;
  • вызывать и управлять COM-объектами из кода X++;
  • создавать документы Excel/ Word, в которых поля заполняются данными, полученными из AXAPTA.
  • расширять функциональность системы за счет подключения компонентов ActiveX третьих производителей: календари, «просмотрщики» файлов различных форматов, коммуникационные программы, электронные таблицы, браузеры и др.;
  • определять в AXAPTA «многомерные кубы» и экспортировать их в MS OLAP Services для последующей аналитической обработки.

Разработка Internet-приложений

Рис. 5. Механизм работы Web-приложений в AXAPTA

Встроенные средства разработки AXAPTA позволяют создавать Internet/intranet приложения без привлечения специализированных средств web-разработки, а любая существующая форма, меню или отчет могут быть «увидены» из Internet (рис. 5).

Типичным примером web-приложения в AXAPTA может служить модуль «дистанционного обслуживания клиентов» (Customer Self-Service - CSS). Его суть заключается в том, что компания, эксплуатирующая AXAPTA, открывает свой сайт в Internet и предлагает клиентам оформлять заказы через Сеть (рис. 6).

Рис. 6. Фрагмент интерфейса модуля дистанционного обслуживания клиентов Customer SelfService

Cистемой могут пользоваться не все жители Internet, а только зарегистрированные в AXAPTA «уполномоченные» лица корпоративных клиентов компании. В этом смысле модуль CSS относится к классу B2B (Business-to-Business), а не B2C (Business-to-Customer) систем. При входе в систему проверяется имя и пароль пользователя, а также язык, на котором он предпочитает работать. Для обеспечения безопасной работы с AXAPTA через Internet используется стандартный протокол безопасной передачи данных SSL (Secure Sockets Layer).

В основе CSS лежит известная концепция «корзины», в которую Internet-клиент помещает нужные ему товары из каталога. Для удобства навигации по каталогу имеющиеся на складе товары объединены в иерархические группы и представляются в виде древовидной структуры. Каждый товар помимо цены снабжается пояснительной информацией - «тактико-техническими характеристиками», фотографиями, видео-фрагментами и пр. После подбора нужных товаров клиент должен указать дату доставки, место доставки и некоторые другие атрибуты, а потом нажать кнопку «Заказ».

Многие компании, использующие AXAPTA для автоматизации своего бизнеса, уже воспользовались web-технологиями системы.

Резюме

AXAPTA локализована для российского рынка и распространяется в России компанией Columbus IT Partner Russia. Основное преимущество системы заключается в том, что это она на «генном» уровне ориентирована на работу в Internet. Система подходит для международных многопрофильных компаний, в деятельности которых не должно быть ни территориальных, ни языковых барьеров. Функциональные возможности AXAPTA достаточны для автоматизации бизнеса компаний самого широкого профиля, включая производственные. При этом перечень модулей постоянно расширяется за счет привлечения к разработке большого количества партнерских компаний Damgaard.

Об авторе

Николай Соколов - сотрудник компании Columbus IT Partner Russia. С ним можно связаться по электронной почте: nvs@columbus.ru


Компания Damgaard была создана в 1983 году для разработки финансово-управленческих систем небольших и средних предприятий. За всю свою историю компания выпустила на рынок два продукта: Concorde XAL и AXAPTA. XAL - это интегрированная ERP-система для автоматизации бизнеса в области финансов, торговли, логистики и производства небольших компаний, Штаб-квартира компании находится в Дании. Штат сотрудников свыше 450 человек, включая 11 отделений в Европе, США и Азии. Распространением продуктов Damgaard в Восточной Европе занимается дистрибьюторская компания Columbus IT Partner A/S, имеющая отделения в России, Польше, Литве, Латвии, Чехии и др. странах.

За 17 лет развития партнерами Damgaard разработаны десятки горизонтальных и вертикальных решений, а также осуществлена интеграция с многочисленными приложениями третьих разработчиков. Сегодня насчитывается свыше 9 тыс. инсталляций XAL, включая около 60 в России.

Проект AXAPTA стартовал в 1998 году и был ориентирован для небольших и средних международных компаний, имеющих удаленные филиалы по всему миру. На сегодня имеется около 400 инсталляций в Европе, США, Африке и Азии


Функциональные модули AXAPTA

Финансы (Главная Книга, Банковские операции, Расчеты с поставщиками, Расчеты с клиентами, Бюджетирование, Анализ денежных потоков и др.).

Торговля (Заказы, Закупки, Управление запасами).

Логистика (Управление ценами/скидками, Планирование закупок, поставок, операций по складу, Составление спецификаций и конфигураций товаров).

Группа модулей, ориентированных на производственные процессы:

  • сводное планирование (определение и планирование необходимых сырьевых ресурсов и производственных мощностей);
  • управление складом (управление хранением и извлечением складских запасов);
  • при выпуске продукции по заданным спецификациям);
  • MRP II: Управление маршрутами (управление технологическими цепочками по выпуску продукции, рабочими центрами и операциями);
  • MRP II: Управление производством (составление план-графиков работ, диаграммы Гантта).

Управление проектами (Управление внешними и внутренними проектами на основе временных и стоимостных затрат).

Планирование ресурсов (планирование ресурсов - персонала, оборудования).

Модуль eCommerce (Дистанционное обслуживание клиентов компании через Internet. Модуль «электронной торговли»)


Лингвистическая справка

AXAPTA, читается «аксапта» и намекает на преемственность со старым продуктом (в AXAPTA есть две общие с XAL буквы) и благозвучно звучит на всех языках. Однако с русским языком произошла накладка. Для разрешения лингвистического конфликта продукты компании решено было именовать «Damgaard XAL» и «Damgaard AXAPTA».

MorphX, читается «морфикс». Термин произошел от «morphing», принятого в машинной графике. Означает плавное видоизменение образа в виде последовательных кадров. Применительно к AXAPTA означает технологию автоматической модификации форм и отчетов в зависимости от числа видимых элементов (кнопок, пунктов меню, полей и пр.). Данная технология используется в интегрированной среде разработки MorphX Suite.

Intelli - приставка, означающая «интеллектуальное» поведение системы при модификации форм пользователем «на лету» (IntelliMorph) или предоставление контекстной помощи (IntelliSense)


Ключевые аспекты технологии AXAPTA

Технология «слоев приложений» позволяет модифицировать базовую функциональность системы на различных уровнях - дистрибуторском (специфика страны), дилерском (специфика предметной области, например, версия системы для нефтедобывающих компаний), клиентском (специфика данной компании) и пользовательском (специфика конечного пользователя).

Технология меток. Весь текстовый интерфейс системы вынесен во внешний файл, модифицируя строки которого (метки), пользователь модифицирует интерфейс системы. Пользователи одного и того же приложения могут работать с разными языковыми интерфейсами. Это качество особенно важно для международных компаний.

COM-connector - механизм, позволяющий интегрировать AXAPTA с внешними приложениями (например Excel, Word, Outlook), поддерживающими стандарт COM/DCOM. При этом AXAPTA может выступать как в качестве COM-клиента, так и COM-сервера.

Internet-Connector - встроенный механизм на основе COM Connector, обеспечивающий удаленный доступ к объектам AXAPTA (бизнес-логике и данным) через Internet.

MorphX Suite - встроенная интегрированная среда разработки, позволяющая модифицироватьи развивать функциональность системы изнутри.

IntelliMorph - технология изменения интерфейса приложения (форм, отчетов) «на лету». Любой пользователь может настроить индивидуальный интерфейс форм, «удалив» из формы те элементы (кнопки, поля, меню и пр.), которые не требуются в его работе.

Функциональные ключи - настройка прав доступа пользователей к данным и функциям системы.

Документооборот. К любой записи в любой таблице можно привязать любое количество внешних файлов. Например, контракт - к клиенту, фотографию - к товару, а видеофрагмент - к спецификации на сборку сложного изделия.

Пакетная обработка - выполнение трудоемких задач (например, массовая печать счетов-фактур в конце дня), которое можно определить в виде пакета (batch) и отложить его исполнение на определенное время, а сам пакет выполнить на другом более мощном, компьютере


Пример кода на языке X++

void update()
/*** By Nicholas Sokolov, 31 March, 2000 ***/
{
 VendTable this_Orig =
		this.orig();
 forecastPurch  forecastPurch;
    ttsbegin;
    this.setNameAlias();
    super();
this.setAccountOnCust(
	this_Orig);
    if (this_Orig.vendGroup !=
			 this.vendGroup)
    {
  while select forecastPurch
    where forecastPurch.
		vendAccountId == 
		this.accountNum &&
		forecastPurch.vendGroupId        
		== this_Orig.vendGroup &&
    	forecastPurch.expandId==0
        {
 forecastPurch.vendGroupId =
	this.vendGroup;
 forecastPurch.update();
        }
    }
    ttscommit;
}

Вызов класса AXAPTA из внешнего приложения

Иллюстрация одного из методов класса demoClass в AXAPTA, возвращающего число записей в таблице CustTable:

int CountCustomers()
{
  CustTable ct;
  select count(recId) from ct;
  return ct.recId;
}

В следующем примере показано, как на языке VBA вызвать и получить данные из AXAPTA:

Sub callAxapta()
    Dim Axapta As 
		AxaptaCOMConnector.Axapta
    Dim demoClassObject As
		AxaptaCOMConnector.
		IAxaptaObject
    Set Axapta = New 
		AxaptaCOMConnector.Axapta
    Axapta.Logon «Admin»
    Set demoClassObject = 
		Axapta.CreateObject(
		«demoClass»)
    Selection.TypeText Str(
		demoClassObject.Call(
		«countCustomers»))
    Axapta.Logoff
End Sub

Поделитесь материалом с коллегами и друзьями