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”

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”

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ο”

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

ΕΙΣΑΓΩΓΗ

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

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

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

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

Έστω λοιπόν το 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>
[/xml]

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

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”

E-Banking και Ασφάλεια Συναλλαγών

Για τις περισσότερες Τράπεζες η ασφάλεια των συναλλαγών αποτελεί πρώτη προτεραιότητα και γι αυτό οι επενδύσεις σε αυτό τον τομέα υπήρξαν και συνεχίζουν να είναι ιδιαίτερα σημαντικές. Η υιοθέτηση τεχνολογίας αιχμής με πρωτόκολλα επικοινωνίας και μηχανισμούς ταυτοποίησης συμβάλλουν τα μέγιστα στη διασφάλιση των ηλεκτρονικών συναλλαγών.

Κάποιες βασικές Συμβουλές που πρέπει να γνωρίζουν οι χρήστες που πραγματοποιούν συναλλαγές (e-banking) μέσω του internet, περιγράφονται παρακάτω: Continue reading “E-Banking και Ασφάλεια Συναλλαγών”