BizUnitExtensions – whats cooking?

BizUnitExtensions – whats cooking?

 I know its been rather quiet on the BizUnitExtensions front, but never fear, theres lots of stuff to come. But firstly, i do hope Kevin Smith responds to my comments on his workspace on joining forces. Im still waiting patiently. Although its good to see a new BizUnit core release with bug fixes and changes, its actually beginning to get problematic now because we have made changes to the core of the BizUnit class and other classes such as Context and now we have to port everything to the latest BizUnit codebase in order to keep things consistent and doing this to a code base which has now structurally changed is not easy. Added to that is the fact that we also wanted to change the structure of the code base (so we keep the standard test steps in one, biztalk specific things in another, msmq in yet another etc) so thats got to match up as well. I suppose these are the kind of scenarios where the C# 3.0 extension methods would come in really handy. Maybe its a good time now to break away from the BizUnit label and move to the more generic integration testing framework. What do BizUnit (and Extensions) users think about this?

Anyway, a good discussion has started on the forums at the extensions site (www.codeplex.com/bizunitextensions) with one of the new users querying BizUnits actual value (Why BizUnit) and finding some answers in the roadmap. I guess the reply to the question would be worth a blog post on its own!

So whats cooking with the Extensions project? Well, first of all I need to put down a release calendar showing whats coming up (based on the roadmap) in the next few releases, but right now the target is to get all the step properties, constructors etc public and to get entlib logging working. I have finished the entlib logging and will make it available as soon as possible. Its rather raw right now (ie) its a simple log format that more or less mirrors the console log but to a text log sink. i hope that this will stimulate some discussion in the community so we can improve the kind of logging (to event logs, perf counters etc).

Making the properties etc completely public is proving to be rather involved and raises lots of questions. For instance, if one could execute a step (for example, filecopy)  independently (by just setting the properties and calling Execute) and could do the same for all steps in the test case, then the question arises as to what value does the BizUnit testRunner provide ? Some possible answers are that it provides
(A) Execution context (but this could also be set and passed in) and the ability to keep a constant thread of logging through all the steps and
(b) also provides parallel execution (but MbUnit could provide that). (Speaking of MbUnit, it definitely looks much better than NUnit and i should try running BizUnit inside MbUnit to see what extra stuff i can squeeze with MbUnit.)

I think it might be a better option to provide the ability to set step properties in code but once we create a collection of steps, we would pass the collection to BizUnit and say RunTest(TestStepCollection). This way BizUnit can manipulate context and keep full control. The Execute() methods would all then become “internal” and available to friend assemblies rather than public. If you are using the tool currently or planning to then head down to the codeplex site and post your thoughts on this or email me.

MVP Summit 2007

There was a delay in posting this, but just wanted to write a quick note on the MVP Summit that I attended last week (March 12 – March 15)


Overall this was an awesome event, well organized, great sessions.


Thanks to Sasha Krsmanovic (MVP Lead – Canada) who provided all the Canadian MVP’s with Red Olympic Hockey Jerseys worn on the 2nd day of the summit.  This really pumped up the Canadian MVP’s at Bill Gate’s key note that carried on during the  rest of the Summit. I received quite of few comments from other non Canadian MVP’s about the jersey even when I wasn’t wearing the jersey on day 3 of the summit

First couple of days at the summit I was hanging out with fellow MVP Objectsharpees
(past/present and future?):
Barry Gervin  
Bruce Johnson 
Rob Winsdor   
Matt Cassel   
Jean Luc David
Justin Lee
    

Next couple of days of the summit, I was at the BizTalk/ Connected Systems Division specific sessions.


Below are some of the BizTalk MVP’s at the summit. The below list does not cover all of the 
attendees, but some are as below:

Tomas Restrepo 
Brian  Loesgen 
Scott  Cairney 
Ibrahim  Gokalp
Paul  Somers  
Stephen Thomas
Alan Smith    
Romualdas Stonkus
Jon  Flanders 
Jesus Rodriguez 
Mick  Badran 
Scott Colestock 
Jon Fancey     
Jeff Juday           
Charles Young    



Here are a few posts on the content of the BizTalk/Connected System MVP sessions.


Day3
Day3
Day4



Finally a big thanks to Marjan Kalantar (Microsoft’s Connected Systems Division Community 
Lead), who put together and organized an eclectic spread of talks that covered the Connected 
Systems Division and the informal sessions with the Product groups.


 

Technical Briefing Wrap and HOLIDAY!

Technical Briefing Wrap and HOLIDAY!

First of all what does it look like to talk to nearly 2000 people?


Well here is a picture I found on flickr of 900 people… yup I’m in there #9 top row.



Think double this and we will be just about there!


It was all of you that made this event so successfull, THANKS!


Darryl did a great job of MC’ing the keynote at the events and holding it all together! The mindscape guys have done a great job bringing my backgroundmotion idea to life!


Presentation: Web Standards Compliance


Presentation: Extending Application Reach


Presentation: Building Composite Applications


In fact all the pptx decks are now online.


My presentation Building applications users love is there but without the link to the video that I promised.


Click the picture below to watch the Video!



I leave tomorrow for a trip around Europe with my wife and daughter followed by Mix in Las Vagas. The best part is that I’m not taking my laptop! See you again on the 7th of May if not a little sooner!

Goodbye Synergy hello London

I haven't posted for a while I've just finished work on a Banks SOA framework written with extensive use of WCF (which is very very extensible!). Started work implementing their Kiwisaver group investments initiative in BizTalk 2006 R2. We were one of the first out of the blocks in utilising the R2 WCF adapter (could be a bit more configurable), the WCF interceptor and AS2 adapter (interesting BAM continuations). Then after 3 years I decided to leave Synergy and go freelance for a while before moving back to the UK. On the same day I left Synergy I sold my bach and bought a new investment property so it's been busy.

It's been a truly fabulous 3 years working for Synergy International in New Zealand which has recently been re-branded as Fronde. For those of you looking for a change to kick start career development this professional organisation is continuing to grow in all the right directions, they offer great training opportunities, working and learning from very experienced people in a family oriented enviroment.

Well for the next few months I'm integrating a portfolio CRM to an investment banks core trading systems again in BizTalk among other things using BAM for system testing which I will post on later.

Ciao

Rob

WCF Bindings Summary/Comparison

In my ongoing quest to produce the simplest table possible summarizing the key differences between the various Windows Communication Foundation (WCF) built-in bindings, I came up with the following:
Binding Class Name
Transport
Message Encoding
Message Version
Security Mode
RM
Tx Flow*
BasicHttpBinding
HTTP
Text
SOAP 1.1
None
X
X
WSHttpBinding
HTTP
Text
SOAP 1.2
WS-A 1.0
Message
Disabled
WS-AT
WSDualHttpBinding
HTTP
Text
SOAP 1.2
WS-A 1.0
Message
Enabled
WS-AT
WSFederationHttpBinding
HTTP
Text
SOAP 1.2
WS-A 1.0
Message
Disabled
WS-AT
NetTcpBinding
TCP
Binary
SOAP 1.2
Transport
Disabled
OleTx
NetPeerTcpBinding
P2P
Binary
SOAP 1.2
Transport
X
X
NetNamedPipesBinding
Named Pipes
Binary
SOAP 1.2
Transport
X
OleTx
NetMsmqBinding
MSMQ
Binary
SOAP 1.2
Message
X
X
Notes: X = Not Supported, WS-A = WS-Addressing, WS-AT = WS-AtomicTransaction, OleTx = OleTransactions
* Transaction flow is always disabled by default, but when you enable it, these are the default tx protocols
Although some of these values can be configured differently on certain bindings, the table shows the defaults in each area. I’m pretty happy with this one.
TechDays 2007: WF Extensibility With Custom Activities

TechDays 2007: WF Extensibility With Custom Activities

The second session I delivered at the event was more lively than the first, and also much simpler. A level 300 session, but focused on beginner developers in .Net 3.0’s WF.

There are two features of WF, which I was unfortunately unable to demonstrate at the session, which I really love: first, dynamic  instance update – the ability to modify a running workflow in runtime, adding new activities and modifying its behavior. I can think of several uses for this, some on a professional level, some for fun. 🙂 The second is using custom activities together with WF to define Domain-Specific languages. Simpler than the DSL toolkit (and also  with distinct applicabilities), and given the fact that you can run your declarative XAML workflows without recompilation, it’s something I’m really looking into.

.NET 3.0 Training (WCF + WF + WPF + CardSpace)

We are pleased to announce a new training course focused on ramping developers up on .NET 3.0 — Applied .NET 3.0.
It covers the four pillars of .NET 3.0 including Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), Windows Presentation Foundation (WPF), and Windows CardSpace. The course will be offered publicly or it can be scheduled privately for onsite situations. You can check the course page for upcoming offerings or you can subscribe to our course schedule feed.
Please contact us with any questions.