Related links
Framework Core functionality
- Client-Defined attributes
- Framework dependency on the open-source libraries
- Default server methods
- Export collection of objects
- AyMINE Framework Server
- The AyMINE licence model
- System Rights
- Import collection of objects
- Multi tenant Architecture
- Strings and translations
- System messaging
- User sessions
- Configuration of the user-defined fields
SOA Architecture
Support for Service Object Architecture and Internal Event ManagementLibraries & Lincences
Module - support for management
Front-End Scripting
System Management
- SaaS Management Module
- Management of the SaaS service client
- Encryted wallet storing access keys for data vault
- Definition and Management users in the SaaS system
- Management of the system users
- System right management
- System role is how user administrator sets the rights
- File access, storing and locking
- Communication geateways
- Private Object Marks, Sign & Notes
Task Management Module
- About TSK module
- Support for voting and decision management
- Support and implementation notes for FMEA
- Support for the Methodology Management
- Project Methodology Support
- Project Roles - Data model and implementation notes
- Actions and Meeting Agenda
- Description of person and supplier competencies
- Business event
- Problem & Helpdesk management support
- TSK module releases
- User Reminder
Task & Task pattern
Mobile & Web Application
- clientprogramming_fevaldataobject
- userinterface-objectstructure
- cliplink
- npmlibraries
- fclip
- drag-drop
- AyMINE Application
- objectdefinition_inlineedit
- npmlibraries_stringlibrary
- clientprogramming
- mobileapplication
- languagesupport
- objectdefinition_multiupdate
- Object API – object <g>
- clientprogramming_fevallanguage
- clientprogramming_fevaluser
- objectdefinition_viewdefinition
- offlineobjects
- System console
- Runtime debugging
- objectdefinition_detailview
CMS - Content Management & Web API services
FI - Finance Management
Sales & Asset management
Sales related services
Description of a part of the AM module - sales partHR - Human Resources
Middleware - 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.