Έλεγχος πολιτικής ενημερώσεων του Eclipse

Η λειτουργία ενημέρωσης εκδόσεων του Eclipse επιτρέπει στους χρήστες να αναζητούν ενημερωμένες εκδόσεις των ήδη εγκατεστημένων λειτουργιών. Για κάθε εγκατεστημένη λειτουργία, η λειτουργία ενημέρωσης εκδόσεων χρησιμοποιεί το ενσωματωμένο URL για να συνδεθεί με τον απομακρυσμένο εξυπηρετητή και να αναζητήσει νέες εκδοχές. Εάν υπάρχουν ενημερωμένες εκδόσεις, το Eclipse επιτρέπει στους χρήστες να ξεκινήσουν τη διαδικασία εγκατάστασης. Μετά τη μεταφόρτωση, την εγκατάσταση και την επανεκκίνηση της πλατφόρμας, η νέα εκδοχή λειτουργίας είναι έτοιμη για χρήση.

Σε εταιρείες με πολλούς χρήστες του ίδιου προϊόντος με βάση το Eclipse (συνήθως εμπορικού), μπορεί να προκύψουν μερικά προβλήματα από αυτό το μοντέλο:

  1. Οι ενημερωμένες εκδόσεις για πολύ μεγάλα προϊόντα (π.χ. πάνω από 500 πρόσθετες λειτουργίες) είναι επίσης μεγάλες. Οι ομάδες υποστήριξης Ι/Τ μπορεί να μην δεχτούν την ιδέα εκατοντάδων προγραμματιστών να μεταφορτώνουν ο καθένας ξεχωριστά ενημερωμένες εκδόσεις της τάξης των 500MEG στους προσωπικούς τους υπολογιστές. Επιπρόσθετα του πλήγματος στο εύρος ζώνης, μια τόσο μεγάλη αίτηση μεταφόρτωσης μπορεί να αποτύχει, να οδηγήσει σε επανειλημμένες προσπάθειες και να αυξήσει το χρόνο εκτός λειτουργίας για τους προγραμματιστές.
  2. Μερικές εταιρείες επιθυμούν ρητά οι προγραμματιστές να μην μεταφορτώνουν τις ενημερωμένες εκδόσεις απευθείας από το internet. Για παράδειγμα, μπορούν να δημιουργήσουν μια τοπική ομάδα υποστήριξης που μπορεί να μην είναι έτοιμη να χειριστεί αιτήσεις σε σχέση με την εκδοχή του προϊόντος που διατίθεται ήδη από το δικτυακό τόπο ενημέρωσης του παροχέα. Μπορεί να επιθυμούν να περιορίσουν τις ενημερωμένες εκδόσεις και επιδιορθώσεις σε μια εσωτερικά εγκεκριμένη λίστα. Ιδανικά, αυτό θα γινόταν με τη δημιουργία δικτυακών τόπων ενημέρωσης ενδιάμεσου εξυπηρετητή στο LAN (πίσω από το τείχος προστασίας).
  3. Μόλις οι ενημερωμένες εκδόσεις τοποθετηθούν στους δικτυακούς τόπους με ενδιάμεσο εξυπηρετητή όπως παραπάνω, οι διαχειριστές χρειάζονται ένα τρόπο να ενημερώνουν τους χρήστες ότι οι ενημερωμένες εκδόσεις είναι διαθέσιμες.

2. Πολιτική ενημερωμένων εκδόσεων προς βοήθεια

2.1 Υποστήριξη για τη δημιουργία τοπικών δικτυακών τόπων ενημέρωσης (ενδιάμεσου εξυπηρετητή)

Το πρώτο βήμα για το διαχειριστή προϊόντος θα είναι να δημιουργήσει ένα τοπικό δικτυακό τόπο ενημέρωσης του Eclipse σε ένα εξυπηρετητή συνδεδεμένο με το LAN της εταιρείας (πίσω από το τείχος προστασίας). Ο δικτυακός τόπος ενημέρωσης θα αποτελεί ένα υποσύνολο του δικτυακού τόπου ενημέρωσης προϊόντος στο internet επειδή θα περιέχει μόνο τις λειτουργίες και τις πρόσθετες λειτουργίες που έχουν σχέση με τις ενημερωμένες εκδόσεις που η εταιρεία επιθυμεί να εφαρμόσει προς το παρόν. Από τεχνικής πλευράς, αυτός ο δικτυακός τόπος θα είναι ένας κανονικός δικτυακός τόπος ενημέρωσης του Eclipse με site.xml, αρχεία αποθήκευσης λειτουργιών και πρόσθετων λειτουργιών.

Οι διαχειριστές θα μπορούσαν να κατασκευάσουν αυτόν το δικτυακό τόπο με δυο τρόπους:

  1. Οι ομάδες υποστήριξης προϊόντος θα μπορούσαν να κάνουν ένα αρχείο zip του δικτυακού τόπου ενημέρωσης άμεσα διαθέσιμο για αυτό το συγκεκριμένο σκοπό. Οι διαχειριστές απλά θα χρειάζονταν να μεταφορτώσουν το αρχείο zip από το διαδικτυακή σελίδα υποστήριξης προϊόντος χρησιμοποιώντας ένα εργαλείο της επιλογής τους και να το αποσυμπιέσουν στον τοπικό εξυπηρετητή. Αυτή η προσέγγιση είναι χρήσιμη για πολύ μεγάλα αρχεία zip που απαιτούν σύγχρονες λειτουργίες διαχείρισης μεταφορτώσεων με δυνατότητα επανεκκίνησης (δηλαδή εκείνες που έχουν τη δυνατότητα να συνεχίσουν από εκεί που σταμάτησαν σε περίπτωση που υπήρχαν προβλήματα σύνδεσης).
  2. Η "Ενημέρωση" του Eclipse παρέχει ένα εργαλείο για τη δημιουργία ακριβών ειδώλων των απομακρυσμένων δικτυακών τόπων ενημέρωσης ή που επιτρέπει στους διαχειριστές να επιλέγουν τις ενημερωμένες εκδόσεις και επιδιορθώσεις για μεταφόρτωση. Αυτή η δυνατότητα δημιουργίας ειδώλων θα μπορούσε να αυτοματοποιηθεί πλήρως και θα μπορούσε να απλοποιήσει τις εργασίες των διαχειριστών σε μεγάλο βαθμό, αλλά εξαρτάται από την υποστήριξη σύνδεσης δικτύου ενημέρωσης.

2.2 Κοινή πολιτική ελέγχου ενημερωμένων εκδόσεων

Αφού οι λειτουργίες διαθέτουν ενσωματωμένο το URL του δικτυακού τόπου ενημέρωσης στη δήλωση, αγνοούν τους τοπικούς δικτυακούς τόπους ενημέρωσης που δημιουργούνται από τους διαχειριστές. Επομένως, είναι σημαντικό να παρέχεται η δυνατότητα ανακατεύθυνσης. Αυτές καθώς και άλλες ρυθμίσεις της πολιτικής ενημερωμένων εκδόσεων μπορούν να τεθούν σε ένα προϊόν Eclipse με τη δημιουργία ενός αρχείου πολιτικής ενημερωμένων εκδόσεων και με τη ρύθμιση της ενημέρωσης ούτως ώστε να χρησιμοποιεί αυτό το αρχείο κατά την αναζήτηση.

Το εν λόγω αρχείο χρησιμοποιεί τη μορφή XML και μπορεί να έχει οποιοδήποτε όνομα. Το αρχείο μπορεί να οριστεί από τις Προτιμήσεις > Εγκατάσταση/ενημέρωση στο πεδίο Πολιτική ενημέρωσης. Το πεδίο κειμένου είναι κενό ως προεπιλογή: οι χρήστες μπορούν να δημιουργήσουν το URL του αρχείου πολιτικής ενημερωμένων εκδόσεων. Το αρχείο το διαχειρίζεται ο τοπικός διαχειριστής και είναι κοινόχρηστο για όλες τις εγκαταστάσεις του προϊόντος. Η κοινή χρήση μπορεί να επιτευχθεί με δυο τρόπους:

Το αρχείο πολιτικής θα πρέπει να είναι συμβατό με την ακόλουθη DTD:

<?xml encoding="ISO-8859-7"?>

<!ELEMENT update-policy (url-map)*>
<!ATTLIST update-policy
>

<!ELEMENT url-map EMPTY>
<!ATTLIST url-map
    pattern    CDATA #REQUIRED
    url        CDATA #REQUIRED
>

url-map

Αυτό το στοιχείο χρησιμοποιείται για την αντικατάσταση των ενσωματωμένων URL ενημέρωσης στις δηλώσεις λειτουργιών. Όταν αναζητάει νέες ενημερωμένες εκδόσεις, η αναζήτηση του Eclipse θα ελέγξει την πολιτική ενημέρωσης (εάν υπάρχει) και θα ελέγξει εάν ορίζεται το url-map για πρόθημα λειτουργίας που συμφωνεί. Εάν βρεθεί αντιστοιχία, θα χρησιμοποιηθεί το αντιστοιχισμένο URL αντί του ενσωματωμένου. Με αυτό τον τρόπο οι διαχειριστές μπορούν να ρυθμίσουν τα προϊόντα Eclipse να αναζητούν ενημερωμένες εκδόσεις στον τοπικό εξυπηρετητή πίσω από το τείχος προστασίας. Εντωμεταξύ, τριτομερείς λειτουργίες που εγκαθίστανται από την "Ενημέρωση" του Eclipse θα συνεχίσουν να ενημερώνονται χρησιμοποιώντας τον προεπιλεγμένο μηχανισμό επειδή δεν θα βρουν αντιστοιχίες στην πολιτική.

Αρκετά στοιχεία url-map μπορεί να υπάρχουν σε ένα αρχείο. Τα προθήματα λειτουργιών μπορούν να επιλεγούν να είναι λιγότερο ή περισσότερο συγκεκριμένα. Για παράδειγμα, για να ανακατευθυνθούν όλες οι ενημερωμένες εκδόσεις του Eclipse, το γνώρισμα του μοτίβου θα πρέπει να είναι "org.eclipse". Ομοίως, είναι πιθανόν να χρησιμοποιηθεί μια πλήρης ταυτότητα λειτουργίας ως μοτίβο, εάν απαιτείται ανακατεύθυνση για κάθε λειτουργία ξεχωριστά.

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

<?xml version="1.0" encoding="UTF-8"?>
<update-policy>
	<url-map pattern="org.eclipse" url="URL1"/>
	<url-map pattern="org.eclipse.jdt" url="URL2"/>
</update-policy>

Στην παραπάνω περίπτωση, όλες οι λειτουργίες Eclipse θα ενημερωθούν από το URL1, εκτός της org.eclipse.jdt η οποία θα χρησιμοποιήσει το URL2.

Τα αρχεία πολιτικής ενημερωμένων εκδόσεων δεν περιέχουν μεταφράσιμη σειρά χαρακτήρων, οπότε δεν απαιτείται ειδικός NL χειρισμός. Γενικά τα αρχεία πρέπει να χρησιμοποιούν κωδικοποίηση UTF-8.

2.3 Αυτόματη ανακάλυψη ενημερωμένων εκδόσεων

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

3. Περίληψη

Εδώ υπάρχει μια ολοκληρωμένη σειρά των βημάτων που αποτελούν τη λύση:

  1. Οι διαχειριστές προσδιορίζουν έναν εξυπηρετητή στο LAN της εταιρείας για τη φιλοξενία των ενημερωμένων εκδόσεων των τοπικών προϊόντων. Αρχικά δεν περιέχει δικτυακούς τόπους ενημέρωσης. Ο υπολογιστής θα πρέπει να έχει έναν εξυπηρετητή HTTP που να λειτουργεί.
  2. Ο διαχειριστής δημιουργεί ένα αρχείο πολιτικής ενημερωμένων εκδόσεων σε αυτόν τον εξυπηρετητή και δίνει οδηγίες σε όλους τους χρήστες να ορίσουν για την προτίμηση πολιτικής ενημερωμένων εκδόσεων το παρεχόμενο URL.
  3. Καθώς ο παροχέας του προϊόντος αποστέλλει ενημερωμένες εκδόσεις και επιδιορθώσεις στους δικούς τους δικτυακούς τόπους, οι διαχειριστές μεταφορτώνουν τις υποστηριζόμενες ενημερωμένες εκδόσεις στον τοπικό εξυπηρετητή.
  4. Η αυτόματη ενημέρωση που εκτελείται με την προγραμματισμένη συχνότητα, όταν το προϊόν του πελάτη λειτουργεί, διαλέγει τις τοπικές ενημερωμένες εκδόσεις και ειδοποιεί το χρήστη.
  5. Ο χρήστης επιλέγει να εγκαταστήσει τις ενημερωμένες εκδόσεις που ανακαλύπτονται

Σχετικές εργασίες
Προγραμματισμός αυτόματων ενημερώσεων