2010 Java Platform Survey

Η Έρευνα έγινε το 2010 απο την εταιρεία REPLAY SOLUTIONS. Συμμετήχαν 142,915
ατομα απο την IT βιομηχανία, στοχευμενα περισσότερο σε ειδηκότητε;ς που έχουν να κάνουν με deploy και support JEE εφαρμογών.

Θα τη βρείτε εδώ http://storage.pardot.com/1772/18317/Survey_Results.pdf

Facebook Comments

Επιλέγοντας τον κατάλληλο 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

Facebook Comments

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

Facebook Comments

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!
Τελικά η λύση είναι είναι ανοιχτό λογισμικό!

Facebook Comments

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”

Facebook Comments

Quick Tip: Κάνοντας remote debugging στον application server

ΟΚ φανταστείται το εξής σενάριο: Εϊναι 3 η ώρα το πρωί και ο μετρητής καφέδων δείχνει 10+. Κλασικά η εφαρμογή έπρεπε να είναι έτοιμη για demo στο UAT περιβάλλον χτες… (ως συνήθως) αλλά πατώντας το Submit σκάει. Το πρόβλημα με το Null pointer exception που φαίνεται στα logs είναι αδύνατο να εντοπιστεί σε τί οφείλεται παρόλο που ο ίδιος κώδικας “παίζει” στο δικό σας PC. Πανικός !!!

Ευτυχώς όμως μπορούμε να κάνουμε remote debugging και να δούμε βήμα προς βήμα που είναι το πρόβλημα. Στο συγκεκριμένο παράδειγμα θα χρησιμοποιήσουμε Glassfish V3 και Eclipse αλλά παρόμοια διαδικασία υπάρχει για άλλους application servers και IDEs. Continue reading “Quick Tip: Κάνοντας remote debugging στον application server”

Facebook Comments

Spring Framework series: Μέρος 1ο

ΕΙΣΑΓΩΓΗ 

SpringSourceDecisions, decisions, decisions… λέει το γνωστό απόφθεγμα και δε θα μπορούσε να ταιριάζει καλύτερα σε ένα από το βασικά διλήμματα που έχει να αντιμετωπίσει ένας J2EE architect όσων αφορά την επιλογή middleware. Για ένα τυπικό MVC design pattern, πρέπείτε να γράψει ένα fully custom συστήμα με κάποιον controller και μια ομάδα components για business layer και επικοινωνία με τη βάση ή β) να στηριχθεί σε ένα framework που αναλαμβάνει όλες αυτές τις εργασίες για εκείνον. Μέχρι πρότινως, στη δεύτερη περίπτωση αποτελούσε σχεδόν μονόδρομο η επιλογή των Enterprise Java Beans (EJB) για τα οποία υπήρχαν διαχρονικά παράπονα που σχετίζονται με το ότι είναι βαρεία κτλ. Κάπου λοιπόν στο 2003 ξεκίνησε μία πρωτοβουλία για τη δημιουργία ενός lightweight framework το οποίο δειλά-δειλά και με μεθοδευμένα βήματα αποτελεί σήμερα τον, κατά τη γνώμη πολλών, δεύτερο πόλο ο οποίος δεν είναι άλλος από το Spring Framework. Το άρθρο αυτό αποτελεί το πρώτο σε μία σειρά άρθρων για την τεχνολογία αυτή και εστιάζεται στα γενικά χαρακτηρίστικα και τα πλεονεκτήματα της.  Continue reading “Spring Framework series: Μέρος 1ο”

Facebook Comments

JSPWiki – μια J2EE Wiki μηχανή

ΕΙΣΑΓΩΓΗ

Από την αρχή της ενασχόλησής μου με τον μαγικό κόσμο της πληροφορικής (σε κάτι ρομαντικά χρόνια που χάνονται στα μέσα της δεκαετίας του ’80) κράτησα ένα καλό συνήθειο: Να καταγράφω οτιδήποτε υλοποιώ γιατί πάντα ήταν σίγουρο ότι θα  χρειαζόμουν αυτήν την πληροφορία αργότερα. Το κακό για μένα όμως ήταν ότι για αρκετά χρόνια, εμπιστεύομουν τα σημειωματάρια μου και έτσι όταν αυτά χάνονταν για ένα ανεξήγητο λόγο (… χμμμ ίσως όχι και τόσο ανεξήγητο εδώ που τα λέμε) μαζί χάνονταν και η πολύτιμη γνώση που είχε αποτυπωθεί πάνω τους.

Μέχρι που ανακάλυψα τη δύναμη του Wiki. Η δυνατότητα να καταγράφω μία πληροφορία που να είναι προσβάσιμη online σήμαινε ότι θα είχα πάντα μαζί μου και παντού (όπου υπήρχε ένας browser τέλως πάντων) τις σημειώσεις μου. Σαν τυπικός javaς (τζαμπάς… κατά άλλους) που είμαι βέβαια κοιταξα να βρω distros σε j2ee. Μέχρι που βρήκα το JSWiki. Continue reading “JSPWiki – μια J2EE Wiki μηχανή”

Facebook Comments

Χρησιμοποιώντας το XPath για να πάρουμε attributes

Μόνιμα έψαχνα τρόπο να πάρω την τιμή απο ένα attribute σε ένα xml αλλά κάθε φορά που το έβρισκα μετά ξέχναγα πως το είχα κάνει. Οπότε αποφάσισα επιτέλους να το γράψω κάπου 🙂

Έστω λοιπόν το XML παρακάτω

<messages>
 <note id="1821">
  <to>MpouMpoulina</to>
  <from>Kolokotronis</from>
  <heading>Reminder</heading>
  <body>Today we invade, ps bring food</body>
</note>
<note id="1940">
  <to>Metaxas</to>
  <from>People</from>
  <heading>Reminder</heading>
  <body>Today we say NO</body>
</note>
</messages>

Και θέλω να πάρω το id attribute στο πρώτο node, τότε γράφω το XPath query
[string( //note[1]/@id ) ] και παίρνω 1821

Facebook Comments

BRIX a Simple and Powerfull J2EE CMS Platform

Μέσα απο την αναζήτηση μου για ένα εργαλείο ανοιχτού κώδικα που να μπορεί να πάργει εύκολα και γρήγορα CMS Sites βασισμένο σε Java μπορώ να πώ ότι είχα λίγο απεπιστεί. Μπορύσα να βρώ πάρα πολλά για entriprise level portals τα οποία θελανε πολύ δουλειά η οποία σίγουρα δεν άξιζε το κόπο για ιστοσελίδες με 2-3 μενού και 10-15 μέρη. Μέχρι που συνάντησα το BRIX! Brix, ένα Wicket-based CMS framework με καθαρό διαχωρισμό static και dynamic συμπεριφοράς στο front-end Continue reading “BRIX a Simple and Powerfull J2EE CMS Platform”

Facebook Comments