by community-syndication | Jun 7, 2010 | BizTalk Community Blogs via Syndication
Having a hard time choosing between Pluralsight and InnerWorkings? This week at TechEd you don’t have to!
Pluralsight has joined forces with InnerWorkings to provide an amazing .NET training special to attendees this week. Both companies offer best-of-breed .NET training solutions that are very complimentary to one another. Pluralsight offers the highest quality On-Demand! training videos on the market while InnerWorkings offers an innovative hands-on learning solution fully integrated with Visual Studio. Combining these two best-of-breed solutions offers you an unparalleled self-paced learning environment for ramping-up on .NET technologies.
All Teched 2010 attendees have the opportunity to purchase a full subscription to both training libraries for the price of one. Simply visit the Pluralsight or InnerWorkings booth this week to register for the offer.


by community-syndication | Jun 7, 2010 | BizTalk Community Blogs via Syndication
Several members of the Pluralsight technical staff are here in New Orleans this week speaking at TechEd. Below you’ll find a list of their talks for easy reference.
Aaron Skonnard
ASI312 What's New in Windows Communication, 6/9/2010 11:45AM
ASI308 Programming AppFabric: Moving Microsoft .NET to the Cloud, 6/10/2010 3:15PM
Keith Brown
BOF07-DV Claims-Based Identity, 6/10/2010 8:00AM
ASI308 Programming AppFabric: Moving Microsoft .NET to the Cloud, 6/10/2010 3:15PM
Matt Milner
ASI201 Intro to Workflow Services and Windows Server AppFabric, 6/8/2010 1:30PM
BOF11-DV How Are YOU Using Windows Azure?, 6/8/2010 5:00PM
David Starr
BOF02-DV What's Really Happening with Agile Teams in the Wild?, 6/7/2010 2:45PM
BOF08-DV Behavior-Driven Development in the Wild, 6/9/2010 1:30PM
DPR302 Behavior-Driven Development in the Real World, 6/10/2010 1:30PM
In addition to this group, there are several Pluralsight technical contributors (On-Demand! authors) here this week speaking, including Julie Lerman, Kate Gregory, Dan Wahlin, Russ Fustino, and several more who are actively authoring new courses for us right now. All of these folks are amazing speakers – so be sure to check them out.

by community-syndication | Jun 7, 2010 | BizTalk Community Blogs via Syndication
Pluralsight has a strong presence at Teched 2010 in New Orleans this week. About 18 of us are here from Pluralsight, including full time staff, instructors, and On-Demand! authors. Four of us are speaking at the show, including myself, Keith Brown, Matt Milner, and David Starr. If you’re here this week, please come by and say hello. We’d love to meet you in person and get your feedback on the Pluralsight training experience.
We are in booth #2544, which is a little off the beaten path. When you enter the exhibit hall, it’s in the back left corner of the room. We have over 400 cool t-shirts to give away, along with some complimentary On-Demand! subscriptions (good for 2-weeks of free training), some full-year subscriptions that we’re raffling off each day, and details on how you can enter an iPad drawing, which will take place online a week after the event.

We’re also doing a limited time special promotion with InnerWorkings for all TechEd attendees. It provides an amazing deal that allows TechEd attendees to purchase a full training subscription to both of our libraries for the price of one. You’ll need to come by either the Pluralsight or InnerWorkings booth to get registered for the offer before the end of the week. Then you’ll have until the end of the month to act on it.
Pluralsight is making a few exciting product announcements this week, which I’ll write more about in a separate post. To summarize, we’re introducing virtual training (think Live Meeting delivery) as a first class citizen in our product line-up – at an amazing price point I might add – and we’re incorporating virtual training benefits into our On-Demand! subscriptions. We are confident this new addition will drive more value to all Pluralsight customers, and especially On-Demand! subscribers, and increase your training ROI throughout the year.
Finally, Pluralsight is hosting a small customer appreciation event on Wed night in the French quarter. If you’re here, you can get an invite at the Pluralsight booth. Space is limited so come by early in the week.
Have a great TechEd everyone!

by community-syndication | Jun 6, 2010 | BizTalk Community Blogs via Syndication
I could make up a statistic that says “83% of all BizTalk schemas use the namespace automatically assigned to it” and probably not be wildly off. That said, I wondered if BizTalk handled all the different namespace styles in the same way. Specifically, does BizTalk care if we use schemas with traditional “URL-style” namespaces, URN […]
by community-syndication | Jun 6, 2010 | BizTalk Community Blogs via Syndication
The videos from the BizTalk performance talk by me and Ewan Fairweather has finally got published on msdn.
Instrument your BizTalk Server
Optimizing and verifying your BizTalk Server installation is not an easy thing to do. The documentation is good but very extensive. This presentation aims to guide you through the most important operations you need to do in order to boost the performance of BizTalk.
Performance Optimization Patterns
This session will present architectural, design, and development patterns to improve BizTalk processing performance. "Performance" can be expressed by latency and/or throughput, and this session will cover aspects of both. This will include pipeline and orchestration patterns to increase throughput, reduce latency, and reduce memory usage during BizTalk processing. We will also cover the results from BizTalk CAT recent Perf engagements.
by community-syndication | Jun 5, 2010 | BizTalk Community Blogs via Syndication
I was really anxious about the new features which would be added to BTS 2010. After seeing and experiencing the new visuals of the BizTalk Mapper tool and other visual enhancements I am satisfied to a certain level. When I was going through the documentation I saw the FTP adapter enhancements so I wanted to […]
by community-syndication | Jun 4, 2010 | BizTalk Community Blogs via Syndication
Windows Workflow Foundation in .Net 4 (WF4) makes it possible for you to build custom activity designers that allow different kinds of users to graphically design business processes. In this episode, Kushal Shah, program manager for the Workflow Designer team, shows us how you can build custom activities with support for the developers and end users who collaborate to build business processes.
Dowload the sample code from this video
For more information, see the Windows Workflow Foundation Developer Center on MSDN.
by community-syndication | Jun 4, 2010 | BizTalk Community Blogs via Syndication
So my new book is available for pre-order here and I’ve also published ourcompanion website. This is not like any technical book you’ve read before. Let me back up a bit. Last May (2009) I was chatting with Ewan Fairweather of Microsoft and we agreed that with so many different Microsoft platform technologies, it was […]
by community-syndication | Jun 3, 2010 | BizTalk Community Blogs via Syndication
1. Right-clicking the workflow project, will show the Add Adapter Service Reference… menu item.
2. This shows the familiar Add Adapter Service Reference dialog box. (Don’t you all agree this tool still looks too much of ‘Form1/Button1’ app? J). After selecting the sqlBinding and providing the ServerName and DataBaseName, the connection was made.
3. This showed all the available metadata for this connection. It is possible to select stored procedures or tables that will be used in the process.
4. Since the LoanRequest needs to be inserted in the database table, the Client contract type was specified and the correct table (LoanRequests) and operation (Insert) were selected.
Using the LOB activity.
1. After clicking OK and performing a rebuild on the project, a new custom activity was added to the Workflow Designer toolbox. Each operation (Insert, Update …) that was selected results in a specific activity that is part of a category with the database object name.
2. Dragging this activity on the canvas, shows that the following parameters can be specified on the shape.
3. I only declared the variable ‘saveLoanResult’ that represents the records that should be added to the database. This variable was linked with the Rows parameter of the InsertActivity shape and is an Array of LoanRequest objects.
4. The InsertResult parameter would return the result of the database activity, but this parameter is optional, so I did not link it with a variable here.
5. The BizTalk mapper activity was added right before the InsertActivity shape. Here, I defined a mapping between the loanRequest and the databaseInsert.
6. Compiling the project and executing the workflow, resulted in a new record in my database table.
Conclusion
The power of connectivity and adapter is now made available to the AppFabric platform in a standardized and user-friendly way. It is now also easy to connect to various LOB systems, databases and host systems (using the BizTalk Adapters for Host Systems).
What is not clear at this point is how the licensing will work for these AppFabric features. But more information about that can probably be expected by the time of the public release.
Sam Vanhoutte
by community-syndication | Jun 3, 2010 | BizTalk Community Blogs via Syndication
[Source: http://geekswithblogs.net/EltonStoneman]
Recently I’ve been putting together a generic approach for paging the response from a WCF service. Paging changes the service signature, so it’s not as simple as adding a behavior to an existing service in config, but the complexity of the paging is isolated in a generic base class.
We’re using the Entity Framework talking to SQL Server, so when we ask for a page using LINQ’s.Take() method we get a nice efficient SQL query for just the rows we want, with minimal impact on SQL Server and network traffic. We use the maximum ID of the record returned as a high-water mark (rather than using .Skip() to go to the next record), so the approach caters for records being deleted between page requests.
In the paged response we include a HasMorePages indicator, computed by comparing the max ID in the page of results to the max ID for the whole resultset – if the latter is bigger, then there are more pages.
In some quick performance testing, the paged version of the service performed much more slowly than the unpaged version, which was unexpected. We narrowed it down to the code which gets the max ID for the full resultset – instead of building an efficient MAX() SQL query, EF was returning the whole resultset and then computing the max ID in the service layer.
It’s easy to reproduce – take this AdventureWorks query:
var context = new AdventureWorksEntities();
var query = from od in context.SalesOrderDetail
where od.ModifiedDate >= modified
&& od.SalesOrderDetailID.CompareTo(id) > 0
orderby od.SalesOrderDetailID
select od;
We can find the maximum SalesOrderDetailID like this:
var maxIdEfficiently = query.Max(od => od.SalesOrderDetailID);
which produces our efficient MAX() SQL query. If we’re doing this generically and we already have the ID function in a Func:
Func<SalesOrderDetail, int> idFunc = od => od.SalesOrderDetailID;
var maxIdInefficiently = query.Max(idFunc);
This fetches all the results from the query and then runs the
Max() function in code. If you look at the difference in
Reflector, the first call passes an Expression to the
Max(), while the second call passes a Func. So it’s an easy fix – wrap the Func in an Expression:
Expression<Func<SalesOrderDetail, int>> idExpression = od => od.SalesOrderDetailID;
var maxIdEfficientlyAgain = query.Max(idExpression);
– and we’re back to running an efficient MAX() statement.
Evidently the EF provider can dissect an Expression and build its equivalent in SQL, but it can’t do that with Funcs.