• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    OBRIENBPM & RBMS systemy v praxi
    Business process and rules management
    rozbalit záhlaví
    CODEAS
    CODEAS --- ---
    Máte někdo tip na BPMN s Eriksson-Penkerem v online (kolaborativní) verzi ?
    KTV
    KTV --- ---
    ja to testoval a jako moje appka se zrychlila na prvni pohled, ale pak sem se v tom prave zacal hrabat a zjistil sem ze to je jenom tim ze pulka udalosti se nespousti :-O ... takze ja zatim zustavam s 4kou. mimo to to pracuje s mapama blbe - resp odmita mi to udelat mapu cehokoli jinyho nez String->Object a ja pouzivam Object->Object takze zatim papa kluci
    OBRIEN
    OBRIEN --- ---
    Konecne jsem se dostal k tomu prejit na 5.0 M4, ale byla to docela ztrata casu - resp. poslednich 4 noci. Podpora udalosti je plna chyb, dokumentace porad nulova (nejlepsi je zacit skrz integracni testy) a zda se mi ze cely engine se vyrazne zpomalil.
    OBRIEN
    OBRIEN --- ---
    Drools 5.0 M3/M4 New and Noteworthy Release Summary
    http://blog.athico.com/2008/12/drools5-m3-release-notes.html
    OBRIEN
    OBRIEN --- ---
    rule "no CEs"
    when
    then
        ...
    end
    
    je interne prepsane do
    eval(true)
    


    tak by hadal ze to je nejrychlejsi moznost
    KTV
    KTV --- ---
    jasny no. hele a kdyz sme u toho, potrebuju aby se nejaky pravidlo spoustelo porad, pri kazdym fireAllRules() - co bude rychlejsi:
    when
       eval(true)
    
    nebo
    when
        or LineItem() 
            not LineItem()
    

    ?
    OBRIEN
    OBRIEN --- ---
    eval() je nejhorsi moznost. Jsem ted byl u klienta resit nejake potize, tak jsem se k tomu jeste nedostal.Vetsina problemu, ktere mam takove charakteru, je v tom, ze mam spatne zorganizovane fakta. Premyslel jsem o tom tvem reseni s moznosti ty fakt vlozit jako jednotlive a rozdelit to na vic pravidel, ale jak rikam, musim to vyzkouset.

    Pouzivam Drools teprve rok, a pokazde kdyz uz si myslim, ze to zvladam, tak potkam nekoho z JBossu a ty me ukazou kouzla, o kterych jsem ani netusil.
    KTV
    KTV --- ---
    jo. no tak to radsi nez eval tak to necham takhle no... a nejde aspon nekam vytahnou tenhle kousek aby ho nemuseli lidi co tam pak budou psat ty pravidla dycky opisovat? navic je to blby i z navrhovyho hlediska zejo ... pak se zmeni zpusob jakym se pocita groupsize a vsichni si to budou ve svejch pravidlech muset opravovat a bude to sileny ....
    OBRIEN
    OBRIEN --- ---
    reseni na to je vzdycky revidovat co mas ve working memory. nejsem ted u pocitace s eclipse, tak to nemuzu vyzkouset.

    jeste muzes vzdycky dat eval() a volat primo java kod, ale to neni doporuceny postup
    KTV
    KTV --- ---
    ale zas mi prijde uchylny tam pokazdy vypisovat ten accumulate kterej je dlouhej jak lovosice:
    Number($groupSize: doubleValue) 
    			from accumulate ( $li: LineItem($qty : quantity, item memberOf $groupItems), 
    				init(double ret = 0;),
    				action(if($li.isFromOneOfContexts($childContexts)) ret += $qty;),
    				reverse(if($li.isFromOneOfContexts($childContexts)) ret -= $qty;),
    				result(ret)
    			);
    
    KTV
    KTV --- ---
    jedinej zpusob na kterej sem prisel je s accumulate ale to mi prijde dost znacnej overkill ... ja bych chtel neco jako ten operator nebo tak nejak... Jestli je to lehky tak si ho tam klidne doprogramuju sam (ehm ... teda nevim co musi takovej operator splnovat a jak moc sou ty dialekty v drools rozsiritelny)
    OBRIEN
    OBRIEN --- ---
    vecer se na to mrknu
    KTV
    KTV --- ---
    cau mam otazku z drools. Potrebuju v drools zjistit jestli kolekce A obsahuje aspon jeden prvek z kolekce B. Priklad:
    class Context{
    ...
        getChildContexts() {
            ... vrati v kolekci vsechny subkontexty a samo sebe ( _this_ )
        }
    }
    
    class LineItems {
        List<Context> parentContext; ... kolekce urcujici do kterejch vsech kontextu ten lineItem patri
    }
    
    no a ted samozrejme bych rad udelal v pravidle "dej mi lineItemy ktery alespon castecne patrej do tohodle kontextu a jeho subkontextu" (tj. maji alespon jeden parentContext kterej patri do toho podstromu). V jave jsem to delal tak, ze normalne for cyklus. Kazdopadne jak to prepisu do drools? zkousel jsem:
        when
    		LineItem($contexts: contexts)
    		Context(childContexts contains $contexts)
    	then
    		System.out.println("kuku");
    

    ale problem je zrejmej - jak childContexts tak $contexts jsou ArrayListy takze on ceka ze v tom Listu childContext bude jako jeden jeho prvek celej list $contexts ... potreboval bych to nejak splostit nebo dodat operator containsAtLeastOneFrom
    OBRIEN
    OBRIEN --- ---
    Nevim jak siroke publikum tady na NYXu bude, ale proc to nezkusit. Pouzivate nekdo BPM nebo RBMS systemy? Osobne pouzivam jBPM a Drools jedna pro svuj soukromy projekt a pak jako konzultant pro dve organizace (finance a logistika).
    Kliknutím sem můžete změnit nastavení reklam