News -> MDP - News модулът използва MDP за получаването на новините, получени от сървъра.
News -> News manager- News модулът използва News manager за прочитането, преместването, маркирането и изтриването на новините, получени от сървъра.
News -> GUI – News модулът използва функциите на GUI за изчертаване на графичния интерфейс, свързан с новините и статистиките, получавани от сървъра.
Връзки на Communicator модул
Inner relationships
Message Gateway <- > MPP – двата подмодула си комуникират при получаването/изпрашането на съобщение от/към сървъра. При изпращането на съобщение към сървъра модулът генериращ заявката за комуникация с клиента го предава към МРР, който от своя страна генерира съобщението, съгласно използвания протокол, и го предава на Message Gateway подмодулът за изпращането му към клиента. В случай на получаване на съобщение от сървъра Message Gateway-ът получава съобщенето, валидира формата му и го подава на МРР, който го разпакетира и установява кой модул следва да го обработи.
Outer Relationships
Communicator -> MDP – при получаване на съобщение от сървъра, което следва да се обработи от MDP, Communicator-ът генерира съответната команда и я изпраща към него.
MPP -> Rates of exchange manager - MPP изпраща команда до Rates of exchange Manager-а при получено съобщение от сървъра, съдържащо нови валутни курсове.
MPP -> Account manager - MPP изпраща команда до Account Manager-а при получено съобщение от сървъра, свързано с промяна на данните за сметката на клиента при брокера.
MPP <-> Positions manager - MPP изпраща команда до Positions Manager-а при получено съобщение от сървъра, свързано с промяна на позициите на клиента. При получаване на завка от потребителя за промяна на позициите му – създаване на нови, промяна или изтриване на вече съществуващи, Positions Manager-ът генерира команда към MPP, който да състави съобщение към сървъра със съответната заявка и да го пусне към Message Gateway-ът за изпращане.
Communicator -> Security & Authorization – Communicator-ът използва Security & Authorization модула за установяване на защитена връзка със сървъра и за автентикация на потребителя.
Message Gateway -> Security & Authorization - Message Gateway-ът използва услугите на Security & Authorization модула за установяване на защитена сесия със сървъра и автентикация на потребителя.
Communicator <-> Configuration – Communicator-ът изпраща команда за получаване на комуникационните параметри за връзка със сървъра при установяване на нова сесия с него.
Message Gateway -> Communication Configuration - Message Gateway –ът изпраща команда за получаване на комуникационните параметри за връзка със сървъра при установяване на нова сесия с него.
Връзки на GUI модул
Inner Relationships
Outer Relationships
GUI <-> Analysis – GUI модулът и Analysis си комуникират за изчертаването на графичния интерфейс за анализаторите и за обработка на заявките получени от потрбетиля чрез GUI.
GUI <-> Graphics – GUI модулът и Graphics си комуникират за изчертаването на графичния интерфейс на създадените от потребителя графики и за обработка на заявките получени от потрбетиля чрез GUI.
GUI <-> Inquiries Processor – GUI модулът и Inquiries Processor си комуникират за изчертаването на графичния интерфейс за генерираните от системата справки и за обработка на заявките получени от потрбетиля чрез GUI.
GUI <-> MDP – GUI модулът и MDP си комуникират за изчертаването на графичния интерфейс за представянето на данни за сметките, позициите на клиетна, за валутните курсове и пр., както и за обработка на заявките получени от потрбетиля чрез GUI.
GUI <-> Configuration – GUI модулът и Configuration си комуникират за изчертаването на графичния интерфейс за настройки на конфигурацията на клиентския терминал и за обработка на заявките получени от потрбетиля чрез GUI.
GUI <-> News – GUI модулът и News си комуникират за изчертаването на графичния интерфейс на новините и статистиките и за обработка на заявките получени от потрбетиля чрез GUI.
Слоеве на архитектурата (Layered structure)
Server Layers
Фиг.3 Слоеве на архитектурата на ForexTrader сървъра
Един от основните фактори на системата и в частност на сървъра е възможността за лесно модифициране и подмяна на различни модули. За тази цел е избран многослойноят архитектурен стил, който предлага ясно семантично обособяване между отделните нива, подредена архитектура и връзки между модулите.
Моделът включва три нива - слой за комуникация, слой за обработка на данни и слой за съхранение на данни.
Нивото за комуникация съдържа всички модули нужни за приемането и предаването на съобщения от и към клиентския терминал и Back Office системата, както и за транслирането на съобщения в подходящ вид за предаване по мрежата.
Нивото за обработка на данни служи за изпълнение на команди подадени от клиентския терминал върху текущите данни получени от Back Office системата, както и за обработката на новодошли. При генериране на подходящ отговор той се изпраща към комуникационния слой за изпращане по мрежата. Данните за обработка се записват и прочитат от слоя за съхранение на данни след получаването и първоначалната им обработка от сървъра.
Нивото за съхранение на данни отговаря за достъпа и запазването на данни от слоя за обработка на данни, както и за прочитане и записване на конфигурационните файлове на сървъра.
Фиг.4 Слоеве на архитектурата на ForexTrader клиентския терминал
Архитектурният стил използван при клиента е отново многослойният, което дорпинася за лесното модифициране и подмяна на нива от имплментацията на приложението. Клиентският терминал трябва да има висока надеждност и продуктивност, за това разпределянето на модулите му в отделни слоеве спомага за предвидимостта на системата и ясното разграничаване на отговорностите в нея. Слоевете използвани в приложението са общо ниво за комуникация, ниво за обработка на данни и ниво за съхранение на данни.
Общото ниво за комуникация (MultiCom)обединява в себе си мрежово-комуникационно ниво със сървъра и графичен интерфейс за комуникация с потребителя. Двете поднива имат структурни различия, но логически са идентични - служат за комуникация. Всяко подниво от MultiCom е в пряка връзка със слоя за обработка на данни, но не и помежду си, по този начин промяна в модулите касаещи графичното представяне няма да засегне модулите касаещи мрежовата комуникация и обратното.
Нивото за обработка на данни отговаря за получаването и обработката на данни от общия комуникационен слой, както и за записването и извличането на данни от нивото за съхранение.
Нивото за съхранение на данни отговаря за достъпа и запазването на данни от слоя за обработка на данни, както и за прочитане и записване на конфигурационните файлове на клиента.