Gerben van Loon

Random thoughts on Microsoft Software Development and other related stuff

August 2011 - Posts

IBM WebSphere MQ WCF Channels comparison update

Wrote a lot about the IBM WebSphere MQ WCF Channels in the past. Check out my original post and an update on that one.

What changed in the meantime is that Microsoft added backout queue support to their channel in a hotfix. My comparison table now looks like this:

 

IBM

HIS2009

HIS2010

Fire-and-forget (oneway) client

+

+

+

Fire-and-forget (oneway) service

+

+

+

Request-reply client

+

-

+

Request-reply service

+

-

+

Local transactions

+

-

+

Distributed transactions (DTC)

-

+

+

Client side transactions (DTC)

-

+

+

Backout queue support

+

-

+

Message format

-

+

+

AppFabric support / IIS Hosting
(WAS listener for IIS7)

-

-

+

Works with .NET 3.x

+

+

-

Works with .NET 4.0

+

+

+

WMQ6 support

-

+

+

WMQ7 support

+

+

+

Sample code

+

+

+

Documentation

+

-

-

Licensing

+

-

-

Conclusion
We'll consider starting to use the HIS channel for services only. Hosting services with the HIS channel can be interesting due to support for AppFabric which can save development and maintenance time. For client side we’ll probably stay on the IBM channel anyway due to the licensing costs of the Microsoft channel.

Mobile app development overrated?

Fowler did a nice sum-up of different approaches for cross platform mobile development: http://martinfowler.com/bliki/CrossPlatformMobile.html

A little more structured  I see these six approaches for mobile development: 

Approach Build UI Build Libs Dev platforms UI Control experience User Experience
Cross-platform toolkit with native components from each platform 1x 1x 1 Native. But lowest common denominator of functionality and UI controls from platforms available No native experience form device
Cross-platform toolkit with emulation 1x 1x 1 Emulated. Differences in behavior per platform. Less performance / responsiveness No native experience form device
Cross-platform toolkit only for libraries Multiple x 1x Multiple Native Native experience form device

Cross-platform toolkit but building seperate apps for each platform

Multiple x 1x 1 Native Native experience form device
Mobile web apps instead of mobile apps 1x 1x 1 Web instead of device No native experience form device. No interaction with mobile hardware like GPS, Camera, etc. No offline usage possible

My conclusion can only be that building apps that work on all platforms today is quite hard.

But everybody wants apps these days. Why? I don't know, probably because it sounds cool.

My advice: if you don't need to interact with hardware from the device or need offline usage just keep doing web apps. Nothing wrong with that! In fact they're even easier to build. Or am I missing a point?