[video] Lightweight JEE7 with JAX RS

Είχα την τύχη να παρακολουθήσω φέτος το εκπληκτικό συνέδριο JCrete μετά απο πρόσκληση για εκδήλωση ενδιαφέροντος του Java Champion και συνδιοργανωτή Dr Heinz Kabutz . Εκεί λοιπόν σε μια παρουσίαση του Java Champion Sebastian Daschner με αντίστοιχο θέμα είδα τη δυνατότητα με χρήση JEE χωρίς να κατασκευάζεις τεράστιες και “βαριές” εφαρμογές της δημιουργίας μικρών web εφαρμογών που γρήγορα σου δίνουν RESTfull endpoint exposure οπότε αποφάσισα να φτιάξω το παρακάτω βίντεο.

Όλος ο κώδικας του παρακάτω βίντεο είναι στο Github https://github.com/diakogiannis/LightJee7WithJaxRS

Σύντομα θα βγάλω και δεύτερο μέρος που να περιλαμβάνει persistence κλπ.

NetBeans Day Athens 2016

WHEN 

WHERE INNOVATHENS – Kόμβος Καινοτομίας και Επιχειρηματικότητας της Τεχνόπολης του Δήμου Αθηναίων Τεχνόπολη Δήμου Αθηναίων – Κτίριο Αεριοφυλάκιο 2 – Πειραιώς 100, 11854 Γκάζι –View Map

Book Now for free: https://www.eventbrite.com/e/netbeans-day-athens-2016-tickets-24919688459

NetBeans Days is an international event that takes places in various countries around the world, since JavaOne 2014, where the idea was conceived. It is about the NetBeans IDE and Rich Client Platform as well as up to date information of the Java programming language (and also other languages that are supported by NetBeans).

The NetBeans Community, in collaboration with the Hub of Innovation & Entrepreneurship of Technopolis City of Athens is proud to invite you to a free event, on Friday 26 August, regarding the NetBeans IDE and Rich Client Platform. Take the opportunity to learn about the latest tips and tricks of the NetBeans IDE and the NetBeans platform by experts on the subject. Continue reading “NetBeans Day Athens 2016”

Εγκατάσταση σε UBUNTU του Eclipse – Spring Tool Suite (STS)

Δε νομίζω ότι υπάρχει κάποιος από εμάς που να μην γνωρίζει για το Eclipse. Το συγκεκριμένο περιβάλλον ανάπτυξης ούτως ή άλλως δε χρειάζεται ιδιαίτερες συστάσεις. Οι γλώσσες προγραμματισμού που υποστηρίζει είναι πρακτικά απεριόριστες (χάρη σε αμέτρητα plugins που έχουν βγεί) ενώ τις δυνατότητες επεκτασιμότητάς του έχουν χρησιμοποιήσει διάφορες τεχνολογίες. Σε αυτό το πλαίσιο η Springsource δημιούργησε ένα ξεχωριστό περιβάλλον ανάπτυξης για όλη τη γκάμα των τεχνολογιών της, το Spring Tool Suite (STS), που κουμπώνει πάνω στο Eclipse.

Το STS το έχουμε δει και σε προηγούμενα άρθρα μας. Εδώ θα δούμε πώς εγκαθίσταται σε ένα περιβάλλον Ubuntu σε λίγα, απλά βήματα.

Continue reading “Εγκατάσταση σε UBUNTU του Eclipse – Spring Tool Suite (STS)”

How to reference Spring Beans from Everywhere!

Λοπόν, με αφορμή κάτι που με ταλαιπωρούσε γράφω τον παρακάτω οδηγό έτσι ώστε να δείξω πως μπορείς να καλέσεις ενα Spring Bean απο πρακτικά οπουδήποτε.

Ουσιαστικά έχουμε τις εξής περιπτώσεις περιπτώσεις για να καλέσουμε ένα bean

  1. Σε Spring non Web Application
  2. Σε Spring Web Application
    1. Μέσα απο κάποιον controller
    2. Μέσα σε κάποιο servlet
    3. Μέσα σε κάποιο implementation ή οποιαδήποτε άλλη Business Logic Class (aka μια απλή java class)

Θα τις πάρουμε λοιπόν μία-μία για να δούμε πως θα δουλέψουμε.

Πρώτα όμως θα φτιάξουμε ένα Bean το οποίο και θα καλούμε κάθε φορά μέσα στο κώδικά μας.

Το Spring Bean δεν είναι τίποτε άλλο απο ένα POJO (Plain Old Java Object) το οποίο με το που γίνεται initialize το Spring Context οι setters του “γεμίζουν” με ό,τι ορίζουμε εμείς στο context.xml (το κύριο xml που ορίζοντε όλοι οι παράμετροι του Spring, θα μπορούσε να λέγεται και διαφορετικά)

Στο παράδειγμά μας θα φτιάξω ένα Constants Bean το οποίο θα περιέχει πχ “σταθερές” που θέλω να χρησημοποιώ παντού και να τις ελέγχω απο το XML

Continue reading “How to reference Spring Beans from Everywhere!”

Spring Framework Series: Μερος 4ο – Spring Webflow

Φτάσαμε αισίως στο 4ο μέρος της σειράς μας για το Spring. Στο προηγούμενο κομμάτι του αφιερώματος μας είδαμε την αρχιτεκτονική του Spring MVC και τις δυνατότητες που προσφέρει το framework στον προγραμματιστή για να υλοποιήσει μία εφαρμογή στηριζόμενη σε αυτό το J2EE pattern.

Σto σημερινό μας άρθρο θα δούμε μια εξελιγμένη μεθοδολογία που εισήγαγε η ομάδα του Spring που απλοποιεί τη διαδικασία κατασκευής εφαρμογών MVC ιδιαίτερα εκείνες που απαιτούν πολύπλοκες αλληλουχίες φορμών όπως για παράδειγμα ένας wizard, ένα shopping cart κτλ. Η τεχνική αυτή είναι το Spring Webflow.

1. ΕΙΣΑΓΩΓΗ

Φτάσαμε αισίως στο 4ο μέρος της σειράς μας για το Spring. Στο προηγούμενο κομμάτι του αφιερώματος μας είδαμε την αρχιτεκτονική του Spring MVC και τις δυνατότητες που προσφέρει το framework στον προγραμματιστή για να υλοποιήσει μία εφαρμογή στηριζόμενη σε αυτό το J2EE pattern.

Σto σημερινό μας άρθρο θα δούμε μια εξελιγμένη μεθοδολογία που εισήγαγε η ομάδα του Spring που απλοποιεί τη διαδικασία κατασκευής εφαρμογών MVC ιδιαίτερα εκείνες που απαιτούν πολύπλοκες αλληλουχίες φορμών όπως για παράδειγμα ένας wizard, ένα shopping cart κτλ. Η τεχνική αυτή είναι το Spring Webflow.

Continue reading “Spring Framework Series: Μερος 4ο – Spring Webflow”

Πως να κάνετε εγκατάσταση Tomcat 6 σε Ubuntu

Ο Tomcat είναι απο τους αγαπημένους μου application servers για ένα εκκατομύριο λόγους. Ας τον εγκατάστείσουμε λοιπόν στο αγαπημένο OS μου!

Αρχικά ΜΗΝ ΕΓΚΑΤΑΣΤΗΣΕΤΕ Tomcat απο τα REPOSITORIES!! Κάθε φορά που το κάνω το μετανιώνω γιατί μου σπάει τα paths και μαζί με αυτό και τα νεύρα!

Ξεκινάμε λοιπόν, γινόμαστε root και κατεβάζουμε τον Tomcat στη τελευταία έκδοσή του (επι του προκειμένου 6.0.29) στο /var (που με βολεύει εμένα συνήθως 😛 ), κάνουμε αποσυμπίεση και του δίνουμε το “φιλικό” όνομα φακέλου tomcat6 Continue reading “Πως να κάνετε εγκατάσταση Tomcat 6 σε Ubuntu”

Εκμηδενίστε το χρόνο υλοποίησης web εφαρμογών με το Spring Roo

Η υλοποίηση ενός Java project είναι μία δημιουργική διαδικασία που όμως όπως όλοι μας γνωρίζουμε αρκετές φορές εμπεριέχει κάποιες επαναλαμβανόμενες εργασίες  που μειώνουν τον ρυθμό ανάπτυξης και συνήθως τείνουν να είναι κουραστικές για τον προγραμματιστή. Αυτό ακριβώς το θέμα έρχεται να επιλύσει μία πολύ δυναμική τεχνολογία, το Roo από την Springsource.  Σκοπός του είναι να επιτρέψει στον developer να οικοδομήει υψηλής ποιότητας και υψηλής απόδοσης συστήματα σε λίγα μόνο λεπτά. Σε αυτό το άρθρο θα περιγράφεται αναλυτικά τι είναι αυτή η τεχνολογία και παράλληλα θα διαπιστώσουμε μαζί πώς μπορούμε να χτίσουμε μία πλήρως λειτουργική enterprise εφαρμογή σε λιγότερο απο ένα τέταρτο της ώρας.

1. ΕΙΣΑΓΩΓΗ

Η υλοποίηση ενός Java project είναι μία δημιουργική διαδικασία που όμως όπως όλοι μας γνωρίζουμε αρκετές φορές εμπεριέχει κάποιες επαναλαμβανόμενες εργασίες  που μειώνουν τον ρυθμό ανάπτυξης και συνήθως τείνουν να είναι κουραστικές για τον προγραμματιστή. Πόσες φορές για παράδειγμα δεν αγανακτούμε με το POJO που πρέπει να γράψουμε για να αντιστοιχήσουμε τις 100 στήλες ενός πίνακα σε Java πεδία, ή για την για την JSP που πρέπει να εμφανίζει σε φόρμα τα πεδία αυτά για input KAI με τα απαραίτητα validations. Για να μη μιλήσω για το plumbing που πρέπει να γίνει μεταξύ των components ενός τυπικού MVC. Όλα αυτά παίρνουν χρόνο και αποσπούν τη προσοχή από το core της εφαρμογής, δηλαδή το καθεαυτό business logic και μειώνουν, εν τέλει, την παραγωγικότητα.

Spring Framework Series: Μερος 3ο

1. ΕΙΣΑΓΩΓΗ

Καλωσορίσατε στο 3ο μέρος της σειράς για το Spring Framework. Μέχρι τώρα είχαμε την ευκαιρία να δούμε τι είναι το Spring framework και πώς, πολύ γρήγορα, μπορούμε να στήσουμε ένα σημείο εκκίνησης για να κατασκευάσουμε μία web εφαρμογή βασισμένη στην πλατφόρμα αυτή. Πάμε τώρα να δούμε αναλυτικά τον τρόπο λειτουργίας του και τα επιμέρους κομμάτια μίας Spring MVC εφαρμογής.

ΕΤΟΙΜΟΙ; Φύγαμε!

Continue reading “Spring Framework Series: Μερος 3ο”

Glasshish v3 Installation on Ubuntu / Debian

Όλοι όσοι έχουν ασχολιθεί με J2EE development σίγουρα σε κάποια περίοδο έχουν συναντήσει άρθρα τα οποία περιγράφουν το νέο application server της SUN (ORACLE πλέον) τον Glassfish στην περίφημη έκδοσή του την v3.

Η Αλήθεια είναι πως πρόκειται για ένα πολύ μεγάλο βήμα και για έναν πάρα πολύ καλό full j2ee compiant application server ο οποίος έχει πολλές καλές αποκρίσεις και απο πλευράς ταχύτητας αλλά και χρηστηκότητας.

Ας δούμε λοιπόν την εγκατάσταση του σε Ubuntu 10.04 LTS. Με όμοιο τρόπο γίνεται και σε Debian Lenny.

Κάνουμε login σε ένα terminal με χρήστη root ή εναλλακτικά τρέχουμε sudo -i για να έχουμε ισοδύναμη κατάσταση. Εγκαθιστούμε το maven2 και το sun java6 developers kit δίνοντας

[bash]
apt-get -y install maven2 sun-java6-jdk java-common
[/bash]

Continue reading “Glasshish v3 Installation on Ubuntu / Debian”

Εισαγωγη στο Hibernate

Αυτός ο οδηγός θα σας δείξει τη βασική χρήση του Hibernate 3.0. Το Hibernate είναι ένα open source object relational mapping tool για Java.

Προσφαίρει υψηλής απόδοσης object/relational persistence και query service για Java.

Με το Hibernate μπορείτε να φτιάξετε persistent classes και με τη Hibernate Query Language, μπορείτε να γεφυρώσετε τις σχέσεις σε όλες τις βασεις δεδομένων. Μπορείτε να χρησημοποιήσετε native SQL ή Java-based Κριτήρια.

Αυτή τη στιγμή το Hibernate είναι το πλέον δημοφιλές object/relational mapping solution για Java

Continue reading “Εισαγωγη στο Hibernate”