Προγραμματισμός

Sonic ESB: Προγραμματιζόμενη ενσωμάτωση

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

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

Το Sonic ESB είναι ένα από τα νέα προϊόντα που τιμολογούνται ως εταιρικά λεωφορεία (ESB), ελαφρύι μεσίτες ενοποίησης με βάση πρότυπα όπως XML και SOAP σχεδιασμένα να λειτουργούν σε κατανεμημένο περιβάλλον.

Για επιχειρήσεις που επιθυμούν να ακολουθήσουν μια σταδιακή προσέγγιση για την ενσωμάτωση εφαρμογών επιχειρήσεων, τα ESBs θα είναι εξαιρετικά χρήσιμα. Χρησιμοποιώντας το μοντέλο του λεωφορείου, μερικές εφαρμογές με τη μεγαλύτερη απόδοση μπορούν να ενσωματωθούν πρώτα. Άλλες εφαρμογές μπορούν να διπλωθούν αργότερα, καθώς γίνονται διαθέσιμα χρήματα και πόροι. Επειδή τα εμπόδια εισόδου είναι χαμηλά, αυτά τα έργα ένταξης μπορούν να ξεκινήσουν μικρά, να ελεγχθούν στενά και να αναπτυχθούν για να καλύψουν τις μελλοντικές ανάγκες.

Το Sonic ESB 5.0 προσπαθεί να προσφέρει αυτά τα οφέλη, συνδυάζοντας τα μηνύματα, τη δρομολόγηση, τις υπηρεσίες Ιστού και τον μετασχηματισμό μηνυμάτων για να ενσωματώσει και να ενορχηστρώσει τις ενέργειες πολλών τελικών σημείων εφαρμογής Διαδικτύου.

Η αρχιτεκτονική ESB του Eyeing Sonic

Ένας τυπικός μεσίτης ενοποίησης έχει αρχιτεκτονική κόμβου και ομιλίας. Το Sonic ESB, από την άλλη πλευρά, είναι χτισμένο πάνω από το προϊόν μεσαίου λογισμικού Sonic Software, SonicMQ, έναν πάροχο JMS (Java Message Service) για διακομιστές εφαρμογών J2EE. Το SonicMQ παρέχει στο Sonic ESB διαμόρφωση και διαχείριση χρόνου εκτέλεσης, μεσίτες μηνυμάτων και διαχειριζόμενα κοντέινερ. Οι αλληλεπιδράσεις μεταξύ SonicMQ και ESB είναι τόσο λεπτές και ολοκληρωμένες που είναι περίεργο το Sonic Software να τις αναφέρει ως σουίτα.

Επειδή το Sonic ESB είναι χτισμένο σε μια υποδομή ανταλλαγής μηνυμάτων, η αρχιτεκτονική του διαύλου μπορεί να διανεμηθεί σε εταιρικό LAN ή στο παγκόσμιο Διαδίκτυο. Οι κόμβοι ανταλλαγής μηνυμάτων μπορούν να εγκατασταθούν σε συστάδες σε πολλά μηχανήματα για αξιοπιστία και αυτά τα συμπλέγματα μπορούν να συνδυαστούν με συστάδες σε άλλες τοποθεσίες για να παρέχουν απομακρυσμένα σημεία ολοκλήρωσης.

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

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

Τα μηνύματα δρομολογούνται χρησιμοποιώντας ένα συνημμένο δρομολόγιο που δημιουργήθηκε μέσω της κονσόλας διαχείρισης. Η δρομολόγηση βάσει περιεχομένου πραγματοποιείται εντός των υπηρεσιών τελικού σημείου χρησιμοποιώντας το XPath για την προβολή συνημμένων εγγράφων XML και τη διαδρομή υπό όρους βάσει των περιεχομένων του εγγράφου. Η υπηρεσία μετασχηματισμού χρησιμοποιεί XSLT (eXtensible Style Language Transformation). Το προϊόν Stylus της Sonic Software δημιουργεί γραφικά έγγραφα XSLT που μετατρέπονται από ένα σχήμα XML σε άλλο, αλλά οποιοδήποτε άλλο εργαλείο XSLT θα λειτουργήσει επίσης.

Αναζητώντας τον Αρχιτέκτονα Ενσωμάτωσης

Όταν ήμουν στη δεύτερη τάξη, ένα παιδί στην τάξη μου έφερε ένα ηλεκτρονικό παιχνίδι που σας επιτρέπει να δημιουργήσετε ένα ραδιόφωνο και άλλες απλές ηλεκτρονικές συσκευές, ακολουθώντας τα παρεχόμενα σχήματα και κάνοντας κλικ μαζί στα μπλοκ. Καθώς έλεγξα το Sonic ESB, δεν μπορούσα παρά να σκεφτώ προγράμματα snap-together καθώς χειρίζομαι τη διαμόρφωσή του μέσω της κονσόλας διαχείρισης που βασίζεται στο GUI.

Παρόλο που πολλά από αυτά που κάνετε όταν ρυθμίζετε το Sonic ESB είναι απλώς χειρισμός αρχείων διαμόρφωσης, το τελικό αποτέλεσμα είναι μια διαδικασία που χειρίζεται δεδομένα. Αυτό είναι κάτι παραπάνω από απλή διαμόρφωση βάσει πολιτικής - πρόκειται για προγραμματισμό.

Ο προγραμματισμός του Sonic ESB δεν γίνεται με ενοποιημένη σημειογραφία, αλλά περιλαμβάνει τη σύνταξη αποσπασμάτων Java και JavaScript μαζί με XSLT, σχήματα XML και αρχεία WSDL. Αρκετά διαφορετικά γραφικά εργαλεία τακτοποιούν όλα αυτά σε μια συνολική διαμόρφωση που παράγει τη σωστή δρομολόγηση και υπηρεσία για το επιθυμητό αποτέλεσμα.

Το Sonic Software παρέχει ένα ολοκληρωμένο παράδειγμα αλυσίδας εφοδιασμού στον Οδηγό έναρξης. Η επεξεργασία αυτού του παραδείγματος θα σας βοηθήσει να επιταχύνετε τους κύριους τρόπους αλληλεπίδρασης ESB και να σας εξοικειωθούν με τις έννοιες και τα εργαλεία διαχείρισης που απαιτούνται για τη διαμόρφωση και τη χρήση του λεωφορείου.

Καθώς πέρασα τη διαδικασία διαμόρφωσης, με εντυπωσίασε πόσο δύσκολο ήταν να παρακολουθώ όλα τα διαφορετικά μέρη, τι έκαναν και πώς ταιριάζουν μαζί. Οι κονσόλες διαχείρισης του Sonic ESB είναι τόσο καλές όσο έχω δει. Αλλά δεν είναι προγραμματιστικά περιβάλλοντα - προσφέρουν μόνο στοιχειώδη υποστήριξη για άντληση. Για παράδειγμα, η ροή διαδικασίας επιτρέπει την ονομασία και την ενσωμάτωση, αλλά πράγματα τόσο σημαντικά όσο η ροή υπό όρους κρύβονται σε αρχεία JavaScript και XSLT.

Οι πολλαπλές μορφές - Java, JavaScript, XSL, σχήμα XML και ούτω καθεξής - που περιγράφουν τη διαδικασία και τα δεδομένα αποτελούν επιπλέον επιβάρυνση. Έτσι, παρόλο που η χρήση του Sonic ESB είναι μια πράξη προγραμματισμού, είναι ένα προϊόν που βασίζεται σε ένα σύμπλεγμα τεχνολογιών και όχι σε έναν μοναδικά καλά σχεδιασμένο συμβολισμό.

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

Επειδή μια ομοιόμορφη σημείωση δεν είναι διαθέσιμη, υπάρχουν λίγα οπτικά στοιχεία για την κατανόηση της ροής μηνυμάτων, των συνθηκών σφάλματος και των μετασχηματισμών δεδομένων. Πράγματι, χωρίς τις εικόνες και την περιγραφή που περιέχονται στον Οδηγό έναρξης, η κατανόηση της ροής των μηνυμάτων στο παρεχόμενο παράδειγμα της αλυσίδας εφοδιασμού θα ήταν δύσκολη. Συνειδητοποίησα ότι ο οδηγός «Ξεκινώντας» ήταν στην πραγματικότητα η αρχιτεκτονική του συστήματος. Οι εικόνες και οι περιγραφές στον οδηγό είναι πιθανώς οι ίδιες με αυτές που χρησιμοποίησαν οι προγραμματιστές του παραδείγματος κατά τη δημιουργία του.

Η επιτυχής χρήση προϊόντων όπως το Sonic ESB θα απαιτήσει τον ίδιο προσεκτικό σχεδιασμό από προγραμματιστές που ενεργούν ως «αρχιτέκτονες ενοποίησης». Τα εργαλεία, οι τεχνικές και οι μεθοδολογίες μοντελοποίησης που διατίθενται στους αρχιτέκτονες ενοποίησης εξακολουθούν να είναι στοιχειώδεις, αλλά το Sonic ESB παρέχει ένα ολοκληρωμένο σύνολο εργαλείων απαραίτητων για την εφαρμογή της ενσωμάτωσης μόλις έχει προγραμματιστεί.

Ευελιξία σε τιμή

Το Sonic ESB, σε συνδυασμό με το SonicMQ, παρέχει μια μέθοδο βασισμένη σε πρότυπα για την ενσωμάτωση τόσο παλαιού τύπου όσο και νέων εφαρμογών από όλη την επιχείρηση με τρόπο που είναι τόσο αξιόπιστος όσο και οικονομικός. Η ενσωμάτωση ενός συνόλου συστημάτων με το Sonic ESB θα πρέπει να κοστίζει λιγότερο από τη χρήση ιδιόκτητων χρηματιστηρίων ενοποίησης.

Όταν αναθεωρήσαμε το SonicXQ, προκάτοχο του Sonic ESB, καταλήξαμε στο συμπέρασμα ότι "το SonicXQ παρέχει στους προγραμματιστές ένα σταθερό σύνολο ασφαλών, αξιόπιστων υπηρεσιών BPM (διαχείριση επιχειρηματικών διαδικασιών)" (βλ. "Διατήρηση του BPM σε καλό δρόμο", 30 Σεπτεμβρίου, σελίδα 26).

Αυτό δεν έχει αλλάξει. Ωστόσο, ενώ τα εργαλεία διαχείρισης είναι πλέον πολύ βελτιωμένα, το Sonic ESB 5.0 απαιτεί συχνά σύνθετη διαμόρφωση. Για να εκτελεστεί απαιτείται σημαντική ικανότητα σε τεχνολογίες όπως J2EE, μεσαίο λογισμικό προσανατολισμένο σε μηνύματα, XML, XSLT, XPath, JavaScript και Java.

Αυτή είναι η τιμή της ευελιξίας. Ορισμένα εργαλεία στοχεύουν στην ευκολία χρήσης και μάλιστα υπερηφανεύονται ότι οι επιχειρηματίες μπορούν να τα χρησιμοποιήσουν για να διαχειριστούν επιχειρηματικές διαδικασίες Αλλά κανένα από αυτά δεν προσφέρει την απαραίτητη ευελιξία για πλήρη ολοκλήρωση του συστήματος. Το SonicESB προσφέρει αυτή την ευελιξία, αλλά μόνο αν έχετε προγραμματιστές και αρχιτέκτονες ενοποίησης για να το εκμεταλλευτείτε.

Πίνακας βαθμολογίας Ευχείριστο (15.0%) Ευκολία στη χρήση (10.0%) Υποστήριξη (10.0%) Επεκτασιμότητα (25.0%) Διαλειτουργικότητα (25.0%) Αξιοπιστία (15.0%) Συνολική βαθμολογία (100%)
Sonic ESB 5.05.06.07.09.09.09.0 7.9