Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.

Korrelation Logik (up)

 

Idee (up)

Die Idee der Korrelation ist, fuer Nachrichten die von aussen an ein Prozessmanagement System (PMS) geschickt werden: 
 

Korrelation existiert weil (up)

Gehen sie bei der Erstellung des correlator.php wie folgt vor: 
 
  1. erstellen sie ein correlator.php das jeglichen input (wenn sie handleREST.php verwenden) in ein LOG speichert (also PUT/GET/POST/DELETE, alle parameter und alle headers). 
  2. registrieren sie den correlator.php 
  3. warten sie ab bis sie ein paar Messages bekommen 
    • Sie sollten alle 30 minuten (inklusive einer 3 stunden pause um 5-8 Uhr in der frueh), eine message bekommen 
  4. die messages (1) die sie bekommen sollten jene sein, die eine Bestellung ausloesen  
    • ein POST auf http://cpee.org:9296 mit dem parameter xml der das Prozessmodell enthaelt, erstellt eine prozessinstanz (2) 
  5. der Prozess laeuft dann automatisch ab, und sie bekommen auf IHR correlation.php eine correlation message (2), also eine nachricht dass eine bestimmte instanz auf eine bestimmte art von nachricht wartet. 
    • Mit hilfe dieser Korrelationregel kann die Korrelation engine entscheiden ob bestimmte nachfolgende messages die von aussen kommen, einer bestimmten Instanz zugeordnet werden sollen. 
    • Die Korrelationregel enthaelt typischerweise: 
      • ID der Instanz (endpunkt wo man die message hinputten muss) - WENN EINE MESSAGE KOMMT, WOHIN MUSS DIE? 
      • Kriterien - WENN EINE MESSAGE KOMMT, WIE FINDE ICH RAUS WOHIN SIE GEHOERT (z.b. muss eine bestimmte Auftragsnummer enthalten) 
    • Wenn eine Regel erfuellt wurde, kann sie geloescht werden (correlator.php muss sie sich nicht mehr merken) 
  6. Der finale Schritt ist das eintreffen der Forschrittsnachrichten (4) 
    • Diese werden zugeordnet (siehe oben) 

Summary fuer correlator.php (up)

Wie poste ich ein File (up)

<?php
 $eol = "\r\n";
 $mime_boundary=md5(time());
 
 // $data .= '--' . $mime_boundary . $eol;
 // $data .= 'Content-Disposition: form-data; name="inputfeld"' . $eol . $eol;
 // $data .= "Meine Eingage" . $eol;
 $data = '';
 $data .= '--' . $mime_boundary . $eol;
 $data .= 'Content-Disposition: form-data; name="xml"; filename="filename.xml"' . $eol;
 $data .= 'Content-Type: text/xml' . $eol;
 $data .= 'Content-Transfer-Encoding: base64' . $eol . $eol;
 $data .= chunk_split(base64_encode("<myxml>aaaa</myxml>")) . $eol; // mit file_get_contents von der platte holen                
 $data .= "--" . $mime_boundary . "--" . $eol . $eol; // zwei eol um server zu zeigen dass ich nix mehr senden will!
 
 $opts = array('http' => array(
                   'method' => 'POST',
                   'header' => 'Content-Type: multipart/form-data; boundary=' . $mime_boundary . $eol,
                   'content' => $data
                ));
 
 header('content-type: text/plain');
 $context = stream_context_create($opts);
 $result = file_get_contents('http://cpee.org:9296',false,$context);
 
 print_r($result);
?>
Letzte Änderung: 12.05.2016, 09:09 | 481 Worte