Θα επιχειρήσω εδώ να κάνω μια μικρή σύνοψη του πρώτου μας DNZ Community Event που διεξήχθη την Τετάρτη που μας πέρασε στα γραφεία της Microsoft Hellas στην Αθήνα.
Για το πρώτο event προτιμήθηκε να μην συζητηθούν εξαιρετικά advanced θέματα. Το θέμα συζήτησης ήταν γενικά .NET 2.0 typed datasets / databinding. Συντονιστής / παρουσιαστής ήταν ο Μάνος Κελαϊδίτης (kelman) ο οποίος και παρουσίασε απλά σενάρια (δημιουργία typed datasets, παραδείγματα windows forms databinding).
Τα παραδείγματα στάθηκαν αφορμή για μια γενικότερη συζήτηση γύρω από τη χρησιμότητα των typed datasets καθώς και του είδους της αρχιτεκτονικής που πρέπει να ακολουθείται στην ανάπτυξη εφαρμογών. Γενικότερα συζητήθηκε η προσέγγιση της Microsoft με τα typed datasets, οπου η ανάπτυξη ξεκινά ουσιαστικά από το σχήμα της βάσης, vs. domain-driven μεθόδων που δίνουν περισσότερη έμφαση στο domain model αφήνοντας τη σχεδίαση της database να έλθει εκ των υστέρων.
Ακούστηκαν πολλές απόψεις και προσωπικές εμπειρίες, οι οποίες απετέλεσαν και την ουσία του event, μια και ένα τέτοιο event δεν αποτελεί ούτε σεμινάριο ούτε παρουσίαση αλλά αφορμή για συζήτηση και αποκάλυψη των τεχνικών που χρησιμοποιούν υπό πραγματικές συνθήκες οι συνάδελφοί μας της "διπλανής πόρτας". Ορισμένα ενδιαφέροντα συμπεράσματα / απόψεις που ακούστηκαν ηταν τα εξής (όσα μπόρεσα να συγκρατήσω - από διαφορετικό κάθε φορά συνάδελφο):
- Τα typed datasets είναι ιδανικά για small-scale εφαρμογές που ξεκινούν από τη σχεδίαση της database.
- Τα typed datasets, με τον τρόπο με τον οποίο υποδεικνύεται να χρησιμοποιούνται, δημιουργούν πλούσια objects τα οποία καταργούν ορισμένες φορές τον ξεχωριστό ρόλο business logic layer / DAL μια και ενσωματώνουν όλη τη λογική data access.
- Σε enterprise επίπεδο, η χρήση typed datasets είναι ορισμένες φορές καταστροφική για το διαχωρισμό των ρόλων των developers/architects μια και ενσωματώνουν μεγάλο μέρος του domain logic αλλά και του data access.
- Η δυνατότητα επέκτασης των datasets με τη χρήση των partial classes σε άλλους ακούγεται ιδανική και σε άλλους καταστροφική, για τους παραπάνω λόγους.
- Υπάρχουν περιπτώσεις χρήσης των datasets με τη μορφή πλούσιων data carriers (αγνοώντας τους generated table adapters και χρησιμοποιώντας το δικό μας DAL)
- Άκούστηκε τουλάχιστον μια περίπτωση χρήσης typed datasets σε enterprise εφαρμογή (στο κομμάτι των φορμών), υπήρξε όμως αντίλογος ως προς την χρησιμότητα του να κάνει κανείς initialize άδεια tables ή να χρησιμοποιεί πολλαπλά datasets που ενδέχεται να περιέχουν duplicate πληροφορίες
- Μπορούν άνετα να χρησιμοποιηθούν για global configuration εφαρμογών αλλά ορισμένοι συνάδελφοι προτιμούν untyped datasets ή άλλες μεθόδους όταν αναπτύσσουν enterprise εφαρμογές για να μπορούν να έχουν καλύτερο διαχωρισμό ρόλων (οπως αναφέρθηκε και παραπάνω)
- Συμφωνήθηκε οτι τα bindingsources αποτελούν ένα καλό επίπεδο indirection, αλλά πολλοί συνάδελφοι ήταν επιφυλακτικοί με το databinding λόγω πρότερων κακών εμπειριών με το .NET 1.1 (VS2003).
Αυτά μπόρεσα λίγο-πολύ να συγκρατήσω.
Γενικά το κλίμα ήταν πάρα πολύ καλό και κινήθηκε στη λογική "εμείς ακολουθούμε αυτή την προσέγγιση" ή "εγώ είχα αυτή την εμπειρία", πράγμα εξαιρετικά χρήσιμο μια και ανταλλάξαμε απόψεις για εφαρμογή των τεχνολογιών σε πραγματικά περιβάλλοντα και συνθήκες. Ειχαμε την ευκαιρία να γνωριστούμε μεταξύ μας, όσοι παρευρεθήκαμε, ενώ τσακίσαμε και κάτι club sandwitch σε κοντινό pub/restaurant αμέσως μετα! :)
Κληρώθηκε επίσης ένα Visual Studio 2005 και ορισμένα βιβλία, με τυχερό νικητή τον pkefal. Μοιράστηκαν σε όλους δωρεάν βιβλία για το Office 2003, μπλουζάκια DotNetZone σε όσους δεν είχαν πάρει καθώς και τα δισκάκια της RC1 των Vista.
Γενικά ήταν ένα ευχάριστο event το οποίο, αν και κινήθηκε σε non-advanced θεματολογία, είχε advanced συζήτηση, πράγμα που προέκυψε από τους ίδιους τους συμμετέχοντες. Αν και η συμμετοχή κινήθηκε σε χαμηλά επίπεδα (λόγω και της ημέρας και της ώρας), εντούτοις θεωρώ οτι το συνολικό αποτέλεσμα ήταν αρκετά ικανοποιητικό.
Θα ήθελα, όσοι από εσάς συμμετείχαν στο event να συμπληρώσουν τυχόν συμπεράσματα / απόψεις που ακούστηκαν και ίσως εγώ να μην έχω συγκρατήσει, καθώς και να μας πούν τη δική τους άποψη για το event.
Σωτήρης Φιλιππίδης
DotSee Web Services