Τεχνολογικό προφίλ
Η τεχνική μας βάση με μια ματιά
Δεν χρησιμοποιούμε τεχνολογίες με βάση τη μόδα, αλλά με βάση την πραγματικότητα της λειτουργίας, τη διάρκεια ζωής, τις ανάγκες ενσωμάτωσης και τη δυνατότητα υποστήριξης από την ομάδα. Καθοριστικό δεν είναι η λέξη-κλειδί, αλλά το αν το σύστημα θα παραμείνει αργότερα καθαρά λειτουργήσιμο, επεκτάσιμο και παραδοτέο.
Ισχυρό για επιχειρησιακή λογική και clients πολλαπλών πλατφορμών
Το Delphi είναι ισχυρό εκεί όπου ώριμη επιχειρησιακή λογική, διεργασίες κοντά στη βάση δεδομένων, αναφορές και σταθεροί clients για Windows, macOS και Linux πρέπει να συνεχίσουν να εξελίσσονται μακροπρόθεσμα.
Δείτε το Delphi
C#
Ισχυρό για REST, services και portals
Χρησιμοποιούμε C# όταν portals, σύγχρονες backend υπηρεσίες, REST-APIs και ενσωματώσεις πρέπει να συνδεθούν καθαρά με υφιστάμενα εταιρικά συστήματα.
Δείτε το C#
Αρχιτεκτονική
Layer-3 αντί για μονολιθικό βάρος παλαιού συστήματος
Διαχωρίζουμε συνειδητά επιφάνεια, επιχειρησιακή λογική και πρόσβαση στα δεδομένα, ώστε οι αλλαγές να παραμένουν προβλέψιμες και τα νέα services να μη χρειάζεται να χτίζονται ενάντια στο υπάρχον.
Δείτε το Layer-3
Πλατφόρμες
Να λαμβάνεται υπόψη εξαρχής το Windows 11 ARM64
Πέρα από τους κλασικούς x64 στόχους, λαμβάνουμε νωρίς υπόψη σύγχρονες πλατφόρμες όπως το Windows 11 ARM64, ώστε νέο hardware και deployments να μη μετατραπούν αργότερα σε ειδικό έργο.
Δείτε το ARM64
Πότε ποια κατεύθυνση έχει νόημα
Το Delphi έχει νόημα όταν
- η υπάρχουσα επιχειρησιακή λογική πρέπει να συνεχίσει να ζει,
- σύνθετες διαδικασίες desktop πρέπει να παραμείνουν σταθερές,
- clients για Windows-, macOS- και Linux πρέπει να δημιουργηθούν πάνω σε κοινή επιχειρησιακή βάση.
Το C# έχει νόημα όταν
- στήνονται REST-servers και services,
- APIs και εξωτερικές ενσωματώσεις βρίσκονται στο επίκεντρο,
- ζητούνται σύγχρονες αρχιτεκτονικές υπηρεσιών.
Η υβριδική προσέγγιση έχει νόημα όταν
- υφιστάμενες εφαρμογές και νέα portals πρέπει να συνεργαστούν,
- desktop, services και web χρησιμοποιούν την ίδια βάση δεδομένων,
- ο εκσυγχρονισμός πρέπει να γίνει σταδιακά και ως δομή Layer-3.
Εκσυγχρονισμός Delphi στην πράξη
Όταν μια παλιά εφαρμογή Delphi εξακολουθεί να έχει επιχειρησιακή αξία, δεν εκσυγχρονίζουμε στα τυφλά. Πρώτα αναλύουμε πώς λειτουργεί πραγματικά το σύστημα, ποιες διαδικασίες υποστηρίζει, πού σπάνε οι ροές δεδομένων και ποια βάρη παλαιού συστήματος επιβραδύνουν τη λειτουργία. Από αυτό προκύπτει μια διαδρομή εκσυγχρονισμού που δεν φαίνεται μόνο καθαρή στα χαρτιά, αλλά παραμένει βιώσιμη στην καθημερινή λειτουργία.
Σε πολλές εξελιγμένες εφαρμογές, η πραγματική αξία δεν βρίσκεται στο περιβάλλον χρήστη, αλλά σε χρόνια επιχειρησιακής λογικής, ειδικών κανόνων, εξαιρέσεων και εμπειρικής γνώσης. Αυτή τη βάση δεν την πετά κανείς επιπόλαια. Διαχωρίζουμε καθαρά τις ευθύνες, αναδιοργανώνουμε τη βάση δεδομένων, αντικαθιστούμε παλιές διαδρομές πρόσβασης, δημιουργούμε νέες διασυνδέσεις REST και, όπου χρειάζεται, συμπληρώνουμε clients για Windows, macOS και Linux πάνω στην ίδια επιχειρησιακή βάση. Έτσι δεν προκύπτει μια απότομη τομή, αλλά μια τεκμηριωμένη εξέλιξη με σαφές τεχνικό περίγραμμα.
Συχνά αυτό σημαίνει επίσης να επαναφέρουμε ιστορικά εξελιγμένους μονολίθους σε μια μορφή που γίνεται συντηρήσιμη, ελέγξιμη και επεκτάσιμη. Η πρόσβαση στα δεδομένα σταθεροποιείται, η επιχειρησιακή λογική αποσπάται από τον κώδικα της διεπαφής, οι διασυνδέσεις γίνονται προβλέψιμες και οι μελλοντικές επεκτάσεις δεν χρειάζεται πλέον να επιβάλλονται με αγώνα πάνω στο υπάρχον. Ο στόχος δεν είναι ο κοσμητικός εκσυγχρονισμός, αλλά ένα σύστημα που δίνει ξανά στην επιχείρηση χώρο για νέες απαιτήσεις.
Services και server ως μέρος της ίδιας αρχιτεκτονικής
Πολλά εταιρικά συστήματα σήμερα δεν χρειάζονται μόνο έναν client, αλλά και υπηρεσίες παρασκηνίου, Windows- ή Linux-services και REST-server. Ακριβώς γι’ αυτό δεν σχεδιάζουμε αυτά τα μέρη ως μεταγενέστερη προσθήκη, αλλά ως μέρος της ίδιας αρχιτεκτονικής. Ένα service που απλώς προστίθεται κάπως αργότερα, σχεδόν πάντα καταλήγει σε ειδική περίπτωση.
Όταν τα δεδομένα πρέπει να υποβάλλονται σε κατανεμημένη επεξεργασία, να παρέχονται διασυνδέσεις, να εκτελούνται εξαγωγές, να παρακολουθούνται εισαγωγές ή να εκτελούνται εργασίες χρονικά προγραμματισμένες στο παρασκήνιο, η τεχνική ευθύνη πρέπει να είναι ξεκάθαρη από την αρχή. Ποια μέρη τρέχουν στον client, ποια στην υπηρεσία, ποια στον server, πώς γίνονται ορατά τα σφάλματα, πώς παραμένουν ανιχνεύσιμες οι αλλαγές κατάστασης, πώς διατηρείται συνεπής η επιχειρησιακή λογική; Σε αυτά τα ερωτήματα απαντάμε νωρίς, ώστε από μεμονωμένα δομικά στοιχεία να προκύψει ένα αξιόπιστο συνολικό σύστημα.
Αυτό είναι καθοριστικό ειδικά σε έργα πολλαπλών πλατφορμών. Ένας desktop client σε Windows, macOS ή Linux δεν πρέπει, σε επίπεδο επιχειρησιακής έννοιας, να «εννοεί» κάτι διαφορετικό από έναν συνοδευτικό REST-server ή μια υπηρεσία παρασκηνίου. Γι’ αυτό αντιμετωπίζουμε πάντα μαζί το μοντέλο δεδομένων, τις διαδικασίες, τα δικαιώματα, τις ενσωματώσεις και τη λειτουργία. Έτσι προκύπτει μια αρχιτεκτονική στην οποία clients, services και server μιλούν την ίδια γλώσσα.
Η αρχή μας
Η τεχνολογία δεν είναι για εμάς ένα σύστημα πίστης. Καθοριστικό είναι η αρχιτεκτονική, η συνεργασία της ομάδας, η λειτουργία και οι μελλοντικές επεκτάσεις να ταιριάζουν στην επιχείρηση. Δεν κερδίζει η πιο θορυβώδης πλατφόρμα, αλλά εκείνη με την οποία μπορούν να ελεγχθούν με νόημα το ρίσκο, η συντηρησιμότητα και η ανάπτυξη.
Ορισμένες εργασίες τις υλοποιούμε συνειδητά με Delphi, επειδή εκεί η ώριμη επιχειρησιακή λογική, οι αποδοτικοί clients και η δυνατότητα πολλαπλών πλατφορμών αναδεικνύουν τα δυνατά τους σημεία. Άλλες απαιτήσεις ταιριάζουν καλύτερα σε C#, σε services, σε ένα portal ή σε έναν συνδυασμό και των δύο. Η καλή αρχιτεκτονική δεν προκύπτει από τη μόδα, αλλά από τη σαφήνεια: ποια ευθύνη έχει ποιο τμήμα του συστήματος, ποια διάρκεια ζωής αναμένεται, πόσο μεγάλη είναι η ομάδα, πόσο κρίσιμη είναι η λειτουργία και ποιες επεκτάσεις θα προκύψουν ρεαλιστικά τα επόμενα χρόνια;
Ακριβώς εκεί ξεκινά για εμάς η επαγγελματική ανάπτυξη λογισμικού. Δεν θέλουμε να παραδώσουμε απλώς κάτι που λειτουργεί σήμερα, αλλά να δημιουργήσουμε μια τεχνική βάση που και αργότερα θα είναι κατανοητή, αναλήψιμη και οικονομικά συντηρήσιμη.
Συχνές ερωτήσεις για τεχνολογία και αρχιτεκτονική
Οι τεχνολογικές αποφάσεις πρέπει να ταιριάζουν με την ομάδα, το αντικείμενο και τη λειτουργία. Ακριβώς γι’ αυτό δεν ξεκαθαρίζουμε αυτά τα ζητήματα αφηρημένα, αλλά πάντα πάνω στο συγκεκριμένο σύστημα.
Πότε είναι το Delphi προτιμότερο από μια πλήρη νέα πλατφόρμα;
Όποτε η εξελιγμένη επιχειρησιακή λογική, οι αποδοτικές διαδικασίες desktop και οι στόχοι πολλαπλών πλατφορμών πρέπει να συνεχίσουν να υποστηρίζονται οικονομικά, αντί να αντικαθίσταται απερίσκεπτα η ουσία.
Πότε χρησιμοποιείτε επιπλέον το C#;
Κυρίως για portals, web backends, υπηρεσίες REST, ενσωματώσεις και τμήματα αρχιτεκτονικής προσανατολισμένα σε υπηρεσίες, που μπορούν να διασυνδεθούν καλά με υπάρχοντα συστήματα desktop.
Πόσο σημαντικό είναι το Layer-3 στην πράξη;
Πολύ. Μόνο ο καθαρός διαχωρισμός UI, επιχειρησιακής λογικής και πρόσβασης στα δεδομένα καθιστά τη modernisierung, τα tests, τις υπηρεσίες και μελλοντικές αλλαγές πλατφόρμας ελέγξιμες.
Συνυπολογίζετε έγκαιρα νέες πλατφόρμες όπως το Windows 11 ARM64;
Ναι. Νέο target hardware και διαδρομές deployment ελέγχονται έγκαιρα, ώστε να μη μετατραπούν αργότερα σε δαπανηρά ειδικά έργα.
Διαβάστε συγκεντρωμένα περισσότερες ερωτήσεις
Αυτές οι σύντομες απαντήσεις παραμένουν εδώ στη σελίδα. Στην κεντρική FAQ landing page εντάσσουμε επιπλέον το θέμα στο συνολικό πλαίσιο αρχιτεκτονικής, modernisierung, πλατφορμών και λειτουργίας.