Sunday 29 June 2014

Mendix abbreviatens / prefix types for Microflows

There is no standaard for name convention of microflows within Mendix. During the time there are some best-practises about using name convention of the microflows.  Below there is a list of microflows name convention for the different type of microflows.  


Prefix typeMeaningComment
AD_After Delete
BD_Before Delete
ACr_Before create
BCr_Before create
ACo_After commit
BCo_Before commit
IVK_Invoke
VA_Visual AttributeThese microflow have visual attributes as output/return
OC_On Change(do not use, use OCh)
OCh_On Change
DS_Data SourceThis microflow returns an Object or a lijst of Objects as Output/return
SE_Scheduled Event
EVT_Event handlersThese microflows are attached to Event handlers
NAV_NavigationCalled from navigation (menu item)

Tips:





  • Name convention:
    • MF triggers by an action : <prefix type>_<action to execute>
    • MF that does something: <action to execute>
  • When you have a MF which is called by VA_ and OCh_, then the following:
    • MF should be created with name <action to execute>
    • VA_ --> Call MF <action to execute>
    • OCh_ --> Call MF <action to execute>
  • Monday 23 June 2014

    RM3 Proof Of Concept for connecting C to java RM3 Engine

    The Retail Mix & Match Module (RM3) Engine is a promotion rule engine that is specialized  in processing promotions. A promotion can be buy one get one or get 10% discount. To avoid coding these promotions direct in the POS/register system or Webshop, the RM3 is invented. Besides the flexibility the RM3 Engine also very fast in processing promotions. RM3 Engine can be used as java API or as a servlet. The RM3 Engine servlet can run on nearly any application server that is based on java.

    To proof that the RM3 Engine could also run on a POS system, that is build on C technology a Proof of Concept is executed.

    Proof Of Concept starting point:
    • Connect with a C program to the RM3 Engine
    • A minimum of 2000 promotions should be active
    • A minimum of 100.000 items should be part of the promotions
    • Discount results should be displayed per invoice line.

    After a few days, we had the Proof of concept ready. The result was a C program that connected to the RM3 Engine and executed the promotion processing. The results were amazing for the performance. Calculating the promotions for an invoice with about 20 invoice lines took less than 100 milliseconds.

    The following steps were executed by the C program:
    • starts a JVM instance,
    • Create RM3 Engine instance.
    • Loading 2000 promotions, which were based on 100.000 items.
    • Validate promotions
    • Push the invoice header information to the RM3 Engine
    • Push the invoice line information to the RM3 Engine
      • After each invoice line the RM3 Engine was started to calculate the promotions
    • At total
      • Start the RM3 Engine again for final calculation
    • Print invoice including discount information on invoice line level.