First-Look:Installing & Configuration of BizTalk Server 2010 on Windows 8 Developer Preview

Last week during the BUILD conference a developer preview of Both Windows 8 and Windows Server 8 was released. Once released I’ve decided to give it a go and install and perform a basic configuration (without BAM / EDI) of BizTalk Server 2010 on Windows 8 (note: not Windows Server 8).

Below a list of issues I encountered and how to resolve these issues.

Prerequisites
Obtain the Windows 8 developer preview build
Obtain Microsoft BizTalk Server 2010
Ensure that you have a dedicated server available with SQL Server 2008R2.
Hook up your Windows 8 to machine to your Active Directory (this way you can use your AD BizTalk service accounts etc.)

Environment

Encountered Issues while installing
Well to be perfectly honest the only issue I encountered during installation of BizTalk Server 2010 was the fact that I got about 10+ windows update screens which all prompted me to go and install the .Net Framework 3.5.1 Features; well I closed all the windows except for one and let windows update continue.

Note: For the BizTalk pre-requisites I simple pointed to the cab file , which I already downloaded previously.

Encountered Issues while configuring
Configuring BizTalk Server 2010 was a bit more of a challenge although everything up to ‘Configuring the BizTalk Server Runtime’ went off without any problems.

However once it was time to configure the runtime it gave me a an exception informing me that the server could not communicate with the SSO and that it might have to do with the Distributed Transaction Coordinator; Well this was not the issue, as I had configured it on both servers (on the SQL Server box and on the BizTalk Box).

So next stop was looking into the windows services and then especially the Enterprise Single Sign On Service; well the service was up and running.  So I stopped and started it and tried to configure the BizTalk Server Runtime once again; however I still got the same error.

Next stop going back to the windows services and this time

I tried an elevated account on the Enterprise Single Sign On Service; but hey you guessed it; still got the same error.

So; not giving up I went back to the Enterprise Single Sign On service and put everything back to it’s original state (that is use the dedicated sso service account). Well once I tried to start the service again it suddenly gave me an error indicating that there were some RPC issues… Hmmm, so I went and had a look at that particular service and noticed that it was up and running. Restarting it did not throw any other exceptions and that’s when I noticed that the service ‘RpcLocator Service’ was not running. Bingo! Enabling this service resolved the SSO issue and I was able to further configure BizTalk Server 2010.

Conclusion
BizTalk 2010 can be installed and configured on the Windows 8 Developer Preview Release; however before installing and configuring ensure that

You’ve configured the Distributed Transaction Coordinator on both the SQL Server Box as well as the Windows 8 Box
Ensure that the ‘RpcLocator Service’ is up and running.

Please note: So far I’ve only installed and configured BizTalk 2010 on Windows 8. I’ve not actually played around with sample applications etc.

Screenshots:

BizTalk Administrator ‘Pinned’ to Metro

BizTalk Server Configuration

BizTalk Administrator Console

Cheers

René

Broken British Airways

I’m sitting is a nice new hotel in Redmond – the Hotel Sierra is well worth considering if you are staying in the area. I’m sleep-deprived and jet-lagged, and it’s raining hard outside, but hey, I just got to play with one of the Samsung tablets they handed out at Build, and was not disappointed. Microsoft is doing something trully remarkable with Win8 Metro.
On the other hand, I am deeply disappointed with the UK flag carrier, British Airways. Indeed, I’ve lost patience with them big-time. So forgive me for getting this off my chest. I am very much in the mood to do as much reputational damage to them as I can.
When I checked in on-line, they had booked me into one seat but I could see another with more legroom (a front row). Because of repeated experience over the last few years with defective headsets (I always carry my own earphones these days after one flight here we went through three different headsets before finding one in which one of the earphones actually worked) and bad headset connections (having to constantly twiddle the jack to try to hear anything), I spent a little while consciously debating with myself the intangible risks of changing my seat – i.e., I could easily be swapping a ’working’ seat for a broken ’one’. Of course, there was no way to know, so I opted for the seat with more legroom.
MISTAKE! Forget about dodgy headsets. Nothing worked. Not even the reading light! Certainly not the inflight entertainment. They failed to show me the safety video (the steward did panic a little when he realised they had failed to comply with their legal obligations). So I sat for 9.5 hours in a grubby, worn-out cabin with nothing!
To be fair, they did offer to try to find me another seat (the plane was very full), but I opted for the legroom because I wanted to try to get some sleep. So I could probably have got in-flight entertainment. The point is, though, that this is now more than just an unfortunate couple of co-incidences over the last two or three years. I am reasonably fair-minded and understand that sometimes, with the best will in the world, things just go wrong. In any case, I was bought up to put-up or shut-up (as my mother would say – it’s part of the culture). However, I am forced to conclude that this is now a repeated trend that I experience regularly to the point where I am consciously suspicious of the seats they give me, and clearly with good reason. BA simply fails to maintain its cabins to anything like a reasonable or acceptable standard (I must trust they do a better job in maintaining the engines). I used to feel some patriotic pride in BA. Not now. It’s so sad to see the British flag carrier consistently deliver such an embarrasingly poor and second-rate service. I will be asking SolidSoft in future to, where possible, book me onto a different carrier and will do what I can to convince the company to use other carriers by default.
Personally, I think the UK government should give flag carrier status to someone else (Virgin, I guess).

BizTalk Server 2010 Training in Adelaide- Week of the 24th of October

We have a 5 day BizTalk Server 2010 Developer course scheduled for the 24th – 28th of October in Adelaide.

The BizTalk Server 2010 Developer Training is an update version of the existing BizTalk training that now includes WCF send and receive adapter, a BizTalk Patterns module (correlation, sequential convoy and parallel convoy) and optional EDI components. The course is targeted at beginning BizTalk developer or developers that want to bring their skills up to 2010.

Any question or discuss your BizTalk training needs please contact me

AppFabric Walkthrough: Simple Brokered Messaging

I’ve published a basic walkthrough of using the new brokered messaging capabilities in the Azure AppFabric service bus September 2011 release. If you have not used queues in AppFabric before this will get you started with a basic application that you can build upon. If you have used queues in the May or June CTP releases then this walkthrough will be useful to highlight the changes in the management portal and service bus API. (Quite a lot has changed, for the better, but I have a lot of rework to update all my demos and samples.)
The walkthrough is here.

WCF LOB Adapter, dealing with TypeMetadata and xsd:Include

Say for example if you want to expose an operation called "AddOperation" which takes 2 input parameters of type "double" and returns a "double" value.

If you are building a standard WCF services, you would have defined the interface as shown below.

[OperationContract]
double AddOperation(double a, double b)

But in order to do the same thing in WCF LOB adapter, you would have done something like this

//Param 1
OperationParameter n1 = new OperationParameter("a"
                                        , OperationParameterDirection.In
                                        , QualifiedType.DoubleType, false);
n1.IsOptional = false;
opMetadata.Parameters.Add(n1);
 
//Param 2
OperationParameter n2 = new OperationParameter("b"
                                        , OperationParameterDirection.In
                                        , QualifiedType.DoubleType, false);
n2.IsOptional = false;
opMetadata.Parameters.Add(n2);
 
//Result
opMetadata.OperationResult = new OperationResult(QualifiedType.DoubleType, false);
break;

The reason for the complexity is mainly due the dynamic nature of the WCF LOB adapters, often times you’ll be constructing the operation request and response types based on your underlying LOB applications requirement.

WCF LOB Adapter SDK comes with rich set of Metadata object model to cater for various situations. That includes

  • Operation/Type Metadata Object Model is used for contract generation
  • ParameterizedOperationMetadata class can be used for most common operation representations (as shown above)
  • StructuredTypeMetadata can be used for most common types representations
  • Metadata object model is extensible by allowing the adapter developer to provide own XML Schema representations for its members using ExportXmlSchema methods.

The last option ExportXmlSchema is the one you’ll use when the underlying LOB systems already defined XSD schemas and you just want to reuse it. Example

[OperationContract]

CustomerResponse GetCustomer(RetailCustomer customer)

The EchoAdapter sample and some of the great articles from Sonu Arora’s WCF LOB adapter series all explain about the simple scenario where a types is self contained within a single XSD file. But in reality you’ll be using multiple XSD files together either with xsd:include or xsd:import. I can see an open thread here at msdn forum without a resolution.

When you try to deal with schemas that include other schemas, you’ll typically see the following error

Error while retrieving or generating the WSDL. Adapter message: The ‘urn:schemas-XXXXX:b2b:WorkItemNo’ element is not declared.

The solution to that problem is quite straight forward. In the ExportXmlSchema method, you loop through the included schemas before doing your regular one. In the below example the code in bold is a common schema, and the code below that is what you’ll normally have.

public override void ExportXmlSchema(XmlSchemaExportContext schemaExportContext, MetadataLookup metadataLookup, TimeSpan timeout)
{
    if (schemaExportContext == null)
    {
        throw new AdapterException("Schema export context is null.");
    }

    //Read Common Schemas

    Stream commonXsdFile = Assembly.GetExecutingAssembly().GetManifestResourceStream(COMMOM_METADATA_FILE_NAME);
    using (XmlReader reader = XmlReader.Create(commonXsdFile))
    {
        XmlSchema schema = XmlSchema.Read(reader, null);
        if (!IsComplexTypeAlreadyDefined(schemaExportContext.SchemaSet, schema))
        {
            schemaExportContext.SchemaSet.Add(schema);
            if (!schemaExportContext.NamespacePrefixSet.ContainsKey(this.TypeNamespace))
            {
                schemaExportContext.NamespacePrefixSet.Add(this.TypeNamespace
                    , getUniqueNamespacePrefix(schemaExportContext, 0));
            }
        }
    }


    // Read in XML Schema file or create XmlSchema object yourself
    Stream predefinedXsdFile = Assembly.GetExecutingAssembly().GetManifestResourceStream(CONST_METADATA_FILE_NAME);
    using (XmlReader reader = XmlReader.Create(predefinedXsdFile))
    {
        XmlSchema schema = XmlSchema.Read(reader, null);
        if (!IsComplexTypeAlreadyDefined(schemaExportContext.SchemaSet, schema))
        {
            schemaExportContext.SchemaSet.Add(schema);
            if (!schemaExportContext.NamespacePrefixSet.ContainsKey(this.TypeNamespace))
            {
                schemaExportContext.NamespacePrefixSet.Add(this.TypeNamespace
                    , getUniqueNamespacePrefix(schemaExportContext, 0));
            }
        }
        //reader.Close();
    }
}

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Nandri

Saravana Kumar

Five BizTalk Server 2010 Books you must have

Five BizTalk Server 2010 Books you must have

Microsoft BizTalk Server 2010 Unleashed Authors Brian Loesgen, Charles Young, Jan Eliasen, Scott Colestock, Anush Kumar and Jon Flanders Book Description Microsoft BizTalk Server 2010 Unleashed is the 100% new, 100% practical developer’s guide to Microsoft’s most powerful version of BizTalk Server. Written by an expert team of Microsoft insiders and BizTalk MVPs, it reflects […]
Blog Post by: Sandro Pereira

BizTalk360 – Heading to Copenhagen,Denmark

We launched BizTalk360 back in May 2011, since then we were constantly presenting the capabilities of BizTalk360 in various cities in Europe (apart from our regular online meetings). Our next stop is Copenhagen, Denmark (21st September, 2011). Details of the event can be found here http://www.dbug.dk/files/biztalk%20brugergruppe%20september%202011.pdf if you are in Copenhagen and doing something with Microsoft BizTalk server, then please try to attend and see for yourself, what BizTalk360 can offer. In this session we’ll presenting stuff, that’s present in our current release and some of the cool stuff we are working on for our October release.

Special thanks to Jan Eliasen, Microsoft BizTalk Server MVP, for making this happen.

Past Events Details:

1. May 2011, UK Connected Systems User Group London: http://ukcsbugmay2011.eventbrite.com/

2. June 2011, Sweden http://biztalkusergroup.se/

3. June 2011, The Netherlands.

Nandri
Saravana Kumar

Social:
Join us on @biztalk360 | http://facebook.com/biztalk360 | http://getsatisfaction.com/biztalk360

Windows Azure AppFabric SDK V1.5 September 2011 – Brokered Messaging is Live!

The Azure AppFabric Service Bus Brokered Messaging functionality has shipped to production, and is available in Azure data centers across the world. This means that we now have point-to-point queuing and publish-subscribe messaging available in the cloud in the form of Queues, Topics and Subscriptions. Be aware that there are substantial changes in the classes in the Microsoft.ServiceBus.Messaging namespace, which means I will have to re-record webcasts and repost blog posts.
I’ve spent quite a bit of time looking into the functionality of the new messaging capabilities and am very impressed with what I have seen in the CTP. IT’s great to see this make it to production.
If you want to download the SDK, it’shere. For an overview of the capabilities using the CTP bits I have some webcasts here.
If you have an AppFabric account you can log into the Service Bus section of your portal. There is some basic management functionality in the portal that allows you to create and delete queues, topics and subscriptions.
Queues can be created with various options for timeouts, queue size and options for duplicate detection, dead-lettering and sessions.
In the current release queues, topics and subscriptions are immutable, so once created it’s not possible to modify the properties. If you do need to change anything on a queue you will have to either delete and re-create the queue, or create a new queue with a different name.
As for the messaging API changes, after a quick glance I like the changes that have been made between the CTP and release versions, even though I’ve got to re-code all my demos for the release bits. Be aware that some of the sample documentation and code comments have not been updated to reflect the changes (I noticed this in the DeferredMessages sample) , so trust the code not the docs.

Windows 8, Metro and IE10: First impressions

I’ve just installed the Windows 8 Developer Preview. These are some first impressions:

Installation of the preview was quite smooth and didn’t take too long. It took a few minutes to extract the files onto a virtual image, but feature installation then seemed to happen almost instantaneously (according to the feedback on the screen). The installation routine then went into a preparation cycle that took two or three minutes. Then the virtual machine rebooted and after a couple of minutes more preparation, up came the licence terms page.

Having agreed to the licence, I was immediately taken into a racing-green slidy-slidy set of screens that asked me to personalize the installation, including entering my email address. I entered my work alias. I was then asked for another alias and password for access to Windows Live services and other stuff. There was a useful link for signing up for a Windows Live ID. I duly entered the information. Only on the next screen did I spot an option to not sign in with a Live ID. I didn’t try this, but I felt a bit peeved that the use of a Live ID had appeared mandatory until that point. I suspect the idea is to try to entice users to get a Live ID, even if they don’t really want one.

A couple more minutes of waiting, et voil%u00e0. The Metro Start screen appeared, covered in an array of tiles. Simultaneously I got an email (on my work alias) saying that a trusted PC had been added to my Live account. I clicked the confirmation link, signed into Windows Live and checked that my PC had indeed been confirmed. Then Alan started chatting, but that is a different matter.

Of course, Oracle’s Virtual Box (and my Dell notebook) haven’t quite mastered the art of touch yet. For non-touch users a scroll bar appears at the bottom of the Metro UI. I had a moment’s innocent fun pretending to swipe the screen with my finger while actually scrolling with the mouse. Ah, happy days. Then I discovered that the scroll wheel on my mouse does the equivalent of finger swiping on the Start page.

I opened up IE10. Wow! I thought IE9’s minimal chrome story was amazing. IE10 shows how far short IE9 falls. There is no chrome. Nothing. Nadda. Of sure, there is an address box and some buttons. They appear when needed (a right mouse click without touch) and disappear again as quickly as possible. It’s the same with tabs which have morphed, in the Metro UI, into a strip of thumbnails that appear on demand and then get out of the way once you have made your selection. Click on a new tab and you can navigate to a new page or select a page from a list of recents/favourites. You can also pin sites to ‘Start’, which in this case means that they appear as additional tiles on the Start screen. I played for a minute and then I suddenly experienced the same rush of endorphins that hit me the first time I opened Google Chrome a few years back. Yes, sad to say, I fell in love with a browser! A near invisible browser. A browser that is IE for goodness sake! A browser that does what so many wished IE would do years ago. It gets out of your way.

Do you like traditional tabs? That’s not a problem, because the good-ole desktop is just a click (or maybe a tap or a swipe) away. There is even a useful widget on the now-you-see-me/now-you-don’t address bar that takes you to desktop view. It is a bit of a one way trip, and results in a new IE frame opening on the desktop for the current page. On the desktop, IE10 looks just like IE9. It is, however, significantly more accomplished, and has closed much of the remaining gap between IE9, the full HTML5 spec and some of the additional specifications that people incorrectly term ‘HTML 5’. Microsoft has more than doubled its score on the (slightly idiosyncratic) HTML5 Test site (http://html5test.com/) and now just pips Opera 11.51, Safari 5.1 and Firefox 6 to the post for HTML5 compliance (it beats Firefox by just2 points, although it is 1 point behind if you take bonus points into consideration) by that measure, although it still falls behind Google Chrome 13.

Pinning caused me some issues which I suspect are simply bugs in the preview. Having pinned a site, every time I went into the Metro version of IE10, I found that I couldn’t click on links, hide the address bar, view tabs, etc. I eventually had to kill my IE10 processes to get things working properly again. I noticed that desktop and Metro IE10 processes appear with slightly different icons in the radically redesigned task manager.

One slight mystery here is that the beta of 64-bit Flash worked fine in Desktop view but not in Metro. No doubt this will long since have become a matter of history by the time all this stuff ships.

For a few minutes, I was rather confused about the apparent lack of a proper Start menu in the desktop view. If you click on Start, you go back to the Metro Start page. And then the obvious dawned on me. In effect, the new Metro Start screen is simply an elaboration of the old Start menu. In previous version, when you click Start, the menu pops up on top of the desktop. It is quite rich in previous versions, and allows you to start applications, perform searches for applications and files or undertake various management and administrative tasks. Windows 8 is really not very different. However, the Start menu has now morphed into the new Metro Start page which takes up the whole screen. Instead of a list of pinned and recent applications, the Start screen displays tiles. Move the mouse down to the bottom right corner (I don’t know what the equivalent touch gesture is), and up pops a mini Start menu. Clicking ‘Start’ takes you back to the desktop. Click on ‘Search’ to search for applications files or settings. The settings feature is really powerful. In fact, in Windows 7, searching for likely terms like ‘Display’ or ‘Network’ also returns results for settings, but you get far more hits in Windows 8. The effect is rather like ‘God Mode’ in Windows 7.

The mini Start menu is available in the desktop as well. In this case, if you click ‘Search’, the search panel opens up on the right of the screen and results then open up to take over the rest of the screen. As I experimented, I found that while things were fairly intuitive, the preview does not always work in a totally predictable fashion. I also suspect that the experience is currently better for touch screens than for traditional mice (I note Microsoft is busy re-inventing the mouse for a Windows 8 world – see http://www.microsoft.com/hardware/en-us/products/touch-mouse/microsite/). This is hardly surprising given that Windows 8 is clearly in an early state and is unfinished. I suspect the emphasis to date has been on touch, and not on mouse-driven equivalents.

Once I grasped the essential nature of the Metro Start page and its correspondence to the Start menu is earlier versions of Windows, I began to feel far more comfortable about the changes. Sure, all the marketing hype is about the radical new UI design features. However, this really is just the next stage of the evolution of the familiar Windows UI. Metro is absolutely fabulous as a tablet UI (better than iOS/Android IMHO, which after all, are really just the old ‘icons on a desktop’ approach with added gestures), and I think it will actually be quite good for desktops, once it is complete. I note, though, that people have already discovered the registry hack to switch Metro off (see http://www.mstechpages.com/2011/09/14/disable-metro-in-windows-8-developer-preview/), and I think MS would be wise to offer this as a proper setting in the release version. I anticipate, though, that I will not be switching Metro off, even on a non-touch desktop.

Shutting down presented a little difficulty. I am used to using the Start menu to do this (the classic ‘Start’ to stop conundrum in Windows). I couldn’t find a ‘Shut Down’ command on the Start screen. I eventually did Ctrl-Alt-Delete (or rather, Home-Del in Oracle Virtual Box) and then found a Shut Down option at the bottom left of the screen.

Booting the VBox image takes 20 seconds on my machine. 20 seconds! I’ll say that again. 20 seconds!!!! Yes, 20 seconds, just about exactly. That’s on a virtual machine on my notebook. On the host, it would be significantly faster. This is Windows like we have never known it before. Frankly, it is the ability to boot fast and run Windows happily on ARM devices (I’ll have to take that on trust as I haven’t yet seen it for real) that are the really important changes. Almost more important than the Metro UI. The nay-sayers and trolls say it can’t be done. I think Microsoft has done it, though.

My last foray into Windows 8 this evening was to launch Visual Studio 2011 Express and have a quick peek at the templates for Win8 development. I have a lot to explore.

The say first impressions are the most important. When I saw the on-line video of Windows 8 a couple of months back, I almost fell off my chair in surprise. Now I have got my hands on an early version I am really quite impressed. Like everyone else, I couldn’t see how Microsoft could possibly compete against Apple and Google in the tablet space. Now…well…I look forward to seeing if and how Apple and Google will respond. If it is true, as Steve Ballmer states, that Microsoft had 500 thousand downloads of the preview in less than 24 hours, then tectonic plates have already shifted and Microsoft is firmly on track to become a major contender in the tablet space. OK, that’s only one in every 14,000 people on the face of planet earth, and yes, the release version of Lion had double that number of hits in the first 24 hours. Nevertheless, it is a huge figure for an early technical preview of an operating system that won’t ship for another year. It means people are very, very keen to start developing for Metro (I know we are at SolidSoft). And if Windows 8 succeeds on tablets, what will that mean for Windows Phone which also uses the Metro concept? Don’t ever, ever underestimate Redmond.