Related links
Front-End Scripting
CMS - Content Management & Web API services
Task, Project, Quality
Task & Task pattern
System Management (part of framework)
HR - Human Resources
Mobile & Web Application
- clientprogramming_fevaldataobject
- userinterface-objectstructure
- cliplink
- npmlibraries
- fclip
- drag-drop
- AyMINE Application
- objectdefinition_inlineedit
- npmlibraries_stringlibrary
- clientprogramming
- mobileapplication
- languagesupport
- objectdefinition_multiupdate
- clientprogramming_fevalglobal
- clientprogramming_fevallanguage
- clientprogramming_fevaluser
- objectdefinition_viewdefinition
- offlineobjects
- System console
- Runtime debugging
- objectdefinition_detailview
Framework Core functionality
- prices
- managementfaq
- prices_private-installation
- clientdefinedattributes
- phplibraries
- servermethods
- io_export
- AyMINE Framework Server
- The AyMINE licence model
- System Rights
- servermethods_frmfrm
- io_import
- multiclient-architecture
- servermethods_stringsandtranslations
- frmevent
- System messaging
- usersessions
- User defined fields
Libraries & Lincences
Module - support for management
FI - Finance Management
Sales & Asset management
Sales related services
Description of a part of the AM module - sales partMiddleware - efektivní řízení
AyMINE využívá efektivního interního řízení zpráv pro synchronní i asynchronní komunikaci. Každý modul vystavuje poskytovatele služeb i zpracovatele. Součástí administrace systému je dohled nad událostmi, které jsou zpracovávány.
Integrace modulu
Každý modul systému je do middleware integrován prostřednictvím instalace. V rámci definice modulu jsou popsány události, které modul využívá i které publikuje. Při instalaci modulu jsou tyto informace zařazení do middlware, který je využívá.
Instalaci modulu je možné spouštět jakkoli opakovaně, takže není problém nastavení kdykoli změnit.
Publikace služeb
Služby modulů jsou přes middleware dostupné přes vystavené služby. Modul služby vystavuje tak, že poskytne zpracovatele událostí (EventHandler). Definice jednoho zpracovatele z modulu am vypadá takto
"eventHandlers":[
{
"event":"am.amProduct.generateAIRedData",
"icon":"internal",
"desc":"Description of the pro provided service",
"urlDoc": "Link to the module-related documentation",
"a":"server.amProduct.generateAIForMsgParsing"
},
}
Ikona a popis slouží pro administraci, standardně jsou anglicky. Podrobnější dokumentace služby musí být součástí dokumentace modulu, do middleware se neukládá.
Přihlášení odběratele události
Odběratel události je Funkce systému, která využívá poskytnutou událost. Odběratel může událost volat a díky registraci
- Je přehled, jak jsou které služby využívány
- Na úrovni middleware (v rámci rozhraní administrace) je možné kontrolovat, zda smí událost volat
- Je přehled o závislostech modulů, takže je jednodušší jejich správa
Příklad registrace odběratele:
"am.amProduct.generateAIRedData":{
"desc":"Request to generate AI data for product recognition",
"requestType":"asynchronous",
"answerRequested":false,
"type":"userActivated",
"scope":"internal"
},
Ukázka registruje asynchronně volanou službu - požadavek na zpracování. Popis dále uvádí, že volající nečeká žádnou odpověď a služba je volána asynchronně a nemá stanovenu prioritu.
Volání událostí
Událost může zavolat libovolná funkce, která byla předtím registrována. Příklad volání výše popsané funkce:
EventManager::raise(
'am.amProduct.generateAIRedData', // název události
[], // parametry volání
new DateTime(), // datum, kdy má být událost aktivována
null, // uživatelský účet
$cid // klient (povinné)
);
Časové události
Sytém automaticky a pravidelně generuje řadu časových událostí
- Každých několik minut
- Každou hodinu
- Každý půlden
- Začátek / konec pracovní dne
- Pro noční skripty
Moduly nemají důvod implementovat vlastní mechanismus časového volání. Stačí se "napojit" na některou ze systémových časových událostí.
Administrace middleware
Systémový správce má přehled, jaké události jsou zpracovávány.
Konzole pro sledování událostí
Přehled zpracovatelů událostí
Hodí se vědět
AyMINE není real-time systém
Middleware a zpracování událostí je efektivním řešení pro podnikové aplikace. Implementovaný mechanismus není navržen pro Real-Time systémy ani pro on-line hry, které vyžadují okamžité reakce. Naopak pro podnikové aplikace a systémy, které je důležitá nejenom spolehlivost, ale i ekonomické náklady na provoz systému, je systém řízení událostí ideální volbou.