Dennis Mulder - Convert.ToString(My.Core.Dump)

oktober 2006 - Posts

The Avanade VSTS-Project Server Connector is now available for download

This is great stuff. I have always said Avanade should release more of it's assets to the public in order to get more "brand awareness".

Now we have released our VSTS-Project Server Connector to Gotdotnet.

Here's an excerpt of the announcement:

Announcing the Visual Studio Team System - Project Server Connector! We are pleased to announce general availability of the updated Project Server 2003 – Visual Studio Team Foundation Server 2005 Connector application. The Connector can be downloaded here: http://www.avanadeadvisor.com/TFS-ProjectServerConnector.zip . See the “News” or the “Releases” sections for more information. The Connector is largely based on the sample Project Server 2003 – Visual Studio Team Foundation Server Beta 2 Connector available on GotDotNet. The Connector is also available as a part of the Avanade Software Lifecycle Platform™: http://msdn.microsoft.com/vstudio/why/avanade/default.aspx . More about the Avanade Software Lifecycle Platform (SLP) Avanade Connected Architectures® for Lifecycle or ACA® Lifecycle 2006 is an asset that implements the Avanade SLP vision. It provides a software development lifecycle environment for project teams doing custom .NET development. This includes tools, processes, and best practices to support the various roles on the team, including Test, Dev, Architect, and Project Manager. For more information on how Avanade can help you with the Avanade Software Lifecycle Platform, visit our website at www.avanade.com or contact us at to slp@avanade.com .

Internet Explorer 7 released

Internet Explorer 7.0 for Windows XP SP2 has been released last night!!!     

http://www.microsoft.com/windows/ie/downloads/default.mspx

I installed it without any issues (it first uninstalled the release candidate), two reboots later I was running the RTM version.
Vista to 'RTM' Oct. 25

Seattle Times article : http://seattletimes.nwsource.com/html/microsoft/2003308276_vista17.html

http://www.redmondmag.com/news/article.asp?editorialsid=7887

So this would mean .NET FX 3.0 will be out next week as well!!! (I think.....)

Microsoft Building 5 - Patterns & Practices

Some pictures from the tour I got from Chris Tavares through the Patterns & Practices building with the beautiful new Agile rooms.

 

 

Also some pictures from around the Microsoft campus:

Web Client Software Factory, ASP.NET and Workflow, I am confused

Today Michael Puleio presented a very early drop of the Web Client Software Factory. It didn't turn out very succesful, because he had a 30 minute old drop. The session did end up interesting as he showed where things are heading.

Solving the User Interface Proces Layer with Windows Workflow Foundation (WF) sounds like an obvious choice. So the Web Client Software Factory will be doing this, but it seems the ASP.NET team and Patterns & Practices don't talk to each other...

Kashif Alam from the UI Frameworks team at Microsoft has presented several times already on the work they have doing on providing Pageflow capabilities with Windows Workflow Foundation:

WEB304 - ASP.NET: An Overview of ASP.NET and Windows Workflow Foundation Integration

Kashif Alam

This session explores designing, developing and debugging UI workflow applications. The next release of ASP.NET will provide a key integration point with Windows Workflow Foundation, enabling developers to build PageFlow scenarios making it easier to create representative UI for the business process layer. Come and learn the keys to UI workflow ranging across interactive activities, the hosting layer and the PageFlow design. Topics covered include the provider model for workflow persistence, communication mechanisms between the UI and the workflow runtime, parallelism and delays in an interactive workflow, and activity mappings available to the UI workflow developer.

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032303083&culture=en-US

And there are two additional sessions when you search on Microsoft Events site for Kashif Alam.

Weird stuff.... curiuous where this is going!

LIVE from Redmond: Open source in the enterprise

This is fun Chris Sells is participating in a panel discussion here at the PNP Summit while he is home. They have him remote via webcam (see the chair on the pictures). The panel is with Rocky Lhotka (the CSLA guy), Ted Neward (some random trainer from Pluralsight), Patrick Caldwell (Corillian) and the lead guy is Scott Hanselman (Corillian).

 

UPDATE: MSDN Webcast- Open Source in the Enterprise - Tonight at 5-30 PDT!

Virtual PC 2007 Beta released

Virtual PC 2007 Beta is out and can be download at http://connect.microsoft.com. I just installed it and it was complaining about Virtual Server running, after I shut that down it installed. I was curious whether it would replace VPC 2004 as it would be nice to have these side-by-side in case VPC 2007 is not as stable as you need it be. Apparently it cannot run side-by-side as it replaced VPC 2004 without telling. It seems it is coming with new versions of the VM Additions (13.724) that is supposed to support the latest RC2 version of Vista. Installing it through the menu option "Install Virtual Machine Additons" gives you this Windows Installer screen:

Simple running the <virtual_cd_drive>:\windows\VirtualMachineAdditions.msi manually fixes this.

I have a Dell D810 that VPC has some issues with, like repeating keys etc. I fixed this via this support article, but I always ended up with VPC using 100% CPU. Therefor I had set VPC to run under low priority to make sure my desktop is sort of responsive. I also used tools like SpeedswitchXP to make sure the CPU wasn't switching speed. So I was curious whether this was fixed and disabled the idle thread again, but unfortunately I quickly ended up with repeating keys again. DAMN!

So I will probably end up enabling the idle thread again.

ObjectBuilder on Codeplex

Just attended a fun session at the P&P Summit from Brad Wilson about Dependency Injection with ObjectBuilder. It turns out ObjectBuilder can now be found on Codeplex. Brad is now in the Codeplex team. He promised to finally work on the documentation of ObjectBuilder and as it turns out I think he will end up getting some help now that it is on codeplex.

Some notes from his presentation:

ObjectBuilder in the wild

Is a framework to build a dependency injection container

  • CAB & Mobile Software Factory
    • Workitem
  • Enterprise Library
    • Configuration System

Object Building Strategies

Build can create an object on your behalf. Locator object can resolve questions (get me a logger) and can resolve this to an existing Logger object (Lifetime). Strategies & Policies are used to determine how to create the objects. Strategies are a chain of responsibility that can return existing object (Singleton), Type mapping (specific logger, like Eventlog), Reflection, Creation (actually creating the object), Property Setter/Method calls (actually calling the object). Strategies don't make decisions (except the reflection). The policies make the decisions (should this be a singleton) and then the strategy does that. The Reflection strategy looks at which constructor to use (for example).

Four stages

  • Pre Creation (Singleton -> Type Mapping -> Reflection, decide what properties to set, which constructors to call)
  • Creation
  • Initialization (Property setter / Method calls)
  • Post initialization (Builder aware strategy, IBuilderAware, tell the object that things are done)

Make it your own

  • What kind of injection?
  • How do describe them?
  • What does the container look like?
  • What are the strategies I need?

Objectbuilder is powerful and flexible, not easy.

URLs

Codeplex ObjectBuilder site: http://shrinkster.com/j0w

Brad's Blog: http://www.agileprogrammer.com/DotNetGuy

SDLC-in-a-Box Training Kit - Free VSTS Training

Recently Pieter pointed me to www.sdlcinabox.com, but at the time the site was basically a mockup with fake content. The only thing available was the Demo (great watch btw). Now it seems the site is live. In V1 you get the following:

- Demo

- Demo walkthrough including a sample app

- Overview presentation of the SDLC-in-a-Box program

It seems the intend is for partners to provide a 3 day partner program to (potential) customers.

In v2 they are promising a VPC etc. Although it seems the VPC is the one provided on MSDN.

More info on the authors blogs:

James Chittenden

David Baliles

Microsoft ESB Toolkit

Microsoft announced a toolkit around the concept of ESB’s. It is delivered as guidance with full source etc. Due out in two weeks or so.

Here are my notes from the session about this on the SOA & Business Process Conference.

 

Building an ESB on the Microsoft platform - Lukas Cudridge & Brian Loesgen

ESB:

A better way to integrate existing systems

What is an ESB? It means different things to different people.

We need to agree on what an ESB is and what it does similar to what determines a beer to be a beer….

o Message Broker (Routing etc.)

o Message Transformation

o Message Validation

o Message-Oriented Middleware (fault tolerant etc.)

· Adaptation

· Service Orientation!?

An ESB is one important building block of a Service Oriented Infrastructure.

Service-Oriented Infrastructure

Supports SOAP and different native protocols.

Contains:

Service Registry

Service Management

Security

The ESB itself has:

o Adaptation (adapters to support the protocols)

o Orchestration

o Core Engine (Routing, Transformation, Exception Management)

CIM: Consumer Interceptor Module

SIM: Service Interceptor Module

CIM/SIM To connect endpoints to the Service Management, Security, Registry offering. (WSE filters, agents etc.)

WSDL defined SOAP

HTTP, JPS over WMQSeries

Support for WCF and XMS

CIM/SIM Functionality

Service Registry

Enterprise Service Catalog (including SLA's etc.)

Custom Publisher

Extended Taxonomy

Runtime lookup (also based on security policies)

Web Services Management -> Amberpoint

Metrics through CIM/SIM

Integration with MOM & Tivoli

Usage metrics

SLA Monitoring

Who is in the ESB Game?

A lot of releases….

ANNOUNCING: Microsoft is releasing the Microsoft ESB Guidance for Partners

o For BTS 2006

o Architectural Guidance

o ESB Core Engine

o Sample On/OFF Ramps

o Provisioning Framework

ESB Core Engine

o On/Off Ramps (receive and send port)

o Intermediary Functions (dynamic transformation, dynamic routing and exception management)

o Standardized metadata "envelope" (to make decisions what needs to happen inside of the ESB) implemented via BTS property schemas

o Resolution Mechanism (UDDI lookup, Call Custom assembly, Xpath expression in the message, BRE Policy)

o Provisioning and administration of the ESB (Portal)

ESB Core Engine - Transformation

o Re-usable component for dynamic message transformation

o Multiple transformation lookup mechanisms

o Integrated into exception handling mechanism (not deployed assembly, wrong biztalk map name, not deployed map etc.) -> publish exception message

ESB Core Engine - Routing

o Re-usable component for dynamic message routing

o Multiple runtime endpoint lookup mechanisms

o Accommodates protocol-specific nuances

o Integrated into exception handling mechanism (same story) -> publish exception message

ESB Core Engine - Exception Management

o Message-oriented exception handling

o Apps Publish exception messages, handlers subscribe to them

o Generic Handlers provided (to handle exception messages)

o Architecture enables highly targeted handlers

Common mechanism to publish and subscribe to exceptions anywhere (in orchestrations, pipelines, assemblies etc.) handlers have a lot of additional properties at their disposal (message body, properties etc. etc.)

Flow Control

o Processing Instructions

o Itineraries (sequence of steps)

o State

Extending the reach - Orchestration

o Implement additional business processes

o Choreograph multiple services to create modular business services

o Web service aggregation and re-publishing….

o ……………

Extending the reach - provisioning

o End-point definition via simplified, task-centric user interface

o Could integrate with a registry

o Enables portal-based end-point publication/discovery

o Integratie external parties into ESB exchanges

ESB Infrastructure

Flexible distributed architecture (clusters, multiple messageboxes, separate boxes for receiving, processing, sending)

Metrics and Monitoring

o Infrastructure level health monitoring

o Operation-level monitoring & metrics

o Biztalk Server-level monitoring & metrics

Developer SDK

o Developer's Guide to the ESB Core Engine (how to use the Core Engine, not necessarily the internals)

o VM with ESB Core Engine installed

o Sample applications

o Sample unit tests

o Sample Automated Build Processes

Microsoft's products and technologies today offer a superset of ESB functionality.

Toolkit available in 2 weeks.

Software Factories and the Microsoft product groups

It seems the Software Factories vision is shaping up good. While I have had the privilege to talk to several people within the Microsoft product teams that are working on the Software Factories vision I have always complained that it seemed the vision wasn't shared among the entire company. Based on the things I have seen and heard on the SOA & BPM Conference last week, I think things will shape up soon. Some facts:

The Connected Systems Division is openly expressing their vision for the next wave of the technologies under their responsibility:

  • Internet Scope ("Web Services")
  • Models ("Declarative Programming") -> Metadata driven -> DSLs!!
  • Federation ("Mesh Architectures") -> Embracing the fact that the world is diverse
  • Cloud ("Software as a Service") -> At service & communication level

I'd like to pick the one on Models. Models are all about higher abstraction levels, metadata, domain specific languages, one of the core pillars of Software Factories. Haven't we seen this before? As soon as the VB Forms Designer appeared, massive amounts of people were able to Windows Development. Before that era the Windows API was only programmed by the happy few that understood Petzold his books. You could argue that bringing Modelling into the SOA, SaaS, and connected systems in world will accelerate the adoption of these technologies (or should I say "theories"?). And there's a whole lot of domains that can be modelled in the connected applications domain: Workflow, Rules, Security, Deployment, .....

It was very nice to see that Craig McMurtry is calling the Windows Communication Foundation a Software Factory template for communication. On the other hand in fact he is a competitor as he is writing a book on WCF, just like we are :). He was saying it is a modelling language for a specific domain of problems. Interesting to see that there in fact is no modelling tool involved yet. On the other hand that is a common misconception of the Software Factories Vision. Out there in the marketplace I have seen some confusion how DSLs relate to Software Factories, which is why I am adressesing this here. Some people think DSLs and Software Factories are the same which is not true. DSLs address specific small problems in a Software Factory that lend themselves to abstract by using visualization. Building a solution for a particular domain involves solving potentially 100's of small problems in smaller subdomains that aren't always straightforward to model. It is the expectation that only 20% will be solved with modelling assets based on tools like the DSL tools, the rest is solved by one or more of the other pillars of the Software Factories vision (Software Product Lines, Architect Frameworks, Guidance in Context).

At least the base of the Communications factory is there, the WCF framework is there to build a factory around. There's quite a bit of work that needs to be done to raise the abstraction level, while Microsoft did a great job in unifying the API there's still a large gap between what Enterprises need and what the technology is all about. There are certain viewpoints of an SOA app that lend themselves to model. Within Avanade we have been working on a DSL for SOA apps based on ACA.NET and WCF that should raise the abstraction level of the layering of an SOA architecture and the contracts involved. The goal is to draw diagrams that can be understood by non technical people and generate WCF code based on thoroughly tested and proven code templates. ACA.NET is the Avanade execution architecture based on Enterprise Library. Ironically Enterprise Library was originally based on ACA.NET, as you can read here. Just like we have seen with the original ACA.NET framework (logging, caching, data access, security etc.) we are now seeing that our frameworks become part of the platform. Specifically we tossed out the SOA framework which has been around for 3 years now and replaced that with WCF, while adding the power of Aspect Oriented Programming (a must read article by our Chief Architect Kyle Huntley).

Originally I was triggered by this article to start this blog post, but basically this article turns out to be about a topic that is keeping me busy for over half a year. The article is all about the Extensibility of Visual Studio. Microsoft recently released the Visual Studio SDK v3 which contains the tools required to extend Visual Studio. Originally this toolset was provided to Visual Studio Integration partners (VSIP). Companies like Deklarit, Compuware, etc that provide commercial products that are built on top of Visual Studio. Interestingly now they are providing the SDK to everybody. The goal is obvious; try to create an Eco-system around Visual Studio extensiblity and drive the Software Factories vision. \\

I have been busy writing a whitepaper that will soon be published to MSDN that dives deeper into the approach we took to develop the initial version of the DSL.

Here's a small (and incomplete) teaser:

Generating Orchestrations based on templates using wizards and common BTS patterns

 

This is cool. In a session on the SOA & Business Process Conference, Jon Flanders showed a very nice wizard to generate Orchestrations based on some common patterns.

Here are my notes, and below you can find some links to actual downloads!

The BTS2006 SDK comes with End to end scenarios (realworld type of cases)

  • SOA Scenario
  • EAI Scenario
  • B2B Scenario
  • ….

Jon Flanders took the Orchestration patterns used in these scenarios and changed these to become Visual Studio templates (and associated wizards) which generate projects, orchestrations etc. This is in order to have a head start using a certain pattern for your new orchestration.

There's a tool that comes with the download called the Project Template Wizard which can convert existing projects into a new project template. And then you can add additional template pages that can provide some data which can be used during the generation to replace some stuff that you'd like to become dynamic (like namespaces)

The Biztalk designer is always using the .odx XML and turns that into Xlang which in turn is compiled by the Xlang compiler in C#. The wizard uses XSLT to modify the .odx XML and turns that into Xlang. There are enough examples in all the XSLT templates to cover basically dynamically setting things like correlations, schemas, namespaces, maps etc. etc.

This project will probably be posted on Codeplex, Jon's blog, MSDN or something similar. During the session Jon blogged about it and dropped it in his blog. Jon, Krish and Mike Woods are actively looking for ideas like this and any suggestions around this "asset".

Early drop (no docs, use at own risk) : http://www.masteringbiztalk.com/blogs/jon/content/binary/BTPatternsWizard2006.zip

Blog post about it: http://www.masteringbiztalk.com/blogs/jon/PermaLink,guid,d1117ce1-9bc3-4209-9679-5e48bc080e92.aspx

Check it out!

Posted: okt 07 2006, 07:54 by dennism | with no comments
Filed under:
New blog

I have finally managed to find the time to update my blog to Community Server. I planned to do this for a long time, but it didn't have a high priority. Now that I am staying in the US (Redmond, Washington) for two conferences, the SOA & Business Process Conference last week and the P&P Summit next week I figured I could finally do this move.

I haven't moved my content over from .TEXT to Community Server, but my old blog is still available. The RSS feed is now a Feedburner feed, so please make sure you update my feed.

I have made several extensive and interesting notes of the sessions on the SOA & Business Process Conference that I plan to post here in the coming days.