Περί εφαρμογών eBanking
Ήμουν και είμαι (όπως και αρκετοί που διαβάζουν το blog αυτό), φανατικός χρήστης των υπηρεσιών eBanking εδώ και χρόνια. Ουσιαστικά από τότε που μπόρεσα να βγάλω τα δικά μου χρήματα αναζήτησα και τις σχετικές υπηρεσίες από τις τράπεζες. Μέσα από τους λογαριασμούς μισθοδοσίας άλλαξα τράπεζες, χρησιμοποίησα τις υπηρεσίες τους (θέλοντας και μη). Στην εποχή των παχιών αγελάδων για τον τραπεζικό τομέα στην Ελλάδα, ζήσαμε στιγμές που είχαμε τόσες διαφορετικές τράπεζες όσες και αθλητικές εφημερίδες! Το στρεβλό δεν είναι να έχεις πολλές επιλογές, το στρεβλό ήταν αν η οικονομία που ζούσαμε είχε πραγματικά την ουσιαστική δυναμική να φιλοξενεί τόσους διαφορετικούς παίχτες. Αλλά αυτό είναι μια άλλη συζήτηση και υπάρχου σίγουρα πιο ειδικοί στο θέμα για απαντήσουν τώρα καταμεσής της κρίσης.
Τα παλιά χρόνια και τα παλιά συστήματα
Από τα πρώτα χρόνια χρήσης υπηρεσιών eBanking, είχα πάντα (πάω στοίχημα και αρκετός άλλος κόσμος) την εντύπωση, οτι όλα αυτά τα συστήματα ήταν κάτι σαν τα φτωχά και παρατημένα αδελφάκια σε μια ομάδα υπηρεσιών που η μαμά τράπεζα είχε στην εποπτεία της. Από τον τρόπο που το user interface τους ήταν φτιαγμένο, από τον τρόπο που σε ανάγκαζαν να μπεις στη δική τους λογική για να κάνεις κάτι απλό, από την αισθητική τους ασχήμια και πολλές φορές από την εξωπραγματικά φτωχή υλοποίηση συστημάτων (πχ ποιος δεν έχει πάρει πριν πολλά χρόνια αυτό το φοβερό τυπωμένο χαρτί με One Time Passwords, από την Εθνική, το διόρθωσαν κάποια χρόνια μετά με την αντίστοιχη token συσκευή).
Παρόλα τα παράδοξα ήταν μια αρχή και μεγάλη ευκολία, από το να πας και να σταθείς σε κάποιο κατάστημα. Υπήρχαν κατά καιρούς παραδείγματα τραπεζών που προσπαθούσαν (ή προσπάθησαν) να παρέχουν ένα σταθερό επίπεδο υπηρεσιών στα καταστήματα τους, παρόλα αυτά η γενική εικόνα ήταν οτι θα πρέπει να σπαταλήσεις χρόνο, ίσως να στηθείς σε ουρές για να κάνεις τη δουλειά σου. Υπήρχαν και παραδείγματα τραπεζών που οι υπηρεσίες στα καταστήματα τους ήταν χειρότερες και από μια επίσκεψη σε δημόσια υπηρεσία (τους πρωταθλητές στον τομέα).
Το eBanking σαν βιτρίνα του service offering μιας τράπεζας
Έχω την αίσθηση οτι στις Ελληνικές τράπεζες 15 χρόνια πριν, που η εισαγωγή ebanking ήταν στα σπάργανα σε ό,τι έχει να κάνει με αποδοχή και χρήση του από τους εκάστοτε πελάτες, το έβλεπαν σαν ακόμα μια υπηρεσία που προσφέρουμε, αλλά όχι σαν ΤΗΝ υπηρεσία που είναι η βιτρίνα του καταστήματος μας. Για τους γονείς μου πχ, είναι αρκετά σημαντικό να πάνε σε ένα κατάστημα και να έχουν μια καλή εξυπηρέτηση, για μένα βέβαια και τους ανθρώπους νεότερης γενιάς δεν ισχύει. Αυτό που μετράμε είναι η ηλεκτρονική βιτρίνα και οι σχετικές υπηρεσίες και όχι το κατάστημα. Αυτή η στρατηγική οτι το eBanking είναι μια ακόμα υπηρεσία (αλλά όχι μια από τις πιο στρατηγικές υπηρεσίας μας), θεωρώ οτι σιγά σιγά θα αλλάξει ακόμα και στη μικρή αγορά της Ελλάδας, καθώς ο κόσμος θα στραφεί ακόμα πιο πολύ στην ηλεκτρονική διαχείριση χρημάτων. Ακόμα και τώρα που γράφω αυτές τις γραμμές, οι προσφερόμενες υπηρεσίες από πολλούς από τους υφιστάμενους παίχτες δε μου δίνουν την εντύπωση οτι χτίζουν ή προσέχουν την υπηρεσία τους τόσο ώστε να θεωρεί first class.
Η επερχόμενη αναβάθμιση των ηλεκτρονικών υπηρεσιών
Σκέφτομαι οτι είτε οι οργανισμοί αυτοί (βλέπε ελληνικές τράπεζες) θα αναγκαστούν τα επόμενα χρόνια να αναβαθμίσουν, ξαναχτίσουν τις ηλεκτρονικές τους υπηρεσίες, έτσι ώστε να κρατήσουν τους νέους πελάτες τους που σιγά σιγά φτάνουν τα 30 είτε θα εμφανιστεί και στην Ελλάδα το φαινόμενο των internet bank, τράπεζες με μηδαμινή ή πολύ μικρή φυσική παρουσία που παίζουν αποκλειστικά μέσα από internet Αν αναρωτιέσαι οτι δεν είναι πιθανό σκέψου πότε έκανες τελευταία φορά αγορά μέσω paypal ή σχετικής υπηρεσίας, δεν είσαι μακριά, το επόμενο βήμα αφού δέχθηκες να χρησιμοποιήσεις το paypal ή κάποιο σχετικό payment σύστημα είναι να δοκιμάσεις μια διαφορετική τράπεζα. (Παραδείγματα εδώ)
Σε όλα τα παραπάνω, αυτό το οποίο δεν έχω τις γνώσεις να μετρήσω ή και να προβλέψω είναι κατά πόσο η υφιστάμενη οικονομική κρίση στη χώρα μας μαζί με την έλλειψη ρευστότητας δε δημιουργούν έτσι και αλλιώς συνθήκες για να έρθουν νέοι παίχτες και να προσφέρουν νέες λύσεις. Από την άλλη, δεν το θεωρώ καθόλου παράλογο, τα επόμενα χρόνια να υπάρχει μια αρκετά μεγάλη κρίση (και που δεν υπάρχει να μου πεις) στο επάγγελμα της τραπεζικής εξυπηρέτησης. Βέβαια, στη δική μας περίπτωση ο λόγος δε θα είναι οτι ξαφνικά οι τράπεζες θέλουν να στηριχθούν σε online υπηρεσίες και να μειώσουν τη φυσική παρουσία (κάτι που θα γίνει αλλά πιο αργά στην Ελληνική αγορά). Ο λόγος θα είναι η μείωση των ΄_παιχτών στην αγορά, η συσσώρευση καταστημάτων κάτω από την ίδια ταμπέλα και οι οικονομίες κλίμακας που θα προσπαθήσουν να αναπτύξουν για να μειώσουν το κόστος τους.
Έτσι Λοιπόν, εκτός από την πολύ λογική και σίγουρη πρόβλεψη οτι το τραπεζικό περιβάλλον στην Ελλάδα αλλάζει θεωρώ οτι σιγά σιγά θα αλλάξουν και οι προσφερόμενες υπηρεσίες με έμφαση στην ηλεκτρονική τραπεζική. Το τελευταίο με αφορά αρκετά (όπως και αρκετούς άλλους software developers) εκεί έξω. Μέχρι τώρα οι παρατηρήσεις μου και προβλέψεις ήταν από τη σκοπιά του χρήστη.
Με τη ματιά του προγραμματιστή, τεχνικές δυσκολίες
Τους τελευταίους 8 μήνες έχω την ευκαιρία να δουλεύω στον συγκεκριμένο τομέα, στην ανάπτυξη εφαρμογών ηλεκτρονικής τραπεζικής. Ήταν κάτι που είχα σαν to-do' στα βήματα της καριέρας μου και ομολογώ οτι είναι ένα εντελώς διαφορετικός κόσμος σε θέματα γνώσεων και business requirements από αυτόν που είχα συνηθίσει στις προηγούμενες εταιρίες για τις οποίες δούλεψα.
Αυτοί οι λίγοι μήνες προφανέστατα δε με κάνουν expert' παρόλα αυτά μέσα από την τριβή και την κατανόηση σιγά σιγά της πολυπλοκότητας πίσω από κάθε μαύρο κουτί functionality μπορώ και απαντώ τις απορίες που είχα χρόνια τώρα σαν απλός χρήστης. Πόσες φορές δεν αναρωτήθηκες γιατί πχ το menu ιστορικό των συναλλαγών σου είναι τόσο δύστροπο και στρυφνό σε σημείο να μη βγάζεις νόημα στο τι σου δείχνει. Πόσες φορές δεν αναρωτήθηκες σε περίπτωση λάθους, αν τελικά η συναλλαγή σου έχει εκτελεστεί, αν απέτυχε, αν θα ξέρεις τι έχει γίνει και αν θα πρέπει να σηκώσεις το τηλέφωνο και να αναζητήσεις βοήθεια. Πολλές ακόμα απορίες είχαν σαν χρήστης ίσως και γκρίνια εξαιτίας της ματιά του τεχνικού.
eBanking μια υπηρεσία φλοιός
Ένα από τα πρώτα πράγματα που συνειδητοποίησα στον χώρο της ανάπτυξης eBanking εφαρμογών είναι οτι δεν είναι τίποτα άλλο παρά ένας φλοιός πάνω από το εσωτερικό σύστημα της τράπεζας. Αυτό ήταν κάτι σαν μια απογοήτευση ομολογώ μιας και νόμιζα οτι τα συστήματα αυτά ήταν μέρος του κορμού, του βασικού συστήματος ή core banking system όπως θα το ακούσετε από τους ειδικούς. Με πολύ απλά λόγια όταν μια τράπεζα θέλει να στηθεί αγοράζει μέσα από σχετικά λίγες επιλογές το σύστημα το οποίο θα την τρέχει, το οποίο ονομάζουν corebanking. Είναι μια πολύ δύσκολη αγορά με γίγαντες παίχτες και η επιλογή που θα κάνεις θα σε ακολουθήσει για μία ζωή (στα πλαίσια της ζωής του οργανισμού σου). Εδώ θα βρεις μια λίστα με τις εταιρίες που προσφέρουν core-banking_ συστήματα.
Το μαύρο κουτί .του core banking
Τεχνολογικά πολλά από αυτά (όχι όλα) είναι σχεδιάσεις πάνω σε τεχνολογίες και ιδέες 20ετίας ίσως και παραπάνω. (** Κράτα το αυτό σαν σημείωση_**). Πολλά από αυτά τρέχουν σε ειδικούς server που κοστίζουν αρκετά και μάλιστα η γλώσσα προγραμματισμού τους θεωρείται πια αρχαία_΄ για τα σημερινά δεδομένα. Παρόλα αυτά επειδή οι τράπεζες είναι (και πρέπει να είναι) συντηρητικοί οργανισμοί σε οτι έχει να κάνει την ηλεκτρονική τους υποδομή, το γεγονός οτι στηρίζονται σε παλιές τεχνολογίες σε συνδυασμό με την αρχή οτι δουλεύει δεν το αλλάζουμε, δημιουργεί ένα κενό δεκαετιών τεχνολογικά μέσα στην καρδιά της μηχανογράφησης τους. Να σημειώσω τέλος εδώ, οτι κάθε αλλαγή, πόσο μάλλον, ξερίζωμα τέτοιου συστήματος το οποίο τρέχει για 30 ή 40 χρόνια είναι σχεδόν απαγορευτικό σε επίπεδο κόστους.
Φλοιός νο 2 the messenger
Κάπως έτσι απαντήθηκαν πολλές ερωτήσεις μου για το πόσο περίεργα έμοιαζαν και δούλευαν τα πιο πολλά eBanking συστήματα που είχα δει μέχρι τώρα. Δεν ήταν τίποτα άλλο από εφαρμογές οι οποίες προσπαθούσαν να κρύψουν σε ένα βαθμό, το πως δουλεύει το βασικό μαύρο κουτί (core banking). Έπαιρναν τα δεδομένα από τον χρήστη, τα πακέταραν ίσως έκαναν και κάποιους ελέγχους και μετά τα έριχναν σε μια εσοχή στην πόρτα που διαχωρίζει το κεντρικό σύστημα με τα περιφερειακά. Με υπομονή περίμεναν αν θα βγει καπνός από το μαύρο κουτί το οποίο θα έκανε τις απαραίτητες 'κινήσεις', θα λάμβαναν μια απάντηση και θα στο παρουσίαζαν πίσω.
Σε περιπτώσεις (που εικάζω είναι ακόμα πολλές) όπου το core banking σύστημα στηρίζεται σε αρκετά παλιές τεχνολογίες, ακόμα και η μεταφορά δεδομένων από τις περιφερειακές υπηρεσίες πχ (eBanking) στο κεντρικό γίνεται με τους όρους και τους περιορισμούς τους. Όταν λέω περιορισμούς λάβε υπόψη σου ένα _γλαφυρό παράδειγμα΄.
Μπορεί να έχεις αναπτύξει_ ένα πολύ ωραίο και ευέλικτο eBanking σύστημα με νέες τεχνολογίες και να είναι πραγματικά εύχρηστο παρόλα αυτά στο σημείο που έχεις πάρει τα δεδομένα από τον χρήστη και θες να τα περάσεις στο κεντρικό σύστημα, υπάρχει ο περιορισμός οτι ανεξάρτητα με τι το τεχνολογία εσυ χρησιμοποιείς πρέπει τα δεδομένα αυτά τώρα να τα γράψεις σε cd ή κασέτες να τα ρίξεις στην θυρίδα της μαύρης πόρτας, να περιμένεις ξανά αν θα βγει καπνός και να πάρεις μια απάντηση ξανά σε cd. Αυτή τη στιγμή κάπως έτσι φαντάζει στον εκάστοτε προγραμματιστή το λεγόμενο integration μεταξύ υπηρεσιών που θα χτιστούν με τεχνολογίες του σήμερα και συστήματα βασισμένα σε τεχνολογίες του 70. δε λέω οτι δε θα δουλέψει μια τέτοια επικοινωνία, ίσα ίσα δουλεύει ήδη για πολλές από τις υπάρχουσες εφαρμογές eBanking που χρησιμοποιούμε όλοι, παρόλα αυτά με την όποια εμπειρία και τεχνική αίσθηση έχω, πιστεύω οτι αυτό το τεχνολογικό χάσμα θα αρχίσει σιγά σιγά να είναι εμπόδιο έτσι ώστε οι ηλεκτρονικές υπηρεσίες των τραπεζών να είναι α) πιο ευέλικτες β) πιο εύκολες σε αλλαγή γ) πιο εύκολα επεκτάσιμες. Δεν είναι λίγες οι τράπεζες που ξεκίνησαν την αλλαγή εκ των έσω (με το ανάλογο κόστος φυσικά), με σκοπό να θέσουν τις βάσεις για μια τεχνολογική υποδομή που θα μπορέσει να υποστηρίξεις τις ανάγκες του μέλλοντος.
Φλοιός νο 3 αρχιτεκτονική
Δεν ήταν παράλογο Λοιπόν, εξαιτίας των τεχνικών δυσκολιών που ανέφερα στην παραπάνω ενότητα πολλοί οργανισμοί να ανατρέχουν σε υβριδικές αρχιτεκτονικές σε οτι έχει να κάνει τη διασύνδεση του κεντρικού συστήματος με τα εξωτερικά. Για λόγους ευκολίας, ταχύτητας αλλά και συνεχών αλλαγών πολλοί εικάζω έσπασαν τα αρχιτεκτονικά όρια που όριζε την αρχή και το τέλος του core συστήματος με τα υπόλοιπα. Η μαύρη πόρτα δεν υπήρχε πια για λόγους ευκολίας και τα όλα τα συστήματα γίνονταν ένα. Αυτό ναι μεν σου έλυνε τα προβλήματα οτι κάθε φορά που έπρεπε να μιλήσεις με το κεντρικό σύστημα δε θα έγραφες τα δεδομένα σου σε CD, από την άλλη όταν έσπαγε ο σαφής διαχωρισμός των συστημάτων, ο χρόνος δρούσε αρνητικά στο δέσιμο όλων αυτών, και καταλήγανε σε συστήματα αρκετά δεμένα μεταξύ τους όπου τα όρια δεν ήταν διακριτά. Συστήματα που δεν έχουν σαφή όρια είναι γνωστά και ως highly coupled systems και σε γενικές γραμμές έχουν τα μειονεκτήματα του μεγάλου κύκλου συντήρησης, αρκετά ευάλωτα σε αλλαγές και φυσικά αρκετά δύσκολα στο να υπάρχει σαφής άποψη κάθε στιγμή για το ποιος (module) κάνει τι και πότε.
Σαν τεχνικός με την όποια εμπειρία έχω, θεωρώ οτι τα highly coupled συστήματα είναι γενικά κακό σημάδι (για τέτοιους είδους εφαρμογές) και είναι σημάδι φτωχής αρχιτεκτονικής και vision από την εκάστοτε τεχνική ομάδα να επενδύσει σε ένα σταθερό τεχνικό κορμό. Από την άλλη το πως να χτίσεις και να λειτουργήσεις loosely coupled εφαρμογές όπου θα έχουν διαχωρισμένα όρια, θα μιλάνε με τον σωστό τρόπο μεταξύ τους και οι εσωτερικές τους αλλαγές δε θα επηρεάζουν τους υπόλοιπους, δεν είναι εύκολο πράγμα. Η επιστήμη της πληροφορικής πρόσφατα επενδύει στους όρους των Service oriented architecture, δίνει έμφαση στο διαχωρισμό συστημάτων και την ένωση τους μέσα από διακριτά layer αλλά και τεχνολογίες. Πολλές φορές είναι και θέμα προτεραιοτήτων αλλά και κόστους.
Βέβαια μια άλλη προσωπική άποψη είναι οτι αν αφήσεις τις προτεραιότητες σου, ιδιαίτερα σε large scale enterprise εφαρμογές να αφανίσουν εντελώς την ανάγκη για μια σταθερή και future proof αρχιτεκτονική, αργά ή γρήγορα θα πληρώσεις αρκετά σε τεχνικό χρέος, το οποίο δεν είναι ούτε ευχάριστο ούτε εύκολο να το ξεπληρώσεις.
H ανάγκη για αλλαγή εκ των έσω
Από τα όσα γνωρίζω ή διαβάζω αυτό τον καιρό, αρκετές τράπεζες μπαίνουν στη διαδικασία, με αφορμή την όλο και αυξανόμενη ανάγκη όχι για μεγαλύτερες αλλά για νέες και πιο ευέλικτες υπηρεσίες στους τελικούς καταναλωτές, να δίνουν έμφαση στην καρδιά της μηχανογράφησης τους, στα κεντρικά τους συστήματα. Θα τολμήσω να πω ( με επιφύλαξη) οτι όσοι οργανισμοί θελήσουν πράγματι να διεκδικήσουν μεγαλύτερο μερίδιο πελατείας (ιδιαίτερα στην απλή τραπεζική) με τεχνολογικό υπόβαθρό 2 ή 3ων δεκαετιών πίσω, θα πληρώσουν το κόστος ανάπτυξης παραπάνω για περιφερειακές υπηρεσίες (πχ ebanking) αρκετά παραπάνω. Το παραπάνω κόστος είναι ουσιαστικά η δυσκολία να κάνεις legacy συστήματα που τρέχουν στην καρδιά της τράπεζας να συνεργαστούν με τις x, y νέες υπηρεσίες που θα θελήσεις να χτίσεις και να προσφέρεις στους πελάτες σου. Αρκετά ενδιαφέρουσα άποψη από το forbes για το ποιοι οργανισμοί παίρνουν τη μεγάλη απόφαση και ποιοι όχι, εδώ. Από τεχνολογικής άποψης η δουλειά είναι challenging και σημαντική.
Δεν έχω πεισθεί για την ώρα γιατί πιο higher level γλώσσες προγραμματισμούς πχ η C ή Java δεν μπορούν να πάρουν τη θέση της COBOL και της RPG και ο μόνος λόγος που κρατάει αυτά τα legacy συστήματα ζωντανά είναι α) το κόστος αλλαγής τους β) η συντηρητική υφή των οργανισμών που τα δουλεύουν. Δυστυχώς, ή ευτυχώς βέβαια η αλλαγή εικάζω θα γίνει και ίσως με βίαιο τρόπο, καθώς ο ανταγωνισμός θα προχωράει όλο και πιο εύκολα μπροστά με συστήματα βασισμένα σε σύγχρονες τεχνολογίες, με μεγάλο αριθμό ανθρώπων να τα συντηρεί και να τα επεκτείνει. Στο παράλληλο σύμπαν των trading συστημάτων ο μεγαλύτερος ανταγωνισμός μας έχει δώσει πίσω πολλά και ενδιαφέροντα πράγματα. Μάλιστα το τεχνολογικό boundary για αυτές τις τράπεζες_ traders δεν είναι ορατό, θα δεις να επενδύουν σε σύστημα γραμμένα από assembly μέχρι Java. Να θυμίσω πχ το LMAX disruptor, για high performance messaging, από τη γνωστή LMAX.
Με βάση όλα τα παραπάνω, για να κάνω switch πάλι στο model απλός χρήστης, κατάλαβα εν μέρη πως πολλά από τα κουλά και στραβά που έχω δει σαν χρήστης σε ebanking εφαρμογές είναι ουσιαστικά τεχνικά ζογκλερικά στην προσπάθεια να ενωθούν συστήματα που απέχουν δεκαετίες μεταξύ τους και πάντα οι δυνατότητες του πιο παλιού συστήματος είναι αυτές που δίνουν και τον ρυθμό και status για το πιο σύγχρονο σύστημα.
Επαναλαμβάνω, δεν ξέρω αν στην Ελλάδα θα δούμε αυτή την τεχνολογική στροφή ή την ανάγκη να γίνει μια γενική αναβάθμιση ηλεκτρονικών υπηρεσιών, είμαι σίγουρος όμως οτι τουλάχιστον στον υπόλοιπο δυτικό κόσμο (αγορές) η ανάγκη αυτή έχει ήδη δημιουργήσει τεράστιες τεχνικές προκλήσεις. Νέα συστήματα και νέες τεχνολογίες θα μπουν στη θέση των παλιών, μια ολόκληρη γενιά τεχνολογιών και αρχιτεκτονικών θα αναγκαστεί σιγά σιγά να παραδώσει τα σκήπτρα. Μια βόλτα από το τοπικό σου app store στο κινητό θα σου αποκαλύψει πως 100-άδες εφαρμογές τραπεζικής και finance ξεπηδάνε σε υβριδικό επίπεδο για την ώρα, και φέρνουν τον λογαριασμό σου στο κινητό. Η ανάγκη για ακόμα μεγαλύτερη ευελιξία και ακόμα πιο μεγάλη γκάμα υπηρεσιών είναι ήδη εδώ και φωνάζει.
Σαν προγραμματιστής μπορώ να δω ήδη τους περιορισμούς και τις προκλήσεις και πολλές από αυτές βγάζουν νόημα, παρόλα αυτά δεν είμαι σε θέση να ελέγχω τις business αποφάσεις του εκάστοτε οργανισμού σε ό,τι έχει να κάνει την τεχνολογική του υποδομή. Πάω στοίχημα σχεδόν κανένας προγραμματιστής δεν έχει. Αυτό που διαβλέπω είναι οτι σίγουρα ακόμα και η online τραπεζική τα επόμενα χρόνια θα αλλάξει δραματικά και οι τεχνικές προκλήσεις αναρίθμητες, αρκεί να υπάρχει το ανάλογο ανταγωνιστικό κλίμα στην αγορά και φυσικά οι γενναίες αποφάσεις για να σπάσουν τεχνολογικά στερεότυπα 3 ή και παραπάνω δεκαετιών.