Demos, demos, demos

I should probably stop writing more stuff for my Thursday demos. I think that some 10000 lines of "giveaway" source code should be enough ... but somehow I feel like I am still not done yet. Here's a quick list of the stuff that I have with me to show.

  • Aspect oriented programming with Remoting and Enterprise Services and Web Services using the same extensibility model
  • An attribute driven validator for object-graphs of structures and classes of arbitrary depth (sort of like schema validation for XML, but on objects)
  • Schema facets (maxLength, minLength, pattern, etc.) generated into the WSDL from [WebMethod] parameters and data structures
  • Just in Time Activation pooling as a the ultimate performance booster for Enterprise Services
  • A multi-tier "cascade" for data services for that can serve up read-only data from cache (memory) or isolated storage or a remote web service or straight from a SQL store through the flip of a config file entry and which are connected in a way that the isolated storage refreshed through the web service which then walks up to SQL.

What I will show in which detail largely depends on how the talks go in terms of timing. Since my DEV357, DEV359 and WEB404 talks are all back-to-back-to-back (different rooms, though), I will essentially be using one larger demo for all of them (and I am still putting it together right now .. cough!). In DEV357, I'll primarily talk about the relationship between ASMX Web Services and Enterprise Services and how to use ES efficiently as a backend for ASMX. In DEV359 I'll drill down into the "aspectish" elements of the demo application and talk about separation of primary concerns ("why you write the app") and secondary concerns ("stuff that needs to be done, too"). In WEB404 I will show how I teach "Add Web Reference" to generate code that has references to stuff in "newtelligence.Web.Services" in it and how I can make the schema in ASMX's generated WSDL a bit better.

I will try to post links to as much of the actual source code for the demos and its support libraries here until the end of the week. Don't expect anything before Thursday, though. Right now I am writing installers, because I don't want to make it unneccessarily hard for all of you to try the stuff at home.