RESTfull Services in Spring 3 MVC

SpringSourceΤα τελευταία χρόνια, το έχει γίνει η ντε φάκτο εναλλακτική λύση αντί για τις SOAP / WSDL /WS αρχιτεκτονικές. Δε μπορούσε λοιπόν να μείνει απ’εξω από τη τελευταία έκδοση του Spring τη 3.0.

Έτσι λοιπόν κατασκεύασαν μια υλοποίηση για ‘RESTful’ Web services και application και τις ενσωμάτωσαν στο @Controller model του Spring MVC.

RESTful χαρακτηριστικά στο Spring MVC 3.0

URI Templates

Ένα από τα πολύ σημαντικά χαρακτηριστικά είναι τα uri templates.

Μέχρι τώρα ήταν σχετικά δύσκολο να έχεις friendly urls. Έπρεπε να χρησιμοποιήσεις url rewriting αρκετές «πατέντες» ή κάποιο ποιο εξειδικευμένο κομμάτι του framework που να σου δίνει flows και να μανατζάρει όλο αυτό το κομμάτι.

Continue reading “RESTfull Services in Spring 3 MVC”

Επιλέγοντας τον κατάλληλο J2EE application server

Μια από τις σημαντικές αποφάσισεις στην αρχιτεκτονική ενός online συστήματος στηριζόμενου σε τεχνολογία J2EE αποτελεί η επιλογή του application container πάνω στο οποίο θα στηθεί. Αν το “κέλυφος” του λογισμικού δεν είναι το κατάλληλο για την περίπτωση, οι συνέπειες μπορεί να αποδειχτούν καταστροφικές όταν είναι live ανεξάρτητα οποιασδηποτε προσπάθειας έχει προηγηθεί για την τελειοποίηση της λειτουργίας της εφαρμογής.
Υπάρχουν διάφοροι παράμετροι που επηρεάζουν την καταληλότητα του application server ανά περίπτωση. Στη λίστα των ποιο βασικών φιγουράρουν οι ακόλουθες:

  • Οι επιδόσεις
  • Το κόστος άδειας
  • Η επεκτασιμότητα
  • Η διαθεσιμότητα
  • Η αποτελεσματικότητα / ευκολία που προσδίδει στην ανάπτυξη της εφαρμογής
  • Υπoστήριξη του παρόχου

Σίγουρα όμως ο ποιο καθοριστικός παράγοντας είναι το μέγεθος της εφαρμογής τόσο σε components όσο και στο πλήθος των χρηστών για το οποίο προορίζεται. Με βάση λοιπόν την κατηγοριοποίηση σε μέγεθος, η προτεραιότητα για κάθε μία από τις προαναφερθαίντες παραμέτρους αλλάζει.

Το παρακάτω άρθρο περιγράφει αναλυτικά τη στρατηγική που πρέπει να ακολουθείται στην επιλογή ενός J2EE application server
http://archive.devx.com/java/free/articles/sf0101/sf0101-1.asp

To batch or not to batch

Batch applications are quite common in IT systems: perhaps you won’t have to write a whole batch application in your developper career but there are many chances you’ll have some batch parts in your Web or desktop applications. Batch is about handling high volumes of data and a lot of things can go wrong or be tricky when it comes to batch: bad performances, very high memory footprint, complex recovery scenarios to avoid stopping a whole batch because of one bad item, etc. This article covers through a simple use case different approaches to tackle with batch applications. By comparing the runtime behavior of the approaches, we’ll see the benefits on relying a batch framework like Spring Batch.

This article is hosted at blog.zenika.com and it is writtenh by the Spring Master of  Zenika Paris Arnaud Cogoluègnes. You may find it here

Open Source στους δύσκολους οικονομικά καιρούς

Όπως δήλωση ο σύμβουλος επιχειρήσεων και Java Champion, Jeff Genender, οι Open source τεχνολογίες έχουν κάνει τεράστια βήματα απο τη πρωτο εμφάνισή τους. Είναι κοινά παραδεκτό ότι όποτε η οικονομία κάνει ελεύθερη πτώση, ο προϋπολογισμός του IT είναι ο πρώτος που περικόπτεται και αυτό οδηγεί πλέον τις εταιρείες να σκέφτονται με λίγο ποιο ανοιχτό μυαλό και ελεύθερο πνεύμα τις τεχνολογίες ανοιχτού λογισμικού για ανάπτυξη και middleware. Για παράδειγμα η ευρεία εξάπλωση των application servers Apache Tomcat και JBoss που πλέον αποκτούν μεγάλο μερίδιο στην παραδοσιακή αγορά των μεγάλων επιχειρήσεων (π.χ. Τράπεζες) έναντι των IBM Websphere και ΒΕΑ δείχνει ακριβός αυτό.
Όπως δήλωσε “The first challenge is political. Getting companies to bet the farm on open source is a challenge. One of the issues companies have with open source is getting commercial support.” δηλαδή το μεγάλο στοίχημα είναι να νικήσεις την αβεβαιώτητα που έχουν οι επιχειρήσεις έναντι της εμπορικής υποστήριξης του προϊντος όταν θα παρουσιαστεί ανάγκη.
Με την μεγάλη ανάπτυξη όμως των κοινοτήτων ανοιχτού λογισμικού πλέον αυτός ο φόβος περιορίζεται πάρα πολύ. Όσο ποιο δημοφιλές και χρηστικό είναι ένα λογισμικό ανοιχτού κώδικα τόσο μεγαλύτερη πιθανότητα έχει να

  • Να είναι άρτοια τεκμηριωμένο
  • Να είναι Bug Free
  • Να έχει πάρα πολλά άτομα εξειδικευμένα που να παρακολουθούν forums, mailing lists κλπ για να δώσουν βοήθεια.
  • Να υπάρχουν εταιρείες εξειδικευμένες στη παροχή υποστήριξης σε αυτό.

Βέβαια σε καιρούς ισχνών αγελάδων σαν και αυτό, πολλές εταιρείες παίρνουν το ρίσκο και διαπιστώνουν ότι τελικά η παρεχόμενη υποστήριξη είναι εξαιρετική και δε χρειάζονται τίποτε άλλο για να αναπτύξουν με ασφάλεια και ταχύτητα τις εφαρμογές τους σε πολύ μικρότερο κόστος.
Εξάλου όπως είπε και ο Genender “Με WebSpheres and WebLogics παίρνεις ένα τεράστιο middleware όταν τελικά το μόνο που χρειάζεσαι είναι ενα μικρό web component!
Τελικά η λύση είναι είναι ανοιχτό λογισμικό!

J2EE URL rewrite

To mod_rewrite module του Apache web server πιθανόν το ξέρετε. Πόσες νύχτες έχουν κάποιοι από εμάς ξοδέψει για να το configure-άρουμε ξεσκαρτίζοντας ως και τα ποιο απίθανα forum (από Κορέα μέχρι Αργεντινή) για να χρησιμοποιήσουμε τις απεριόριστες δυνατότητες που έχει ως προς την επαναεγγραφή του URL on the fly στη δική μας περίπτωση.

Να όμως που υπάρχει και έκδοση του URL rewrite σε επίπεδο web application. Η συγκεκριμένη τεχνολογία λέγεται Url Rewriter Filter, ένα ελέυθερα διαθέσιμο προϊόν της Tuckey. Σε αυτό το άρθρο περιγράφω κάποια χαρακτηριστικά και κάποιες πρακτικές οδηγίες χρήσεως.

 

Continue reading “J2EE URL rewrite”