CODit speaking at the BizTalk User Group Sweden

On 16th March, CODit is speaking at the BizTalk User Group in Stockholm (Sweden).

CODit is presenting an introduction to Host Integration Server, the secret gem of Microsoft šŸ™‚

You can subscribe here: http://swebug20100316-widget.eventbrite.com/

Content of the presentation:

Session: Introduction to Microsoft Host Integration Server
Speakers: Peter Borremans & Sam Vanhoutte

Over the years, a lot of companies invested in IBM mainframe (zSeries) or midrange (iSeries) systems. The mainframe architecture is not compatible with nowadays standards and architectures. Rewriting applications is not always feasible and desired. These applications are often very large systems with high reliability and performance. If possible
people’s skills must be reused. This leads to the need of integrating with existing host systems. Microsoft created Host Integration Server (HIS) to integrate with host systems.
This session will cover all important components of HIS and how Mainframe functionality is exposed to newer technologies:

Network integration

As mentioned earlier, IBM host systems (most of the time mainframe systems) use a proprietary network architecture.
HIS network integration will allow other systems to connect to those networks and expose functionality higher up in the stack (MQ, Applications, Data).

Data integration

HIS data integration will allow Microsoft systems to access data stored in DB2 databases or in VSAM files.
This is either done with by using .NET data providers (DB2 or VSAM) or by using BTS adapters (DB2 or VSAM)

Application integration

HIS application integration will allow Microsoft systems to interface with IBM host applications as CICS transactions (Transaction Integrator) or IMS.
Application integration is without any doubt one of the most powerful features of HIS.

Messaging integration

By using HIS, Microsoft BizTalk server can communicate with MQSeries on any other platform. HIS provides a WebSphere MQSeries client-based adapter. This adapter does not require a MQSeries installation on a Windows Server box. The WebSphere MQSeries client-based adapter allows direct access to MQSeries on host systems.

ASP.NET MVC 2 Released

I’m happy to announce that the final release of ASP.NET MVC 2 is now available for VS 2008/Visual Web Developer 2008 Express with ASP.NET 3.5.  You can download and install it from the following locations:

  • Download ASP.NET MVC 2 using the Microsoft Web Platform Installer
  • Download ASP.NET MVC 2 from the Download Center

The final release of VS 2010 and Visual Web Developer 2010 will have ASP.NET MVC 2 built-in – so you won’t need an additional install in order to use ASP.NET MVC 2 with them. 

ASP.NET MVC 2

We shipped ASP.NET MVC 1 a little less than a year ago.  Since then, almost 1 million developers have downloaded and used the final release, and its popularity has steadily grown month over month.

ASP.NET MVC 2 is the next significant update of ASP.NET MVC. It is a compatible update to ASP.NET MVC 1 – so all the knowledge, skills, code, and extensions you already have with ASP.NET MVC continue to work and apply going forward. Like the first release, we are also shipping the source code for ASP.NET MVC 2 under an OSI-compliant open-source license.

ASP.NET MVC 2 can be installed side-by-side with ASP.NET MVC 1 (meaning you can have some apps built with V1 and others built with V2 on the same machine).  We have instructions on how to update your existing ASP.NET MVC 1 apps to use ASP.NET MVC 2 using VS 2008 here.  Note that VS 2010 has an automated upgrade wizard that can automatically migrate your existing ASP.NET MVC 1 applications to ASP.NET MVC 2 for you.

ASP.NET MVC 2 Features

ASP.NET MVC 2 adds a bunch of new capabilities and features.  I’ve started a blog series about some of the new features, and will be covering them in more depth in the weeks ahead.  Some of the new features and capabilities include:

You can learn more about these features in the ā€œWhat’s New in ASP.NET MVC 2ā€ document on the www.asp.net/mvc web-site. 

We are going to be posting a lot of new tutorials and videos shortly on www.asp.net/mvc that cover all the features in ASP.NET MVC 2 release.  We will also post an updated end-to-end tutorial built entirely with ASP.NET MVC 2 (much like the NerdDinner tutorial that I wrote that covers ASP.NET MVC 1). 

Summary

The ASP.NET MVC team delivered regular V2 preview releases over the last year to get feedback on the feature set.  I’d like to say a big thank you to everyone who tried out the previews and sent us suggestions/feedback/bug reports. 

We hope you like the final release!

Scott

Now Available: The Windows Azure platform AppFabric LABS Environment

Today the AppFabric team has released the AppFabric LABS environment. This is a new environment which the team will use to showcase some early bits and get feedback from the community. Usage for this environment will not be billed.


 


AppFabric Labs provide a way for customers to test out and play with experimental AppFabric technologies. These are upcoming capabilities that excite us, and we want to get your feedback on them as soon as possible. As a result, there is no support or SLA associated with the LABS environment, but in return you will be able to preview the future of AppFabric while helping us shape it. Though similar to a Community Technology Preview, LABS technologies may occasionally be even farther away from commercial availability.


 


In this release of the LABS environment, we’re shipping two features:


1.     Silverlight support: we’ve added the ability for Silverlight clients to make cross-domain calls to the Service Bus and Access Control Services.


2.     Multicast with Message Buffers: we’ve added the ability for Message Buffers to attach to a multicast group. A message sent to the multicast group is delivered to every Message Buffer that is attached to it.


To get started:


1.     Go to https://portal.appfabriclabs.com/,


2.     Sign up using your Live ID,


3.     Create your LABS project, and


4.     Download LABS samples from here to learn more about these new features.


We hope you enjoy working with these Labs features as much as we have enjoyed making them available to you.


 


Thanks,


 


The Windows Azure platform AppFabric Team

BizTalk Performance and DNS

BizTalk Performance and DNS

We recently solved a performance problem that had been plaguing us for quite some time on one of our Test/QA BizTalk Application servers. Even if you aren’t experiencing theproblem to the full extent that we were,I’ll bet I can improve your performance too – want to try? Here’s a brief summary of our problem:
We have […]

WCF RIA – Don’t be fooled around with the error message

I've structured my visual studio solution so that the WCF RIA domain services live in a separate project (assembly) from the actual web project. Today I was greeted with the following exception (via Fiddler) when trying to access an operation in the domain service.

System.ServiceModel.CommunicationException: Unrecognized message version.
   at System.ServiceModel.Channels.ReceivedMessage.ReadStartEnvelope(XmlDictionaryReader reader)
   at System.ServiceModel.Channels.BufferedMessage..ctor(IBufferedMessageData messageData, RecycledMessageState recycledMessageState, Boolean[] understoodHeaders)
   at System.ServiceModel.Channels.BinaryMessageEncoderFactory.BinaryMessageEncoder.ReadMessage(ArraySegment 1 buffer, BufferManager bufferManager, String contentType)
   at System.ServiceModel.Channels.MessageEncoder.ReadMessage(ArraySegment`1 buffer, BufferManager bufferManager)
   at BinaryMessageFiddlerExtension.BinaryInspector.GetWcfBinaryMessageAsText(Byte[] encodedMessage)
   at BinaryMessageFiddlerExtension.BinaryInspector.UpdateView(Byte[] bytes)

I couldn't find any resources explaining the solution to this issue, but looks like few people encountered it. In my scenario, the error was caused because the client could not reach the service, and it was returning 404 (thanks to Fiddler), but the exception details on the client side were completely misleading.

The solution to my issue is just to add a project reference to my external assembly which contains all of my WCF RIA services.

Nandri!

Saravana

Camtasia Studio

Have you heard about this tool?

This is a capture tool that records your actions as you perform them on your workstation, remote desktop, etc. It’s made by the same company that makes SnagIt, etc.

http://www.techsmith.com/camtasia.asp

I have used this at several customers to record our install and configurations of BizTalk and more- this can come in very handy to help reduce differences in environments (because you can go back and reviewexactly what you did in the previous environment)as well as to supplement your installation docs. The product also includes an editing studio and various media types for export.

I haven’t been paid to write this – I just think the tool is very nice.

ESB Toolkit 2.0 EndPointConfig (HTTPS with WCF-BasicHttp and the ESB Toolkit 2.0)

Earlier this week I had an ESB endpoint (Off-Ramp in ESB parlance) that I was sending to over http using WCF-BasicHttp. I needed to switch the protocol to https: which I did by changing my UDDI Binding over to https: No problem from a management perspective; however, when I tried to run the process I saw this exception:

Event Type: Error

Event Source: BizTalk Server 2009

Event Category: BizTalk Server 2009

Event ID: 5754

Date: 3/10/2010

Time: 2:58:23 PM

User: N/A

Computer: XXXXXXXXX

Description:

A message sent to adapter “WCF-BasicHttp” on send port “SPDynamic.XXX.SR” with URI “https://XXXXXXXXX.com/XXXXXXX/whatever.asmx” is suspended.

Error details: System.ArgumentException: The provided URI scheme ‘https’ is invalid; expected ‘http’.

Parameter name: via

at System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)

at System.ServiceModel.Channels.HttpChannelFactory.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)

at System.ServiceModel.Channels.HttpChannelFactory.OnCreateChannel(EndpointAddress remoteAddress, Uri via)

at System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)

at System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)

at System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)

at System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)

at System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)

at System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)

at System.ServiceModel.ChannelFactory`1.CreateChannel()

at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.GetChannel[TChannel](IBaseMessage bizTalkMessage, ChannelFactory`1& cachedFactory)

at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendMessage(IBaseMessage bizTalkMessage)

MessageId: {1170F4ED-550F-4F7E-B0E0-1EE92A25AB10}

InstanceID: {1640C6C6-CA9C-4746-AEB0-584FDF7BB61E}

I knew from a previous experience that I likely needed to set the SecurityMode setting for my Send Port. But how do you do this for a Dynamic port (which I was using since this is an ESB solution)?

Within the UDDI portal you have to add an additional Instance Info to your Binding named:

EndPointConfig

Then you have to set its value to:

SecurityMode=Transport

Like this:

The EndPointConfig is how the ESB Toolkit 2.0 provides extensibility for the various transports. To see what the key-value pair options are for a given transport, open up an itinerary and change one of your resolvers to a ā€œstaticā€ resolver by setting the ā€œResolver Implementationā€ to Static. Then select a ā€œTransport Nameā€ ā€, for instance to WCF-BasicHttp. At this point you can then click on the ā€œEndPoint Configurationā€ property for to see an adapter/ramp specific properties dialog (key-value pairs.)

Here’s the dialog that popped up for WCF-BasicHttp:

I simply set the SecurityMode to Transport. Please note that you will get different properties within the window depending on the Transport Name you select for the resolver.

When you are done with your settings, export the itinerary to disk and find that xml; then find thatresolver’s xml within that file. It will look like endpointConfig=SecurityMode=Transport in this case. Note that if you set additional properties you will have additional key-value pairs after endpointConfig=

Copy that string and paste it into the UDDI portal for you Binding’s EndPointConfig Instance Info value.

Event ID: 4119 An empty batch was received with fragmentation turned on

I have come across this ’INFORMATIONAL’ event log message a few times and after much banging of heads (mine in particular), Microsoft has a hot fix for the following message:

Event Type: Information
Event Source: BizTalk Accelerator for HL7
Event Category: None
Event ID: 4119
Date: 3/10/2010
Time: 2:35:25 PM
User: N/A
Computer:
Description:
An empty batch was received with fragmentation turned on. The 1st 1kb of the message is

MSH|^~\&|

Username:
Time: 3/10/2010 2:35:24 PM

However, when searching for this, I was not apparent that it is referring to the following KB 973910 article

Announcing upcoming commercial availability of Windows Azure platform AppFabric

We are happy to share that starting April 9, 2010, Windows Azure platform AppFabric will be commercially available on a paid and fully SLA-supported basis.  

 

In order to help you get familiarized with AppFabric billing, we released the AppFabric Billing Preview yesterday March 9. With this billing preview, you will be able to download a usage summary from the AppFabric Developer Portal, with information similar to that of the “daily usage summary” currently available to you for Windows Azure and SQL Azure.

 

If you are already using AppFabric, we will begin charging as of April 9, 2010 at 12:00 AM GMT. You can find our pricing for AppFabric here. You can also go to the pricing section of our FAQs for additional information as well as our pricing blog post. If you do not desire to be charged for AppFabric, please remove any applications that are currently utilizing these services prior to this date. 

 

Thank you for your continued interest and business.

 

 

The Windows Azure platform AppFabric Team

SP1 and the Oracle Adapter in BizTalk Adapter Pack 2.0

SP1 and the Oracle Adapter in BizTalk Adapter Pack 2.0

I experienced the following problem the other day when trying to configure a WCF-Oracle send portafter installing SP1 for BizTalk 2006 R2. I believe the problem would show itself when using BizTalk Adapter Pack 1.0 as well, but I didn’t verify this.

Here’s a text version of the error:
—————————
WCF-Oracle Transport Properties
—————————
Error loading properties.
(System.MissingMethodException) Method not found: […]