Начинаещ разработчик в Axapta

Axapta Client е клиентската част, която представлява графичен потребителски интерфейс към функциите и данните на системата, който се състои от набор от динамично зареждащи се библиотеки и изпълнимия модул Ax32.exe. Приложението е бизнес логиката на системата под формата на набор от файлове, съдържащи компилиран код на обекти на приложението и изпълняващи бизнес логиката на системата. За работа с много потребители в локална мрежа е препоръчително да поставите файловете на библиотеката на приложението на файлов сървър. В тристепенна конфигурация приложението се контролира изцяло от сървъра на приложения и крайните потребители взаимодействат директно с него. DB - релационна база данни, управлявана от MSDE, MS SQL или Oracle, която съхранява всички системни данни. Axapta Object Server - Axapta сървър за приложения, използван в тристепенна системна конфигурация, който обработва част от изчислителните задачи и осъществява взаимодействие с базата данни. Помощна програма за конфигуриране на Axapta - помощна програма за конфигуриране на Axconfig.exe. С негова помощ се поддържа списък от конфигурации - набор от параметри за потребителски сесии (език на интерфейса, база данни и др.).

Възможна е двустепенна или тристепенна конфигурация на системата. С двуслойна (фиг.1) архитектура цялата логика на приложението се изпълнява на работната станция на потребителя. В случай на мрежова работа с много потребители, всички потребители използват обща библиотека с приложения, за това файловете на приложението се поставят на общ файлов сървър. Клиентът в този случай взаимодейства с базата данни чрез собствена връзка към СУБД, използвайки ODBC източник на данни, конфигуриран на работната станция. Три слоя (фиг.2)Системната конфигурация на Axapta е приложение от три нива, състоящо се от интелигентна клиентска част на системата (Intelligent Client), сървър за приложения Axapta Object Server (AOS) и база данни. Тристепенната системна конфигурация позволява на тънки и дебели клиенти да работят заедно.

Характеристиките на тънки и дебели клиенти в трислойна среда са следните: в случай на тънък клиент, взаимодействието със СУБД се осъществява изцяло от сървъра на приложения и когато клиентът за първи път осъществи достъп до приложението, то се кешира, така че при следващото извикване на обекта обектът на приложението вече е взет от кеша; в случай на дебел клиент, връзката към базата данни се осъществява от самия клиент (както в двуслойна среда), но обектите на приложението се вземат от кеша на AOS (а не от споделен файлов сървър, както в двустепенна среда). Така че приложението може да се намира на сървъра на приложения (в случай на тристепенна система) или на споделен файлов сървър (в случай на работа с много потребители в двустепенна система). Какво представлява приложението Axapta? Това са около сто файла, наречени строго конкретно и съхранени в една директория. Приложението включва: - компилиран X++ код; - структура на визуалните елементи (екранни форми, менюта и др.); - т.нар. "етикети" - регистър на текстови низове за UI на различни езици; - вградена помощна система (всички видове съвети, документация); - индекси.

начинаещ

Архитектурата на MBS Axapta се основава на уникална структура на слоевете, която ви позволява да контролирате всички промени в програмния код. Системата, когато стартира каквато и да е функционалност, използва горните слоеве на приложението, тоест Axapta има способността да отменя стандартното поведение на системата, като създава или модифицира елементи в слоеве на по-високниво.

Един от признаците на добър вкус при разработване в Axapta е използването на етикети, тоест според тези правила кодът не трябва да съдържа текстова информация, а трябва да съдържа връзки към така наречените етикети, дефинирани в специални файлове с етикети. Препоръчително е да използвате вашия файл с етикети, когато правите промени в дизайна. Този подход, първо, ви позволява да контролирате еднаквостта в имената на елементите и, второ, решава проблема с поддръжката на няколко езикови интерфейса на системата.

Технологията IntelliMorph е разработена за лесна промяна на външния вид на формуляри и отчети в Axapta. Поддържат се технологии за плъзгане и пускане, клипборд, потребителят може да скрие или покаже полета във формуляри, да промени техния ред и групиране без никакви модификации на кода; Поддържа се интерфейс на Windows XP; потребителят може лесно да промени дизайна на формуляри и отчети.

Axapta взаимодейства с външни приложения, използвайки COM технология, т.е. както Axapta може да създава com-обекти за взаимодействие с всякакви външни приложения, така и външните приложения могат да имат достъп до Axapta през com интерфейса

Нека разгледаме пример (под формата на X++ скрипт) за първия случай, когато сесия на Microsoft Word е отворена от Axapta и се работи върху документ на Microsoft Word. В този пример се създава документ, след което в него се записва редът „Създаване на документ на Microsoft Word“, след което документът се записва на диска и се прави видим за потребителя. В българската версия на Axapta има класове ComWordDocument_RU и ComExcelDocument_RU за взаимодействие с Microsoft Word и Microsoft Excel. Помислете за пример за взаимодействие с Microsoft Word. В този пример той се отварядокумента, който създадохме, редът „Axapta:“ се добавя към него отляво и документът се запазва. Тоест първо се декларира клас, който наследява класа ComWordDocument_RU, в чийто конструктор може да се предаде име на файл като параметър. И след това в скрипта (Job2) виждаме пример за използване на нашия клас: създава се екземпляр на класа ClassWord, отваря се документ, към него се добавя ред и документът се записва.

Сега нека да разгледаме пример за втория случай, когато външно приложение получава данни от Axapta чрез com интерфейса, използвайки своя обектен модел. Трябва да се отбележи, че този метод за достъп до външно приложение до обектния модел на Axapta е лицензиран като Microsoft Axapta Business Connector, тоест, за да проверите тази възможност, е необходимо да проверите наличието на ключа, както следва: Да вземем, например, Delphi 7.0 като външно приложение. Следващият пример е кодът на Object Pascal за манипулатора на събитие OnClick за бутона Button1 на формуляр на Delphi 7.0. Когато се щракне върху този бутон, компонентът ListBox1 (списък), разположен във формуляра, се попълва с имената на складовете в таблицата InventLocation от Axapta.