by stephen-w-thomas | Oct 28, 2008 | Stephen's BizTalk and Integration Blog
Make sure you check out the video content on Oslo available on BizTalkGurus.com:
First Look at Quadrant – Oslo’s Modeling Tool
First Look at M – Oslo’s Modeling Language
Oslo is the codename for Microsoft’s Modeling Platform. The end goal of Oslo is to increase productivity by promoting the use of model-driven applications.
Oslo is composed of three pieces: a Tool, a Language, and a Repository. In this blog post, I will share some features and screen shots of the tool and language.
The Tool for Oslo is called Quadrant. Quadrant is a universal modeling UI with robust features. The main windows is called a workspace. You can have multiple workspaces open at any given time. Single windows open inside a workspace are called a workpad.
Below is a picture of Quadrant with a workpad open in the workspace.
(Click picture to enlarge)
Quadrant has a top level ribbon bar much like Word. This is shown below.
(Click picture to enlarge)
In the bottom left of the main Quadrant windows, you have an Explorer button and Search Box.
The Explorer window expands as items are selected with the sub-results displayed to the right. A hand with 5 fingers shows how to select items. Scrolling is identified by a mini-scroll bar to the right of the hand. To add new items to the workspace, move to the left icon of the items you want to add. The hand will turn to 3 fingers. Hold the left mouse and drag the items to the workspace. You can also drag-and-drop from the top ribbon bar as shown below.
Many models will have relationships to each other. In these cases, available fields from other models will be show in a populated drop down as seen below.
This should give you a high level overview of the look at feel of Quadrant.
The second key component of Oslo is M – the new Modeling Language. To code in M you use an awesome, lightweight tool called Intellipad. Intellipad with a completed model are shown below.
(Click picture to enlarge)
Looking a little like Wordpad, do not be fooled. This is full featured, complete with red underlines for real time validation.
Going to the M Mode menu on the top toolbar, generating actual SQL based on your model is only a click away. Below, is the same model with a side by side view of the model and the SQL to generate that model inside SQL Server.
(Click picture to enlarge)
Running this model would produce these results inside SQL Server.
One of the core concepts that make up Oslo is the idea to define models using Domain-Specific Language (DSL). In fact, using M you can create you own DSL! Below, you can see how I created a AllMyPets DSL to track the name of my pets.
The third piece of Oslo is the Repository. This repository is a SQL 2008 Database. Using a database as the repository allows for easy access to the stored data and a way to share it. Security, backups, and scaling are all included using SQL Server. This will not be covered in any more detail in this blog post.
Make sure you check out these other Oslo Resources:
Oslo – PDC-08 CSD Bits Review
MSDN Oslo Dev Center
Models Remixed
by stephen-w-thomas | Oct 28, 2008 | Stephen's BizTalk and Integration Blog
Today is a great day to be a BizTalk Developer! Why? Microsoft has introduced .Net 4.0, Windows Application Server (Dublin), and Microsoft’s Modeling Platform (Oslo). These new technologies compliment the existing Connection System technologies.
As you look though the various technologies one thing is consistent: Take the best things of BizTalk and allow others outside of BizTalk to leverage it!
I’ve put together over an hour of first look videos to help show the new features of Microsoft’s latest offerings.
The following videos are now available on BizTalkGurus.com:
First Look at Windows Application Server (Dublin) – If you do not watch anything else, watch this video! This video takes a look at the new Windows Application Server features. It shows how to export existing applications and import them into another host on another server, how to set variables inside Workflow 4.0 to be tracked, how to create a custom tracking profile, and how to configure your service to use this custom profile. (Download WMV)
First Look at Quadrant – Oslo’s Modeling Tool -This video is a quick overview of the new modeling tool Quadrant. It walks though the basic user experience. It shows how to work with and edit exiting models, drop workpads onto the workflow surface, add and edit data, and edit existing models. (Download WMV)
First Look at M – Oslo’s Modeling Language – This video walks though creating a simple model using the new M Modeling Language. A simple Domain-Specific Language (DSL) model is also looked at. How often do you get to see a new language? (Download WMV)
Consuming WCF Services in Workflow 4.0 – This video takes a quick look at the new designer experience for Workflow 4.0 inside Visual Studios 10. A simple application is created to communicate with an existing WCF Service. This demonstrates the new interface for Workflow and WCF interactions. (Download WMV)
Flowcharts and Rules in Workflow 4.0 – This video walks though creating an application using the new Flowchart style of workflow. Inside the flowchart workflow, the new Workflow 4.0 Rules are used to evaluate input data. (Download WMV)
It is important to point out that these sets of technologies are not designed to replace BizTalk but rather enhance the rest of the framework. BizTalk still serves a mission critical need as the Microsoft Integration Server and Adapter provider.
Have fun and enjoy!
by stephen-w-thomas | Sep 5, 2008 | Stephen's BizTalk and Integration Blog
Today Microsoft announced an updated Roadmap for BizTalk Server highlighting the next release of BizTalk and outlining plans for future releases every two years.
Included with this is a name change. BizTalk Server 2006 R3 will now be called BizTalk Server 2009.
While most people will see this as a simple name change. What this represents is Microsoft’s commitment to BizTalk Server as an Enterprise Class Integration Platform. This new name combined with the forward looking roadmap clearly showcases the future of BizTalk, which until now was a little unclear.
What to expect in the 2009 release of BizTalk:
- Support for the latest Microsoft Platforms including Hyper-V Virtualization, Visual Studios 2008, .Net 3.5, SQL 2008, and Windows Server 2008.
- Enhancements to SOA and Web Services, B2B Integration, and Developer Productivity.
- Additional enhancements driven by customer feedback.
Oliver Sharp talked about a release for BizTalk 2009 in the first half of 2009. He also talked about a CTP release that would be available around the end of the year.
And best yet! We have a new logo for BizTalk Server 2009!

by stephen-w-thomas | May 15, 2008 | Stephen's BizTalk and Integration Blog
Recently I have gotten a rare chance to step away from writing word documents and working with Visio to get to do some exciting BizTalk testing.
As part of my testing, I was pushing BizTalk and various Adapters until they failed. In doing so, sometimes this caused some odd side effects.
Recently, I was seeing thousands of Active Service Instances in BizTalk Administration that looked like this:
The Service Name was simply “Name is not available”. To make matters worse, I was not able to terminate the instances. I tried stopping and restarting the hosts, restarting the applications, restarting the Server, but nothing seemed to work.
Out of pure luck, I decided to check the SQL Agent Jobs… and sure enough the SQL Agent was not running. During all my performance testing none of the Message Box clean-up jobs ran and that left BizTalk in an undesirable state. I started the SQL Agent, gave the jobs a few minutes to run, and then was able to clean out the Active service instances.
So the moral of the story, if you see odd BizTalk behavior make sure you check your SQL Agent to ensure it is running and the jobs are completing successfully.
Another minor item I ran into deals with the Commerce Server Catalog Adapter. It has a property called “Import Directory”. The Adapter uses this as a temporary file store when submitting messages. This means the BizTalk Host will need read /write access to this location. This is something that can be easily forgotten… like I did.
So what happens if you forget to update this property or to give the folder the correct permissions?
Bad Things. And in BizTalk world, bad things translates into 4 Error Messages per input message in the event log.
Why we get so many errors – I do not know. If I remember correctly, none of them were very useful in correcting the problem.
by stephen-w-thomas | Apr 30, 2008 | Stephen's BizTalk and Integration Blog
What is one of the biggest problems with having to set up BizTalk in a new Environment? Creating all the Hosts, Host Instances, and assigning the Adapters to these new hosts. This process has been made much simpler with the help of the BizTalk Host Setup Tool.
This tool is fed by a configuration file to set up the Hosts, install Host Instances, and assign Adapters to those Hosts. This tool also has the ability to prompt for a user password and reset all the Adapters back to the default Host (this was used extensively when I was testing the tool).
This will allow one developer to create the solution host layout and easily distribute it to others!
How should you set up your Hosts? For starters, you should have a Receive Host, a Send Host, a Process Host, and a Tracking Host. Then, continue to build out the Hosts as needed. In general, it is best for each Adapter to run in its own Host. But I’m a big fan of not taking this to extremes – specifically on single or double server BizTalk installations.
This tool will help you design and build your solutions by making it easy to separate out your processes into multiple hosts even on your developer boxes. It will also make sure all your developers and environments are using Hosts with the same names – a total nightmare to manage.
You can find the download here.
Note: This is intended as a starting point and you are free to build off of it and customize it as needed. It is nothing exciting as I am just wrapping WMI calls with what I hope is more user friendly XML tags. Please remember this and all other code on BizTalkGurus.com is AS-IS and not intended for production use.
I have included two sample config files. The two samples are HostConfig-Demo.xml and HostConfig.xml. Both have comments that should make it easy to figure out what is going on.
I have not tested this tool with remote setups or on anything other than BizTalk 2006 R2 (but anything 2004 to present should work).
Here is a sample of the XML Configuration File:
<BizTalkHostConfig Version=”1.0″ defaultHost=”BizTalkServerApplication” defaultIsoHost=”BizTalkServerIsolatedHost”>
<MakeHosts>
<!– Basic Sample to create a HOST
<Host>
<HostName>MyTestHost</HostName>
Host Type: Isolated or InProcess
<Type>InProcess</Type>
<NTGroup>BizTalk Application Users</NTGroup>
<AuthTrusted>false</AuthTrusted>
Action: true to install or false to skip
<InstallServers Action=”false” />
Action: true to set adapters or false to skip
<SetAdapters Action=”false” />
AdapterName Type: Receive or Send
</Host>
Detailed sample to create a host, install it, and set up an adapter to use the new host
<Host>
<HostName>MyTestHost123</HostName>
Host Type: Isolated or InProcess
<Type>InProcess</Type>
<NTGroup>BizTalk Application Users</NTGroup>
<AuthTrusted>false</AuthTrusted>
Action: true to install or false to skip
<InstallServers Action=”true”>
<Server>
Start: true to start host or false to not
<ServerName Start=”true”>LPT154</ServerName>
<UserName>SomeUserSomePassword</UserName>
Prompt: true to get a pop up to end password or false to enter it here
<Password Prompt=”false”>SomeUserSomePassword</Password>
</Server>
</InstallServers>
Action: true to set adapters or false to skip
<SetAdapters Action=”true”>
<Adapter>
Type: Receive or Send
<AdapterName Type=”Receive”>File</AdapterName>
</Adapter>
</SetAdapters>
</Host>
–>
</BizTalkHostConfig>
Enjoy!
by stephen-w-thomas | Apr 30, 2008 | Downloads
This tool will help you design and build your BizTalk solutions by making it easier to consistently separate out your processes into multiple hosts even on your developer boxes. It will also make sure all your developers and environments are using Hosts with the same names. This can be a total nightmare to manage and maintain.
This tool is fed by a simple config file to set up the Hosts, install Host Instances, and assign Adapters to these new Hosts. This tool has the ability to prompt for a user password and reset all the Adapters back to the default Host (this was used extensively when I was testing the tool).
This tool should work with BizTalk Server 2004, BizTalk Server 2006, and BizTalk Server 2006 R2. I have not tested it running against any remote servers.
For more information, see the full blog post at: http://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archive/2008/04/30/biztalk-host-creation-and-adapter-assignment-tool-available-for-download.aspx
by stephen-w-thomas | Apr 28, 2008 | Stephen's BizTalk and Integration Blog
As many of you probably know by now, Microsoft has announced the next release in the BizTalk Family. This will be called BizTalk Server 2006 R3.
I for one am excited for this release! Not so much for the new adapters and added features that will be available, but more by what this represents.
Microsoft and the Connection Systems Division are actively working on Oslo (the next generation of model drive design – all in all super cool stuff) so for them to announce a new BizTalk Release before the Oslo release really shows the level of dedication Microsoft has, not only to the product but to the customers currently using it worldwide.
I keep thinking back to 2005 to the days when Windows Workflow and Windows Communication Foundation were first announced and reading blog posts saying “BizTalk is Dead”. Here we are three years later and BizTalk is even stronger than ever!
With the upcoming BizTalk R3 release and the not-so-distant Oslo Platform release, I can only imagine where BizTalk will be a few years from now.
by stephen-w-thomas | Mar 11, 2008 | Stephen's BizTalk and Integration Blog
Last week I released volume 12 of The BizTalker. This issues’ feature article was written by Dwight Goins of QuickLearn and talks about working with the WCF Adapter in BizTalk 2006 R2.
Also covered is the new BizTalkBlogs.com and the new training available on BizTalk-Training.com
You can view the newsletter online or to make sure you don’t miss out simply subscribe!
by stephen-w-thomas | Mar 10, 2008 | Stephen's BizTalk and Integration Blog
To keep on the Commerce Server Adapter line of blog posts here is another minor pain point I ran into.
I was setting up the Commerce Server Catalog Send Adapter on a multi-server BizTalk Environment. I opened up BizTalk Admin and configured the Send Port.
I went to run the solution and I received the following error:
“Failed to create Catalog Context in ‘Commerce Server Catalog Send Adapter’. Message:”
Turns out that the Send Host for the Catalog Adapter was running on another Server so the registry subkey was missing. Oh, and since this was also a 64-bit Host the keys were written in the wrong place – same as the Orders Adapter.
To fix this, all I had to do was open the Send Port on the other Server and click OK. This created the registry key. Then, I simply had to move it into the correct location.
Here are some general How To’s I’ve put together when working (mostly when configuring) with the Commerce Server Adapters:
1. Always create Send and Receive Ports on the Servers you intend to run them on. (Not sure what happens when you import an MSI – will get to that soon)
2. Do not expect any of the Adapters to work in a BizTalk Group scenario. In fact, disastrous results may occur if ran in Group Scenarios. (Hope to test clustering the service soon).
FACT: Catalog and Orders do not operate in Group Scenario. See the help guide for more info.
3. Expect manual configuration if working with 64-bit hosts.
4. Make sure you read the Commerce Server 2007 help guide including “Performance Considerations for the BizTalk Adapters” and “Concurrency Issues with the BizTalk Adapters” and “Troubleshooting the BizTalk Adapters” sections.
5. Remember how easy it is to set up and work with the Adapters! :). All in all, they provide us a lot of great benefits!
More to come as I continue to work with the Adapters.
by stephen-w-thomas | Mar 5, 2008 | Stephen's BizTalk and Integration Blog
Just wanted to post a few follow ups to my post last week on the Commerce Server Orders Receive Adapter running in a 64-bit host.
During testing on another server, I received the following error: “Failed opening or reading the Registry subkey: Software\Microsoft\Commerce Server 2007 BizTalk Adapters\Orders\<somekey>. Message: Requested registry access is not allowed.”
This was because when I created the new registry key, I did not give the host user permission to access it. So make sure to do so when adding this key.
Also, something else I discovered that is applicable to both 32-bit and 64-bit hosts of the receive adapter is that the Receive Adapter will double process orders when running the host on two separate BizTalk Servers – i.e. you make it highly available. I think the help guide talks about this a little but it was not very clear.
I would guess you’d need to cluster this service to achieve high availability. But I haven’t tested that out yet. Nor do I know how the locally written registry key would come into play.