JAX-RPC

Το ακρωνύμιο JAX-RPC αντιπροσωπεύει το Java API για RPC με βάση XML, το οποίο είναι επίσης γνωστό και ως JSR 101. Αποτελεί μια προδιαγραφή η οποία περιγράφει τις διεπαφές προγραμματισμού εφαρμογών Java (API) και τις συμβάσεις για τη δόμηση διαδικτυακών υπηρεσιών και πελατών διαδικτυακών υπηρεσιών που χρησιμοποιούν κλήσεις απομακρυσμένης διαδικασίας (RPC) και XML. Τυποποιεί το Java στο WSDL και το WSDL σε αντιστοιχίσεις Java και παρέχει τα κύρια API για ανάπτυξη διαδικτυακών υπηρεσιών και πελατών διαδικτυακών υπηρεσιών στην πλατφόρμα Java. Καθώς χρησιμοποιείται συχνά σε κατανεμημένο μοντέλο πελάτη/εξυπηρετητή, ένας μηχανισμός RPC επιτρέπει στους πελάτες την εκτέλεση διαδικασιών σε άλλα συστήματα.

Η τρέχουσα έκδοση του JAX-RPC απαιτεί την υποστήριξη του SOAP σε HTTP για λόγους διαλειτουργικότητας. Η προδιαγραφή SOAP καθορίζει τη δομή μηνύματος, τους κανόνες κωδικοποίησης και τις συμβάσεις για την ανταλλαγή πληροφοριών σε μοντέλο προγραμματισμού RPC. Αυτές οι κλήσεις και αποκρίσεις μεταβιβάζονται ως μηνύματα SOAP μέσω HTTP. Στην παρούσα έκδοση, το JAX-RPC υποστηρίζει το SOAP 1.1 και το HTTP 1.1. Για περισσότερες πληροφορίες σχετικά με το SOAP, ανατρέξτε στην ενότητα SOAP.

Παρόλο που οι υποκείμενοι μηχανισμοί περιβάλλοντος εκτέλεσης (για παράδειγμα, σειριοποίηση Java σε WSDL, αναίρεση σειριοποίησης WSDL σε Java, πρωτόκολλο και μεταφορά) είναι πολύ περίπλοκοι, το API αποκρύπτει αυτή την πολυπλοκότητα από τους προγραμματιστές εφαρμογών. Από την πλευρά του εξυπηρετητή, ο προγραμματιστής μπορεί να παράσχει μια διεπαφή τελικού σημείου υπηρεσίας (SEI). Εναλλακτικά μπορεί να δημιουργηθεί ένα SEI με τη χρήση των οδηγών διαδικτυακών υπηρεσιών. Ένα SEI αποτελεί μια διεπαφή που έχει συνταχθεί σε γλώσσα προγραμματισμού Java και η οποία καθορίζει τις απομακρυσμένες διεργασίες μιας διαδικτυακής υπηρεσίας. Ο προγραμματιστής μπορεί επίσης να παράσχει την υλοποίηση μιας διαδικτυακής υπηρεσίας, με τη μορφή μιας ή περισσοτέρων κλάσεων Java που υλοποιούν μεθόδους οι οποίες διαθέτουν την ίδια υπογραφή με αυτή του SEI. Η κωδικοποίηση προγραμμάτων πελάτη είναι επίσης εύκολη. Ο πελάτης δημιουργεί ένα ενδιάμεσο εξυπηρετητή, ένα τοπικό αντικείμενο το οποίο αντιπροσωπεύει την υλοποίηση της υπηρεσίας και το SEI και στη συνέχεια απλά καλεί τις μεθόδους στον ενδιάμεσο εξυπηρετητή.

Το JAX-RPC χαρακτηρίζεται απο υψηλή διαλειτουργικότητα: ένας πελάτης JAX-RPC μπορεί να έχει πρόσβαση σε μια διαδικτυακή υπηρεσία που δεν εκτελείται στην πλατφόρμα Java και το αντίστροφο. Αυτή η ευελιξία είναι δυνατή επειδή το JAX-RPC χρησιμοποιεί το SOAP σε HTTP και τη γλώσσα περιγραφής διαδικτυακών υπηρεσιών (WSDL). Το JAX-RPC έχει σχεδιάστε έτσι ώστε να υποστηρίζει το WS-I.

Για περισσότερες πληροφορίες σχετικά με το JAX-RPC, ανατρέξτε στις επίσημες προδιαγραφές του JSR 101.