by community-syndication | Mar 13, 2009 | BizTalk Community Blogs via Syndication
Hadn’t noticed this before, but found the complete collection of videos and presentations from this year’s SOA & BPM Conference. I didn’t make it up to Redmond for this, so it’ll be nice to peruse the content which covers topics such as:
Customer case studies
Designing services for “Dublin”
Using BAM for Service and SLA monitoring
Supporting WS*, REST […]
by community-syndication | Mar 13, 2009 | BizTalk Community Blogs via Syndication
Go get it here. This release is significant because they've finally provided a bunch of client-side features through a new generic REST client API called HttpClient. It makes consuming real-world REST services much easier in .NET. I've got several screencasts coming shortly.
Preview 1 focused on providing server-side features for building RESTful services while Preview 2 is focused on providing equally compelling client-side features. The following paragraphs outline these differences (from the CodePlex site):
WCF REST Starter Kit Preview 1
The first set of features in the starter kit is server-side features for building WCF REST services, which enable or simplify various aspects of using the REST capabilities in WCF. These include declarative caching, security, error handling, help page support, conditional PUT, push style streaming, type based dispatch and semi-structured XML support. This functionality is exercised by a set of Visual Studio templates for creating REST services such as an Atom Feed service, a REST-RPC hybrid service, a resource singleton or collection service, and an Atom Publishing Protocol service.
WCF REST Starter Kit Preview 2
Preview 2 of the starter kit introduces a second set of client-side features for accessing WCF and third-party REST services from within .Net applications. The new HttpClient class provides the REST developer with a uniform extensible model for sending HTTP requests and processing HTTP responses, in a variety of formats. The new "Paste Xml as Type" Visual Studio add-in enhances the serialization support in HttpClient by generating serializable types based on XML examples or XSD schema.
Preview 2 only made a few minor changes to the Preview 1 server-side features. The biggest changes were: 1) moving the code from the Service.svc.base.cs file into Microsoft.ServiceModel.Web.SpecializedCollections within the assembly, and 2) moving the REST templates so they now show up as “official” templates (e.g., they're no longer under My Templates). Other than that, the server side features remain the same for now.
I've done a bunch of screencasts on Preview 1 that you can find in the Pluralsight screencast library. New ones on Preview 2 are coming soon.

by community-syndication | Mar 13, 2009 | BizTalk Community Blogs via Syndication
Its available now on Codeplex
– I showed off both the client and server pieces of the starter kit at my full-day
REST seminar at SDWest this week. There are some very useful features
in the kit like:
-
WebProtocolException and an IErrorHandler implementation that returns correct error
codes
-
The HttpClient class and the “Paste as Xml Serializable” feature to help minimize
the work necessary when building RESTful clients
Those are just two of my favorites but there are a lot more. I’ll be using the
HttpClient to help do Conditional GET when I do my Caching in REST talk next Friday
at Mix!
If you are going to be in Vegas – some by and say hello.

Check out my new book on REST.
by community-syndication | Mar 13, 2009 | BizTalk Community Blogs via Syndication
On March 12th, Microsoft has released the second preview release of WCF REST Starter Kit on Codeplex.
The WCF REST Starter Kit is a set of features, Visual Studio templates, samples and guidance that enable users to create REST style services using WCF. While the October release of the WCF REST Starter Kit […]
by community-syndication | Mar 12, 2009 | BizTalk Community Blogs via Syndication
Working with larger EDI files, I’ve always needed to submit large files slowly to the pickup folder so as to not overwhelm the system. I developed a small application to help me do this. Simply specify the Source and Destination folders and press Copy.
If you’d like a copy please visit here:
by community-syndication | Mar 12, 2009 | BizTalk Community Blogs via Syndication
Sign the petition here! See you at Mix.
by community-syndication | Mar 12, 2009 | BizTalk Community Blogs via Syndication
When you install ESB 2.0 guidance from the source (CTP Build 1), the ESB Configuration tool does not compile. This means that in order to configure the Databases and Web Services, you have to manually configure each of these sections by hand. When trying to compile the ESBConfigurationTool solution, the error you get is here:
The issue is that the DirectoryObjectPicker C# Class library project is referencing an Interop assembly named ActiveDs.dll. This assembly, in this build, does not have the correct signature. To circumvent this issue, one option is to try to refresh this interop assembly by re-referencing the Active DS Type Library as show here:
By doing this, an interop assembly is created using the .NET Framework SDK utility called TlbImp.exe. This process invokes the utility to create an interop assembly. However, this assembly that is created by the TlbImp utility is not signed by default.
You may be asking, "what does have to do with the DirectoryObjectPicker project?"
It just so happens that the DirectoryObjectPicker project needs to be signed and eventually installed into the GAC. Any project that needs to be signed and installed into the GAC has a constraint that says any referenced assemblies also need to be signed as well. We reach the real problem here. The original ActiveDs.dll is not signed correctly and the one created by re-referencing and using the Utility is not signed at all. There are ways in which we could just force a signature on an interop assembly, but we should not because we would be, in effect, “spoofing” the assembly. We should use the original manufacturer’s signature and use its interop version of the assembly.
Here’s the fix. Search your Root drive, and look for any file with the name ActiveDs. Chances are that you have installed other libraries or frameworks that use this fairly common assembly. It can be found inside the BizTalk Accelerators, WCF LOB adapter pack, and other .NET Frameworks. The one that worked for me is the Interop.ActiveDS.dll located inside the BizTalk RossettaNet Accelerators A4RN Msi folder:
Once you’ve found the right match, copy this assembly and place it into your DirectoryObjectPicker source folder. Add a reference to this assembly instead.
What you’ll notice at this point is that the project still doesn’t compile. The reason is because the namespaces are not quite correct. Compile the project and inside the source code file (NameTranslator.cs to be specific), where the few errors occur, add a using statement such as this:
using ActiveDs = Interop.ActiveDS;
Adding this line of code will create a Namespace alias that points to the correct namespaces. Compile the project and remove the delay signing on each of the two projects: (DirectoryObjectPicker, EsbConfigurationTool). Build and install the DirectoryObjectPicker project into the GAC, and run the EsbConfigurationTool. You’re done.
Happy ESB'ing!
by community-syndication | Mar 12, 2009 | BizTalk Community Blogs via Syndication
You want to know the ins and outs of WCF at a glance – then the mini-book is a winner.
(Just let this puppy fall out of your back pocket in the office and watch the guys
instantly want to Sync up their Complete Series of Star Trek with you)
Seriously – great guide, easy to flick through and welcome to another 8 million lines
of code you thought you could live without 🙂
Thanks to the efforts of Cliff Simpkins and his team for their dedication
on this.
6 Chapters + Code.are you man enough?
http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=netfxsamples&DownloadId=4962
by community-syndication | Mar 11, 2009 | BizTalk Community Blogs via Syndication
If you are writing a WCF LOB adapter that can be consumed through BizTalk, you need to be aware of certain issues that can manifest because of the way BizTalk interacts with WCF adapters. Some of these can have performance and scalability impact and hence you should consider them when designing/configuring the adapter.
Processing in IConnection/IConnectionFactory instance – When using SSO, for each message, BizTalk will end up creating a new IConnectionFactory and a new IConnection instance. If your adapter is doing a lot of processing in either of those instances, it can cause significant performance impact. So you will need to think of alternatives – possibly doing the processing upfront and caching.
Caching of LOB artifacts on IConnection instance – Typically you will have some LOB artifacts that will comprise the context associated with an IConnection instance. If your adapter is using WCF LOB Adapter SDK’s connection pooling, in the non SSO scenario, the IConnection instances will be closed only when the idle connection timeout expires. So you need to think about freeing up the LOB resources that comprise your connection context. If you make idle connection timeout too small, it would impact performance since LOB connection creation will incur an overhead and if you keep it at a large value then you will be holding on to LOB artifacts for a longer time than you really need to, possible scalability/performance impact.
Writing/promoting properties to BizTalk message context – When the adapter receives a WCF message from BizTalk, it will have all the properties comprising the BizTalk message context. For messages that originate from the adapter, if you want to have properties either written/promoted to BizTalk message context, you can look at http://technet.microsoft.com/en-us/library/bb246105.aspx on how to go about doing that.
Transaction overhead – BizTalk will by default start a transaction and send the message/process the response in that transaction scope. This can cause a significant overhead particularly if say the LOB doesn’t support transactions. In BizTalk 2009, there is an option on the Send port that lets you configure whether transactions should be enabled or not.
by community-syndication | Mar 11, 2009 | BizTalk Community Blogs via Syndication
I wanted a way to not show the MS-DOS prompt while I was working and the Event Log Emailer was running. So I found two methods to have the Event Log Emailer or any MS-DOS prompt not show up while a batch is executing.
Method 1: To have an MS-DOS Batch file run in a minimized window Create a shortcut to the Batch file. Right-click the shortcut and click properties. In the properties dialogue, find the program tab and choose run “minimized” in the pull-down box. Run the Batch file from the shortcut.
Method 2: To have an MS-DOS Batch file run in a hidden window: In these circumstances, there is no MS-DOS window, nor any corresponding Taskbar button, so the Batch Code should begin @ECHO OFF and end with CLS and/or EXIT, or the process may stall invisibly.
For example, if the Batch file to be run in a hidden window is named C:\WORK\MYBATCH.BAT, create the following .VBS file:
CreateObject(“Wscript.Shell”).Run “C:\WORK\MYBATCH.BAT”,0
Requires Windows Script Host installed. Double-click or otherwise execute the .VBS file, for example, with the START command: start MyFile.VBS to run the Batch file invisibly.