Feb 15, 2015

Maven και Docker: περισσότερα από την Oracle σε λίγο

H Oracle δεν είναι από τις εταιρείες της κατηγορίας early technology adopters. Προκειμένου να ενσωματώσει τεχνολογίες στα προϊόντα θα περάσει κάποιος καιρός...Ένα τυπικό παράδειγμα είναι η υιοθέτηση του Maven ως build tool για το Oracle Fusion Middleware, γεγονός που εγκαινιάστηκε με την 12c εντός του 2014, ενώ όλος ο υπόλοιπος κόσμος εδώ και χρόνια έχει στραφεί σε αυτήν την λύση. Υπάρχουν λοιπόν τουλάχιστον δυο κατευθύνσεις που φαίνεται πως η Oracle θα επενδύσει περισσότερο στο αμέσως επόμενο διάστημα: το πρώτο έχει να κάνει με το Maven, το δεύτερο με τους docker containers.

Σε αυτό το άρθρο ας ασχοληθούμε με το Maven. Επιτέλους με την 12c παρουσιάστηκαν πολλά νέα σημαντικά χαρακτηριστικά όπως:

  1. επίσημη τεκμηρίωση για Continuous Integration του Oracle Fusion Middleware με την βοήθεια του Maven
  2. διαρκώς καλύτερη υποστήριξη στον JDeveloper για Maven (ιδίως στην έκδοση 12.1.3)
  3. Δημιουργία του Oracle Maven repository που έγινε διαθέσιμο μόλις πριν ένα μήνα περίπου για υποστήριξη ADF και SOA εφαρμογών. H αλήθεια είναι πως ζηλέψαμε πολύ τον Maven browser του NetBeans, έτσι όπως βλέπει αυτό το repository !!
  1. (εκτός Oracle): υποστήριξη του Oracle Maven repository από το Artifactory
  2. διαρκής ανάπτυξη του Maven Weblogic development plugin (για δημιουργία Weblogic domains) καθώς και του Weblogic deployment plugin
Αναμένουμε στην επόμενη έκδοση του Oracle Fusion Middleware να δούμε περισσότερα χαρακτηριστικά αλλά και διορθώσεις όπως:
- ενδεχόμενη αντικατάσταση του Maven sync plugin για τις ADF/SOA βιβλιοθήκες στον JDeveloper, από την στιγμή που υπάρχει το Oracle Maven repository.
- καλύτερη υποστήριξη μέσα στον JDeveloper της επεξεργασίας POM αρχείων. Στην έκδοση 12.1.3, τουλάχιστον η επεξεργασία ενός POM όταν υπάρχει μόνο το local repository καθυστερεί απελπιστικά.
- καλύτερη διασύνδεση με τα project files (.jpr) του JDeveloper: όταν ενημερώνεται ένα POM αυτό συνεπάγεται και την ενημέρωση των JDeveloper project metadata (και αντίστροφα) για την δήλωση των βιβλιοθηκών που ενσωματώνονται. Αυτή η ενημέρωση δεν είναι πάντα σωστή και έχω δει πολλές φορές "σκουπίδια" μέσα στα jpr metadata, αποσυγχρονισμούς αλλά προβλήματα μεταξύ Linux και Windows workstations: για παράδειγμα το Linux μου έγραφε στο .jpr δηλώσεις βιβιοθηκών όπως:

  <url protocol="file" path="${maven:maven.local.repo}com/mylib/1.0.0-SNAPSHOT/mylib-1.0.0-SNAPSHOT.jar"/>  

η ίδια βιβλιοθήκη δεν μπορούσε να διαβαστεί από τα Windows παρά μόνο αν γινόταν προσθήκη του slash '/' στο path

  <url protocol="file" path="/${maven:maven.local.repo}com/mylib/1.0.0-SNAPSHOT/mylib-1.0.0-SNAPSHOT.jar"/>  



No comments: