The Ramblings of Two Microsoft .NET Developers, TFS, and Visual Studio ALM Guys --- "Yes, we are both named Ed."

BizTalk and WMI



This will be a rather short blog post because I intend to write a much longer blog post about a this topic once I finishing coding a side project that uses WMI with BizTalk. So for now I am just going to throw down some quick, dirty code and explanation to show the power and usefulness of this topic.

If your a BizTalk guy, you probably get tired of opening the HAT and saving messages then terminating. Unless of course your BizTalk solution is just perfect and this never happens to you...ya ok.

What I am going to do is show you quick example of how to generate Managed WMI classes for BizTalk and show an example of how useful it can be.

First thing is to download this:
Management (WMI) Extensions for Visual Studio .NET 2003 Server Explorer

Next thing is connect to the BizTalk box with Server explorer in Visual Studio. Right click on the "Management Classes" and click "Add Classes"
 

Now Select "ROOT\MicrosoftBizTalkServer" and click "ADD>"

Now you see all the classes you can deal with in your Server Explorer.
Right click on "MSBTS_ServiceInstance" and select "Generate Managed Class"
Now you have a class file in your solution that you can program with.
 

Pretty cool eh?
Go ahead and generate one more class from "MSBTS_MessageInstance"

So, lets writes some quick dirty code to do something. I am sure I have at least 100 suspended messages on my local BizTalk server box to work with here :).

   11  ROOT.MICROSOFTBIZTALKSERVER.ServiceInstance.ServiceInstanceCollection _colServiceIns;
   12 
   13   //get a collection a ServiceInstance that are in "Suspended Not Resumable" status
   14   _colServiceIns= ROOT.MICROSOFTBIZTALKSERVER.ServiceInstance.GetInstances
(String.Format("ServiceStatus='{0}'", 32));
   15 
   16   //Loop though them
   17   foreach(ROOT.MICROSOFTBIZTALKSERVER.ServiceInstance _serviceIns in _colServiceIns)
   18   {
   19 
   20       Console.WriteLine("ServiceInstance GUID: "+ _serviceIns.InstanceID + "\n");
   21       Console.WriteLine("Error: " + _serviceIns.ErrorDescription);
   22 
   23       ROOT.MICROSOFTBIZTALKSERVER.MessageInstance.MessageInstanceCollection _messCol;
   24 
   25      //get a Collection of messageInstance with a condition that the ServiceInstanceID 
   26      //of ServiceInstance is equal to ServiceInstanceID of MessageInstance
   27      _messCol= ROOT.MICROSOFTBIZTALKSERVER.MessageInstance.GetInstances
(String.Format("ServiceInstanceID='{0}'", _serviceIns.InstanceID ));
   28 
   29      //Loop though the MessageInstance collection and save off the message
   30      foreach(ROOT.MICROSOFTBIZTALKSERVER.MessageInstance _messIns in _messCol)
   31      {
   32          Console.WriteLine("Saving to File");
   33          _messIns.SaveToFile(@"C:\here\");
   34          Console.WriteLine("Done Saving");
   35      }
_serviceIns.Terminate();
   36   }

All that happens here is, we get a collection of ServiceInstance that are "Suspended Not Resumable", loops through some of the properties and displays them. Then, matches up the MessageInstance with its ServiceInstance and saves off the message to a location on disk and Terminate.

Here is our output.

 

Ed K.

Posted in


Microsoft Visual Studio Team System Training



I have not seem too many companies offering quality training on Visual Studio Team System yet. I just saw that Notion Solutions have a training track offered in several locations and even on-site. Their prices look unbelievable, considering who the instructors are, Chris Menegay and Dave McKinstry, both Team System MVP's. I have seen these two guys present at Launch Events and .Net Users Groups; they are awesome! If anyone is looking for great training at an outstanding price check them out.

They have not posted a schedule/curriculum for 2007 training yet, but here is a link to the 2006 one, to get an idea of what they offer.

Here is a list of Microsoft Visual Studio Team System Training Partners.

Ed K.

Posted in


MSDN Style Documentation Tool



Microsoft has recently released a version of their application that generates the .NET Framework documentation that we see and love...  You can take a look at it and get more information about the project codename Sandcastle here:  Sandcastle Team Blog

Download the December 2006 CTP here:  Sandcastle - December 2006 CTP Download

Some of the high level features:

Sandcastle produces accurate, MSDN style, comprehensive documentation by reflecting over the source assemblies and optionally integrating XML Documentation Comments. Sandcastle has the following key features:

  • Works with or without authored comments
  • Supports Generics and .NET Framework 2.0
  • Sandcastle has 2 main components (MrefBuilder and Build Assembler)
  • MrefBuilder generates reflection XML file for Build Assembler
  • Build Assembler includes syntax generation, transformation..etc
  • Sandcastle is used internally to build .Net Framework documentation
  • Ed B.



    How to Make Users Happy



    Our new team at Infragistics, the User Experience (UX) Group, has come out with an article on Code Project about creating fantastic user interfaces using the NetAdvantage family of products. Kudos to several on the UX team who wrote and edited!

    Be sure to check it out!  How to Make Users Happy Article

    Ed B.



    Upgrading Team Foundation Server to SP1



    So watch out for the mysterious 28002 Error Unknown.  It really took me a little while to figure this one out.  I was updgrading a client's TFS server and they are using TFS Workgroup Edition and I was getting this annoying error when installing the KB919156 prerequisite to SP1.

    Well, if you have 5 users (which is the limit for the workgroup edition) you are going to receive this error... Dave Glover writes a good explanation of this:  TFS SP1 Article

    You need to remove one of the users from the "Team Foundation Licenses Users" group and add them after the SP1 install is finished.

     

    Ed B.

    Posted in TFS


    SonicWall Firewall



    So I just need to take a minute or two to say a few words about SonicWall. I usually will not get angry with a vendor but this is an exception mainly for the way I have been treated as a customer.

    As you know I am a consultant, so I must be on top with the newest and greatest products that are solid i.e Vista. I, of course installed Vista soon as it was available to MSDN subscribers. As an owner of a SonicWall Firewall I am now crap out of luck connecting to my network since the their VPN Client does not yet support Vista. I have called several times to get a status of a beta, so that I could help them perfect the application as well as have a dogs chance of connecting to my servers, I received unhelpful responses such as this "We did not say we were going to support Vista when you bought it", "Would you like a refund?", "Have you tried any other VPN Clients to see if it will connect?" WOW!!!! great responses from a company that is  a world wide leader in firewall products....... Cruse on over to the Sonic Forums and check out all the post of customers posting "We just dropped Sonic and went with Cisco". No not threats but actual actions of product drops. The company has not even responded to any of the posts on the forum....... I must say I posted a few comments as well hoping maybe an executive would check out the forums every once in awhile (you never know).

    So your probably thinking..."Well Vista has not been released to the general public yet, that's not till Jan 30. So there still on top of their game"... Hello...... general users are not the ones interested in firewalls. Here is the kicker.....I read that Sonic did say they will have a VPN Client that works on Vista sometime in the late first quarter to early second quarter of 2007. I have no facts on that, just stuff that I have read in several places.

    My next firewall will be a Cisco for sure! Yes, Cisco had a beta for Vista out quick, which I used to connect to another network I work with.

    So my rant is done... I believe in the consumer speaking out....If your quite, companies will continue to disappoint the consumer with no repercussions.

    Ed K.

    Posted in


    DotNetNuke 4.4.0 Starter Kit issue



    If you are deploying a pre-complied DNN website developed from the starter kit you will run into issues. The issue you will see is that App_GlobalResources cannot be found. The directory App_GlobalResources is removed and all files are compiled into an assembly.

    The work around solution is this:
    Download the DNN Source. Navigate to:

    Project - DotNetNuke.Library
    SourceFile - Localization.vb

    Find Public Const ApplicationResourceDirectory As String = "~/App_GlobalResources"
    rename the value to "~/AppGlobalResources"

    Recompile and replace DotNetNuke.dll in your DNN Sites Starter kit bin

    Go to your solution and rename the App_GlobalResources to AppGlobalResources.

    Rebuild

    You should be good to deploy to your target box.

    Ed K.

    Posted in


    Moving to New Jersey



    So it's been known by the other Ed and few choice co-workers... but I'm moving to New Jersey.  Somewhat scary (considering the movers are coming in T-minus ONE WEEK!) and the fact that I know no one in New Jersey except the great people I'm working with.

    Oh yeah, I didn't say who I was working with, did I?  I have the privilege to join the Infragistics team!  I'm going to be starting out as the Best Practices Engineer.  Awesome title huh?  Not as cool as say... Codemunicator; but we'll work on it!

    It is sad to be leaving Ed K after working together for so long... But we've decided to continue the branding and work together still in the future with our shared interests (what exactly are they?)  Ed's a Data Guy and I'm a UI Guy.... how does that work out?  Well that's what's been so great about our partnership.  I LOVE working with Ed.  He's everything I'm not!  I'm not afraid to take my stupid "Ed my query is taking too long, what's wrong?" questions to him!  (And it's always funny when he brings his GUI's that have like text boxes all over the places with different sizes and not even lined up - you know which ones I'm talking about! Then he asks "There's nothing wrong with it - it's beautiful!)  HA HA :)

    How did it all begin?  Well... at the Tulsa Tech Fest in October, Ed K, Tim and I joined Caleb  and the rest of the speakers out to have drinks.  Did I mention how great the group of speakers were?  Anyhow, so I'm sitting with the guys, Ambrose, and Shaun Walker and we're just talking and somehow we start talking about UI or something... after a couple of drinks of course!  I just gave my spiel about UI and if you haven't ever heard it before, then just keep watching for posts; I talk about it all the time!  (Tim and Ed K. are sworn to secrecy about some of the stories that night!)  I stalled for a while since it was the middle of a huge deployment at the client I was at (and still am.)  But seriously... it was a crazy idea for me at the time to move from Texas to New Jersey; a place I had never actually been before.  It's not like I was afraid of the East Coast (I lived/worked in DC for a while a couple of years ago.)  It's just that... well... OK, so I started to get rid of the reasons why I shouldn't move.  I'd like to thank Ambrose for bothering me for several weeks to send my resume to him!  Without it, I wouldn't have come to my senses to accept the position that is most perfect for me.

    Visiting Jersey and Infragistics was a lot of fun!  Wait did I just say that?  Seriously, the interviews were fun.  I really enjoyed the talks and the more I was the there the more I knew that I needed to be there.  Great People, Great Environment, Great Job...  I really couldn't ask for more and before I left the building I knew I just needed to figure out how to get through the obstacles (which I did.)  I will be working alongside a ton of great people.  I already told you about Ambrose but if you haven't ever met Jason Beres... wow! Quite the character also.  Being surrounded by really great people who are passionate about the presentation layer is something I know will just help my improve my skills.

    I'm having to put a couple of my personal development projects on a hold for right now... I'll pick them back up when I get settled and actually find some friends :)

    So I've pretty much three working days left.  It looks like I'm spending the entire time boroughing through the red tape of the Integration Lab to prove that Click-Once deployments are really not.

    Now for those of you who always ask me about the "Telerik vs. Infragistics" questions and my opinions about each release from the companies, I have always done my best to stay objective and I plan to.... with reason of course!  There are things about both company's control suites that I love but anyone who has talked to me before knows that I prefer the Infragistics toolset over Telerik any day.  I'm hoping to take what I know about the different companies and make the Infragistics toolset that much better!

    Hope everyone has had a Happy Holidays and wish everyone a great new year!  I'll post my new Infragistics blog whenever I get it set up....

    Take care,

    Ed B.

    Posted in


    "Rocky Balboa"



    I usually do not blog about movies but this is definitely an exception. I grew up watching the "Rocky" saga, I am a die hard fan and seriously look at Rocky as an idol. For years there had been rumors of a Rocky 6 being written but never did I see anything; I felt robbed at not getting a final chapter in the life of the Italian Stallion; I am now satisfied :).

    The movie was overall great. The story could have used a little more work to fill in some gaps after Rocky V but it was still a very riveting story line. The acting was good, Sylvester Stallone delivered a realistic character and still had the good 'ol accent we have all grown to love and mock. I was displeased with the absence of a few key characters but surprised at the reentry of some very obscure characters. As you know, the movie always has a big fight scene that the story builds up too but I did not like the camera angles and feel of the frame for the first few rounds, it was kinda like watching boxing on TV, which they have done this in all the movies but this one just took it overboard and lost the movie feeling. During the last rounds they use to much mise en scène, they tried to hard to bring a psychological unity to each frame set. The movie ends a bit different than you would think but, its the final movie, so I expected that. I was pleased with the ending and felt closure with the Rocky chapters. I bid a farewell to Rocky, I have enjoyed sharing in the moments of his climb to fame, fall into retirement and rise in achievement to become a lasting legacy in the hearts of the American people.

    I don't want to ruin the movie so I will say no more. Drop your 9 bucks and watch this movie, you will love it :) !

    I give the movie two enthusiastic thumbs up! I can't wait to round out my Rocky DVD collection with the last.

      Rocky (1976)                           Rocky II (1979)                         Rocky III (1982)       
       

      Rocky IV (1985)                         Rocky V (1990)                         Rocky Balboa (2006)

    Ed K.

    Posted in


    Black Belt XML - Tim Rayburn



    Tim Rayburn of TimRayburn.net presented at the Dallas .Net Users Group this month. This was one of the best presentations I have heard in a while. Tim Rayburn is a big BizTalk guy in Dallas and when it comes to XML he is Master Yoda. He reviewed XML namespaces, XPath syntax, and closed with a review of the XmlReader object in the .NET Framework. There were awesome questions that spurred great conversations and best practice discussions. He has posted his notes, code samples and slides on his blog. Check them out you will definitely learn something.

    Get the slides and code samples HERE.

    Ed K.

    Posted in