Πόροι ανάπτυξης EJB

Αυτό το θέμα περιγράφει τους πόρους και τα εργαλεία ανάπτυξης που χρησιμοποιούνται κοινώς στην ανάπτυξη EJB.

Λειτουργικές μονάδες EJB

Οι λειτουργικές μονάδες EJB εμφανίζονται στην προβολή "Εξερεύνηση έργων" της προοπτικής "J2EE" και αντιστοιχούν σε έργα EJB.

Μια λειτουργική μονάδα EJB χρησιμοποιείται για τη συγκέντρωση ενός ή περισσοτέρων enterprise bean σε μία μονάδα με δυνατότητα διανομής. Μια λειτουργική μονάδα EJB αναπτύσσεται σε έργο EJB και μπορεί είτε να εξαχθεί ως ανεξάρτητο αρχείο JAR EJB ή μπορεί να συνδυαστεί με άλλες λειτουργικές μονάδες EJB ή διαδικτύου εντός μιας επιχειρηματικής εφαρμογής. Ένα αρχείο JAR EJB χρησιμοποιεί τη μορφή τυπικού αρχείου αποθήκευσης Java. Μια λειτουργική μονάδα EJB περιέχει τα ακόλουθα:

  • Ένα ή περισσότερα enterprise bean και τα συσχετισμένα αρχεία τους .class και .java.
  • Γραφικά και άλλα αρχεία ανάλογα με τις ανάγκες του enterprise bean.
  • Ένα αρχείο περιγραφής διανομής. Το είδος αρχείου για το αρχείο περιγραφής διανομής είναι το Extensible Markup Language (XML). Αυτό το αρχείο δηλώνει τα περιεχόμενα της λειτουργικής μονάδας EJB, ορίζει τη δομή των bean στη λειτουργική μονάδα και παρέχει μια περιγραφή του τρόπου χρήσης των bean κατά το χρόνο εκτέλεσης.
  • Ένα αρχείο MANIFEST.MF στον κατάλογο META-INF. Το αρχείο δήλωσης μπορεί να περιέχει μια καταχώρηση διαδρομής κλάσεων, με παραπομπές σε άλλα αρχεία JAR ή λειτουργικές μονάδες EJB σε μια επιχειρηματική εφαρμογή J2EE. Ορίζει τις εξωτερικές εξαρτήσεις της λειτουργικής μονάδας.

Μια λειτουργική μονάδα EJB εγκαθίσταται και εκτελείται σε μια θέση υποδοχής EJB.

Το enterprise bean αποτελεί ένα συστατικό στοιχείο Java το οποίο μπορεί να συνδυαστεί με άλλους πόρους για τη δημιουργία κατανεμημένων εφαρμογών πελάτη/εξυπηρετητή.

Σημείωση: Αν επιλέξετε τη δημιουργία αρχείου JAR για πελάτη EJB για τη λειτουργική μονάδα EJB, οι κλάσεις διεπαφών πελάτη για τα enterprise bean δεν θα περιλαμβάνονται στο αρχείο JAR EJB αλλά θα περιλαμβάνονται στο αρχείο JAR για πελάτη EJB.
Έργα EJB

Στον πάγκο εργασίας δημιουργείτε και διατηρείτε πόρους για επιχειρηματικές εφαρμογές σε έργα. Ένα έργο EJB αποτελεί μια λογική λειτουργική μονάδα η οποία σας επιτρέπει την οργάνωση των enterprise bean.

Ο πάγκος εργασίας υποστηρίζει τα έργα σε EJB 1.1, EJB 2.0 και EJB 2.1. Το επίπεδο προδιαγραφής J2EE ενός έργου EAR που την περιέχει πρέπει να οριστεί σε J2EE 1.3 ή μεταγενέστερο για έργα EJB 2.0, και σε J2EE 1.4 για έργα EJB 2.1. Σε ένα έργο EJB 1.1 θα μπορείτε να δημιουργήσετε μόνο bean του EJB 1.1.

Ένα έργο EJB αποτελεί ένα εξειδικευμένο έργο Java. Όπως συμβαίνει και σε ένα έργο Java, το έργο EJB πρέπει να διαθέτει έναν ή περισσότερους φακέλους πρωτογενούς κώδικα στους οποίους περιέχονται τα αρχεία πρωτογενούς κώδικα και τα αρχεία εξόδου του έργου. Ως προεπιλογή, ο φάκελος πρωτογενούς κώδικα ονομάζεται ejbModule αλλά μπορείτε να αλλάξετε το όνομα όταν δημιουργείτε το έργο ή τους νέους φακέλους του πρωτογενούς κώδικα. Όταν δημοσιεύετε ή διανέμετε το έργο, τα περιεχόμενα του φακέλου ή των φακέλων συγκεντρώνονται.

Δεν μπορείτε να χρησιμοποιήσετε το έργο EJB ως φάκελο πρωτογενούς κώδικα. Αν το κάνετε, θα προκληθούν σφάλματα. Επίσης, παρόλο που μπορείτε να έχετε περισσότερους από έναν φακέλους πρωτογενούς κώδικα στο έργο, μόνο ο ένας από αυτούς τους φακέλους μπορεί να περιέχει το φάκελο META-INF στον οποίο βρίσκονται τα αρχεία MANIFEST.MF και τα αρχεία περιγραφής διανομής.

Σημείωση: Αν επιλέξετε τη δημιουργία αρχείου JAR για πελάτη EJB για τη λειτουργική μονάδα EJB, οι κλάσεις διεπαφών πελάτη για τα enterprise bean δεν θα περιλαμβάνονται στο έργο EJB αλλά σε ξεχωριστά έργα JAR για πελάτη EJB. Τα έργα JAR για πελάτη EJB εμφανίζονται στην "Εξερεύνηση έργων" ως έργα Java στον κόμβο Άλλα έργα.
Έργα πελάτη EJB

Τα εργαλεία EJB υποστηρίζουν τη δημιουργία έργων JAR για πελάτη EJB για τις λειτουργικές μονάδες EJB. Ένα έργο JAR για πελάτη EJB περιέχει όλα τα αρχεία κλάσεων που χρειάζεται ένα πρόγραμμα πελάτη για να χρησιμοποιήσει τις προβολές πελάτη των enterprise bean που περιέχονται στο έργο EJB. Όταν δημιουργείτε ένα έργο πελάτη EJB για ένα έργο EJB, δημιουργείται και προστίθεται ένα νέο έργο Java στο χώρο εργασίας σας. Το έργο πελάτη EJB προστίθεται ως βοηθητικό αρχείο JAR έργου σε κάθε λειτουργική μονάδα στην οποία ανήκει το έργο EJB.

Ως προεπιλογή, όταν χρησιμοποιείτε τον οδηγό για να δημιουργήσετε ένα έργο EJB, δημιουργείται επίσης ένα έργο JAR για πελάτη EJB. Ωστόσο, μπορείτε να αποεπιλέξετε αυτή την επιλογή στον οδηγό.

Συμβουλή: Μπορείτε επίσης να προσθέσετε το έργο πελάτη EJB σε άλλη επιχειρηματική εφαρμογή η οποία δεν περιλαμβάνει το έργο EJB ως λειτουργική μονάδα. Με αυτόν τον τρόπο διασφαλίζετε ότι το αρχείο JAR για πελάτη EJB εξάγεται και συσκευάζεται με το αρχείο EAR κατά την εξαγωγή της εφαρμογής.
Επιχειρηματικά bean

Το enterprise bean αποτελεί ένα συστατικό στοιχείο Java το οποίο μπορεί να συνδυαστεί με άλλους πόρους για τη δημιουργία κατανεμημένων εφαρμογών πελάτη/εξυπηρετητή.

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

Bean οντότητας
Τα bean οντότητας αποθηκεύουν μόνιμα δεδομένα. Τα bean οντότητας για διαχείριση μονιμότητας μέσω θέσης υποδοχής (CMP) απαιτούν συνδέσεις σε βάση δεδομένων. Τα bean οντότητας για διαχείριση μονιμότητας μέσω bean διαχειρίζονται μόνιμα δεδομένα με οποιοδήποτε τρόπο ορίζεται στον κώδικα του bean. Σε αυτό περιλαμβάνεται, για παράδειγμα, η εγγραφή σε βάσεις δεδομένων ή σε αρχεία XML.
Bean συνεδρίας
Τα bean συνεδρίας δεν απαιτούν πρόσβαση σε βάση δεδομένων, παρόλο που μπορούν να την επιτύχουν έμμεσα (όπως απαιτείται) με πρόσβαση στα bean οντότητας. Τα bean συνεδρίας μπορούν επίσης να αποκτήσουν άμεση πρόσβαση σε βάσεις δεδομένων (και άλλους πόρους) μέσω της χρήσης παραπομπών σε πόρους.
Bean με βάση τα μηνύματα
Τα bean με βάση τα μηνύματα αποτελούν ένα ξεχωριστό είδος enterprise bean τα οποία ενεργούν ως λειτουργίες χρήσης μηνυμάτων στο σύστημα μηνυμάτων JMS. Όπως συμβαίνει με τις συνηθισμένες λειτουργίες χρήσης μηνυμάτων JMS, τα bean με βάση τα μηνύματα εκτελούν επιχειρηματική λογική με βάση τα περιεχόμενα του μηνύματος. Με διάφορους τρόπους η δυναμική δημιουργία και κατανομή των χρήσεων των bean με βάση τα μηνύματα μιμείται τη συμπεριφορά των enterprise bean συνεδρίας του είδους "stateless". Ωστόσο, τα bean με βάση τα μηνύματα είναι διαφορετικά από τα enterprise bean συνεδρίας του είδους "stateless" (και άλλα είδη enterprise bean) αναφορικά με τα εξής:
  • Τα bean με βάση τα μηνύματα επεξεργάζονται πολλαπλά μηνύματα JMS με τρόπο ασύγχρονο, και όχι με επεξεργασία σειριοποιημένης ακολουθίας κλήσεων μεθόδων.
  • Τα bean με βάση τα μηνύματα δεν διαθέτουν κεντρική ή απομακρυσμένη διεπαφή, και κατά συνέπεια δεν υπάρχει άμεση πρόσβαση σε αυτά από εσωτερικούς ή εξωτερικούς πελάτες.
Αρχεία περιγραφής διανομής

Ένα αρχείο περιγραφής διανομής περιέχει δεδομένα ρυθμίσεων τα οποία χρησιμοποιεί το περιβάλλον εκτέλεσης για μια εφαρμογή. Ένα αρχείο περιγραφής διανομής μπορεί να περιέχει πληροφορίες σχετικά με τα εξής:

  • Τη δομή και το περιεχόμενο (για παράδειγμα, enterprise bean) της εφαρμογής.
  • Παραπομπές σε εσωτερικές και εξωτερικές εξαρτήσεις. Για παράδειγμα, ένα enterprise bean σε μια λειτουργική μονάδα EJB μπορεί να απαιτεί ένα διαφορετικό enterprise bean το οποίο δεν περιλαμβάνεται ως δέσμη στην ίδια λειτουργική μονάδα.
  • Παραπομπές σε αντικείμενα μεθόδων κατασκευής πόρων, όπως διευθύνσεις URL ή προελεύσεις δεδομένων JDBC.
  • Οι ρόλοι ασφαλείας που χρησιμοποιεί η θέση υποδοχής κατά την υλοποίηση του απαιτούμενου ελέγχου πρόσβασης της εφαρμογής.
  • Πληροφορίες συναλλαγών σχετικά με τον τρόπο (και την πιθανότητα) διαχείρισης συναλλαγών από τη θέση υποδοχής για την εφαρμογή.

Τα αρχεία περιγραφής διανομής αποτελούν αρχεία XML τα οποία συσκευάζονται με τα αρχεία της εφαρμογής σε ένα αρχείο αποθήκευσης Java. Ένα αρχείο περιγραφής διανομής EJB ονομάζεται ejb-jar.xml και βρίσκεται στο φάκελο META-INF ενός έργου EJB. Μια εφαρμογή J2EE περιέχει ένα αρχείο περιγραφής διανομής σε επίπεδο εφαρμογής, το οποίο ελέγχει συνολικά την εφαρμογή. Περιέχει επίσης διάφορα αρχεία περιγραφής διανομής σε επίπεδο συστατικού στοιχείου, ένα για κάθε λειτουργική μονάδα στην εφαρμογή.