J2SE vs J2EE
Η Java είναι μία από τις πιο ευρέως χρησιμοποιούμενες αντικειμενοστρεφείς γλώσσες προγραμματισμού, η οποία χρησιμοποιείται από την ανάπτυξη λογισμικού έως την ανάπτυξη ιστού σήμερα. Είναι μια γλώσσα προγραμματισμού γενικής χρήσης και ταυτόχρονης χρήσης. Αναπτύχθηκε αρχικά από τη Sun Microsystems το 1995. Ο James Gosling είναι ο πατέρας της γλώσσας προγραμματισμού Java. Η Oracle Corporation κατέχει πλέον την Java (μετά την αγορά της Sun Microsystems πρόσφατα). Η Java είναι μια ισχυρά πληκτρολογημένη γλώσσα που υποστηρίζει μια σειρά από πλατφόρμες από Windows έως UNIX. Η Java είναι αδειοδοτημένη από GNU General Public License. Από την αρχική του κυκλοφορία το 1995 (Java 1.0) έχει αναπτυχθεί και έχει γίνει η κυρίαρχη γλώσσα ανάπτυξης για την ανάπτυξη εφαρμογών που βασίζονται στο διαδίκτυο. Το J2SE είναι η Java 2 Platform Standard Edition, η οποία παρέχει το σύνολο των βασικών κλάσεων και API. Το Java 6 είναι η τρέχουσα σταθερή του έκδοση. Το J2EE είναι η Java 2 Platform Enterprise Edition, η οποία παρέχει προηγμένες τεχνολογίες και API βασισμένα στη λειτουργικότητα που παρέχει η J2SE. Οι προγραμματιστές της Java άλλαξαν τα ονόματα όλων των εκδόσεων πρόσφατα και τώρα τα J2SE και J2EE είναι γνωστά ως Java SE και Java EE αντίστοιχα.
Τι είναι το J2SE;
Το J2SE είναι μια συλλογή βασικών κλάσεων Java και API. Η τελευταία του έκδοση Java 6 (επίσης γνωστή ως Java Standard Edition 6.0 ή Java SE 6 ή Java 1.6), με την κωδική ονομασία Mustang, κυκλοφόρησε τον Δεκέμβριο του 2006. Η τρέχουσα αναθεώρηση είναι το Update 26, το οποίο κυκλοφόρησε τον Ιούνιο του 2011. Έχει 3700 + κλάσεις και διεπαφές. Επικεντρώνεται σε νέες προδιαγραφές και API, όπως XML, Υπηρεσίες Web, JDBC έκδοση 4.0, προγραμματισμό βασισμένο σε σχολιασμούς, API για μεταγλωττιστή Java και GUI πελάτη εφαρμογών. Αυτό ήταν πέρα από τα ήδη υπάρχοντα χαρακτηριστικά όπως οι σχολιασμοί, τα Generics και το Autoboxing. Οι σχολιασμοί είναι ένας μηχανισμός για την προσθήκη ετικετών σε τάξεις με μεταδεδομένα, έτσι ώστε να μπορούν να χρησιμοποιηθούν από προγράμματα που γνωρίζουν μεταδεδομένα. Τα Generics είναι ένας μηχανισμός καθορισμού τύπων για αντικείμενα που ανήκουν σε συλλογές όπως Arraylists, έτσι ώστε η ασφάλεια του τύπου να είναι εγγυημένη κατά το χρόνο μεταγλώττισης. Το Autoboxing επιτρέπει τις αυτόματες μετατροπές μεταξύ πρωτόγονων τύπων (π.χ. int) και τύπων περιτυλίγματος (π.χ. Ακέραιος). Επίσης, η υποστήριξη για παλαιότερες εκδόσεις των Windows (σειρά Win9x) καταργήθηκε ξεκινώντας από την Ενημέρωση 7.
Τι είναι το J2EE;
Το J2EE παρέχει μια πλατφόρμα προγραμματισμού διακομιστή σε Java. Το J2EE προσθέτει λειτουργικότητα (βιβλιοθήκες) για την ανάπτυξη κατανεμημένων και πολλαπλών επιπέδων εφαρμογών java που εκτελούνται σε διακομιστές εφαρμογών. Η τρέχουσα έκδοση του J2EE είναι η Java EE 6. JDBC (Java Database Connectivity), RMI (Remote Method Invocation), JMS (Java Message Service), υπηρεσίες web και XML είναι μερικές από τις προδιαγραφές που προσφέρει η Java EE. Επιπλέον, προσφέρονται μοναδικές προδιαγραφές για την Java EE, όπως Enterprise JavaBeans (EJB), Connecters, Servlets, portlets, Java Server Pages (JSP). Ο στόχος αυτού είναι να επιτρέψει στους προγραμματιστές να αναπτύξουν εφαρμογές με υψηλή επεκτασιμότητα και φορητότητα. Οι προγραμματιστές Java EE μπορούν να επικεντρωθούν στην επιχειρηματική λογική (αντί της υποδομής/ενσωμάτωσης), επειδή οι διακομιστές εφαρμογών θα φροντίζουν για τις συναλλαγές, την ασφάλεια και τη συγχρονικότητα.
Ποια είναι η διαφορά μεταξύ J2SE και J2EE;
Το J2SE είναι μια συλλογή βασικών κλάσεων και API που παρέχει βασική λειτουργικότητα (γλώσσα Java, εικονική μηχανή και βασικές βιβλιοθήκες) για την ανάπτυξη τυπικών εφαρμογών Java, ενώ η J2EE προσφέρει μια συλλογή τεχνολογιών και API για την ανάπτυξη εταιρικών εφαρμογών πολλαπλών επιπέδων. Με άλλα λόγια, το J2SE χρησιμοποιείται για την ανάπτυξη εφαρμογών που εκτελούνται ως αυτόνομα προγράμματα επιτραπέζιου υπολογιστή ή μικροεφαρμογές, αλλά το J2EE χρησιμοποιείται συνήθως για τη σύνταξη εφαρμογών που εκτελούνται μέσα σε ένα κοντέινερ J2EE. Το J2EE έχει όλες τις λειτουργίες του J2SE. Ωστόσο, έχει πρόσθετες λειτουργίες όπως τεχνολογία EJB, JSP, Servelts και XML. Περιλαμβάνει επίσης δοκιμές για τον έλεγχο της συμμόρφωσης των εφαρμογών με υπάρχουσες εφαρμογές που υποστηρίζουν J2EE.