Welcome to the ISVs who are attending this quarter's ISV Community Days Events! Here's a link to download some additional materials. This covers the presenations, demos and scripts so you can run through them yourselves!
http://go.netdesk.com/communitydays/events/resources.aspx
Happy coding!
Richard Hundhausen is talking about SQL Management Objects (SMO). Started on a high note. Good jokes. Got the audience interested.
High points:
- You can capture your clicks, and turn them into a script that can be edited.
- SMO is backward compatible with SQL Server 2000 and 7.0!
- Over 500 classes in SMO, with over 19,000 methods, properties, constructors, fields and events
- Can use What-If to see what would happen if you ran something. You get the SQL but don't HAVE to get the results of running it.
Cory Isakson is giving a presention on security on the internet. Looking specifically at extranet solutions (and some good ideas in internet solutions as well). About 80 people in attendence.
Threats:
- Man in the middle
- Session reply
- Query string manipulation
- HTTP header manipulation
- Cookie manipulation
- Form field manipulation
- Luring attacks
Recommendations:
- Authorization:
- Access Control Lists
- Authorization Manager - ties in with Active Directory credentials
- ASP.NET 2.0 Permission Manager - not MS, but ties in directly to the Provider model. This looks exciting! Cory really covered this well, even giving some real code. Plus, his business logic for why this is important is very compelling. Check this out at Google. Or (I did it for you) here.
Good presentation. Enough code to keep us interested, with enough tips from experience to make us feel like we've had some good experienced-based tricks we can take back to us.
Eric's speaking on lots of overview stuff, with just enough technical info to keep it interesting and enough business information to get my juices flowing.
Indigo Day Theme - What should you do today, to prepare for Web Services in the future?
Notes:
- W3C recommendations are improving, including MTOM and WS-AtomicTransactions.
- Indigo's 3 areas: Productivity (attribute based, VS integration), Interoperability (WS-* specs), and Service-Oriented Development (loosely coupled, config based communication)
- Lots of focus on the Service Oriented Architecture (SOA) support in Indigo.
- Indigo services will be built using VS 2005. Indigo is an extension of the .NET Framework.
Ari Bixhorn's up for a demo. Got a big ol' bandage on his head. The demo's focused on a hospital experience. (Whoops, it's not a bandage, it's the heart rate monitor.)
- Lots of drag/drop, graphical functionality.
- Pretty cool demo, with a heart rate and brain wave monitor.
- Fun demo to watch. He's changing the Web Services to go over HTTP from TCP.
- Now packets are being dropped, since it's HTTP over several intermediaries. So, we need reliability.
- He simply adds the reliability attribute (and a security attribute) and bingo!
- Also, changes the security model using a simple config file. This follows the good SOA model of changing non-business logic stuff in the configuration, not the code.
Eric's Back Up:
- BizTalk isn't going away
- 2005 - WSE 1.0 Support
- 2006 - Adapter for Indigo
- Beyond - BizTalk will use Indigo as its foundation
- SQL Server
- Currently - some support
- Later - Indigo programming model layered over Service Broker
- SQL Server vNext - Service Broker uses Indogo transports for WS-* interop
- Windows Sharepoint Services will have a consistent Web Services infrastructure in the future
- VSIP program - 225 Premier and Alliance Partners, and 20,000 affiliates. Yep, the extensibility ROCKS!
- VS2005 Beta2 will be released in March (“maybe not until March 38th or March 45th...“)
Good presentation. I wish I could spend more time in the Indigo sessions. :-( But I've got to bone up on the new SQL Server 2005 stuff for the ISV Community Days I'll be doing (beginning this Friday).
A newspaper from New Zealand has this whopper about married couples:
“Most people say they still find their partners sexually attractive, and still have enjoyable sex lives. But faced with a choice of going without sex or losing weight, a whopping 93% would chose shedding some kilos.“
So, what's up with the other 7%?
Eric Lee gives a presentation on Enterprise Dev and Testing Tools in VS2005 Team System.

A great talk about the WHY of team development. Why is team development important? How can Team System help?
Eric is a great presenter. The audience is hooked, and he's on a roll! 
Cool points:
- Everything in VS Team Foundation Server (TFS) is exposed as a web service, so you can develop any kind of client that you like. Don't like the built-in support for Excel and Project? Build a new one!
- You can plug into the event system! You can create a Web Service, and then TFS will call YOU! Almost a SOAP call-back! You can already set up email notifications when it changes.
- TFS can handle all of your administrative UI stuff.
- Team Build - coming soon - you'll be able to do a scheduled build, run the unit tests, coverage tests, etc, and will generate a build report! Oh, way cool!
- Code Analyzer (was FxCop) - rules engine that is fully extensible and configurable. You can catch the errors that are well known. "This will allow you to focus on making new errors." (got a good laugh)
- Code Profiler - It's been used for many years at Microsoft. Makes testing your code for performance much easier!
- Unit Tests - I'm very excited about this! Programmers NEED to use Unit Tests, and they just don't, since it's an initial hurdle. But once you've done it, you're sold!
- Unit Tests can use data binding to expand the unit testing to be very powerful!
- Unit Tests can run against web applications.
- Testing infrastructure is robust enough to handle MS internal tests, which can number in the 10s of thousands of tests. Cool!
- Team Testing is extensible - “More time spent being sure testing was extensible than in building tests.“
- Reports include quality measurements at the development level and deployment level.
Time for a demo! Cool stuff from the demo:
- XSD Schemas are shipped for every notification, so you can actually generate your own classes to consume them!
- Code coverage data is exportable to XML format!
- Code coverage can merge the results of several different test runs! So test runs can be aggregated.
- Code coverage results can be aggregated before sending the report to TFS. Reports can then be generated based on the reports.
- Test Manager UI - a great UI for a tester who is responsible for hundreds or thousands of tests.
- He's demonstrating the code analysis tools specifically to find the SQL injection vulnerability, this is WAY, WAY cool! And the door is WIDE open for 3rd parties. This is INCREDIBLE!
- Now he's showing the tests for memory leaks, possible buffer overruns, and several other more advanced tests. This is literally AMAZING, absolutely AMAZING!
- Demonstration of a custom validation rule for a web test (and how the object model can be used in the web tests). Another way, way cool feature. And it worked like a champ!
- There's a wizard to help you configure the profiling of a web application. This is a huge improvement over what I've seen before.
This is incredible! Between Ajay and Eric, the audience has been exposed to so much cool stuff in Visual Studio Team System. And they are enthralled! This product is going to be BIG! It's already 6:30 in the evening and the keynote room is still filled with people, all literally sitting on the edge of their seats.
I can hardly stand it! I'm so fidgety with excitement! I'm writing a MOC course on this topic, so I'm familiar with so much of the presentation. But to see the reactions of the people here, and to see the number of doors opened by this technology is so exciting! The possibilities for 3rd party extensions here are just amazing!!!
Ajay Sudan is presenting an overview of Team System at VSLive2005. He's giving an excellent overview of the entire topic. To be cleaned up later...

Cool Info:
- Team foundation will support up to 500 developers out of the box. For more developers, TFS installs can be 'chained'.
- You can create a new project by BRANCHING from an existing project!!
- Can install your companies data center as a 'drag and drop' control from the toolbox.
- Code Coverage is easy! You can show how much of your code is covered by your unit tests with a few clicks!
Demo: Adventure Works - Expose web services to the outside world. Will need to move to a three-tier architecture
- Create a new project - Give it a name
- Pick a development process template - MSF 4.0 Agile or MSF 4.0 Complete
- This creates a group of tasks, and a structure with document templates needed to use MSF 4.0 Agile (or whatever you picked)
- Name the project portal - this will create a Sharepoint site
- He's opening up a new design surface using the Application Designer
- He simply drags two new web services to the diagram and connects them. This is the power of the designers!
- He's viewing the “Settings and Constraints“ that he wants for the Web Services. This is a cool feature that ties into the Dynamic Systems Initiative (DSI).
- Ajay stresses that he's just 'whiteboarding' right now.
- But here comes the “Generate“ click, and BINGO! the application is designed.
- A quick switch to the Logical Datacenter Designer. This will allow an IT expert to define restrictions, etc of the IT architecture. Once again, this is a tie-in to the DSI (using the System Definition Model (SDM)).
- He's adding a new a new Distributed System Diagram to the project, and doing the drag drop.
- Using the AdventureWorks Center that the IT folks already installed in the toolbox.
- He's binding the services created in the Application Diagram object to the actual infrastructure of the AdventureWorks servers in the Logical Datacenter Diagram.
- We can now validate the diagram to ensure that all constraints are met, and that we can deploy the application.
- The validation failed, since AdWorks is using NT4 and the web services require Windows Server 2003.
- So, he simply adds a Work Item, telling the Infrastructure Architect to upgrade the server!
- Now, he's generating code.
- By right-clicking, he's able to generate a new unit test. (This kicks butt, and will be available in VS Professional, too)
- So, he can easily build unit tests against against the code.
- In addition, the can show the code coverage easily.
- Now, when he runs the application, the code coverage will run and he can see how much of his code is covered by the unit tests. (Green highlights are code that is covered, Red highlights show code that isn't covered).
- Now he does the Static Code Analysis - remember, it's extensible.
- Cool piece! He's setting up a rule that forces devs to run static code analysis, code coverage and unit tests BEFORE allowing them to check in code.
- Class Designer is next - he's stressing that the code and designer are different views of the same thing (there is no 'round tripping' going on here)
- Now he's built the code to make the Web service run. (The web service sends an instant message to his IM client.)
- Now it's time for integration with AdWorks. What happens is that when the customer checks out, they will be sent an IM thanking them for their purpose.
- What makes it easy is that the proxies are all created automatically when the architecture was designed.
Next test will be a Web Test.
- This will record his click streams as he wanders through his application.
- Now, he's got his 'test', but he needs to extend it to order more than just one item.
- So he uses the UI to extend the test to order multiple different items. These items will come from a database, randomly.
- Now, using the web test, he's going to extend it by adding a Load Test
- Load Tests are a container for any types of test. Can run a constant stress, or ramp up over time. You can also specify which tests you want to run.
- with Load tests you can simluate think time, browser types, and network types.
- The load tests will collect lots of different performance counters. There are three groupings of perf counters to help you.
- Now, running the load test, and the data starts to plot out graphically.
- By opening up the IM client, we can see that the test is running, since he's getting lots of IM alerts.
- There are built in thresholds and reasonable numbers that you can use, just in case you're not an expert at interpreting performance counters.
- Back to VSTS.
- He's going to check in his code, and he's associating the code checked in with the work items he was assigned.
- He's mentioning shelving - a temporary branch that can be used to store code at the server without officially checking it in.
- Key point: VSTS tracks important data without the need to individually ask developers for input. Yea!
Great presentation and demo! Lot's of excitement in the crowd!! YES!!! VSTS ROCKS!
There were a few good lectures today. Most of them all day affairs. Deborah Kurata spoke on tips for code reuse and using VS.NET efficiently. Of course, Paul Sheriff & Ken Getz were doing the Build a VB.NET Application in 1 Day (I don't think I've heard of a conference of consequence that doesn't begin Day 0 with that show. That's got to be wonderful for AppDev.) Richard Hale Shaw, from the unexpectedly named Richard Hale Shaw Group, spoke on best and worst patterns and practices for C#. Overall, it sounded like a pretty good day, especially for some of the introductory stuff. Unfortunately, Rich and I had a bunch of work to do, so we don't have much info or tips and tricks to blog. :-(
Rich Hundhausen, Cory Isakson and myself (Steven Borg) just arrived in San Francisco for the VSLive 2005 conference. We'll all be speaking on various topics.
Here's the Guest Chat section of the Team Architect chat. (Once again, thanks to Martin Danner for collecting all the info in this chat!)
This is the Expert section of a very excellent chat. (Thanks to Martin Danner for recording this one!)
Click "Read more" for the full chat!
Click "See more" to see the entire Expert Answers part of the chat...
Martin Danner (web site) of Arrowrock has agreed to assist us in developing Microsoft Official Curriculum (MOC) for Visual Studio Team System (VSTS). He's an expert in process methodologies, UML and project management -- all critical experiences for us right now! Plus he's a smart developer with solid business experience, and an overall great guy.
Looks like he'll also be writing some VSTS Whitepapers for MSDN, and also becoming a general VSTS expert. Welcome aboard, Martin!
Rich Hundhausen (blog) showed me a great site today. It's http://bink.nu/CodeNames.bink. It's got all (or nearly all) of the MS codenames for their various products. Fun site to browse.
I noted the concept of the “Long Tail” in a recent post. Looks like the author of the piece in Wired has an extensive blog that covers many, many instances. It can be found at http://longtail.typepad.com/. Check it out! It's a great read!
|