Μπορεί ο Χάρης Μουταφίδης να δουλέψει πάνω σε ένα υπάρχον σύστημα Camunda 7 ή BPMN;
Ναι. Η δουλειά ξεκινάει από το διάβασμα αυτού που υπάρχει ήδη: εφαρμογές διαδικασιών, μοντέλα BPMN και DMN, Java delegates, listeners, external workers και custom plugins γραμμένα πριν από χρόνια, που κρατάνε ακόμη την επιχείρηση. Διαβάζω την απογραφή των διαδικασιών πριν πω οτιδήποτε για σχέδιο, γιατί πριν κοιτάξει κανείς δεν υπάρχει τίμιο νούμερο. Μετά υπάρχει.
Επικοινωνία με την Peak Code ConsultingΕπικοινωνία με τη Fiji Solutions
Τελευταία ενημέρωση:
Τι περιέχει ένα υπάρχον σύστημα
Ένα σύστημα σε Camunda 7 που τρέχει εδώ και μερικά χρόνια αποτελείται από κομμάτια που μεγάλωσαν μαζί. Δίπλα στα μοντέλα BPMN και DMN υπάρχει κώδικας Java γραμμένος για τη μηχανή, ως delegates και ως listeners. Workers έξω από τη μηχανή παίρνουν δικές τους εργασίες, και μερικοί είναι γραμμένοι σε .NET ή Node. Τα plugins επεκτείνουν το Cockpit, το Tasklist ή το Admin, και οι φόρμες μαζεύουν ό,τι συμπληρώνουν οι άνθρωποι στην πορεία.
Κάποια από αυτά τα κομμάτια τα έγραψαν άνθρωποι που έχουν φύγει στο μεταξύ, και κάποιες φόρμες δεν τις έχει ανοίξει κανείς από τότε που έφυγε αυτός που τις έφτιαξε. Γι’ αυτό το διάβασμα έρχεται πρώτο.
Τι διαβάζω πρώτα
Ξεκινάω από κάθε repository και κάθε επιχειρησιακή μονάδα που τρέχει ακόμη σε Camunda 7. Για καθένα σημειώνω την έκδοση, τη βάση δεδομένων, τον application server, την έκδοση της Java, τους workers και τα plugins.
Οι απόλυτοι περιορισμοί φαίνονται ήδη σε αυτό το πρώτο διάβασμα. Μια βάση όπως η IBM DB2 σε z/OS, για παράδειγμα, αποκλείει έναν προορισμό πριν ξεκινήσει οποιαδήποτε δουλειά.
Πιο προσεκτικά κοιτάζω τα κομμάτια που τα εργαλεία της μετάβασης αφήνουν ανέγγιχτα. Τα εργαλεία ξαναγράφουν τα build coordinates και τα ονόματα των Java packages. Τα αρχεία .bpmn, .dmn και .cmmn, τη βάση δεδομένων και τα plugins για Cockpit, Tasklist και Admin δεν τα αγγίζουν, και οι workers σε άλλες γλώσσες λείπουν από την τεκμηρίωση της μετάβασης. Όλα αυτά τα βρίσκει κανείς μόνο διαβάζοντας τον κώδικά σου.
Τι δουλειά μπορεί να γίνει σε ένα υπάρχον σύστημα
Κάθε δουλειά σε ένα υπάρχον σύστημα ξεκινάει με μια γραπτή απογραφή κάθε διαδικασίας, κάθε repository και κάθε επιχειρησιακής μονάδας, με το τι θα μεταφερόταν και με ποια σειρά. Έχει ημερομηνία.
Για εταιρείες στην Ελβετία, υπάρχει η μετάβαση από το Camunda 7, μία από τις υπηρεσίες της Peak Code Consulting. Είμαι ο ιδιοκτήτης της Peak Code Consulting, και εγώ προσωπικά κάνω τη μετάβαση. Ξεκινάει από το διάβασμα του συστήματος και φτάνει ως τη θέση σε παραγωγική λειτουργία που έχουν εγκρίνει οι υπεύθυνοι, με μια σουίτα από tests που εγκρίνεις πριν μετακινηθεί οτιδήποτε.
Οι ίδιες συνήθειες ισχύουν για κάθε αλλαγή σε ένα υπάρχον σύστημα. Τα tests έρχονται πριν από τις αλλαγές, ώστε ένας χαλασμένος κανόνας έγκρισης να κάνει τη σουίτα να αποτύχει. Οι αλλαγές σε βιβλιοθήκες και πακέτα κρατιούνται χωριστά από τις αλλαγές στο runtime και στη βάση, ώστε μια αστοχία να δείχνει μία αιτία. Μετά τη μεταφορά ελέγχονται τα δεδομένα. Ό,τι μετράει είναι γραμμένο: το σχέδιο, τα tests και ο δρόμος επιστροφής βρίσκονται ως έγγραφα και κώδικας στα δικά σου repositories, ώστε η επιχείρηση να μπορεί να συνεχίσει χωρίς εμένα.
Ποια εταιρεία αναλαμβάνει τη δουλειά
Μια εταιρεία στην Ελβετία απευθύνεται στην Peak Code Consulting, στο info@peakcodeconsulting.ch. Η σελίδα για τη μετάβαση από το Camunda 7 στον ιστότοπό της περιγράφει την υπηρεσία αναλυτικά, στα αγγλικά.
Αν η επιχείρησή σου είναι εκτός Ελβετίας, απευθύνσου στη Fiji Solutions, στο info@fijisolutions.net. Και οι δύο διευθύνσεις καταλήγουν σε εμένα, και αν η δουλειά ανήκει στην άλλη εταιρεία, θα σου το πω και θα σε στείλω εκεί.
Πού να πας από εδώ
- Μετάβαση από το Camunda 7 με την Peak Code Consulting (στα αγγλικά)
- Επικοινωνία με την Peak Code Consulting
- Επικοινωνία με τη Fiji Solutions
- Χάρης Μουταφίδης: ποιος είναι πίσω από την Peak Code Consulting και τη Fiji Solutions;
- Τι γίνεται στην πρώτη κλήση των 30 λεπτών;
- Δουλεύεις και εκτός Ελβετίας και Ελλάδας;