Ben Runchey’s Integration Dev Blog

a.k.a Ben’s spot to put stuff he does not want to forget

What I learned yesterday 5

  • Free file sharing – I remember back in 2000 when everything was going to be on the internet but the bandwidth just wasn’t there to support using the internet for everything like file storage, pictures, etc.  But now that bandwidth is not a problem, I am really enjoying the free tools and applications available.  Right now I am using Box.net to store my files that I cannot easily upload for my blog or to just easily have access to things I use at various client sites, but might not have for one reason or another. 
  • More SharePoint web services fun (or rather confusion) – The FileRef field should not be encoded when you are trying to update/delete a file using the UpdateListItems web method of the List web service.  Thanks to Geoffry Samper for his post here .
  • Repeatable deployments in BizTalk.  – Looks like Brian Loesgen and Paul Petrov have each individually done a certain part of what I was planning to do with a bit of my free time using BTSTask.  Hopefully I can take these ideas and build on them for my own diabolical needs.
  • Pretty cool panoramic of the inside of an Airbus 380 cockpit http://www.gillesvidal.com/blogpano/cockpit1.htm
  • Rockford Lhotka has an article which I agree with here .  Actually he has many articles I agree with in his Lhotka’s Labyrinth column in Visual Studio Magazine.

January 31, 2008 Posted by | What I Learned Yesterday | , | Leave a comment

What I Learned Yesterday 4

Bit of knowledge for you terminal services users.  If a machine is just wacko and you cannot quite get things to clean up when it comes to the number of terminal server connections  use mstsc /console at the command line to run the remote desktop tool.  This switch will ignore the max number of administrative connections to a server.

A pretty cool Biztalk documentation utility for finding out how all of those really great posters map back to the help file can be found at the BizTalk server team blog here.  Check this one out!.

While the use of the WSS adapter within BizTalk makes life a lot easier, installing it in your environment when your SharePoint site is on another server is a different story.  It is not that this is hard, but it is not really clear.  So I had to put together a document help out a SharePoint admin at a client of mine so that we could get the adapter web service installed on the SharePoint server.  Find the document here

The solution I am currently working on uses a few document libraries within SharePoint to  keep track of what status a file is in.  We tried to use Views exclusively, but the problem here was getting the security right.  And since we wanted to allow for custom views still, it was too big of a pain.  So we created different document libraries and assigned rights at the document library level, it made things much easier.  The next need was to get all of the necessary Columns and views set up correctly across these three Document Libraries in an automated fashion.  So I created this little application which takes in an XML file to drive the process using the SharePoint object model.  You can download it here.  While this is not the world’s greatest utility, it works and can be used as a basis for future needs. 

Also while working with Sharepoint Object model to create a view within a Document Library that only includes the files set the “Scope” property of the SPView object you are working with to “SPViewScope.Recursive”.  While I think this is understandable, why is it that the API for doing things always seems to have a few areas where they just cannot name things the same (or even remotely the same in this case) as what you see through the UI.  In the UI this is the “Folders” area of the view

I have been doing software for a while now (last 11 years), and I am a big fan of breaking down bigger problems into its smaller core parts, solving each, and then reassembling them to create the solution.  This is for one main reason, smaller is usually simpler.  Smaller teams, smaller problem domain, etc.  While eventually we have to pay the piper and assemble our small parts into the grand solution, even this can be broken into a few core parts.  I found a good arguement for small teams here that I have to agree with.

Upgrading BizTalk 2006 to BizTalk 2006 R2 nuance:  to get the WCF adapters and EDI/AS2 options installed you have to run the installation AGAIN after upgrading.  The upgrade only upgrades your existing configuration.  The additional install will allow you to add the WCF and EDI/AS2 options to your configuration.  Again this makes sense, but is not really clear from reading the documentation.

January 25, 2008 Posted by | What I Learned Yesterday | , | Leave a comment

What I Learned Yesterday 3

  • I have never really spent any time trying to figure out the trusted vs. untrusted host concept in BizTalk.  Then finally the other day I was moving an application from my virtual machine to one that a client of mine was using.  In the process when trying to apply the binding file, my hosts were all marked as trusted, while his hosts were not marked as trusted.  Just to make sure we were not getting into something that would create a problem I did a little research and found this great article by Richard Seroter about when the “trusted” flag comes into play.  It appears it plays an important role when you want to pass through the credentials of the calling application/user to the destination system.
  • Been spending a lot of time with SharePoint recently mostly on the integration side in pushing documents to SharePoint using the BizTalk SharePoint services adapter.  But I also had a need to delete some files, create directories and sub directories within Document Libraries.  All of the things that I cannot easily do with the SharePoint Adapter.  Or if I can, it is not easily figured out. So I am using the WSS Web Servicesto do all of the things that the Adapter does allow me to do.  Doing a search on “sharepoint services web services” brings up a whole host of articles people have written in the past, so I won’t go into it.  The really interesting thing about these are how you can tell their age from the signatures.  Rather than having a good strongly-typed object to pass into a method, all of the methods take either a string, or an int, or just an xml document which must adhere to a structure. The documentation covers all of this, but it is definitely easier coding to a strongly-typed object than an xml document.  Misspellings can become a real pain.  Also, for queries CAML is used, which while understandable is really again quite archaic
  • Continuing to work with BTS Task and found out a gotcha about the “Overwrite” flag in the AddResource option.  In order for you to overwrite the files you need to have all of the hosts that are referencing them turned off, or at least not have the file loaded into memory just yet.  That killed about 30 minutes as I tried to figure out why it would not let me overwrite a file.
  • Windows Sharepoint Services Adapter for BizTalk.  Remember there are two parts to this guy.  One the adapter runtime which must be installed on the biztalk server itself.  The other is the WebService side.  If you look at the site you install the adapter into there is an application named BTSharePointAdapterWS within it which runs inside of a different app pool than the site this application is in.  The moral of the story is that any SharePoint server you want to send a message to using the adapter must have this web service installed.  I will put up a post on this a bit later describing what to do.

January 16, 2008 Posted by | What I Learned Yesterday | , , | Leave a comment

What I Learned Yesterday 2

  • The BTSTask application that I spoke about yesterday really seems to get the job done quickly for me.  How it took me this long to actually spend some time with it is puzzling.  I really like it!  The biggest challenge in using it is that it is a command-line tool, so using it within Visual Studio is not something I am really skilled at just yet, so I am trying to make it a stand-alone tool for myself. 
  • When the Pre and Post ProcessingScripts for BizTalk Deployments execute are somewhat puzzling to me.  Not that it is that hard to understand the concept of a Pre or Post script on installation so much as it is when they run and what will be in place for me to utilize.  I have a few batch files I want to execute, but I cannot seem to figure out how to get them to execute from my custom script.  I suppose I could put them into the script, but that is not as flexible for me.  More on this to come…
  • I think that the ugliest trophy in all of college football (and maybe sports for that matter) is the Fiesta Bowl trophy.  I am not sure who designed it or what they were thinking, but what ever happened to a nice solid gold bowl of tostito’s corn chips? Tonite it is the Orange Bowl who’s trophy with oranges and without looks atleast tolerable…

January 3, 2008 Posted by | BizTalk, What I Learned Yesterday | Leave a comment

What I Learned Yesterday 1

 – Beware the BizTalk 2006 R2 Trial edition.  Ran into a situation where the trial edition was installed and had expired.  I was unaware that it was the R2 trial edition, since in the the list of adapters none of the WCF adapters where present.  So I thought I would just reinstall the Enterprise version of 2006.  This created lots of problems with WMI and ruined my Virtual Image.  Good thing there was a backup of the image.  So uninstalled it first off the image the second time around and everything looks good so far.

– Installing a custom Biztalk application.  While I really like Scott Colestock’s Deployment Framework for BizTalk, not all of the places I do work at are quick to embrace it.  I think because sometimes it is like killing a fly with a sledgehammer for smaller applications.  So as an alternative I have been spending some time with BTSTask and just creating a batch file to execute which adds my additional resources and binding files.  This in conjunction with the Deploy command in visual studio creates a rather easy way to get a BizTalk application to export a valid .msi file.

–  I was out DevHawk.net the other day and found out about a cool appliation from the MSDN Architecture Center for reading the Architecture Journal, which can be downloaded here.  While I could go into detail here about all of the interesting and handy features it has Richard Seroter has already done this on his blog here.

– Last piece is the about book that I am almost done reading Pro WF by Bruce Bukovics is really well put together in my opinion.  It is not really about building one application so much as it is about disecting all of the pieces that make up WF.  For a BizTalker such as myself I really enjoyed it because I can see how many of the components translate directly to things I deal with every day in BizTalk orchestrations such as compensation, dehydration, tracking, etc.  Now I just have to get my “I owe you lunch application” updated to use it. 

January 2, 2008 Posted by | BizTalk, What I Learned Yesterday | , | Leave a comment