TechEd Developers 2007: Day 3


To ωραίο με την TechEd είναι ότι κάθε μέρα, όλο και θα παρακολουθήσεις κάποιο session που θα σε πωρώσει και θα σου ανοίξει την όρεξη για να αρχίσεις το ψάξιμο. Αυτό συνέβη και σήμερα. Όχι με το πρώτο session ("Building Location-Aware Applications in SQL Server 2008: Introducing the Spatial Data Type") παρότι ήταν πολύ διαφωτιστικό ως προς τη νέα δυνατότητα που θα έχουμε στον SQL Server 2008 να αποθηκεύουμε και να χειριζόμαστε γεωγραφικά δεδομένα. Ιδιαίτερα μου άρεσε ο χειρισμός (ο οποίος γίνεται μέσω ένος managed DLL που μπορεί κανείς να ενσωματώσει στις εφαρμογές του) όπου μπορεί κανείς εύκολα να πει "φέρε μου όλους τους δρόμους που τέμνουν το τετράγωνο οδός Α, οδός Β, οδός Γ και οδός Δ.

Στο επόμενο session ("Microsoft SQL Server 2005 Compact Edition in Action") είδαμε θέματα που σχετίζονται με το τον SQL Server 2005 CE όπως ενσωμάτωση στην εφαρμογή, διαχείριση και deployment. Φαίνεται ότι ο SQL Server 2005 CE μπορεί να αντικαταστείσει το Jet Engine ως local datastore και μάλιστα αν συνδυαστεί με Sync Services να αποτελέσει μια πολύ καλή λύση.

Άλλο ένα session που είχε μεγάλο ενδιαφέρον, ήταν το "Entity Framework: Application Patterns" μέσα από το οποίο είδαμε τα σενάρια χρήσης του Entity Framework, δηλαδή πως μπορεί να χρησιμοποιηθεί για λύσεις client-server, για εφαρμογές web αλλά και πως μπορεί να συνδυαστεί με το WCF.

Κανένα από τα παραπάνω sessions όμως δεν με πώρωσε όσο το τελευταίο "Developing More Intelligent Applications using Data Mining". Ο Rafal Lukawiecki, παρότι έχει πολύ περίεργη άρθρωση λόγου, είναι απίθανος παρουσιαστής και το θέμα του, δεν ήταν το security (στο οποίο ειδικεύεται ) αλλά το πώς με χρήση data mining μπορεί μια εφαρμογή να ανακαλύψει patterns χρήσης και να προσαρμοστεί ανάλογα. Τα παραδείγματα πολλά. Μπορεί για παράδειγμα να καταλάβει τι προσπαθεί να κάνει ο χρήστης και να προβλέψει την επόμενη ενέργειά του (βλ. wizards, favorites, κλπ), να καταλάβει ότι δέχεται επίθεση από κακόβουλο χρήστη, να καταλάβει ότι μια web παραγγελία θα αποτύχει, να φτιαχτεί ο uber error handling μηχανισμός χωρίς ατελείωτα Try…Catch. Όλα τα παραπάνω, με τον παραδοσιακό τρόπο προγραμματισμού, απαιτούν να έχει φανταστεί ο προγραμματιστής εκ των προτέρων όλα τα πιθανά σενάρια και να έχει ενσωματώσει την ανάλογη λογική στην εφαρμογή, πράγμα που είναι εξαιρετικά δύσκολο. Στο παράδειγμα που μας έδειξε, μια εφαρμογή έκανε data entry validation μόνο με ένα IF ενώ το ωραίο ήταν ότι τα business rules τα ανακάλυπτε μόνης! Περισσότερα για το πως δουλεύει κάτι τέτοιο είναι πολύ δύσκολο να σας τα εξηγήσω από τον περιορισμένο χώρο εδώ, ωστόσο αυτό το session θα μπορούσε άνετα να παρουσιαστεί σε ένα DevDays ή σε ένα community event. Πραγματικά, είναι το μέλον τόσο στο "user experience", όσο και στο πως μπορούν να υλοποιηθούν έξυπνες self adjusting εφαρμογές.


TechEd Developers 2007: Day 2


Μου τρέχουν τα σάλια… Σήμερα ήταν η μέρα του Sync Framework. Με δύο sessions ("Introduction to Microsoft Sync Framework – Synchronization Framework for Enabling Roaming, Offline, and Collaboration Across Devices, Services & Apps" και "Optimizing Online, Enabling Offline with SQL Server Compact and Sync Services for ADO.NET") έγινε εμφανές πόσο σπουδαίο είναι αυτό το πραγματάκι που εμφανίζεται γα πρώτη φορά. Πρόκειται για υπηρεσίες συχρονισμού μεταξύ οποιουδήποτε τύπου δεδομένων. Αρκεί να υπάρχει ο αντίστοιχος provider. Στο πρώτο demo είδαμε να συγχρονίζονται custom contacts με Vista contacts με Outlook contacts. Είδαμε συγχρονισμό αρχείων (τσεκάρετε το Sync Toy 2.0) και συγχρονισμό database data. Τα ωραία είναι πολλά: Το framework είναι υπεύθυνο για όλη τη διαχείριση του synchronization (πχ δεν ανησυχείς τι θα γίνει αν δεν ολοκληρωθεί σωστά). Έχει full support για conflict resolution. Μπορεί να ενσωματωθεί στις εφαρμογές ξεκινώντας από basic υλοποίηση και σταδιακά να προστεθούν περίπλοκα features. Το ίδιο μπορεί να γίνει για να περάσει η υλοποίηση σε n-tier μοντέλο. Έχει visual desginer για το VS 2008. Ο οποίος μάλιστα συνεργάζεται με τα WCF projects. Τα κακά είναι λίγα: Προς το παρόν, σε επίπεδο βάσης, ως client υποστηρίζεται μόνο ο SQL Server Compact. Αν αυτό δεν μας ικανοποιεί, περιμένουμε μέχρι να βγει ο SQL Server 2008 που θα έχει build-in υποστήριξη για changes tracking (μέχρι τώρα απαιτούνται μικρές τροποποιήσεις στο schema της βάσης) σε όλες τις εκδόσεις και ως sync client και ως sync server.

Κατά τ’άλλα παρακολουθήσαμε τη συνέχεια του "Building a Complete Web Application Using ASP.NET "Orcas" and Microsoft Visual Studio 2008" όπου είδαμε Intellisence σε Javascript, την υποστήριξη AJAX καθώς και τον νέο IIS 7 και πως αυτός συνεργάζεται με το ASP.NET.

Επίσης, στο session "Microsoft Visual Studio Team Foundation Server (Part 1 of 2): Applying Work Item Tracking and Version Control to Application Lifecycle Management" είδαμε το TFS τόσο από τη σκοπιά του developer καθώς και τη σκοπιά του lead developer.

Τέλος, στο session "Entity Framework Introduction" είδαμε σε δράση το Entity Framework, τον designer και πως μερικές γραμμές LINQ to Entities κώδικα μετατρέπονται – μαγικά – σε ένα σεντόνι-query.


TechEd Developers 2007: Day 1


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

Ξεκινήσαμε με το keynote από τον S. Somasegar. Ο άνθρωπος ως Vise President του Developer Division, ίσως να είναι μεγάλο κεφάλι. Ως παρουσιαστής όμως… μας προκάλεσε πονοκέφαλο με την δραματικά κακή προφορά των αγγλικών του. Κατά τ’άλλα, το keynote ήταν αρκετά ανάλαφρο με πιο ενδιαφέρον σημείο, όταν ανακοίνωσαν ότι θα ανοίξει ο κώδικας του IDE, όπου το ανάλογο demo ήταν το πως μπορεί κανείς να χρησιμοποιήσει το VS για να γράψει …extensions για το World Of Warcraft! Άντε κι έχω αφήσει τον μάγο μου στο level 42 εδώ και 2 χρόνια…

Το επόμενο session που παρακολούθησα, "Building a Complete Web Application Using ASP.NET "Orcas" and Microsoft Visual Studio 2008, part 1" ήταν εξαιρετικά ενδιαφέρον. Είδαμε το νέο designer του Visual Studio (αυτόν του Expression Web) με την πλήρη υποστήριξη CSS, είδαμε (άλλη μια φορά LINQ) και είδαμε nested master pages να γίνονται preview χωρίς κανένα πρόβλημα.

To κλου της ημέρας ήταν το session "Agile Development with Team System" όπου ο Roy Osherove ανέπτυξε από το τι είναι Agile Development και ποιές είναι οι μεθοδολογίες Scrum και Extreme Programming, μέχρι πως μπορεί να χρησιμοποιηθεί ο Team System με το MSF Agile και το Scrum for Team System. Φυσικά, ο Roy πιστός στη συνήθειά του έκλεισε με κιθάρα διασκευάζοντας "Every class you make, every build you break, every mock you fake, I’ll be watching you" κατά το Every breath you take – Police. Ρόλο κλειδί σε αυτό το session έπαιξε εξέχον μέλος του dotNETZone.gr που ανέλαβε να αλλάζει τα PowerPoint slides την ώρα του τραγουδιού. Video taken: Priceless. Όσοι έρθουν στο επόμενο community event θα έχουν η μοναδική ευκαιρία να το δουν [:D]

Technorati Tags: