Софтуерна архитектура на ForexTrader – клиент-сървър приложение за извършване на търговия с forex-и



страница4/5
Дата14.02.2017
Размер0.52 Mb.
#14916
1   2   3   4   5

Връзки на Communicator модул

  • Inner Relationships

    • Transaction Gateway <-> Message Protocol Processor – двата подмодула си комуникират при получаването/изпращането на съобщения. При изпращането на съобщение от сървъра към клиентския терминал модулът генериращ заявката за комуникация с клиента го предава към МРР, който от своя страна генерира съобщението, съгласно използвания протокол, и го предава на Transaction Gateway подмодулът за изпращането му към клиента. В случай на получаване на съобщение от клиентския терминал Transaction Gateway-ът получава съобщенето, валидира формата му и го подава на МРР, който го разпакетира и установява кой модул следва да го обработи.

  • Outer Relationships

    • Communicator -> Security – Communicator модулът използва услугите на Security по отваряне на защитена сесия с клиентските терминали и проверка на IP адрес на потребителя.

        • Transaction Gateway <-> Firewall – при получаване на заявка за отваряне на secure session от клиентския терминал Transaction Gateway-ът изпраща запитване към Firewall-а дали IP адресът, от който е изпратена заявката фигурира в списъка на оторизираните IP адреси.

        • Transaction Gateway <-> Secure Connection – двата модула си комуникират при отварянето на защитена сесия с клиентски терминал.

      • Communicator -> Logger – Communicator модулът използва услугите на Logger-а за запазване на логове за работата на системата.

        • Transaction Gateway -> Logger - Transaction Gateway-ът изпраща заявка към Logger за запис на логове в случай на възникнал проблем с някое от съобщенията, които получава. Например при постъпило съобщение от клиентски терминал, което не отговаря на формата на разменяните такива, се запазва лог с причините за това.

        • Message Protocol Processor -> Logger - Message Protocol Processor -ът изпраща заявка към Logger за запис на логове в случай на възникнал проблем при обработката на някое от съобщенията, които получава.

      • Communicator -> MDP – при получаване на съобщение от клиентския терминал, което следва да се обработи от MDP, Communicator изпраща команда към него със съответните данни.

        • Message Protocol Processor -> Position Manager – MPP изпраща команда до Position Manager-а при получено съобщение от клиентския терминал, свързано с промяна на позициите на клиента.

        • Message Protocol Processor -> Account manager – MPP изпраща команда до Account Manager-а при получено съобщение от клиентския терминал, свързано с промяна на данните за сметките на клиента при брокера.

      • Communicator -> User Authentication – Communicator-ът изпраща заявка за автентикация на потребителя от User Authentication модула при отварянето на нова сесия с клиентския терминал.

        • MPP -> Sessions – МРР изпраща команда за отваряне на сесия с потребителя при полуаването на съобщение за това от клиенския терминал.

        • MPP -> User Management – МРР изпраща команда към User Management за автентикация на потреителя при отварянето на нова сесия с клиентски терминал.

  • Връзки на Logger модул

    • Inner Relationships

    • Outer Relationships

      • Logger -> MDP – Logger модулът изпраща заявка към MDP за запазването на нов лог, изтриването или промяната на такъв.

        • Logger-> Logs Repository - Logger модулът изпраща команда към MDP и съответно Logs Repository за запазването на нов системен лог в хранилището, за изтриването, получаването на даните или промяната на лог.

  • Връзки на MDP модул

    • Inner Relationships

    • Outer Relationships

      • MDP -> Data Storage – MDP модулът изпраща заявки към Data Storage-ът за получаването на данни от него.

        • Positions manager -> Positions Repository - Positions manager си комуникира с Positions Repository за запаметяването, извличането и промяната на данните съвързани с позициите на потребителите.

        • Accounts manager -> Accounts Repository - Accounts manager си комуникира с Accounts Repository за запаметяването, извличането и промяната на данните за сметките на потребителите при брокера.

        • Rates of exchange manager -> Rates of exchange Repository - Rates of exchange manager си комуникира с Rates of exchange Repository за запаметяването, извличането и промяната на данните за валутните курсове, получени от бекофис системата на брокера.

        • News & Statistics -> News Repository - News & Statistics си комуникира с News Repository за запаметяването, извличането и изтриването на новините, получени от бекофис системата на брокера.

        • News & Statistics manager -> Statistics Repository- News & Statistics си комуникира с Statistics Repository за запаметяването, извличането и изтриването на статистиките, получени от бекофис системата на брокера.

        • Security Data Manager -> Allowed IPs- Security Data manager си комуникира с Allowed IPs Repository за запаметяването, извличането и промяната списъка с оторизираните за връзка със сървъра IP адреси.

        • Security Data Manager -> Raised Security Events- Security Data manager си комуникира с Raised Security Events Repository за запаметяването, извличането и промяната на данните за security event-ите създадени от IDS.

        • Security Data Manager-> Attack Patterns- Security Data manager си комуникира с Attack Patterns Repository за запаметяването, извличането и промяната на данните за известните модели на атаки срещу системата.

      • MDP -> Configuration – MDP изисква от Configuration данните за конфиграцията на потребителите

        • MDP -> CT Configuration – при генрирането на съобщение към клиентския терминал, MDP изпраща запитване към CT Configuration за настройките на съответния потребител като кои валутни курсове иска да получава и др.

  • Връзки на BO Wrapper модул

    • Inner Relationships

      • BO Communicator <-> BO translator – двата подмодула си комуникират при получаването/изпращането на съобщения от/към бекофис системата на брокер. При получаването на такова BO Communicator получава данните и ги препращакъм BO translator-а, който от своя страна транслира съобщението до вида, който се обработва от сървъра и генерира команда към модула, който следва да обработи полученото съобщение. За изпращането на съобщение към бекофис системата модулът, който изискв комуникация с нея, генерира данните за него, изпраща ги на BO translator-а, който ги привежда във вид, удобен за бекофис системата и ги подава за изпращане към BO Communicator-а.

    • Outer Relationships

      • BO Wrapper -> Logger - BO Wrapper-ът използва Logger-а за запис на системни логове.

        • BO communicator -> Logger - BO communicator изпраща команда към Logger-а за запис на лог при получено некоректно съобщение от бекофис системата

        • BO Translator -> Logger - BO Translator изпраща команда към Logger-а за запис на лог при получено съобщение с грешен формат от бекофис системата

      • BO Wrapper -> Configuration - BO Wrapper-ът използва Configuration модула за получаване на данните за бекофис системата – тип, адрес и др.

        • BO Communicator -> BO Configuration - BO Communicator изпраща команда към BO Configuration за получаване на комуникационните параметри за осъществяване на връзка с бекофис системата на брокера.

        • BO translator -> BO Configuration - BO translator изпраща команда към BO Configuration за получаване на параметрите за типа на бекофис системата на брокера.

      • BO Wrapper -> MDP – при получаването на съобщение от бекофис системата, което следва да се обработи от MDP, BO Wrapper-ът генерира съответната команда и я изпраща на MDP.

        • BO translator -> Position Manager – BO translator изпраща команда до Position Manager-а при получено съобщение от бекофис системата на брокера, свързано с промяна на данните за позициите на клиентите при брокера.

        • BO translator -> Account manager – BO translator изпраща команда до Account Manager-а при получено съобщение от бекофис системата на брокера, свързано с промяна на данните за сметките на клиентите при брокера.

        • BO translator -> Rates of exchange manager – BO translator изпраща команда до Rates of exchange Manager-а при получено съобщение от бекофис системата на брокера, свързано с промяна на данните за валутните курсове.

        • BO translator -> News & Statistics – BO translator изпраща команда до News & Statistics Manager-а при получено съобщение от бекофис системата на брокера, свързано с промяна на новините и статистиките.

  • Връзки на Configuration модул

    • Inner Relationships

    • Outer Relationships

      • Configuration -> Configuration Data – Configuration изпраща заявки към Configuration Data модула за получаване и промяна на настройките на системата.

        • BO Configuration -> BO Configuration Files - BO Configuration изпраща заявки към BO Configuration Files модула за получаване и промяна на настройките за работа с бекофис системата.

        • CT Configuration -> CT Configuration Repository - CT Configuration изпраща заявки към CT Configuration Repository модула за получаване и промяна на настройките на клиентските терминали.

        • IN Configuration -> IN Configuration Files - IN Configuration изпраща заявки към IN Configuration Files модула за получаване и промяна на настройките на приоритетите на различните security events и начините за уведомяване на администраторите при настъпване на такива.

      • Configuration -> Communicator – Configuration получава от Communicator-а данните за настройките на потребителите, получени от клиентските терминали.

        • Client Terminal Configuration -> МРР- Client Terminal Configuration получава комана от MРР за запаметяване на получения от клиентския терминал списък с валутните курсове, за които потребителя желае да се абонира, както и останалите настройки на потребителя.




    1. Връзки между модулите на клиента



Фиг.2 Връзки между модулите на ForexTrader клиентския терминал




  • Връзки на Graphics модул -> MDP, Graphics <- Analysis(Technical Analysis)

    • Inner Relationships

      • Graphics Data Engine -> Graphics View – след изготвянето на данните, необходими за изчертаванто на графика, Graphics Data Engine изпраща комада към Graphics View за изчертаването на графиката.

    • Outer Relationships

      • Graphics -> GUI – Graphics модулът изпраща команди към GUI за изчертаването на изготвената от него графика.

        • Graphics View -> GUI – след получаването на команда за изчераване от Graphics Data Engine, Graphics View подмодулът обработва получените данни GUI изчертава на изготвената от него графика.

      • Graphics -> MDP – Graphics модулът изпраща команди към MDP за получаването на данни, които са му необходими за изготвянето и изчертаването на графика.

        • Graphics Data Engine -> MDP - Graphics Data Engine получава от MDP данните за позициите и сметките на клиента, валутните курсове за текущия и/или изминали периоди, нужни му за изготвянето на графика.

          • Graphics Data Engine -> Rates of Exchange Manager - Graphics Data Engine получава от Rates of Exchange Manager данните за валутните курсове за текущия и/или изминали периоди

          • Graphics Data Engine -> Positions manager - Graphics Data Engine получава от Positions manager данните за позициите клиента за текущия и/или изминали периоди

          • Graphics Data Engine -> Account Manager - Graphics Data Engine получава от Account Manager данните за сметките на клиента за текущия и/или изминали периоди

      • Graphics -> Analysis – Graphics комуникира с Analysis модула при добавянето на анализатори към подготвените от него графики.

        • Graphics Data Engine -> Technical Analysis– Graphics Data Engine изпраща команди към Technical Analysis модула при поискването на добавяне на индикатори за технически анализ към подготвените от него графики.

  • Връзки на Configuration модул

    • Inner Relationships

    • Outer Relationships

      • Configuration -> Communicator – двата модула си комуникират за получаване на параметри, свързани с настройките на клиентския терминал

        • Communication Configuration -> Message Gateway - Communication Configuration предоставя на Message Gateway-я комуникационните параметри за изграждане на защитена сесия със сървъра. Също така при промяна на настройките за връзка с него, те се изпращат към клиентския термнал, където следва да се обновят.

        • Shown Rates Configuration -> MPP - Shown Rates Configuration подмодулът изпраща команди към МРР за генериране на съобщение и изпращането му към сървъра, съдържащо списък с двойките валути, за чиито курсове се абонира потребителят на клиентския терминал.

        • User Configuration -> MPP - User Configuration подмодулът изпраща команди към МРР за генериране на съобщение и изпращането му към сървъра, съдържащо настройките на клиентския терминал.

      • Configuration -> History data storage - Configuration модулът съдържа параметър, указващ колко време да се пазят данните за предишни периоди и след като то изтече Configuration-ът изпраща команда към History data storage за изтриването на данните от период номер N.

        • User Configuration -> History data storage - User Configuration-ът изпраща команда към History data storage за изтриването на данните от период номер N, след изтичането на периода, в който се пазят тези данни.

      • Configuration -> GUI – GUI изчертава графичен интерфейс за създаване и редакция на конфигурационни параметри.

      • Configuration -> Configuration Data – Configuration модулът изпраща команди към Configuration Data за получаването, създаването и променянето на настройките на клиентския терминал.

        • Communication Configuration -> Communication Configuration File - Communication Configuration изпраща команди към Configuration Data за получаването или промяната на параметрите за осъщесвяване на връзка със сървъра, съдържащи се в Communication Configuration File.

        • Rates of exchange Configuration -> Shown Rates File - Rates of exchange Configuration изпраща команди към Configuration Data за получаването или промяната на валутните двойки, за чиито курсове е абониран потребителя на клиентския термиал, съдържащи се в Shown Rates File.

  • Връзки на Data storage модул

    • Inner Relationships

    • Outer Relationships

      • Data storage -> History Data Storage

        • Account register -> History Account register – при приключването на определен период, данните от Account register се нулират и се копират в History Account register, за целите на пазенето на данни от предишни периоди. След това Account register получава от Account Manager-a, новите данни за сметките на потребителя, изпратени от сървъра.

        • Positions register -> History Positions register – при приключването на определен период, данните от Positions register се нулират и се копират в History Positions register, за целите на пазенето на данни от предишни периоди. След това Positions register получава от Positions Manager-a, новите данни за позициите на потребителя, изпратени от сървъра.

        • Rates of Exchange register -> History Rates of Exchange register – при приключването на определен период, данните от Rates of Exchange register се нулират и се копират в History Rates of Exchange register, за целите на пазенето на данни от предишни периоди. След това Rates of Exchange register получава от Account Manager-a, новите данни за валутните курсове, за които е абониран потребителя, изпратени от сървъра.

  • Връзки на MDP модул

    • Inner Relationships

      • Positions Manager -> Rates of exchange manager - Positions Manager използва Rates of exchange manager-а за получаването на валутните курсове, свързани с позициите на потребителя.

      • Positions Manager -> Accounts Manager - Positions Manager използва Accounts manager-а за получаването на данните за сметките на потребителя, свързани с позициите на потребителя.

    • Outer Relationships

      • MDP -> Data Storage – MDP изпраща команди към Data Storage за получаването на данни за валутните курсове, позициите и сметките на потребителя и новините, получени от сървъра.

        • Rates of exchange Manager -> Rates of exchange Repository- Rates of exchange manager си комуникира с Rates of exchange Repository за запаметяването, извличането и промяната на данните за валутните курсове, получени от сървъра.

        • Accounts Manages -> Accounts Repository- Accounts manager си комуникира с Accounts Repository за запаметяването, извличането и промяната на данните за сметките на потребителя при брокера.

        • Positions Manger -> Positions Repository- Positions manager си комуникира с Positions Repository за запаметяването, извличането и промяната на данните за позициите на потребителя.

        • News Manager -> News Repository- News manager си комуникира с News Repository за запаметяването, извличането и промяната на данните за новините, получени от сървъра

      • MDP -> History Data Storage - MDP изпраща команди към History Data Storage за получаването на данни от изминали периоди за валутните курсове, позициите и сметките на потребителя и новините, получени от сървъра.

        • Rates of exchange Manager -> History Rates of exchange Repository- Rates of exchange manager си комуникира с History Rates of exchange Repository за запаметяването, извличането и промяната на данните от изминали периоди за валутните курсове, получени от сървъра.

        • Accounts Manages -> History Accounts Repository- Accounts manager си комуникира с History Accounts Repository за запаметяването, извличането и промяната на данните от изминали периоди за сметките на потребителя при брокера.

        • Positions Manger -> History Positions Repository- Positions manager си комуникира с History Positions Repository за запаметяването, извличането и промяната на данните от изминали периоди за позициите на потребителя.

  • Връзки на Inquiries Processor модул

    • Inner Relationships

      • Inquiry generator -> Inquiry Encoder – при генериране на справка и получаване на команда от потребителя за запаметяването й в определен формат Inquiry generator-ът генерира необходимите данни и ги подава на Inquiry Encoder-а, който от своя страна създава документа в избрания от потребителя формат.

    • Outer Relationships

      • Inquiries Processor -> MDP – за целите на изготвянето на справките, зададени от потребителя, Inquiries Processor-ът изпраща заявки за получаването на данните, нужни за съответната справка от MDP

        • Inquiry generator -> Accounts Manager - Inquiry generator изпраща команда към Accounts Manager за получаването за данни за сметките на клиента при брокера, които са му нужни за генерирането на справка.

        • Inquiry generator -> Positions Manager - Inquiry generator изпраща команда към Positions Manager за получаването за данни за позициите на клиента, които са му нужни за генерирането на справка.

        • Inquiry generator -> Rates of Exchange Manager - Inquiry generator изпраща команда към Rates of Exchange Manager за получаването за данни за валутните курсове, получени от бекофис системата на брокера, които са му нужни за генерирането на справка.

      • Inquiries Processor -> GUI – Inquiries Processor модулът използва функциите на GUI за изчертаване на графичния интерфейс, свързан с изготвянето, конфигурирнето и показването на справки.

  • Връзки на Analysis модул

    • Връзки на Expert Analysis подмодул

      • Inner relationships

        • Queries Manager -> EALI - Queries Manager-ът използва EALI при изпълнението на експертните анализатори.

        • Queries Manager -> E-mail Notifications – след изпълнението на някой от експертните анализатори Queries Manager-ът подава информацията за изпълнението му към E-mail Notifications подмодула, който я изпаща под формата на e-mail на адрса, указан от потребителя.

        • EA Debugger -> EALI - EA Debugger -ът използва EALI при постъпковото изпълнение на експертните анализатори дефинирани от потребителя на EAL.

        • EA Simulator -> EALI - EA Simulator-ът използва EALI при изпълнението на експертните анализатори дефинирани от потребителя на EAL.

        • Market Observer -> Queries Analyser - Market Observer-ът изпраща към Queries Analyser-а информация за настъпилите промени в пазара.

        • Query Analyser -> Queries Engine – след като Query Analyser-ът установи, че условието на някой от експертните анализатори е изпълнено в следствие на промени в пазара изпраща команда към Queries Engine за изпълнението му.

      • Outer Relationships

        • EA Analysis -> MDP - EA Analysis използва MDP за достъп до данните, които са му нужни при дефинирането, симулацията, постъпковото и реалното изпълнение на експертните анализатори.

          • EA Simulator -> MDP - EA Simulator-ът използва MDP за достъп до данните от предишни/текущи периоди за целите на симулация на дефинираните от потребителя експертни анализатори.

          • EA Debugger -> MDP - EA Debugger -ът използва MDP за достъп до данните от предишни/текущи периоди за целите на постъпковото изпълнение на дефинираните от потребителя експертни анализатори.

          • Market Observer -> MDP - Market Observer подмодулът използва MDP модула за достъп до текущите данни за позициите и валутните курсове, които са му небоходими за извършването на дейностите му по следене на пазара и установяването на промените в него.

          • Queries Engine -> MDP - Queries Engine подмодулът използва MDP за достъп до данните, необходими за изпълнението на екпертините анализатори

        • Expert Analysis -> Maths & statistics Lib - Expert Analysis използва Maths & statistics Lib, при обработката на експертен анализатор, съдържащ някоя от математическите и статистически функции от библиотеката.

        • Expert Analysis -> GUI - Expert Analysis модулът използва GUI за изчертаването и управлението на графичните интерфейси, свързани със създаването и управлението на експертни анализатори.

        • Technical Analysis -> MDP - Technical Analysis подмодулът изпраща команди към MDP за получаването на данни за валутни курсове, позиции и сметки на клиента за текущия и/или предишни периоди, които са му необходими за създаването на необходимите индикатори на технически анализ

          • Technical Analysis -> Rates of exchange manager – Technical Analysis подмодулът изпраща команди към Rates of exchange manager за получаването на данни за валутни курсове за текущия и/или предишни периоди, които са му необходими за създаването на необходимите индикатори на технически анализ

          • Technical Analysis -> Account manager - Technical Analysis подмодулът изпраща команди към Account manager за получаването на данни за сметките на клиента за текущия и/или предишни периоди, които са му необходими за създаването на необходимите индикатори на технически анализ

          • Technical Analysis -> Positions manager - Technical Analysis подмодулът изпраща команди към Positions manager за получаването на данни за позициите на клиента за текущия и/или предишни периоди, които са му необходими за създаването на необходимите индикатори на технически анализ

        • Technical Analysis -> Maths & statistics Lib - Technical Analysis подмодулът използва Maths & statistics Lib при изчисляването на индикатор на технически анализ, дефиниран чрез някоя от вградените математически и статистичеси функции.

        • Technical Analysis -> Graphics – след като е създал съответния индикатор на технически анализ, Technical Analysis подмодулът изпраща команда към Graphics за изчертаването му върху графиката.

          • Technical Analysis -> Graphics View - след като е създал съответния индикатор на технически анализ, Technical Analysis подмодулът изпраща команда към Graphics View за добавянето му върху графиката.
1   2   3   4   5




©obuch.info 2024
отнасят до администрацията

    Начална страница