ΕΝΟΤΗΤΑ 1 – ΕΓΚΑΤΑΣΤΑΣΗ APACHE CAMEL ΣΤΟΝ WILDFLY
Στην
σημερινή εποχή που η πολυπλοκότητα των
συστημάτων έχει αυξηθεί, ψάχνουμε
συνεχώς εύκολους και εναλλακτικούς
τρόπους σύνδεσής μεταξύ τους χωρίς να
θυσιάσουμε την ταχύτητα ή την αξιοπιστία
στην ποιότητα του αποτελέσματος.
Μια τέτοια αξιόπιστη και αξιόλογη integration λύση είναι το Apache Camel framework.
Μια τέτοια αξιόπιστη και αξιόλογη integration λύση είναι το Apache Camel framework.
Το
Camel είναι ένα integration
framework που έχει σαν στόχο την εύκολη
σύνδεση μεταξύ διάφορων συστημάτων. Ο
μηχανισμός που στηρίζει αυτή την
λειτουργία ονομάζεται routing
engine builder που μας επιτρέπει να
δημιουργούμε routing rules
χρησιμοποιώντας απλό κώδικα java.
Με αυτούς τους κανόνες η εφαρμογή
αποκτάει την δυνατότητα να δέχεται
μηνύματα σε οποιοδήποτε μορφή, και αφού
τα τροποποιήσει και τα επεξεργαστεί με
βάση κάποια λογική που έχουμε προσθέσει
εμείς, να τα στείλει σε έναν ή και
περισσότερους τελικούς προορισμούς.
Η φήμη
του Apache Camel στηρίζεται
στο γεγονός ότι χρησιμοποιώντας το ίδιο
API μπορεί να ενωθεί και
να επικοινωνήσει με οποιαδήποτε σύστημα
ανεξάρτητα από το πρωτόκολλο και το
είδος των δεδομένων που χρησιμοποιούνται.
Τουλάχιστον πάνω από 80 εγκαταστημένα
πρωτόκολλα και είδη δεδομένων
υποστηρίζονται από το Camel
χωρίς να είναι αναγκαία επιπλέον
συνδεσμολογία και μετατροπή δεδομένων.
Αν
και προσφέρει τόσα πολλά πρέπει να μην
ξεχνάμε ότι το Apache Camel είναι
framework και όχι ESB.
Ένα ESB επάνω στο οποίο
θα μπορούσαμε να τρέξουμε ένα Apache
Camel Application είναι το ServiceMix
από την Apache
(http://servicemix.apache.org/).
Στο ServiceMix όμως θα
πρέπει να γράψουμε και να πακετάρουμε
τις εφαρμογές μας σε java OSGI.
Η ανάγκη που είχαν οι προγραμματιστές
να μπορούν να ενσωματώσουν Camel
κώδικα σε Java EE εφαρμογές
με την δυνατότητα να χρησιμοποιούνται
όλα τα annotations τελικά έγινε
πραγματικότητα. Το Wildfly-Camel
project που ξεκίνησε εδώ και λίγο καιρό
(βασικά είναι δύο χρόνια τώρα) μας
προσφέρει την ευκολία να ενσωματώσουμε
camel routes με τις Java
EE εφαρμογές μας. Ας δούμε όμως τι
χρειαζόμαστε για να μπορέσουμε να
εκτελέσουμε τέτοιου είδους εφαρμογές.
Πάνω
από όλα πρέπει να δούμε ποια είναι η
τελευταία έκδοση του Wildfly-Camel
και ποιον Wildfly Application
Server υποστηρίζει. Αυτή την πληροφορία
μπορούμε να την πάρουμε από εδώ:
https://github.com/wildfly-extras/wildfly-camel/releases
Οπότε
σαν πρώτο βήμα κατεβάζουμε το
wildfly-camel-patch-6.1.0.tar.gz
που περιέχει όλες τις
βιβλιοθήκες του Camel.
Σαν
δεύτερο βήμα, κατεβάζουμε τον Wildfly
version 12. Αν και αυτή την στιγμή είναι
διαθέσιμος και ο Wildfly 13 για
να σιγουρευτούμε ότι δεν θα αντιμετωπίσουμε
κάποιο πρόβλημα ας συμβατότητας ας
παραμείνουμε στον Wildfly 12
(http://wildfly.org/downloads/)
Αποσυμπιέζουμε
το zip αρχείο του Wildfly
και ανοίγουμε μια cmd
κονσόλα. Πηγαίνουμε στο bin
φάκελο του wildfly και
τρέχουμε την εντολή add-user.bat.
Στο
εμφανιζόμενο μενού πατάμε Enter
για να δεχτούμε την default
τιμή που είναι Management User.
Για
username μπορείτε να γράψετε
ότι θέλετε αρκεί να μην το ξεχάσετε
γιατί θα το χρειαστούμε αργότερα. Συνήθως
γράφω το όνομα μου.
Για
password μπορείτε να βάλετε
κάτι απλό και εύκολο για να το θυμάστε.
Συνήθως σε τεστ περιβάλλον δίνω το
welcome1 και απαντάω yes
στην ερώτηση αν θέλω να το χρησιμοποιήσω.
Αφού
γράψετε άλλη μια φορά το password
για επαλήθευση, απλά πατήστε Enter
σε όλες τις επόμενες επιλογές και
απαντήστε με “yes” μέχρι
να ολοκληρωθεί η διαδικασία.
Τώρα
που έχουμε τον Wildfly έτοιμο,
μπορούμε να αποσυμπιέσουμε το
wildfly-camel-patch-6.1.0.tar.gz αρχείο
ενώ βρισκόμαστε μέσα στο root
folder του Wildfly.
Μετά
το τέλος της αποσυμπίεσης θα παρατηρήσετε
ότι έχει δημιουργηθεί ένα έξτρα αρχείο
με το όνομα fusepatch ενώ
πολλές άλλες έξτρα βιβλιοθήκες που
έχουν σχέση με το Camel έχουν
προστεθεί σε αυτές του Wildfly.
Για
να ξεκινήσουμε τον wildfly με
ενεργοποιημένο το Camel θα
πρέπει να το τρέξουμε από το cmd
από το bin directory με την
εξής εντολή:
standalone.bat
-c standalone-full-camel.xml
Σαν
επιβεβαίωση της σωστής λειτουργίας, θα
πρέπει το τελικό μήνυμα στην κονσόλα
να λέει ότι ο server είναι
started:
Για
να το σταματήσουμε απλά πατάμε Ctrl
+ C.
Για
να γράψουμε Java EE εφαρμογές
που περιέχουν Camel routes, θα
πρέπει να έχουμε εγκαταστήσει την Java
8 στο σύστημα μας και ένα περιβάλλον
ανάπτυξης εφαρμογών java. Στα
δικά μου παραδείγματα θα χρησιμοποιήσω
το Netbeans.
Τώρα
που έχουμε το περιβάλλον μας έτοιμο,
μπορούμε από την επόμενη φορά να αρχίζουμε
να τρέχουμε διάφορες εφαρμογές Apache
Camel στον Wildfly Application Server
και να δημιουργήσουμε πολλά
διαφορετικά είδη connections όπως
JMS, Rest Services, JDBC, κτλ.
Μιχάλης
Κασάπογλου