WCF configuration blues

Έχουν δημοσιευτεί 22 Ιανουαρίου 08 04:08 μμ | KelMan 

Διάβαζα πριν λίγο το post του Γιώργου Χατζημανώλη και θυμήθηκα τις προάλλες που πάλευα με τα config αρχεία καθώς προσπαθούσα να σετάρω ένα WCF Service και τον αντίστοιχο client. H όλη διαδικασία μου έσπασε τα νεύρα! Και αυτό γιατί όταν χρησιμοποιείς τo out-of-box configuration όλα είναι ωραία και καλά. Όταν όμως θέλεις να υλοποιήσεις σενάριο όπως "SQL role & membership provider over HTTPS" πρέπει να πάρεις ανάσα και να βουτήξεις στα βαθειά νερά των config αρχείων. Μετά από αρκετή προσπάθεια και εν τέλει με τη πολύτιμη βοήθεια του "Windows Communication Foundation Step by Step" τα κατάφερα. Κατόπιν σκέφτηκα ότι όλα αυτά δεν θα έπρεπε να είναι καθόλου έτσι! Θα έπρεπε να υπήρχε ένας wizard-style scenario-driven config editor:

– Παρακαλώ, τι θα θέλατε;

– Θα ήθελα ένα secure public WCF service, hosted σε IIS με CardSpace authentication

– Φυσικά κύριε, ορίστε το web.config, το client app.config και αυτό το generated code sample για να τα δοκιμάσετε.

– Αχ, υπέροχα, ευχαριστώ πολύ.

Αυτό λέγεται "productivity". Αν ήθελα να κάνω edit σε XML αρχεία, δεν θα έγγραφα σε VB. Θα μου πείτε, υπάρχει ο WCF Configuration Editor αλλά ουσιαστικά πρόκειται για έναν property editor. Πιστεύω ο ρόλος μου είναι να λαμβάνω αποφάσεις. Που θα γίνεται hosting το service; Τι security μηχανισμό θα χρησιμοποιεί; Τι transport μηχανισμό; Δεν με νοιάζουν τα υπόλοιπα... Μακάρι να υπήρχε αυτό το wizard-style scenario-driven tool να καλύπτει το 80% των τυπικών σεναρίων και ας έκανα την βουτιά στο web.config για το υπόλοιπο 20% παρέα με το reference guide. Εξάλλου, εκεί που πραγματικά πάσχουν τα out-of-box generated services είναι η έλλειψη security μηχανισμών καθώς σχεδόν πάντοτε ένα service όταν πρόκειται να βγει σε production θα πρέπει να προστατευθεί.

Σίγουρα, το WCF παρέχει τεράστιο πλήθος από πιθανά configurations. Ωστόσο αν ο τρόπος δημιουργίας ενός set από ερωτήσεις και αντίστοιχα configuration settings είναι ανοιχτός, θα μπορούσε να να δημιουργηθεί ένα δημόσιο repository (βλ. Codeplex) για να συνεισφέρει ο καθένας. Πολύ ενδιαφέρον project αλλά δυστυχώς δεν ξέρω τόσο καλά WCF για να το ξεκινήσω...

Σχόλια:

# KickIt.gr said on Ιανουαρίου 22, 2008 5:05 μμ:

You've been kicked (a good thing) - Trackback from KickIt.gr

# buzz said on Ιανουαρίου 22, 2008 5:08 μμ:

Μία σκέψη για το πως θα έπρεπε να είναι ο Config Editor...

# geochatz said on Ιανουαρίου 22, 2008 5:09 μμ:

Έχεις απόλυτο δίκιο. Τα Configuration Files είναι πολύ μεγάλο μπέρδεμα όταν θέλεις να υλοποιήσεις λίγο πιο σύνθετα σενάρια.

# Δημήτρης Γκανάτσιος said on Ιανουαρίου 22, 2008 7:40 μμ:

true Μάνο, έχεις απόλυτο δίκιο. Ένας wizard για τις πιθανές ρυθμίσεις θα ήταν ό,τι καλύτερο...

# Panagiotis Kefalidis said on Ιανουαρίου 24, 2008 1:02 μμ:

Τελικά δεν είμαι ο μόνος που του έσπασε τα νεύρα και ήθελε να πετάξει το Pc απο το παράθυρο! :P

Έχει απενεργοποιηθεί η προσθήκη σχολίων από ανώνυμα μέλη

Search

Go

Συνδρομές