Sunday, February 18, 2007

Άγιοι και πατέρες του J2ee αμάρτησα

Την Παρασκευή έφυγα απο το γραφείο και σκεφτόμουν την αμαρτία μου. Την ειχα κάνει και officially commit στο Subversion. Περπατούσα και σκεφτόμουν, δεν είχα και πολλές επιλογές, το είχα πάει απο εδώ το είχα πάει απο εκεί, τα requirements ήταν παράξενα. Δεν μπορώ να πω ότι δεν το είχα ψάξει είχα προσπαθήσει καταρχήν να το αποφύγω αλλά δεν μπόρεσα.Μετά καθώς είχα συμβιβαστεί με την ιδέα ότι θα το κάνω, διάβασα - ΑΡΚΕΤΑ - εμπειρίες αλλά και πολλά που έλεγαν DONT DO IT. The spec says not to do it (σχεδόν)! Οι j2ee άνθρωποι θα έχουν αρχίσει να καταλαβαίνουν περι τίνος πρόκειται, αν και το η λίστα των DONT DO IT είναι μεγάλη στο J2EE (τα λεγόμενα EJB restrictions).Αρκετά ενδιφέρουσα άποψη εδώ.

Λοιπόν η αμαρτία : Ανοίγω client socket connection μέσα σε EJB. Δεν μπορώ να πω την έχω περικυκλώσει με 10000 γραμμές exception handling, σε σημείο που αν κάτι στραβά μονο που έκρηξη δεν γίνεται. Θες να σου πω αν δουλεύει ναι δουλεύει. Θες να σου πω αν παίζει σωστά με τα time out. Ναι έγραψα όλο τον απαιτούμενο κώδικα αλλά και πάλι δεν είσαι σιγουρος. Το Network Programming ειναι ..πως να το πω..ειναι non deterministic όταν πρόκειται να μιλήσεις για το τι μπορεί να συμβεί. Η αλήθεια ίσως κάπου στην μέση.Ναι μπορείς να ανοίξεις socket αλλά λάβε τα μέτρα σου πριν το κάνεις..και μην το κάνεις overuse. Οχι δεν μπορείς να σηκώσεις server socket εκεί θα διαλύσεις τα πάντα.


Όπως και να έχει δηλώνω ευθαρσώς ότι αμάρτησα..και τα αποτελέσματα στον πρώτο κυκλο stress testing θα δείξουν ποσο σκληρά μπορεί να το πληρώσω.

Όπως λέει και μια ψυχή... happy coding!

No comments:

Post a Comment