ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ

ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

«ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ»

ΚΑΤΕΥΘΥΝΣΗ: Ηλεκτρονική Μάθηση

ΕΞΑΜΗΝΟ: Γ΄ (6ος Κύκλος)

ΜΑΘΗΜΑ: Συστήματα Ροής Εργασίας (Ακαδ. Έτος 2010-11)

ΚΑΘΗΓΗΤΗΣ: ΜΙΚΑΕΛΑ ΠΟΥΛΥΜΕΝΟΠΟΥΛΟΥ

ORACLE BPM STUDIO 10.3

Tutorial

1. ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

1.1 Επιχειρησιακή διαδικασία (business process)

Μία επιχειρησιακή διαδικασία αποτελεί μια σειρά από επιχειρησιακές δραστηριότητες, οι οποίες όταν εκτελεστούν παράγουν ένα χρήσιμο αποτέλεσμα. Μόλις αυτό το αποτέλεσμα παραχθεί, ολοκληρώνεται και η διαδικασία.

Μία απλή επιχειρησιακή διαδικασία μπορεί να αφορά την πρόσληψη ενός υπαλλήλου, την προώθηση μιας αγοραπωλησίας κ.α.. Μία πιο πολύπλοκη επιχειρησιακή διαδικασία μπορεί να αφορά περισσότερους ανθρώπους και να διαπερνά τα τμήματα ενός οργανισμού.

Μερικές φορές ο βασικός στόχος μιας διαδικασίας δεν μπορεί να επιτευχθεί. Για παράδειγμα, όταν δεν υπάρχει απόθεμα από ένα προϊόν, ο υπάλληλος μπορεί να πρέπει να ακυρώσει μια παραγγελία. Για αυτό, μια επιχειρησιακή διαδικασία πρέπει να προβλέπει εναλλακτικά σενάρια από τον αρχικό στόχο. Για παράδειγμα, εάν το προϊόν δεν έχει απόθεμα μπορεί να προταθεί στον πελάτη  μια εναλλακτική επιλογή την οποία ο πελάτης μπορεί να αποδεχθεί ή απορρίψει. Συνεπώς, μια διαδικασία μπορεί να έχει μια λίστα με πιθανά αποτελέσματα.

1.2 Δραστηριότητες (Activities)

Οι επιχειρησιακές διαδικασίες περιλαμβάνουν λογικά βήματα, τα οποία αποκαλούνται δραστηριότητες (activities), καθένα από τα οποία αφορά σε μία ή περισσότερες ενέργειες.

Υπάρχουν δύο τύποι δραστηριοτήτων: αυτόματες (automatic) και διαδραστικές (interactive). Οι αυτόματες δραστηριότητες εκτελούνται αυτόματα από τη μηχανή εκτέλεσης της διαδικασίας (Process Execution Engine), ενώ οι διαδραστικές απαιτούν την παρέμβαση του χρήστη.

Οι δραστηριότητες ενώνονται με μεταβάσεις/συνδέσεις (transitions), οι οποίες καθορίζουν τη σειρά με την οποία εκτελούνται οι δραστηριότητες.

1.3 Ρόλοι και συμμετέχοντες (Roles and Participants)

Κάθε διαδραστική δραστηριότητα ανήκει σε ένα ρόλο, ο οποίος είναι ένας τίτλος ή μια εργασία που εκτελείται από έναν οργανισμό. Για παράδειγμα ένας ρόλος μπορεί να είναι ένας Μαθητής, Καθηγητής κ.α..

Οι συμμετέχοντες είναι οι άνθρωποι που αλληλεπιδρούν με τη διαδικασία. Για την εκτέλεση μιας δραστηριότητας, ένας συμμετέχοντας πρέπει να αντιστοιχηθεί σε ένα ρόλο στην οποία ανήκει η δραστηριότητα. Ένας συμμετέχοντας μπορεί να έχει έναν ή περισσότερους ρόλους.

1.4 Εξαιρέσεις (Exceptions)

Επειδή είναι αδύνατο να προβλεφθεί κάθε αποτέλεσμα μιας διαδικασίας, μία επιχειρησιακή διαδικασία χρειάζεται ένα τρόπο να διαχειριστεί τις εξαιρέσεις. Μία εξαίρεση είναι ένα γεγονός το οποίο εμποδίζει μια διαδικασία να φτάσει στον αρχικό στόχο.

Ο τρόπος με τον οποίο διαχειρίζεται μία διαδικασία αυτό το γεγονός αναφέρεται ως διαχείριση εξαιρέσεων (exception handling) και μπορεί να αφορά τον καθαρισμό των τιμών κάποιων μεταβλητών, την ειδοποίηση ενός ρόλου με διαχειριστικά δικαιώματα για την κατάσταση κ.α.

2. ΣΤΙΓΜΙΟΤΥΠΟ ΔΙΑΔΙΚΑΣΙΑΣ (PROCESS INSTANCE)

Μία επιχειρησιακή διαδικασία είναι μια σειρά από βήματα. Ένα στιγμιότυπο διαδικασίας είναι μία συγκεκριμένη υλοποίηση της διαδικασίας.

Κατά την εκτέλεση ενός στιγμιότυπου διαδικασίας, εκτελούνται δραστηριότητες είτε αυτόματα είτε από συμμετέχοντες Για παράδειγμα, σε μία διαδικασία που διαχειρίζεται την επιλογή ενός σεμιναρίου από μαθητές, κάθε επιλογή σεμιναρίου θα αποτελεί ένα στιγμιότυπο της διαδικασίας που θα εκτελείται από συμμετέχοντες που είναι μέλη των ρόλων φοιτητές και γραμματείς.

Δεν υπάρχει συγκεκριμένος αριθμός στιγμιοτύπων που μπορούν να εκκινηθούν.

Κάθε στιγμιότυπο έχει ιστορικό εκτέλεσης και χαρακτηριστικά Για παράδειγμα, στην παραπάνω διαδικασία επιλογής σεμιναρίου, σε κάθε στιγμιότυπο δίνονται τιμές στις μεταβλητές της διαδικασίας οι οποίες αφορούν τον τίτλο του σεμιναρίου, το όνομα του παρουσιαστή κ.α.

Ένα στιγμιότυπο μπορεί να έχει διαφορετική σειρά εκτέλεσης των δραστηριοτήτων ανάλογα με τις συνθήκες που ικανοποιούνται μέσα σε μια διαδικασία. Για παράδειγμα, στην παραπάνω διαδικασία επιλογής σεμιναρίου μπορεί στο επιλεγμένο σεμινάριο να μην υπάρχουν θέσεις και ο φοιτητής να πρέπει να εισαχθεί σε κάποια λίστα αναμονής.

3. ΑΝΤΙΚΕΙΜΕΝΑ ΡΟΗΣ (FLOW OBJECT)

Ένα αντικείμενο ροής μοντελοποιεί ένα βήμα σε μια διαδικασία. Ο επόμενος πίνακας περιγράφει διαφορετικές κατηγορίες αντικειμένων ροής

Κατηγορία

Περιγραφή

Αντικείμενο ροής

Activity

Οι δραστηριότητες αναπαριστούν την εργασία που μπορεί να εκτελεστεί.

  • Interactive
  • Decision
  • Automatic
  • Group
  • Subflow
  • Process Creation
  • Termination Wait
  • Grab

Gateway

Οι πύλες ελέγχουν το διαχωρισμό και την ένωση της ροής σε μια διαδικασία. Καθορίζουν εάν ένα μονοπάτι θα διαχωριστεί, ενωθεί με άλλα μονοπάτια κ.α..

  • Conditional
  • Split
  • Or-Split
  • Multiple

Event

Τα γεγονότα επηρεάζουν τη ροή σε μια διαδικασία. Συνήθως έχουν μια αιτία και ένα αποτέλεσμα.

  • Message Wait
  • Send Message
  • Timer
  • Compensate

Global Activity

Οι γενικές δραστηριότητες ικανοποιούν γενικές απαιτήσεις και δεν σχετίζονται με συγκεκριμένα στιγμιότυπα.

  • Global Creation
  • Global Automatic
  • Global Interactive

Artifact

Artifacts, παρέχουν επιπλέον πληροφορία για μια διαδικασία.

  • Measurement Mark

Σωστό είναι να παρέχονται περιγραφικά ονόματα για τα αντικείμενα ροής τα οποία να αποτελούνται από ένα ρήμα και ένα ουσιαστικό.

4. ΜΕΤΑΒΑΣΕΙΣ (Transitions)

Οι μεταβάσεις είναι βέλη με κατεύθυνση που δείχνουν τη ροή της διαδικασίας.

4.1. Είδη μεταβάσεων

Τα πιο κοινά είδη είναι: Unconditional, Conditional Due Exception Business Rule.

Σημειογραφεία

Μετάβαση

Περιγραφή

Unconditional (Uncontrolled)

Απλή μετάβαση που δεν επηρεάζεται από καμία συνθήκη.

Unconditional (Default)

Τα στιγμιότυπα χρησιμοποιούν αυτή την μετάβαση όταν υπάρχει μια εναλλακτική μετάβαση με συνθήκη.

Conditional

Τα στιγμιότυπα χρησιμοποιούν αυτήν την μετάβαση όταν μια συγκεκριμένη συνθήκη ικανοποιείται.

Business Rule

Τα στιγμιότυπα χρησιμοποιούν αυτήν την μετάβαση όταν ένας επιχειρησιακός κανόνας δυναμικά γίνεται αληθής.

Due (Timer)

Τα στιγμιότυπα χρησιμοποιούν αυτήν την μετάβαση όταν φτάνει μια συγκεκριμένη χρονική στιγμή.

Exception (Error)

Τα στιγμιότυπα χρησιμοποιούν αυτήν την μετάβαση όταν ικανοποιείται μία εξαίρεση.

4.2. Προτεραιότητα μεταβάσεων

Όλα τα αντικείμενα ροής έχουν τουλάχιστον μια μετάβαση χωρίς συνθήκη έτσι ώστε να υπάρχει πάντα ένας τρόπος να συνεχίσει η διαδικασία. Παρόλα αυτά, συχνά χρησιμοποιούνται μεταβάσεις με συνθήκες. Όταν μια ή περισσότερες μεταβάσεις με συνθήκη ξεκινούν από ένα αντικείμενο ροής, η μετάβαση χωρίς συνθήκη θεωρείται ως προεπιλεγμένη.

Σε αυτήν την περίπτωση, οι μεταβάσεις με συνθήκες εξετάζονται πρώτα και η μετάβαση χωρίς συνθήκη ακολουθείται μόνο εάν καμία από τις συνθήκες δεν ικανοποιούνται Ομοίως με το  else στη δομή if-then-else που ισχύει στον προγραμματισμό.

Αναφορικά με τις μεταβάσεις με βάση τους επιχειρησιακούς κανόνες, αυτοί ελέγχονται πριν από τις μεταβάσεις με συνθήκες. Εάν μια μετάβαση με επιχειρησιακό κανόνα επαληθεύεται και μια μετάβαση με συνθήκη τότε η πρώτη έχει προτεραιότητα.

Οι μεταβάσεις με βάση το χρονόμετρο λειτουργούν ξεχωριστά. Για παράδειγμα, όταν ένα χρονόμετρο ενεργοποιείται όλες οι άλλες μεταβάσεις αγνοούνται.