Things hard and not so hard.... RSS 2.0

Folks - my blog has moved to

# Monday, 08 December 2014

Hey folks, Something that has been bugging me for a while is to be able to set a bunch of BizTalk services to 'Automatic (Delayed)' start type, cause as you're aware when you reboot a box (pretty much any box outside a class room lab) - all the biztalk services will be stopped due to the underlying services taking a while.

Namely the ESSO service.

So I thought I'd write a batch file - yes batch! that doesn't rely on libraries from here, powershell modules from there and requiring .NET version 2020!

Here it is & enjoy

----- Batch to Set all BizTalk Services to Automatic (delay) -----

sc query state= all | find "SERVICE_NAME: BTSSvc" > %temp%\btssvc.txt
FOR /F "tokens=* delims=:" %%a IN (%temp%\btssvc.txt) DO call :sub "%%a"

  del /f %temp%\btssvc.txt
  @echo Done.
  exit /b

  echo In Subroutine
  @set svc=%1
  set svc="%svc:~15%
  echo Configuring %svc%
  sc config %svc% start= delayed-auto

Monday, 08 December 2014 10:45:57 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2006 R2 | 2009 | 2010 R2 | BizTalk 2013 | RFID | Usergroup
# Tuesday, 22 December 2009
Folks Christmas and the holiday season has started with the BizTalk Team been busy and are opening up the BTS 2009 R2 TAP program on connect.

If you're a customer (or have customers) that would/could benefit in working with some of the newer BizTalk features - with the prospect of MS being able to have some visibility into the solution, then go for it.

I'm looking fwd to the BizTalk Dashboard and a whole bunch of other enhancements.

Here's a snip for you....



 BizTalk Server V6 Image

Welcome to the Microsoft BizTalk Server Connect website


We encourage you to visit this site where we will keep you informed of Technology Adoption Programs (TAP) and other customer pre-release programs for Microsoft BizTalk Server.


We have a number of programs currently underway as well as several that will be starting up in the near future.  If you are interested to participate in any of the programs below, please register for the program by selecting the associated link, and return the completed nomination form to .


Current Programs

  •  BizTalk Server 2009 R2
  • BizTalk Server 2006 R2 SP1 beta 


 BizTalk Server 2009 R2


What’s planned for the next BizTalk release?


VS 2010 Support

  • Use of Visual Studio 2010 to develop application for BizTalk Server 2009 R2
  • Projects developed in VS 2008 can be seamlessly migrated to Visual Studio 2010



Intelligent Mapper

  • Enhanced user interface for better visualization of maps and to support complex mappings
  • Background noise reduction using highlight propagation, auto scrolling  and sibling coalescing
  • Support for search
  • Reusable parts for improved user productivity
  • Enhancements to the current functoids


Enhanced Trading Partner Management (TPM)


BizTalk Administration Console – Performance Enhancements

This feature aims to improve BizTalk Administration Console performance across the board by more than 60%. Key Scenarios like refresh, addition, deletion of port, enlistment of an orchestration will be optimized. Post Enhancements, the BizTalk Administration Console would be more responsive and address one of the key customer pain-points of Console performance in BizTalk 2009.


BizTalk Settings Dashboard

The BizTalk Settings Dashboard will serve as a one-stop shop for BizTalk Engine settings visualization and modification. This feature will enable BizTalk Administrators to centrally manage BizTalk Settings as admins will be able to export and import settings from one environment to another (for e.g. staging to production). The BizTalk Settings Dashboard is a step forward in consolidating all BizTalk Settings and will incorporate design extensibility to accommodate future addition of settings.


Improved Management Pack

The Improved System Center Management Pack will address key customer pain-points (e.g. high-CPU usage, duplication of discovered artifacts etc.) in the existing Management Pack. The new and improved design will also incorporate enhancement like better visualization of BizTalk Application and Platform Artifacts, Improved monitoring and diagnostics of artifacts like Orchestrations, Grouping of Alerts etc.


RFID OOB Event Filtering and Delivery

The scope for this feature covers providing a set of OOB components for Duplicate Elimination filter, EPC based filter, DWELL filter, posting events from BizTalk RFID to BizTalk Server, Posting events from BizTalk RFID to an EPCIS service and an Event Delivery framework for applications to subscribe and receive asynchronous events. These Out Of Box components address common RFID scenarios and will enable partners to focus solely on business logic hence helping accelerate BizTalk RFID solutions.


FTP/FTPS Adapter

The FTP Adapter in BizTalk is one of the most popular transport adapter in BizTalk server, used in different scenarios.  In BizTalk Server 2009 R2, we provide additional features in the FTP adapter that includes the following:

-          Support for FTPS, FTP over SSL – Enables to connect to FTPS servers for transferring files securely.  Both Implicit and Explicit FTPS are supported.

-          Support for read-only FTP servers – Enables configuration to pick up files from a partner FTP server which may provide only read-only permission.  The adapter will ensure that each file is submitted only once to BizTalk Server.

-          Support for atomic file writing – Can be used to ensure that files are read only after they are transmitted fully to the FTP server.

·         Enhanced performance – Re-designed to increase the performance, both while sending files to as well as receiving files from FTP servers.  The adapter will be more resilient to server going down.

Tuesday, 22 December 2009 13:07:27 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | RFID | R2
# Friday, 11 September 2009

Hi guys, thought I’d let you know about the rfid operations guide Microsoft recently released.

Covers things like HA, RFID Mobile and best practices… yours truly was one of the authors so I’m happy to take any feedback you’ve got.

Enjoy – here’s a snippet of what to expect.

Welcome to the first edition of the Microsoft® BizTalk® Server RFID Operations Guide. We created this guide to be a valuable resource for anyone involved in the implementation and administration of a BizTalk Server RFID solution.

To download a copy of this guide in .chm or .docx form, go to

  Which Versions of BizTalk Server RFID Does the Guide Cover?

This guide is primarily for the BizTalk Server RFID product that is released as part of Microsoft BizTalk Server 2009. Even though most of the guidance applies to BizTalk Server RFID that was released as part of BizTalk Server 2006 R2, the guide uses the new platform changes wherever applicable.

  What’s in It?

This document applies to the operational readiness phase in the solution life cycle management of the project. The operational readiness phase precedes deployment to production. It consists of a set of tasks for ensuring a stable operating environment. It is targeted toward system administrators responsible for BizTalk Server RFID (server computers and RFID devices), DBAs responsible for the SQL servers used by BizTalk Server RFID, and developers involved with maintaining the infrastructure and solution. This document assumes that the BizTalk Server RFID solution has already been validated in a Pilot stage and is prepared for deployment to production.

Key portions of this guide are new; however, a considerable portion consists of documentation taken from BizTalk Server RFID Help, white papers, Knowledge Base articles, and other sources. It has been reviewed and evaluated by experts from the community of BizTalk Server IT professionals and members of the product development team, whom we gratefully acknowledge at the end of this topic. We believe that the information presented here will help BizTalk Server RFID users solve—and above all, avoid—many of the common problems that can occur while deploying and maintaining a BizTalk Server RFID installation.

  Interesting! Where Do I Start?

We organized the guide according to the functional aspects of planning, deploying, and managing a BizTalk Server RFID installation. You can therefore read it according to these functional aspects. If you are performing the following tasks, you can start with the related sections:

  • Evaluating operational readiness. If you are focused on assessing and evaluating the operational readiness of a BizTalk Server RFID deployment, then start by reading the Operations Checklists section.
  • Becoming operationally ready. To ensure that your BizTalk Server RFID infrastructure and applications become operationally ready, refer to the Planning the Environment for BizTalk Server RFID section.
  • Managing the operational environment. Most of the topics in this operations guide assist you in managing and maintaining an operational BizTalk Server RFID environment. You will find best practices, key concepts, and procedures for maintaining an operational environment in Managing BizTalk Server RFID and Monitoring BizTalk Server RFID.

Author: Rama Ramani (Microsoft)

Editor: Mary Browning (Microsoft)


  • Mark Simms (Microsoft)
  • Rohan Makhija (Microsoft)
  • Ravi Vankamamidi (S3Edge)
  • Clint Tennill (Xterprise)
  • Damir Dobric, Andreas Erben (daenet)
  • Mick Badran (Breeze, BizTalk Server MVP)


  • Petr Kratochvil (Microsoft)
  • Ewan Fairweather (Microsoft)
  • Quoc Bui (Microsoft)
  • Douglas Trimble (The Boeing Company)
  • Robert Auston (Vail Resorts Management Company)
  • Luke Rennells (Bank of America N.A.)

Microsoft BizTalk Server 2009 RFID Operations Guide

Friday, 11 September 2009 21:56:50 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
2009 | RFID | Tips | Training
# Thursday, 10 September 2009

We’re in the thick of TechEd 2009 here in Australia on the Gold Coast (tough place to have a conference ;) Sun, sand and a beach that stretches for miles 1 block away)

Big thanks to those of you that attended my session – great turn out and all my demos worked like a charm…that doesn’t happen every day :)

Here’s the powerpoints and demo files:

SOA314 BizTalk RFID Mobile - Mick Badran

PowerPoints  -

Thursday, 10 September 2009 22:50:01 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
2009 | RFID | Events | TechEd | 2009
# Tuesday, 19 May 2009

Hi folks – from a previous post where I fudged a DLP-RFID1 x64 driver, I’ve now tracked down ‘proper’ 64 bit version of the DLP-RFID1 Reader.

Here it is here -

1. From this page download the CDM 2.04.16.exe which does the trick.

2. Double click on the above EXE to install the drivers (the EXE will detect your OS is x64) – the driver is then installed on the machine, but not auto assigned to your RFID1 device.

3. From Device Manager, right click on the DLP RFID1 Reader and select ‘Update Driver’, select ‘Browse on My Machine’ and ‘Select from a List’ (near where you say ‘have disk’).

4. From the Manufacturer list select ‘FTDI’ and select the very top Driver on the RHS (USB Serial Converter)

5. Unplug and replug your RFID1 Device – and viola! all good.

6. Run this Test app RFID1Demo.exe to make sure all is good from 

NOTE: On my machine I still have an unknown Serial device in Device Manager, but all works none the less.


Tuesday, 19 May 2009 12:25:01 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Tips
# Tuesday, 27 January 2009

Our Australian Govt. has been busy over Christmas by finally legalising RFID UHF Reader Frequencies and Power Output!

Previously the 'work around' was to operate under a Scientific (Experimental) 'License' - these were controlled by GS1 - a global standards body.
(Things here are made a little more complicated as one of the Mobile Phone companies licensed a slice of the UHF Reader bandwidth - or maybe the mobile phone company got there first and readers came's getting late.
So all reader configurations had to respect their range - around 926MHz)

Drilling in a bit further the stipulations were:

1. The Reader could not exceed 2W without paying more License $$ for the 2-4W Range. <1W didn't even blip on the RFID police's radar.

2. The Site/Venue needed a 'Site' License to operate these Readers (once again my experience was <1W no questions asked)

Well *finally* the Govt. passed a bill legalising the 4W UHF Readers.

Details can be found here - December 18th 2008.

Tuesday, 27 January 2009 22:57:52 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
# Monday, 05 January 2009

Cant do

“The product cannot be installed on this machine since it seems to be a domain controller”

What a start to 2009!!! – the above dreaded message when trying to (in this case) install BizTalk RFID on a DC.
For me – this happens quite a bit, as I’m building up a proof of concept, a demo, something to show and present with.

I always…always….forget to install BizTalk RFID bits before I promote to a DC (this technique can also cause security acct issues after the machine has been promoted to a DC – depends on how the authentication is setup etc)

NOTE: BTW – Installing BizTalk RFID on a DC is NOT SUPPORTED (had to put that one in their – keeps both sides happy)

For love or money I’ve bounced this question around for a while and come up empty, until…today!!! Niklas Engfelt a senior MS support engineer came to my rescue (he famously provided those thoughts from left field which were on the money! Big thank you Niklas)

He suggested grabbing Orca from the Platform SDK and having a browse through – I’d used HEX editors, disassembled files, attached process monitors during installs and looked through any config file with a fine tooth comb…but I’d never tried a MSI Editor.

The steps to Enlightenment: (changing the installer validation conditions)

  1. Grab a download of Orca from here (I didn’t have the platform SDK currently installed and wasn’t about to install 1.2 GB worth either) and follow default install prompts.
  2. If you haven’t done so already copy the RFID_x86 or RFID_x64 folders off the install media to a temp folder nearby (note: sometimes on Win2K8, the system prevents copied files from being accessed until an admin comes along and says ‘these are ok’ by going into File->Properties on each file. It’s weird I know, but I get it every now and then)
  3. Locate the RFIDServices.msi under the RFID folder and you’re ready to go.
  4. Launch Orca and open RFIDServices.msi to get something like:
  5. image
  6. Under the Tables Column select LaunchCondition and drop the 2nd Row as follows:
  7. image
  8. Drop the Row and Save the MSI file again.
  9. Run Setup.exe as per normal.

Oh what a sweet day!

p.s. I’m sure you’d be able to employ this technique onto other MSI’s causing grief.


Monday, 05 January 2009 14:18:43 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
.NET Developer | BizTalk | RFID | General | Tips
# Thursday, 11 September 2008

The system we built has made it through its maiden event and was still capturing reads well into the later afternoon (until we got round to tearing it down....technically called 'Bump Out'....with all the moving bodies and parts, it's no wonder they call it Bump Out!)

 I grabbed a couple of SilverLight screen shots to show what the system is capable of - in the hectic pace of last week I didn't manage to grab some screen captures of the system in action, these screen shots come from the courtesy of Eileen Brown's Blog (she is responsible for running MS Events in the UK + a founder/advocate for Women in IT)

Walk-In Displays - these walk in displays were up on the big screens as delegates entered/exited their sessions. Pretty cool!!!.

These screens are delivered via a browser and are what we call the 'Walk-in' Display. Here you can see 3 people leaving the room with the graph in the background showing some delegate profiling data around attendance of previous TechEds.

Here we've got an enter and a leaving of the session. Something we didn't get time to do at this show was to play on the scope for customisations with these avatars. We had over 120 textures + bitmap type surfaces set for this, but during the show this 'feature' got bumped further down the list. (Hats, scarves, hair type, colours etc. you know the stuff)

We had fun with a couple of names though - '@Coatsy' was one, 'The Stig' was another.

The beauty about these screens was that people outside the conference got real time stats about the rooms and could see the 'Walk-in' displays in near real time. (Late night trouble shooting with my friends in MS Corp - this proved a great tool)

In testing performance of our SL Services over the internet - I had a link to the UK where we had a technician monitoring the various walk-in displays and giving feedback. All worked pretty well.
(At this point we don't have an upper limit on the number of individual 'Walk-in' display sessions that run concurrently - each open browser receiving events in near realtime is an additional WCF Service instance + a SQL connection. Not sure how much benefit SQL Connection pooling will give as these connections are active pretty much all the time)

This screen is from the 'Speaker Charts' which are designed to give the speaker various breakdowns of up to the minute information of their audiences.


Overall the Breeze Boiler room (HQ) got great attendance from the delegates wanting to know the "whats/whos/whys" on the Breeze Event Tracker System.

We're currently still analysing the results but some interesting numbers are:

(1) In a 16 hr period for one room, we got 345000 reads.......(this maybe picking up the persons in the back row while sessions are on - our business logic takes care of these)

(2) We experienced a very particular 'known' problem (don't you love it when you experience an issue for the first time and describe it, only to be told it's 'known' - well telling us that ahead of time would have been great :). The problem arises from Tags being physically close together, and two tags respond 'around' the same time. In very special circumstances this confuses the Reader and instead of getting 12byte TagIDs we got 16, 18 or sometimes 20 byte IDs where the 2 tagIDs were 'spliced'.

It occurred in very special cases - but we got it. That particular read should be discarded as it fails the CRC check.
In peak time, out of 8000 reads we got around 2 of these cases.

Couple of phone calls to India and our Intel R1000 Provider was 'patched' and as a PlanB we had the current provider being wrapped by another .NET class to catch that particular exception.

(3) SCOM2007 couldn't have worked better!!!! I dropped on the BizTalk RFID Mgmnt pack and it was a breath of fresh air. All the Readers, Devices, Processes, Providers and RFID Servers out on the network appeared as healthy items in lists (mostly). From the mgmnt pack I was able to see the number of Tags Read, settings, when the last heartbeat was heard etc etc. from all the devices over the conference - certainly Mission Control.

(4) We had various 'Show' type issues such as power cords being unplugged; cables being cut; cabinets that housed the equipment in each room all in all it was filled with fun and excitement. We did have a couple of Network issues where at the conference there were several networks implemented for different regions/events at the conference. e.g Public Delegate WiFi; Networks within each of the Break out rooms - we were on our own VLAN and these network layers above us, proved a little troublesome from time to time.


Various Licensing arrangements of this system are available - from the software components through to the hardware. Feel free to ping me for more details.

Here's a video of a screen capture that I *did* manage to do.

Thursday, 11 September 2008 21:54:16 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | Insights | RFID | BET
# Monday, 08 September 2008

From another session Breeze jointly did with Kenetics whom supplied the hardware for the entire TechEd 08.

It was a great session Scotty & myself did around demo-ing the bits that were used to build the system.

Implementing RFID with BizTalk

Monday, 08 September 2008 11:31:22 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Events | TechEd
# Wednesday, 27 August 2008

Hi folks - over the last week or so I've had many requests about what's happening around privacy and what does it mean to get a "Tag" this year.

Breeze Event SystemBreeze Event System  

Reasons for Building the System
1. Breeze designed, built and owns the 'Breeze Event' System. I am talking first hand (and am happy to share details with you). A variant of the idea originated years back when myself and David McGhee worked on a very cut down alpha variation - together we cut the code and got about 5 mins of RFID activity from the devices we were using before our battery died.

Stepping forward to the current system, once we presented MS with the concepts of what we wanted to do - many folks gave some sensational support (such as Marcy Larsen & Rahul Garg) in integrating this new piece with 'TechEd proper'. We got there in the end and for me - it's a real eye opener to see how big TechEd is and how much planning goes into it.

2. As a speaker/delegate/MVP at many TechEds and other conferences my motivation was all about giving you the Delegate (& myself as a Speaker) a better TechEd experience. Taking the pain out of a lot of things. For example:

  • TechEd to me is about experience technology, not just hearing about it. Here's your chance to play and experience some cool technology.
  • Being able to see when rooms over capacity before you get there only to be told to go away
  • Be given online evals just for the sessions you attended (currently we set 'attended' to be at least 15 mins within the session)
  • I might be a new developer, what sessions do I go to? You could have information such as 80% of other 'new developers' went to SessionX. Great I might go to that one.

    A big one for me is that at the end of the conference Delegate's get a boxed DVD Set of sessions in other TechEds with thousands of hours of material on it. Wouldn't it be great to be given such things as '80% of other new developers have these sessions/webcasts etc as their top 10 list' - that way I've got targeted viewing.
  • As a speaker - they will know the cross section of interests and technology tracks in the room. (there's a chart display we've created). So the classic question of 'How many developers are in the room? How many ITPros?' no longer needs to be asked AND as a Delegate the speaker will be able to have more information to tailor their material to the interests of the audience (hopefully reducing the amount - 'that just went over my head')
  • Planning - future conferences/sessions and material will now have direct influence by the Delegates. What sessions you valued, and got the most out of.
  • More...

As you can see, we've designed the system with us (delegates & speakers) in mind.

I digress.....Ok onto the main items......

Privacy Concerns - yours and mine

I wanted to fill you in as much as possible about the system (this is eating into my sleeping time :) so there is a clear understanding about the what is going on.

Some Details on How the System Works

1. Your tag - holds a number e.g. 1234 (we printed it on the plastic surface of your tag) end of story. Nothing else.  These tags are 'EPC Gen II' UHF Tags and operate between 920-926MHz.

Here is the actual Tag itself (it will be stuck onto a card to make it look beautiful :)

Some facts:

  1. The tag is known as a Dog Bone by the way the metal aerial is shaped. Just above the barcode, there's the number and above that there is an indent the size of a 'pin head' in the middle - this is the chip.
  2. The tag is a passive tag (as opposed to active - such as your E-Tags in cars) which means radio waves need to be sent to it, to excite the tag and so the tag can transmit its number. This distance in our case is around 2-3m. If there's no waves, then nothing is transmitted.

    What this generally means is that you should be able to walk straight through into sessions, rather than people scanning your individual barcodes as was in previous years.
  3. The Barcode is there so we can integrate with your established Registration process. We printed the barcode there as a fall back mechanism.

    The barcode number is the only piece of information written onto your tag. (Printing the barcode + printing to the Tag at the same time doing around 5000 tags took a bit of development and H/W)

    In other Systems, things like temperature readings are frequently written to the tag, so that when the fish is delivered to the restaurant, they know the freshness and quality of it.

    Generally speaking in RFID based solutions there will be no sensitive information written to the tag (if it gets lost, crushed, drowned etc etc)

    Tidbit - the amount of data you can write to these tags is in bytes (like 96 bits), but other tags can store around 64KB!!!! (that was the total sum size of my Apple II as a kid!!)


2. Readers - come in many shapes and sizes for different purposes. Our Readers have a read range of 2m. There will be white pizza shaped 'boxes' mounted and these are the antennae. The reader is connected to local pcs that drive the system.

There will be 56 Readers and 118 antennae mounted around Session/Breakout rooms doorways and as I mentioned they have a range of 2m. This is designed to reduce the queues (with reading a barcode) getting into rooms as you should be able to just stroll through.
(there have been some ski resorts in Europe implementing RFID ski passes - ski straight on/off)

                                                                 RFID Antennae
                                                                   Shot of the Antennae

3. Local PC - each room with have one a PC where all the Readers are connected to. We designed our system so that if we have a network meltdown, each room will (hopefully :-) still be running. In fact each Local PC runs our solution on top of BizTalk RFID Server to drive the walk-in and chart displays.

4. Network - there will be a dedicated network for the RFID component @ Teched where these Local PCs and us will be connected to in isolation to the rest of the network.

5. The Information captured - the information that your tag number associates with in the back end is essentially the Conference profile information you entered as part of the Registration process.

This enables things like 60% of people like Jazz in this session.....ideally we're really interested in aggregates of information to help improve your experience.

(I'm hoping to get MS and MVP information as well - so you as a Delegate may be notified when a Windows2008 MVP is in the house)

Just quickly - we're using SQL Replication to frequently replicate the information from each Room back to our servers centrally.

Sneak peak....

Cause you read to the bottom of this's a reward.....
Now according to my team - this information is available on All Rooms, or by Individual Room.
(my current challenge is how to expose these screens to you guys (approx 500-700 concurrent connections) without causing grief to our system.....nothing like a challenge a week out from TechEd......)

Looking fwd to a very different TechEd....see you there....nighty night.

Wednesday, 27 August 2008 01:11:33 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | RFID | TechEd | Silverlight
# Friday, 08 August 2008

TechEd Register - here

Folks I hope you're heading to TechEd this year - it's a brand new breed! Why....????

Because myself and my team are covering the entire event with RFID tags, we'll give you tags - enabling you the delegate to 'live' the technology!!! (seen Tron lately) we'll set up some great RFID interactive capabilities.

Sample card TechEd tag

It all started when... I went to MS and said..."I've got an idea...." and the teched committee(s) saw the plan and loved it (there were some sleepless nights there as well :).

I've been to over 10+ yrs of TechEd (sometimes 3 a yr, US, Oz + NZ) and I figured it should be a chance to play with the technology! Hands on - get dirty. Build, break, play + learn...all that stuff.

As a MS Ptr Readiness trainer/Regular teched speaker - I appreciate the value of sessions but as a delegate I would be looking for the show me/talk to me/let *me* see how it's done.... a bit like plasticine to mould and meld the way that I (as a delegate) would need it!!!!!

So in light of this - Breeze is providing a (huge) BizTalk RFID based RFID Event System that you guys can interact with/we'll walk you through the making of, setup & how the system is put together. We're getting some posters made up and myself as a trainer, would want to share the knowledge around this system.

Let's see what the system does.....(as of 5pm today...nothing like moving targets... :)

The vision we have is:

  1. You walk into a room and the welcome screen will say "Hi Paul" (and you'll fade out, do something special...we've got a couple of ideas here). This component actually is a 'real-time visual display' of out in the field events. In our case it's people walking past readers...or it could be boxes, trucks, palettes etc. Built in Silverlight 2 harnessing the WCF Eventing Services in real time. (We've been able to crank our code up to 150 people walking past *exactly* the same spot)

    Fellow Breezer.... Scotty (a member of the BizTalk Virtual TS team) has a blurb on some of the details on the initial RFID/Silverlight nuts 'n bolts

    (we've also got a webcast on how this is created)
  2. So you guys as an interactive experience as you walk in the room with various graphs (developers in the room, it pros...) and charts - some DRAFT IDEAs
    All done in Silverlight

    We've actually got MS Shane Morris on the case here - he never gives up a chance to get down and dirty with Silverlight.
    Check out his thoughts at the moment - big thanks Shane :)

    So there may be an 'Avatar' thingy that gets displayed up on the screen (as Shane mentions).....a quiet secret want to 'pimp your avatar'???? Come and see the Breeze room and we'll make it happen...only those who rock up - I've got a Windows Mobile App that will do it for you.....

  3. Some other areas that may/may not make the final show are having things like:
    1. 'Information Points' - areas that you could simply be standing near, talking to someone and a screen may show where your collegues are, or what you may have in common with the person you're talking to. e.g. belong to community User Groups; where the next sessions of interest are for you.
      These may be distributed throughout the conference.
    2. As you go to a session - if you stay longer than 15 mins (for e.g.) the system contacts Commnet and makes a session eval available for you to fill out (could be done while you're sitting in the session :-)
    3. Breeze will have a room that will be driving all this - be sure to come and see us. Our guys will be more than happy to take you through 'the bunker'
    4. No more hold ups at the doors (hopefully :) with people individually reading your barcodes, you can just walk straight in (imagine if skiing chairlift lines were like that :)
  4. The other major component to the system is an Exhibitor System which is run on a PDA equipped with a Kenetics RFID Reader built on BizTalk RFID 1.1 Mobile (still in beta - nervous who me?). The Kenetics crew have been very helpful and when I embarked on this application I was given the H/W and a C++ DLL....." don't know C++?" - not since uni folks....developed the RFID component in 4 days!!!
    1. The application is for when exhibitors on the floor, they scan your RFID Tag and you can continue the conversation. The scan range is around 2-10cms.
    2. There is also local SqlCe storage, with store/fwd capabilities. I'm using SqlCe merge replication to keep the data safe centrally - which proved to be interesting.
    3. Currently - the MS Stand and the HP stand will have the devices, the RFID Reader + this mobile App (the other exhibitors are still reading barcodes)
  5. TechEd Event information is to be made available through Analysis Cubes so you guys can pull up a pivot table (looks impressive to your boss) and play with the event data. Things like attendance in sessions, audience breakdown by interest or by technology etc. - it would be great to do something like an 'Amazon' - such as if you're a .NET developer having.... "Other people who are also .NET developers went to these other sessions...."

    So as a delegate I can get a 'group feel' for what sessions I should be seeing next - sometimes there's a time where non of the sessions are on my immediate agenda, it would be great to have this information available to help me make my decision on what session I should see in that time slot.
    (e.g. 85% of SQL developers chose this session....)
  6. There's a whole bunch of H/W coming from Kenetics which we'll be giving a session at TechEd on how we built it all!!!
  7. Lastly I thought I'd just mention a quick blurb on the RFID info.
    - there *may* be some apprehension about a delegate getting a 'tag' and the whole "big brother is watching" thing. Let me dispel a couple of rumours
    1. tags are similar to barcodes - they simply contain a number. read differently but from that respect the same (imagine if you could go into your favourite sporting store, and say "I'll have a new shoes" and they knew your size, your brand, and whether it's in stock instantly - now you could even have a self-serve kiosk around that as well!!!)
    2. Your tag can't be read from satellites - lots of physics comes into play here...namely a big one of power. If you think about when TV stations need to broadcast to space, they have a large dish somewhere, 50 guys peddling bikes to generate the power and then they transmit bursts. - simply cover the tag with your hand and you can't be read. (water and radio waves don't go that well)
    3. My vision is to make this *your* teched - as you can see we're being transparent and open about the system and how it works. Any time drop in and we'll show you through.


ON ANOTHER NOTE ENTIRELY DIFFERENT - my workflow session I'm delivering - you've got rare oppty....

Getting Workflows Running and Talking in Your Applications
04/09/2008 2:00PM-3:15PM

Once you understand the basics of Windows Workflow Foundation (WF) and can put together a workflow using the built-in activities, you will need to know how to get that workflow running in a variety of hosting environments and communicate between the workflow and the host application or the outside world. This session gives you a solid foundation to get started with these techniques. Gain a better understanding of how workflows exist in a hosting process and how to control the hosting services. Learn about the various forms of communication that can exist between a running workflow and the hosting application as well as with outside Web and WCF Services. Also, learn about the persistence and tracking features of WF.

- I've got a technical session on Workflow Foundation.
- Of course you're planning on seeing my session :) - WHAT DO YOU WANT ME TO COVER? WHAT DO *YOU* WANT TO KNOW ABOUT?

(You've got the opportunity to provide feedback and while I'm still 'building' the session - hopefully I can incorporate your needs!)

More later and I'd love to hear your thoughts on above with a comment or great to see you at TechEd!!!!

Over and out



Friday, 08 August 2008 19:36:10 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | RFID | Events | TechEd | Silverlight
There I was with the a new toy - Zebra R110Xi Printer and a 600 page instruction manual, including a 300 page Zebra programming language reference and an RFID do you spend time with the manual? or unwrap and plug it in and see what happens.

I did the latter - I wasn't printing on labels (yet) where some care needs to be taken, loading unloading etc.

Let's get this puppy into RFID manager I thought...... you'd think "grab the provider and away you go"'d think...... :-)

1. Grab the Zebra provider from here - (at the bottom of the page)
2. Expand out the Zip and in there is some documentation about installing SNMP networking services on the RFID Server - do this pretty straight forward step (it seems the Zebra provider uses SNMP to gather more info about the printer)
3. Install the Zebra Provider in the usual manner.....outlined in the install document.
4. Next Add a Device through the RFID manager. You will need the IP Address of your printer and the Port number - default 9100
5. I got a FAILED to COMMUNICATE to Device ....tried again and we go I thought.......maybe those 600+pages are looking promising?
6. I then did a quick hunt and found that the printer had a Web Interface (instead of trying to set 6 million properties through the front panel and a <- and -> key) - cool. The web was the go!
7. (temp IP address of my device) brought I a great Zebra Home page and I knew I was at the right place.
8. I checked out a few settings but as soon as I wanted to look into 'Printer Settings' etc. I was prompted for a password.
9. I was forced to head into the manual and the default password is 1234.
10. So I entered this password in AND...the skies parted, the rays of light shone through......Mr. Zebra replied with

"Access Granted. This IP Address now has admin access to the restricted printer pages. Please Click here to proceed."

11. Hey I thought........does this mean.....and BOOM - RFID MANAGER WORKED A TREAT - added the device and got access to the 'admin' pages on the printer.

12. Uploaded some *.ZPL templates and ready to tackle the next stage.....actual printing.......

Friday, 08 August 2008 13:20:25 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID
# Thursday, 07 August 2008

Wow! I had to venture into the 'cave' and solved this problem - talk about a character building experience!

I'm currently building a Mobile BizTalk RFID 1.1 solution for TechEd08 that runs on a PPC with a Kenetics CFUHF Reader.

*** Early Screen Shot *** :) image

So in building out this application the details always bring unforeseen challenges to light:

1) The application houses all the BizTalk RFID pieces (providers, device proxies etc) so registration, and starting/stopping providers/device discovery and applying properties to the device needs to be all taken care of.

2) I built an RFID Mobile Provider for the Kenetics device - I worked with their support engineers solidly for a week to build what I needed. I took a trip down memory lane and have had enough pinvoking to last till Christmas.

3) The app also manages a several local SQLCe databases - one for my app, the others for the operation of BizTalk RFID Mobile locally on the device (mainly for it's OOTB store/forward mechanism).

After weighing up several options in this solution and how to get data to/from the device reliably I decided to go with SqlCe Merge Replication as we needed to push/pull data from several tables and schema changes.

4) Which leads me onto one of the most little known items......

How do I setup SqlCe Merge replication? it's a mine field, change something here and boom over there.

The picture

Phase 1:

Forget ISA for the moment. If you can, aim to get replication running in a local environment first (e.g. Local LAN on same network, through VPNs etc)

Getting the SQL bits Setup
Ok - the pieces to the initial puzzle.....

  1. Sql Server Side
    1. Sql Server and it's additional Sql Mobile Replication Bits - download from here.
    2. IIS to expose a replication 'end point' where the remote devices will connect to and replication will take place through. IIS can be separate out onto a different machine.
    3. As in my case, somewhere that the 'snapshot' DB information will live to merge down to the devices. Mine was a UNC share - SQL created this after I completed the Publication wizard.
    4. Installation -You want the SQL Server Compact 3.5 Server Tools installed on BOTH the IIS AND SQL Machines (if these are one and the same, then you only need it once)
      The server tools has two main components - one being the bits that drive IIS and the other being a wizard that configures the exposed virtual directory and sets security onto it.
      If IIS and SQL are on separate machines, the easiest way to go is:
      get SQL to publish the snapshot to a UNC share e.g. \\sqlserver\data
      - On the IIS box, run the Configure Web and Synchronization Wizard (installed with the above server tools) and a later screen will ask you where this data is coming from - simply point to the UNC share.
  2. Mobile Device Side
    1. The equivalent SQL Mobile Replication tools need to be installed (above and beyond just normal SqlCe database components install) - SQL Server Compact 3.5 for Windows Mobile
      *** NOTE: make sure that the bits on both the Mobile + Servers all match ***
  3. Server Side Security - For this let's work backwards, from the publication through to the exposed endpoint.
    1. Publication Security - this is set through the Publication Access List within SQL Mgmnt Studio
      The group in question is the ExhibitorsGroup

      Create a publication within the SQL Management Studio

      (Publication General Properties)

      (Snapshot Properties - note the file location)

      (FTP Snapshot + Internet - I've just used Internet and no IIS server name as this is configured in the Mobile Wizard)

      (Publication access list - I've blanked out sensitive info, but you can see the BETDEV\ExhibitorGroup being manually addded to the list)
      The rest of the publication settings are defaults - for me anyway.
    2. Let's go to the UNC share - = C:\Public\Exhibitor.SqlCE.FileShare
      This is the UNC share that IIS repl component will connect to at the back end.
      Note: the BETDEV\ExhibitorsGroup obviously needs r/w access to this folder.
    3. Let's run the 'Configure Web and Synchronization Wizard' to configure the IIS component.
      (you'll find it off the tools menu after you've installed the Mobile Server Tools from the links above)
      Note: one of the interesting things I found here is that after running the wizard, I normally go a tweak a few things in IIS - directory browsing etc. As a rule of thumb, if you want to change something with the Virtual Directory that is created at the end of this wizard, re-run the wizard to do it!!! :)

      Press next if prompted with the welcome screen note my options here - SQL Mobile and press Next.Cool

      Select the site and Create a Virtual Directory (I'm re-running the wizard so I'm going to select Configure Existing). Press Next.

      I created an alias of SqlCERepl directory and accepted a sub-directory under the SqlMobile dir.
      (you can change this, but looking around the forums it was a source of grief - I could do without :) )

      Here - I selected HTTP and not HTTPS access to the VirtualDirectory (and SQL Service agent).
      I did this as if you remember the diagram at the top of this post, ISA will serve as the HTTPS endpoint and will fwd the request via HTTP to our IIS/SQL box.
      IF you do want to change from HTTP to HTTPS or visa versa - re-run this wizard. Save you about 4 hrs of head banging.
      Click Next when ready.

      On this page - I selected 'Authentication required' and not anonymous. This has something to do with the data that I'm replicating as I'm using a Filter based on 'UserName'. So in my case, the username that the devices connect with will be my differentiator (I looked into using something like 'deviceID' but didn't get too far)
      Click Next.

      Select the type of authentication to be made against IIS - I selected NTLM (basic is fine also - but you need to be mindful that we're using HTTP at this point)
      Quick note on Security: So far, we've got 2 areas that need authentication.
      1) the IIS virtual directory and 2) accessing the actual SQL Publication in the UNC share and SQL Publisher Access List.

      So if the two machines are separated (IIS + Sql), NTLM will no transverse these machines (known as the 'double-hop' problem) so I'm assuming Basic or Kerberos is the safer bet.
      Click Next when ready.

      On the Directory Access Screen note the presence of the ExhibitorsGroup and also this publication is accessing the UNC Share we created earlier.
      Next to continue.

      UNC path specified - here you can see how this could be pointing to this SQL Share sitting on another machine as in the 2 machine hosted scenario.
      Click Next and Finish to see something like:

      You're virtual directory is now configured.
      To test your configuration so far go to:
      /sqlcerepl/sqlcesa35.dll?diag" temp_href="http:///sqlcerepl/sqlcesa35.dll?diag">http://<server>/sqlcerepl/sqlcesa35.dll?diag - diagnostics screen to get something like:
      You should be prompted to login - enter account details that have access.
      This is our fallback screen - next we will configure the ISA component and come back to our test screen to make sure.
      You're done - here. :)
  4. Configure ISA Server
    ISA server will be the bridge between our public SSL access and our internal IIS/SQL Server. We would effectively like ISA to simply route the request and pass it through without to much tampering with our good packets.

    ISA Server is on IP address: IP:Y_Internal
    The Internal Server here is :
    The public Interface on the ISA Server is for our purpose known as IP:X_Public
    and it's FQDN is : (in otherwords - this is the public DNS name that will point to the public interface of your ISA box)

    NOTE: Make sure you have your SSL cert ready - I created an inhouse cert from a standalone cert server.
    You need at least a 'Server Authentication' Certificate to apply within ISA.
    (I'll show you a little trick in the mobile app to get round the fact that the certificate is from a non-trusted Cert. Authority by default)
    The friendly name on the cert should be - '' (without the quotes)
    All this keeps SSL happy.

    1. Create a publishing rule in ISA 2006 that will effectively route all requests coming to the public interface to our internal IIS/SQL Server.
    2. Fire up the ISA MMC and create a New Web Server Publishing Rule - I've called this sample rule, "Public to Internal IIS/SQL Repl"

      Click Next when done.
    3. Rule Action - set to Allow
    4. Publishing Type=Single Web
    5. Server Connection Security - SSL.This means that SSL is going to be used over the public network.
    6. On the Internal Publishing Details - I tend to hardcode the IP address in, just to reduce any ambiguity.
      Note the IP address - internally acessible only. 10.x.x.x
    7. Further settings on the Internal Publishing Details
      NOTE: the option of fwding the original client host headers to the internal IIS/SQL (I found a variety of incomplete  HTTP Header details errors attempting to sync if I cleared this checkbox)

      We also can restrict the access on this rule by specifying the path of /SqlCeRepl/* (this is obviously the Virtual Directory created earlier)
    8. Fill in your public DNS name - don't worry that the wizard screen is showing and NOT
    9. Create a listener (if you need to ) as follows:
      (I've modified the screen shot slightly - from my listener)
      Note the ports: 8443 that SSL requests is coming on. You can use 443 if you prefer, I had other things on those ports)
      Also - I setup NO Authentication and replication works. You *could* try setting up Basic Authentication here and using Delegated Authentication (ISA server will login to the IIS/SQL box on your behalf with the inputted security credentials).

      I've also supplied the Certificate here as well (add your cert to the machine store ahead of time)

      A way to test if your auth is going to work - fire up your browser and try /sqlcerepl/sqlcesa35.dll?diag" temp_href="http:///sqlcerepl/sqlcesa35.dll?diag">http://<server>/sqlcerepl/sqlcesa35.dll?diag

      You should be prompted for login details ONLY ONCE. If you need to supply them twice and then you see the diagnostic page, your mobile application replication will fail :-(. Once and once only.
    10. Authentication Delegation- we want the client to auth. directly against the backend (routed through ISA of course :) )
    11. User Sets - because we don't have authentication here, ISA can't determine users, so All Users is our only option.
    12. What a glorious site....almost done......
      Click Finish to complete the wizard.
    13. Right click on the rule just created and select Properties - we need to change the Link Translation to OFF
      This was the major source of my grief - I kept getting 'HTTP Headers malformed...' ERROR:28035 when trying to sync from the Device - yay!

      I was fortunate to be able to contact a friend of mine Darren Shaffer (Mobile MVP) that explained what was required to be sent back/forth in the headers during the conversation - big thanks there Darren!
    14. You should be able to browse to /sqlcerepl/sqlcesa35.dll?diag" temp_href="https:///sqlcerepl/sqlcesa35.dll?diag">https://<yourserver>/sqlcerepl/sqlcesa35.dll?diag - it should WORK :)
      If not - resolve before moving on. (you may get IE grumbling about the Certificate being invalid if it's an inhouse cert)
  5. Configure the MOBILE replication piece!!!
    1. Make sure you have installed the SQL CE 3.5 Core + Repl CABs at least.
    2. On the mobile device, I tend to have routines to Add and Remove DB Subscriptions as I found that if any publication changes on SQL Server happened - e.g. a field was modified, or a table added/removed from the Publication, then Merge Repl would fail even though it previously was working.

      Easier to Remove the Subscription on the local SQLCE db, and then add it again.

      Note: InternetUrl = " temp_href="https://">https://<>
      Username + pass must be a user that has access to all the bits we configured above. In my case, someone who is a member of the ExhibitorsGroup.

      The code looks like this:
         1:   public void AddReplAndSync()
         2:          {
         3:              //using System.Data.SqlServerCe;
         4:              bool bAddRepl = false;
         5:              try
         6:              {
         7:                  if (DoDBLookup("SELECT count(*) as cRow FROM __sysMergeSubscriptions WHERE Subscriber='ExhibitorSubscription'", "cRow") != "1")
         8:                  {
         9:                      bAddRepl = true;
        10:                  }
        11:              }
        12:              catch 
        13:              {
        14:                  bAddRepl = true;
        15:              }
        17:              SqlCeReplication repl = new SqlCeReplication();
        18:              repl.InternetUrl = AppSettings.Settings.ReplServer +  "sqlcesa35.dll";
        19:              repl.InternetLogin = AppSettings.Settings.ReplUser;
        20:              repl.InternetPassword = "XXXXXX";
        22:              repl.Publisher = AppSettings.Settings.ReplPublisher;
        23:              repl.PublisherDatabase = AppSettings.Settings.ReplPubDB;
        24:              repl.PublisherSecurityMode = SecurityType.NTAuthentication;
        25:              repl.Publication = AppSettings.Settings.ReplPubName;
        26:              repl.Subscriber = AppSettings.Settings.ReplSubName;
        27:              repl.SubscriberConnectionString = string.Format("DATA SOURCE='{0}'", ESDAL.GetDBPath());
        29:              try
        30:              {
        31:                 if (bAddRepl)
        32:                     repl.AddSubscription(AddOption.ExistingDatabase);
        33:                 CloseAllDBConnections();
        34:                 repl.Synchronize();
        35:              }
        36:              catch (SqlCeException e)
        37:              {
        38:                  MessageBox.Show(e.ToString() + e.NativeError.ToString());
        39:              }
        41:          }
        43:          public void ReplRemove()
        44:          {
        45:              CloseAllDBConnections();
        46:              SqlCeReplication repl = new SqlCeReplication();
        47:              repl.SubscriberConnectionString = string.Format("DATA SOURCE='{0}'", ESDAL.GetDBPath());
        48:              repl.InternetUrl = AppSettings.Settings.ReplServer +  "sqlcesa35.dll";
        49:              repl.InternetLogin = AppSettings.Settings.ReplUser;
        50:              repl.InternetPassword = "XXXXXX";
        51:              repl.Publisher = AppSettings.Settings.ReplPublisher;
        52:              repl.PublisherDatabase = AppSettings.Settings.ReplPubDB;
        53:              repl.PublisherSecurityMode = SecurityType.NTAuthentication;
        54:              repl.Publication = AppSettings.Settings.ReplPubName;
        55:              repl.Subscriber = AppSettings.Settings.ReplSubName;
        56:              try
        57:              {
        58:                  CloseAllDBConnections();
        59:                  repl.DropSubscription(DropOption.LeaveDatabase);
        60:              }
        61:              catch (SqlCeException e)
        62:              {
        63:                  MessageBox.Show(e.ToString() + e.NativeError.ToString());
        64:              }
        65:          }
        67:          private void CloseAllDBConnections()
        68:          {
        69:              if ((_dbCon != null) && (_dbCon.State != ConnectionState.Closed))
        70:              {
        71:                  _dbCon.Dispose();
        72:                  _dbCon = null;
        73:                  GC.Collect();
        74:              }
        76:          }

Trick to deal with Inhouse generated certificates -
Within your mobile app we create a class that essentially returns True when asked 'Is this Cert. valid?'

Somewhere upon starting up your app - e.g. Form_Load - insert LINE#1 below.

LINE#3 onwards describes the class 'MyCustomSSLPolicy'

   1:  System.Net.ServicePointManager.CertificatePolicy = new MyCustomSSLPolicy();
   2:  ......
   3:  using System;
   4:  using System.Collections.Generic;
   5:  using System.Text;
   6:  using System.Net;
   7:  using System.Security.Cryptography.X509Certificates;
   9:  namespace MicksDemos.Utilities
  10:  {
  11:      public class MyCustomSSLPolicy : ICertificatePolicy
  12:      {
  13:          public bool CheckValidationResult(ServicePoint srvPoint,
  14:          X509Certificate certificate, WebRequest request, int certificateProblem)
  15:          {
  16:              return true;
  17:          }
  18:      }
  19:  }

Closing note:

Hope you find this useful - I've done this a few times now and am amazed with the lack of info around this especially through ISA.

If you get any errors around "Can't contact SQL Reconciler..." etc errors - GENERALLY try and rebuild the snapshop server side, then try syncing again.

Nighty night!

Thursday, 07 August 2008 00:37:05 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | RFID | Tips
# Wednesday, 02 July 2008

There's a great line up this month that are too good to keep secret.

Some fellow CSD experts are lining up for some great topics to give all around Workflow and WCF!!!

Does it get better? Get on and register.

For more, check out the Live Calendar 

Live Webcasts

MSDN Webcast: Transactional Windows Communication Foundation Services with Juval Lowy (Level 200)

Monday, July 7, 2008

10:00 A.M.–11:15 A.M. Pacific Time

MSDN Webcast: Using Windows Workflow Foundation to Build Services with Jon Flanders (Level 300)

Wednesday, July 9, 2008

10:00 A.M.–11:00 A.M. Pacific Time

MSDN Webcast: WCF Extensibility Deep Dive with Jesus Rodriguez (Level 400)

Friday, July 11, 2008

10:00 A.M.–11:00 A.M. Pacific Time

MSDN Webcast: Bringing Enterprise Data to Life with SharePoint Server and Windows Communication Foundation (Level 300)

Friday, July 18, 2008

10:00 A.M.–11:00 A.M. Pacific Time

Wednesday, 02 July 2008 13:41:05 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | RFID | Usergroup | Events | MOSS | Silverlight
# Tuesday, 01 July 2008

You might be wondering what do all these guys have in common....good question.... :-)

We're currently building an RFID enabled System where complex processes are handled by BizTalk Server, and data being pushed down to Silverlight V2.0 clients via a WCF Silverlight 'Eventing System' (which really is polling under the hood, but to us in developer land - it's cool and it's Events)

Scotty has the full write up of some of his learning experiences through this - well done Scotty, he's been in that place where there are no manuals, no documentation, no previous code, just a gut feel and a compass to sail the seas.

We demo-ed the system at our last user group (or more over used them a guinea pigs :)

Token Screen shot: (we've associated tags with people information and this is what is displayed when TagReadEvents are captured. We need a little work to avoid being underneath or on top of a previous animation)


Artists impression!
Tuesday, 01 July 2008 09:55:17 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | Insights | RFID | Silverlight
# Monday, 23 June 2008

Hi folks, we’ve got a great night coming up on this Wednesday – Jun25th Wednesday

This session we need to do *testing* of our developing RFID Event Tracking system. This planned to be deployed right throughout TechEd08!!!!


Your help is needed – you’ll get Tags, walk through RFID Readers and get hands on with the gear.

We’ll show you how it’s being developed, the Silverlight V2.0 Beta 2 Duplex HTTP WCF Services that drive the UI screens.


So if you’re looking at tracking clothes, wheelchairs, beers in the fridge or any sort of warehouse tracking then this is a must see session for you.

(RFID is much more than just ‘production line’ or ‘supply chain’ tracking)


We will cover:

(1)    The components of BizTalk RFID

(2)    Connecting and using the RFID H/W

(3)    Different forms of RFID Readers (including windows mobile readers)

(4)    How to manage 70+ RFID Devices through System Center Operations Manager and the BizTalk RFID Management Pack


What is in store for our June 25th Session (add to Outlook)

Microsoft, North Ryde
1 Epping Road

6pm - Beer + Pizza
6.30pm - Kick off

June 25th

Feel free to forward this to any of your colleagues/friends I may have missed (tell them to register on the site to be included)

Call for Speakers/Other People to take Tyre Kicking Sessions
If you’ve got any aspect of BizTalk (& related) that you want to share with us....let me know, love to hear what you’ve got to say.

Don’t forget – we’re launching a email forum group ‘’
Great to see a lot of you already joined – it’s a *private* group open to BizTalk User Group members (we currently have Brisbane, Auckland and Sydney on)
Invite only – send me an email if you want to join and I’ll send you out an invite.

Love to see you there – and reply to this email to let me know for catering.


Mick Badran (MVP - BizTalk) | Microsoft Readiness Instructor
Collaboration and Integration Specialist
Breeze| m: +61 404842 833 | im:


Monday, 23 June 2008 21:54:37 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Usergroup
# Friday, 06 June 2008

I've started developing a RFID Mobile application on a Windows Mobile device - which is pretty cool.

I decided to use VS2008 and all worked well until deployment.
"Unable to load System.Data.SqlServerCe.dll ....Version=3.0.xxxxx " as the version OOTB with VS2008 is v3.5

So I grabbed SQL CE Mobile 3.0 and copied over and installed the sqlce30.wce5.armv4i.CAB and all is good!

Friday, 06 June 2008 13:31:18 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | RFID
# Wednesday, 21 May 2008

There's a couple of great MSDN articles around performance tuning and high availability.

Very nice - don't leave home without them :)

1. BizTalk RFID: Capacity Planning and Performance Tuning

Performance Metrics

Number of devices Administrative operation Response time - single processor
(in seconds)
Response time - dual processor
(in seconds)































2. BizTalk RFID: Clustering BizTalk RFID for High Availability

Wednesday, 21 May 2008 22:48:47 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Tips
# Saturday, 26 April 2008

We've now got official Management Pack support for R2 and the newer things in R2 such as EDI and RFID.

I've had many students come up to me and say "Mick - what in the world are you talking about?"
(mind you I get that at home as well - but let's not go there)

Have you ever asked the question:
I wonder how our BizTalk (et. al.) servers are going?
(this is where you could send the work experience kid around to all the servers gathering details and report back to you by lunch.....but not all of us have work experience kids)

The answer to this is relatively complex - as you'll need know things like:

  1. Services - stopped, started, uptime. BizTalk Services, SQL Services, WCF/IIS Services etc.
  2. Database sizes, Spool table lengths
  3. Queue Lengths - disk etc.
  4. Memory details
  5. BizTalk Orchestration details
  6. Messaging Details
  7. .... and the list goes on.

SCOM2007 with the management pack gives you that - in near enough realtime with all sorts of graphs and charts.

One of the *best* things I like about SCOM2007 is that you install the Management Pack(s) only on *one* machine - usually the SCOM2007 Central Administration machine, and as more applications are installed on servers on the network, the appropriate management bits are 'auto-deployed'.

Grab it here -;displaylang=en&displaylang=en

Saturday, 26 April 2008 22:59:16 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | RFID | General | Tips
# Friday, 25 April 2008

I've got a RFID project in the pipeline and I'm doing a 'little playing' at this point - seeing how far I can go through the APIs given this certain Reader and BizTalk RFID Client APIs. (I'm home and hosed on the BizTalk RFID APIs, but the questions are more around the particular Provider AND what the device can/can't do)

So I decided to venture a little further...........

Fired up a VPC and seeing this Reader is a USB connected device, (and as we know that VPC/Virtual Server/Hyper-V 2008 does not share USB ports!!! After a little pain I found a 3rd party software piece that did the job!) had to share it from another physical host where the Reader is plugged into.

After a little playing with Provider/Device Settings within BizTalk RFID Manager - away we go.

I decided to cut some code and do a GetDeviceCapabilities(...) sort of call.

Check this out!!!!!

Line 25 - was my call on the Open Connection.

** I decided to run the code in debug mode and entered the same command in the Intermediate Window

This was the part that took the's got a whole collection of ENGLISH TEXT as to what the device does!

If you're like many of these things fall down to byte structures with certain bits here and there indicating different capabilities.

HOW GOOD IS THIS!!!! Well done to the RFID's great to have APIs that make sense.... :) (mostly smile_eyeroll)


Friday, 25 April 2008 21:03:03 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID
# Thursday, 24 April 2008

BizTalk RFID 'v2' is in early TAP (Technology Adopter Program/phase) and runs on Windows Mobile Devices...pretty cool!

Now Microsoft have moved RFID not only into the common household framework, but also provided the reach with Mobile devices.

Rather than in the classic RFID model where tags move and Readers are *fixed*. We now can have Readers that move and tags that are *fixed*.
(lots of ideas for this one!)

Check out a stream of RFID 'stuff' from YOUTUBE

RFID goes Mobile...


What is RFID....

Future Supermarket!

Thursday, 24 April 2008 22:18:43 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | Insights | RFID | General

Christmas has gone, Easter too.....but here's something to smile about. There's some HUGE things cooking on the horizon in the land of BizTalk.

We want SQL2008....we want VS2008 and we want the world of connectivity to/from BizTalk to be *easy*. Also as BizTalk RFID goes mobile....we want to go there too! Control, manage, deploy/stop/start processes etc etc.

Here's a start....

Steve Martin (heads up the Connect Systems Division - CSD at Microsoft in Product Management) spilt the beans and let me tell you....when are the betas coming out!!!!!!!



Thursday, 24 April 2008 22:00:38 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | RFID
# Thursday, 20 March 2008

I get alot of questions about this - for those of you who have been mentally scarred with early editions of BizTalk (haven't we come along way since then :-) there was a BizTalk Partner Edition (lower priced for hub/spoke type implementations) which was limited in some way with the number of Orchestrations/Tradining Partners etc etc. (like 10 Orchs, 2 partners from memory).

With BizTalk 2006 R2 we have the Branch Edition which retails for approx USD$1500 and it gives you........

- BizTalk Business Rules Engine (alot of people are wanting to use the BRE as a centralised rule store in a cost effective manner, until now it was BizTalk Standard at least that you needed to get, as the BRE is not available separately)

- BizTalk RFID (what can I say here!!!)

A perfect application of the Branch Edition is to drop this in on your trading partner's site typically meaning less time to get up and running (for the price, if consultants are spending more than 1.5 days trying to establish communications with the other end, then you should be considering the Branch Edition as it understands all the classic forms of comms with BizTalk 'proper'. By no means is it limited to just BTS)

I thought I'd also give you the more formal description of what the Branch Edition has/has not under the hood:


BizTalk 2006 R2 Branch Edition

BizTalk Branch Edition is a specialty version of BizTalk Server designed for hub and spoke deployment scenarios including RFID.


1.     Hub-Spoke Deployment. In this scenario the Branch edition is located in the regional / or point of sale locations and communicate with the hub (BizTalk Enterprise Edition).

2.     RFID Deployment. In this scenario the BizTalk Edition applies rules and business process to the raw data and communicates with the hub (BizTalk Enterprise Edition) to send aggregated business data.

3.     Standalone Deployment. In this scenario the Branch Edition is used to execute a business process, execute rules on the business data but not communicate with any central or hub.

Supported Capabilities:

1.     General Transport Adapters like FILE, HTTP, HTTPS, MSMQ, FTP, SMTP, POP3 are available

2.     RFID Manager and RFID Adapter

3.     Host Integration Adapter

4.     Remote or local SQL Server database is supported. SQL Server Databases may be installed on a failover Windows Cluster providing high availability of the BizTalk Databases.

5.     BizTalk base capabilities like Messaging, Orchestration, BRE, BAM, Management & Operations and Development Tools are available


1.     No Line of Business Adapters are available.

2.     No Accelerators are available.

3.     Only one BizTalk Application can be deployed.

4.     BizTalk Server Group supports only one BizTalk Server. This means there is no fault tolerance, no scale-out, and no failover clustering

5.     A maximum of 2 – Processors are supported

6.     No Virtual Processor is supported. This means the dual core is not leveraged in dual core processors

7.     Two or more Branch Editions separately deployed in different locations cannot communicate with each other




Thursday, 20 March 2008 10:17:39 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | RFID | General
# Tuesday, 04 March 2008

I've now managed to get a moment to share a fantastic experience with you.

What a trip!!! I was away for 2 weeks in total with the first week spent in San Jose at the Office Developer Conference (ODC) 2008 which as good to touch base with some of the Sharepoint folks and see how others solve challenges that drive me up the wall.

Being in a hotel in the middle of 'Silicon Valley' Clayton and I were struggling to find Wireless internet access - the frustrating thing was that everywhere else in the town there were at least 20 networks on offer....except in our hotel room. We found a spot on the window ledge.

Then I flew up to Seattle to meet up with my enthusiastic cousin which resulted in a sneaky trip up to Whistler skiing smile_regular
The snow was absolutely fantastic!!!!

The second week of my trip turned to the Business end where I had to step up, be prepared and present.
Enter BizTalk RFID Solution Days!!!

The first face I saw when I walked into the Conference was Anush's down in the foyer - Well done Anush for such a great conference!

The way the week was to play out:

  • First two days was the conference with sessions and presentations
  • The second two days was the training where I had 102 students and fortunately we planned that I was co-presenting with Venkatesh who was the BizTalk RFID Product Architect (he's moved on now and started He is a wealth of knowledge and a great person to ask all the 'Why' questions to.
    (he's also related to a great friend of mine here in Australia which was a total surprise!!!)

From the conference (2 days prior to training) I caught up with a buddy of mine Scott Allen (Microsoft App Plat TS - BI, BTS, SQL guru) who has just successfully completed building a 'RFID Lab' within Microsoft NZ. I've got to check it out sooner rather than later - sounded fantastic.

Scotty inspired me with his take on BizTalk RFID - he said "If you tell clients we've got a show on BizTalk RFID, they think they need to have supply chains and infrastructure - it becomes very specialised they feel. If you pitch BizTalk RFID at something around How to reduce the carbon footprint of your production line or increasing production efficiencies then the whole world comes running"

That said - he was getting huge amounts of CEOs from the big end of town to these sessions with a tour of the BizTalk RFID Lab. Well done Scotty!

So Anush grabbed center stage at the beginning of the conference and there were some great messages coming out of the speakers. One of the most noticeable messages for me was "Everyone is waiting for the Wallmart mandates to drive the RFID space, that may have been the case 2 yrs ago. Now we have reached enough critical mass in the industry to really see the explosion in RFID that is occurring"

Australia has been using RFID for years in cattle, lifestock, shipping and now wheat. What Microsoft BizTalk RFID has done is to 'domesticate' the whole process of getting connected and responsive. I was talking to a local CEO of a International Meat exporting business on the weekend - he was very interested in the BizTalk RFID story as his main concern facing his company is traceability. Everyone involved in the supply chain wants traceability - by the time the consumer sits down and uses the product, they want to know everything about it. In this case the meat.

Onward to the Training Arena (held on the MS campus) - training 102 people on Microsoft BizTalk RFID I needed to be prepared the best I could which involved a couple of trips to the MS Technical Services Group (TSG) to get things 'just right' for classroom setup.

Firstly - I want to say "WELL DONE TO ALL THE CREW who sat the course". In 12+yrs of teaching, I was amazed at your ability and enthusiasm!!!
(We actually created the RFID course from scratch and it's amazing to see what's in your head play out better than you expect)

I made a pledge to the class from the outset - From 102 students, I was going endeavor to help get 102 students across the line so they all had working BizTalk RFID Solutions in front of them.

What a great class - I enjoyed it as much as what they did. Out of 102 students I fully expected some students to come up to me by lunch time on the first day and say "Mick, you know this course - it's not what I envisaged etc etc" - 102 completed the course!!!

Let me share some interesting facts:

  1. 102 students started.... 102 students completed a working BizTalk RFID end-to-end solution. smile_teeth
  2. Some students had 1+yrs experience in BizTalk RFID.....others were seeing it for the first time.
  3. One lady hadn't cut a line of code in 15yrs and was very excited.
  4. Many different industries were represented in the room, from medical foundations to services to agricultural.....
  5. I had to run around with a USB key only once - fortunately I had help.
  6. One the first day students were still doing labs at 7pm.
  7. Two days is not long enough :)
  8. It was absolutely fantastic to have the major players from the BizTalk RFID Product group there in the room and on hand. Anush, Sudhir, Rama and of course Venkatesh (who has a great needed sense of humour for a trainer) - big thank you guys. Wouldn't have been the same without you.
  9. Reporting Services reports worked really well.....note - getting the right connection string is key.
  10. Mick - please connect power to your laptop when presenting and running VPCs off it.....otherwise we all get an early coffee break smile_omg

Fantastic and a big thank you to all that were responsible for much making it better than I imagined!!!

Tuesday, 04 March 2008 23:40:08 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
BizTalk | RFID | Events | Training
# Tuesday, 19 February 2008

I'm about to run training at the Microsoft BizTalk RFID Solution Days and I was contemplating rebuilding my host O/S which is Win2008 RC1 x64.

The RFID devices that the students will walk away with are USB based.

I use a third party USB Sharing software to share the USB ports to the VPCs. The thing I've noticed is that using the USB drivers the sharing and responsiveness works a treat.

The problem is that there are no - 64 bit USB drivers for the RFID1 device.....until now!!! :)

I decided to 'fudge' a *.INF file that installs the x64 bit drivers much in the same fashion as the i386 drivers.

So my current setup is:

(a) Host - Win2K8 x64, RFID devices plugged into it with x64 USB Drivers.

(b) USB Sharing Software

(c) Inside a VPC (using Hyper-V) running the 'client' of the USB Sharing I install the x32 bit USB Drivers.
This VPC is running x32 BizTalk RFID and basically the course!

We're cooking!

Grab the drivers below

RFID1_Usb Drivers x64

UPDATED: Windows 7 x64 will install these drivers from

A CDM 2.04.16.exe has it all -

Tuesday, 19 February 2008 20:46:45 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | 2009 | RFID | Tips
# Saturday, 09 February 2008

I'm off on a US Road trip today - landing in San Fran tomorrow and catching a train down to San Jose for the Office Dev Con conference (as an attendee this time :). I'll be meeting up with a great Sharepoint developer/instruction Clayton James (fellow Microsoft Readiness Instructor) who has attacked Sharepoint with such a passion - I swear he studies the APIs at night. He's developed some brilliant solutions in the last couple of years - great knowledge.

With a 'brief' bit of skiing in between I'm off to Redmond for the RFID Solution Days where the focus will be:

  • Real-time software solutions for enterprise deployments, across verticals

  • Hardware innovation and changes driving mass adoption of RFID with focus on performance and price

  • Cross Industry-Priority solution efforts at Microsoft that will utilize RFID and sensor data to deliver efficiencies for a People-Ready business across the value chain

  • Microsoft’s platform vision, deliverables, and roadmap for RFID and Sensor based solutions

Breeze is running the two day BizTalk RFID training course 'post-conference' where last count I had 80+ a helper or 10!

Wish me luck folks........if you're attending.....don't be a stranger!


Saturday, 09 February 2008 10:57:30 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | RFID | Events | General
# Thursday, 07 February 2008

I received an email from a good friend of mine Venkatesh (who has just moved into his own company) and has a wealth of knowledge in BizTalk RFID - he headed up the development team in India in creating the product.

Top effort! Great product.

Venkatesh ran some of our first RFID training sessions over Christmas in Singapore and India - and with Venkatesh as talented as he is has come up with a 'Tool' to help all of you troubleshoot and resolve BizTalk RFID related issues.

Enter RFIDMon - monitors events, WMI etc. - helps to keep your BizTalk RFID looking good :)

Love the new site too!!!

Check it out here - RFID Monitor

Watch this S3Edge space

Thursday, 07 February 2008 18:47:22 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | RFID | General | Tips
# Friday, 01 February 2008
I've been meaning to post this stuff for a while and now finally gotten round to it :)

Venkatesh (RFID lead architect) before Christmas ran through a first teach of our RFID Course in Singpore + China.

One piece of feedback that came out of the course was that the existing MS RFID DLP Provider gave a few problems with quick consecutive tag reads - and would cause the Provider to stop. (and the other important thing is that the DLP Reader - didn't beep when reading a tag)

So whether Venkatesh could sleep one night or not, he's come up with a new and improved DLP Provider that relies on a COM interface.

Grab the updated files here.... (59.79 KB) (69.19 KB) (13.81 KB) - BizTalk RFID LogFile Viewer - can't leave home without this one :-)


Friday, 01 February 2008 16:24:41 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
.NET Developer | BizTalk | RFID
# Thursday, 20 December 2007

Microsoft have rounded up all the serious BizTalk Bloggers (MVPs + keen MS guys + Teams) and the Connected Systems Division (CSD Team) within Microsoft and produced a valuable aggregator with all this in one spot.

Just have a look at the bloggers that are contributing to this - sensational!!! One stop shop for you guys.

From WCF to BizTalk, EDI + Custom Pipelines.


We all display this logo on our site.

Here's the RSS Feed

Merry Christmas!!!!!

Thursday, 20 December 2007 05:25:04 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | RFID | TechTalk
# Saturday, 08 December 2007

Just to let you folks know -

you no longer have to create special pipeline components, cases etc. for handling flat files.

R2 will resolve (dynamically) the schema from those that are deployed!!! (c.f. to xml)

To set it up:

- create a custom pipeline + add a FFAsm component to it.
- leave the schemas properties blank.
- BizTalk will now use dynamic resolution for the incoming schemas.

This is great news!!!! I can now throw out my 'dynamic FF schema resolver custom component'


Saturday, 08 December 2007 08:29:16 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [3] -
BizTalk | RFID | Tips
# Wednesday, 28 November 2007

Hi all and welcome to our last meeting of the year.

I know it's Christmas soon and we're all checking out the best gifts to get.......well I got thinking..... why don't we have a 'try before you buy' session with a xbox360/media extender etc??

We also need to make it Educational as well, so here's the line up for next Dec 5th.

Microsoft, North Ryde
1 Epping Road

6pm - Beer + Pizza
6.30pm - Kick off
Dec 5th 2007

1. Introduction to BizTalk RFID Services - 101
Presenter: Scott Scovell
- Scott has extensive experience in EDI and BizTalk RFID Services.
He has recently been part of a team that has created the Microsoft BizTalk RFID Courseware, and is always eager to share his knowledge and lend an ear.

Session Outline:
BizTalk RFID Services is new to the BizTalk Product Suite, being able to enable production lines, track and trace and various other scenarios with RFID technology is key for companies to maintain a competitive edge.

This presentation will cover:

1. Setting up and configuring BizTalk RFID Services
2. Plugging in a real RFID Reader Device
3. Reading/Writing Tags within a BizTalk RFID Process.
4. Extending and customising RFID Services.

2. XBOX 360 'Christmas Evaluation' Session
Come along and road test some XBOX 360's with us for Christmas!

I'm looking forward to a great meeting and hope to see you all there.

Many thanks,

p.s. Let me know if you're coming (so I know how many xbox controllers to put out)

Wednesday, 28 November 2007 23:40:03 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
RFID | Usergroup
# Saturday, 17 November 2007

As part of the RFID end to end course we decided to get the students to create a RFID provider. Or more specifically this is Scott's little brain child - he's a human dynamo on this stuff. Talk about an idea and this is what he produces....

A little while ago I fielded a question on one of the internal D/Ls around
“Can you write a provider that interfaces with ‘sensor’ type equipment for BizTalk RFID?” – so now you create a provider that demonstrates how to do that.

This comprehensive provider (these aren’t the course lab notes – just a quick readme that Scott did) is based on a Folder on the File System. As part of the management APIs the Provider goes searching for ‘Antenna’ which are sub-folders.

When files are dropped into these folders that acts as a ‘Tag Read Event’ and the Provider also supports Tag Writes/Prints.

Thought you might enjoy it ahead of time smile_regular

Well done Scotty!!!

Saturday, 17 November 2007 09:30:55 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | RFID | General | Training
# Thursday, 08 November 2007

Talk about exciting times - we were developing a great course started pre-R2 launch and were just working out some of the finer details on this, when the folks at MS came along and loved the course and asked to provide a version for them.

"Why not?", I said and away we went.

Here's the course outline with MS Training dates scheduled in Sydney, Singapore, Beijing + Redmond in the near future (I guess we'll have great frequent flyers :))

We decided to call it 'BizTalk RFID End-to-End' which implies we take the student right from the hardware in your face layer, to watching 'enriched data' pop out in BizTalk Server and BAM, while consuming some WCF Services along the way.

Also in the RFID space I did a joint interview with Steve Sloan (MS BizTalk team - great down to earth guy) and a PodCast (first one :))

Interview - Australian Manufacturing

Podcast - Australian Manufacturing Podcast 
(this brought back some of my past comedy routines when I performed on stage.....)


Thursday, 08 November 2007 18:09:21 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | RFID | General | Training

If you're thinking of getting into RFID then you can't go past Microsoft BizTalk RFID Services.

Low cost standard, scalable solution - it's brilliant. You can get it as part of the BizTalk 2006 R2 Branch edition.

As far as training goes and a course to suit your needs...myself and my team have been working hard to develop not just 'a course' but a fantastic course that takes you from the low layers in RFID to integration and implementation.

During the course

- the student will get their OWN 'developer' RFID device to play with on the course AND take home!!!! (I'm the sort of person that learns by doing - so I needed that)
- you install, create + implement RFID based processes
- make synchronous calls to WCF based services.
- enrich the data travelling through the process.
- implement Business Rules in the BRE engine.
- Then we use BizTalk + BAM + Performance Monitoring using Operations Manager 2007 +........
(being a BizTalk MVP....we decided to put in a BizTalk Server piece)

.....but one of the Best things about this course is.....
it's been bought by Microsoft and will be used for their deliveries
(we have Sydney, Singapore, Beijing and Redmond on the map with scheduled dates so far....)

Here is the course Outline - love to hear what you think!


BizTalk RFID Workshop – End-to-End

The aim of this 2 day hands-on course is to take the student from the “nuts and bolts” of BizTalk RFID to enriching and utilizing BizTalk RFID information streams as part of Business Intelligence. The course also teaches the students how to integrate with external systems, create and call Business Rules, as well as put in place proactive monitoring around the end-to-end solution.


As part of the ‘student pack’ for this course, each student is provided with a real (non virtual) BizTalk RFID compatible RFID Reader that will be used throughout the course, which the student can take home at course completion.


The course will teach students how:

·          Develop and implement low level BizTalk RFID Interfaces in implementing their own BizTalk RFID Providers and Process Components.

·          Develop and incorporate Business Rules to help drive the BizTalk RFID process.

·          Active solution Monitoring using Operations Manager 2007 and the BizTalk R2 Management Pack.

·          Create and call an exposed WCF Service synchronously.

·          Integrate with a BizTalk 2006 R2 environment.

·          Enable End-To-End Business Activity Monitoring.


The course is aimed for developers and solution architects


Module 1 – Introduction to BizTalk RFID


This module introduces Microsoft BizTalk RFID and typical solutions it provides to common business problems. The module also looks at the BizTalk RFID architecture and discovers how BizTalk RFID operates under the hood.

Specifically this module covers:

  • Introduction to RFID and innovative industry solutions
  • BizTalk RFID architecture
  • Topology – How BizTalk RFID services operate
  • LAB: Design and discussion lab that highlights the key factors in determining small, medium and high Microsoft BizTalk RFID Services topologies (paper based - class discussion).


Module 2 - Installing BizTalk RFID


This module describes the types of installations supported, and guides us through installing BizTalk RFID for the first time. There is also a walk-through of the RFID Services Manager, which highlights the difference between physical and logical devices.



  • BizTalk RFID components (e.g. RFID Server, RFID databases, RFID Manager)
  • Planning security
  • Types of installations and pre-requisites
  • Troubleshooting and repairing an installation
  • LAB: Installing and identifying the default settings of Microsoft BizTalk RFID

Module 3 - Examining Physical Devices


This module will explore the various types of RFID devices available. We will install your very own RFID device and get it up and running on your machine.


  • Types of devices
  • Installing physical devices
  • Developing against device API’s
  • LAB: Installing, configuring and testing your RFID Device. Also some sample code on complex read/write of tags using device’s native API – this will serve to highlight later the ease of writing tags through the DSPI layer.


Module 4 – BizTalk RFID Device Providers Explained

This module will look at the device provider’s role in the BizTalk RFID stack. We will look briefly at the DSPI and examine how it provides a unified way for our business applications to manage, configure, and communicate with various physical RFID devices. The module will show sample code using BizTalk RFID object model.


  • The role of device providers
  • Types of device providers
  • Device Service Provider Interface (DSPI)
  • Registering device providers
  • Testing and monitoring device providers
  • LAB: installing, configuring and testing the Device Provider for your RFID Reader. Reading and writing your first Tag using the BizTalk RFID Object model outside an RFID process. Examining the Read Tag Event structure.
    Lab extension: Building your first DSPI provider class within Visual Studio
    (we will look into creating a provider that wraps a file system folder and exposes it as a ‘Provider’. Drop a file into the folder and this will simulate a Tag Read etc.)

Module 5 - Building RFID Processes


In BizTalk RFID we manage logical groups of components in RFID processes. In this module we will examine the types of components that make up an RFID process, understand the difference between logical and physical devices, and see how we use bindings to connect them. We will learn what an event pipeline is and take a look at the various out-of-the-box components that ship with BizTalk RFID.


Specifically this module covers:

  • Components of a BizTalk RFID Process
  • OOTB Components
  • Binding BizTalk RFID Processes
  • Starting a BizTalk RFID Process
  • Deploying RFID Processes
  • LAB: Creating, testing and logging your first RFID Process. Capturing the Read Tag Event. Writing to a DB table using the OOTB Sql Sink component.
    Lab Extension: Create a SQL Reporting Services report to report on Tag event data in sqlsink db and display the enriched data


Module 6 – Creating Custom RFID Event Handlers 

This module will focus on the event processing pipeline, as we learn when and how to create our own event handler components to filter, enrich, and process tag event data.

We will examine the following topics:

  • Asynchronous Event Processing - terminating, continuing components
  • Filtering, Enriching, and Terminating event data
  • Error Handling
  • Deployment and registration
  • LAB: Creating a simple custom component to enrich tag event data using a DB Lookup while adding custom properties to the tag Event data. The enriched data will be made available for downstream consumers. This lab highlights the importance of keeping the TagEvent data structure within these processes.


Module 7 - The Role of Business Rules


The Business Rules Engine allows for externalising key decision process points. This allows RFID processes to be more flexible and highly repeatable. In this module we will examine the OOTB rule engine policy executor component as well as looking at how we can call business rules from our custom event handlers.

The focus points are:

  • Benefits of the Business Rules Engine (BRE)
  • Why BRE is crucial for any RFID Process
  • The RuleEnginePolicyExecutor component
  • Calling business rules policy from custom event handlers
  • LAB: extending your RFID Process to incorporate Business Rules.
    Create a Business Rules. Use Rules to process business logic and output the results back to a DB Table. The results are posted to the SQL Sink database for further consumption.


Module 8 - Publishing and Consuming WCF Services in BizTalk RFID


Enabling BizTalk RFID processes to consume WCF Services provides enormous value to upstream process consumers, such as Microsoft BizTalk Server. Integration and instrumentation of BizTalk RFID throughout the Enterprise provides rich, meaningful information ideally delivered to the user’s desktop, thus abstracting the actual process to another information stream within the Enterprise. This module will discuss consuming and publishing BizTalk RFID processes with WCF Services, essentially allowing for the ease of integration. Both Synchronous and Asynchronous message patterns will be examined.

We will cover the following:

  • Consuming WCF Services  - calling a WCF Service synchronously
  • Topology options for reliable interfacing to BizTalk RFID
  • Performance considerations
  • LAB: Calling an existing WCF Service from within a RFID Process synchronously. Create a WinForm Application that hosts a WCF Service that is called synchronously. Here the operator deals with the scenario and the results are returned back to the RFID process in question. The user can see the results in the UI. Publishing a local WCF Service allowing for optimized consumption with integration partners, e.g. security considerations.


Module 9 - Consuming and BAM enabling End-To-End RFID processes in Microsoft BizTalk Server


This module will walk through the ease of integrating BizTalk RFID with Microsoft BizTalk Server and will integrate the BizTalk RFID processes with BizTalk Server allowing for the Orchestrating of BizTalk RFID processes within the larger Business Process and the Enterprise.

  • A BizTalk Server’s perspective of BizTalk RFID
  • Reliability, interoperability and performance considerations.
  • Using WCF BAM Interceptor and custom BAM APIs from the BizTalk RFID environment.
  • LAB: Building a simple BizTalk BizTalk Server Orchestration that processes published BizTalk RFID Tag Event data.  This lab illustrates the basic framework required to integrate BizTalk Server. Using BizTalk Server 2006 R2 BAM WCF Interceptors and BAM API from within RFID, system components will report back BAM eventing information for further analysis.


Module 10 - Effective Monitoring + Performance Consideration for Microsoft BizTalk RFID Deployments

This module will discuss effective BizTalk RFID System and Process monitoring within different scenarios to actively monitor for better health from a Microsoft Operations Manager 2007 environment. The module also focuses on steps to take for proactive monitoring, rather than reactive. The student will also learn how to configure and setup this environment to ensure effect health monitoring of their BizTalk RFID Environment.

Specifically this module covers:

  • Determining the health of BizTalk RFID through Operations Manager 2007, Alerts and key performance monitor counters.
  • Packaging and deploying existing BizTalk RFID Processes - a closer look at RfidClientConsole.exe
  • Performance considerations within BizTalk RFID Services and its processes.
  • LAB: Package and deploy your existing RFID Process, examine performance monitor counters and highlight key performance factors within RFID Services.

Module 11 - BizTalk RFID Tips and Tricks


This module will cover key tips and tricks when implementing BizTalk RFID, with respect to maximising performance, optimising the BizTalk Rules Engine for performance, deployment and tweaking the IIS hosted BizTalk RFID Processes.


Specifically this module covers:

  • IIS 6.0 considerations for BizTalk RFID - post install suggested tweaks.
  • Getting the most out of your BizTalk Rules engine - determine rule set and fact cache policy durations.
  • Best practices when packaging up your BizTalk RFID Processes and deciding whether to GAC or not additional BizTalk RFID artifacts.
  • LAB: Create a new IIS Web Site to specifically host BizTalk RFID Processes. Setting the IIS Web Application Pool . Configuring the BizTalk RFID Server to use non-default IIS web site as well as adjusting some of the BizTalk RFID settings.



Thursday, 08 November 2007 16:07:21 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
BizTalk | RFID | General | Training
# Friday, 26 October 2007

Well I recently went down the task of upgrading my notebook to x64 - Win2008 RC0.
So far so good - a little hunting for the vital drivers (bluetooth) and it's rocking.

I then went to continue on with some BizTalk RFID work and boom!!! I forgot that I needed to update these drivers also smile_cry.

Fortunately after some researching (knew I'd put that Computer Engineering degree to good use) - I found the drivers I needed, although they don't say "DLP RFID Drivers...."

Essentially they are some sort of USB port converter - works fine with the DLP_RFID demo

When you install the Drivers - from Device Manager, select 'Update Driver....' and explicitly point to the root of the DLP x64 driver's folder. From here you will be presented with 4 driver options.

Select 'USB Serial Converter''re away!

I've done all the hard work for you - grab them here


Friday, 26 October 2007 14:35:27 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Tips
# Tuesday, 16 October 2007

You've been working away playing with the great DLP devices, reading tags and making things go 'beep'.

BizTalk RFID RTM-ed not too long ago (Sept 14th was public release) and with that, your DLP provider needs to be updated - last time, I promise.

To save you the pain, Scotty and I have been through this for you and provided the Device Provider (56.44 KB) (updated) for your pleasure (or is that leisure?)

Scotty is a man of many words and he explains the 'Way of the Peaceful warriors' path that must be walked to achieve the goal.

Enjoy guys - I'll be letting you in on some big announcements soon.....(I'm not pregnant! smile_regular)


Tuesday, 16 October 2007 16:12:35 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Tips
# Saturday, 13 October 2007

Hard working and always available 'Big Kev' aka Scott Scovell has come up with a gem in his latest blog post.

Grab the sequence and the order of components, as well as finer details around the need to change BizTalk RFID Services from using your default website (usually if Sharepoint is on the box, then it's a good idea to)

Well done Scotty! Nice one.

Saturday, 13 October 2007 18:32:58 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
RFID | General | Tips

Well what a week.....I've finally put a media interview that I originally started with Steve Sloan and Christine Bishop for Aussie FEN Magazine. I was there representing the local industry topology around RFID and MS RFID Services.

It was one of those things that as we were all talking, I did have a thought flash across my mind - "Mick if that comment is taken the wrong way, or you say the wrong thing......then you'd better cherish your last MVP year :)"

Coming through the other side and a Podcast later - it's all looking very cool. There's some great news to be released in this space....more on this later.

Anush Kumar Mr RFID Services himself - had a ball at the R2 Launch and we got to once again hang out. All superb!
There's a handful of people who you meet in your travels that are just great guys.....he's one! And I'm overlooking the fact he wants to get out there on the cricket pitch and play for India! - it's all true folks :)

Another guy who's making huge leaps and bounds in the RFID space is our very own Scott Scovell. Scott and I are working on some serious RFID stuff at the moment and he also has a wealth of stories/knowledge from right down at the coal face in not only implementing BizTalk RFID Services but a very good head for the whole integration environment. Stay tuned....... I promise we'll share soon :)

Rocking and rolling.....

Saturday, 13 October 2007 18:26:10 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Events | General
# Tuesday, 25 September 2007

The good thing is - this should take you days and not weeks or months! Brilliant.....absolutely brilliant.

It's not all about reading and writing tags and watching the tracking me RFID Services is all about what do you do with it next?

From a BizTalk perspective, RFID services is another msmq/wcf endpoint that provides rich tag data.

From here you can then process the tag read through biztalk - and as was the case in my demo, sent out to Sharepoint to be viewed by InfoPath.

One of the most exciting things around this is that we can get BAM involved to see how we're tracking, tag fulfillment, reading, processing - when orders arrive till when they leave the warehouse floor.

I'll be posting the demo bits that my colleague Scott Scovell & I stayed up till 2am on 'Demo Day' (hey - wouldn't be a demo without those nights/days :) - soon.

To get started you really want a physical reader to get cracking with - DLP RFID Reader make a good one for developers, and one of the folks at MS have written a 'provider' (This is the key with RFID Services) to use this within RFID Services.

Grab them both from here -


Tuesday, 25 September 2007 18:51:42 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | RFID
# Sunday, 16 September 2007

What a great event - BizTalk, BizTalk and more Biztalk.

It was great to see all those who attended and especially those from the user groups (Sydney, Brisbane and Melb)

I personally had a great day - the weather was great. It was sunny, it hailed and then in true fashion the sun was out again.

So this means that BizTalk 2006 R2 is now RTM - grab it from here

Scott (another BizTalk super hero) & I put together a great RFID Demo (I can say *great* being not too bias).

Come 2am the morning before the launch Scott & I were wondering 'was there going to be a demo?'. In true show style it all came off on the day :)
I'll blog about the demo went down a treat

There were some great sessions (I wasn't able to get to them as I was a 'booth babe' for the day).

The thing that I was most impressed about on the day......was the amount of support from the Corp BizTalk team. Well done guys!!! smile_regular
The team had been on the road launching R2 in 3 world wide locations (in Taipei they were treated almost like rock star status!).

We had Oliver Sharp (BizTalk PM) and major figures in his team - the guys were great and always willing to lend an ear. (Some of them were off surfing at Bondi the following day - that's the way it's done !! :)

In mentioning the team I can't fail to mention MR. RFID of MS - Anush Kumar. What a great genuine guy. He's always got a brilliant story to tell around Microsoft RFID Services. RFID, Integration, surfacing, WCF, BizTalk, BAM, TagEvent data - these are all words he uses. This is a huge Microsoft story - and what the RFID team has achieved it the last 3-4 years both on the hardware/software space is amazing. Standardising readers (c.f. ODBC and ODBC drivers) and providing momentum to standards bodies on various tags and their formats.

R2 here we come....time to update some VPCs.

Sunday, 16 September 2007 00:36:12 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | RFID | Events | General
# Monday, 13 August 2007

Having 3 sessions in 1 day at the conference, this was session number 2.
CON309 - Mick_Badran_Advanced BizTalk R2 Concepts 

We had a great session here and all my demos came off again!!! Except for the screen size and the projector this particular 'room' used.
I was presenting at 800x600 - talk about feeling techno chlostrophobic. I feel like I was in quick sand, trying to gasp for air...but we use what we have.

I was hoping to do an RFID demo but 'last minute technical difficulties' forced that one on the back burner - I had more than enough demos for this session.

Thanks to all the folks that attended this - I had fun as I hope you did. This session made the top ten sessions at TechEd! Whooo hooo

The demos went something like:

  1. Publishing and Consuming WCF Services from R2 - published a couple of Orchestrations and consumed the published WCF WS Service from a basic client app.
    I then moved the published IIS WCF WS Service into the BTS Instance host by using a custom WCF Adapter and configuring it accordingly.
    Next I exposed the same service as a Socket Address - all called from the same client with no code recompile. Which is what we want to highlight using WCF Services.

    I then fired up a WCF WF Webservice and consumed it from BizTalk - all pretty simple, but good to highlight.
  2. For the second major demo I created a WF workflow and using the BizTalk Extensions for Workflow, hosted this within BizTalk.

Slide Deck: CON309 - Mick_Badran_Advanced BizTalk R2 Concepts.pdf (595.48 KB)
Demos: BizTalk TechEd2007

Monday, 13 August 2007 02:26:34 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | RFID | Events | TechEd
# Sunday, 05 August 2007

Another piece of software has come up and saved my bacon - a couple of days out from a conference and I would love to Demo RFID. Do I migrate my images to VMWare? (that's another story in itself - I've heard good + bad)

After researching I came across this....... USB Anywhere
*** UPDATED: USB Redirector solves a  couple of 'driver not working' issues I found on the others ***

This guy is GREAT!! Let's you share USB devices via IP addresses between host + remote machines.
(you even get plug and play messages!)

Now all my RFID devices are rocking!!!

Sunday, 05 August 2007 23:31:55 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | RFID | General
# Wednesday, 02 May 2007

Anush emailed me today telling me of the announcement of Microsoft RFID Services - public site.

Check it out and I hope to be reading your story up there soon.... :)

Wednesday, 02 May 2007 15:31:48 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID
# Wednesday, 18 April 2007

Earlier this week I received an email from Anil Sanagavarapu who firstly is crazy about Cricket and the World Cup.

He mentioned that his company Iris Software is embarking on a cool RFID Services project.....

So we got chatting and I've just seen what they're doing around RFID using Microsoft RFID Services, was fantastic.

Specifically their solution implements:

  1. Sync/Async reading of Tags
  2. Enrichment of Tag data within MS RFID Services Environment, supplimenting Tag Info with data coming from external datasources in a high performance environment.
  3. Optional emails of various tag events as the items go about their merry way.

The guys are looking to bring out some Video Content around their solution and project based on their experiences. They will provide a Walk through of Microsoft RFID Services, how to develop and implement solutions.

Looking fwd to that - great work guys! smile_regular



Wednesday, 18 April 2007 21:09:30 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Other
# Sunday, 03 December 2006

David McGhee and I were tasked with giving a RFID session at the recent Microsoft SOA Conference here in Sydney.

How hard can it be I thought?.....David got it all under'll stick my hand up for the 'demo dolly' and give a 15-20min demo (or that's what I thought)

Enter the world of RFID readers (it can write to the tags as dont be mislead by the 'reader')

We needed tags! So the UMD folks in Melbourne responded fantastically given the phone call in the afternoon, we had tags in our hot little hands the following morning - well done guys!!!

Armed with my trusty Intermec RFID mobile Reader (IP4) and 30MB worth of install files for their SDK - I thought I'm armed and dangerous.

"What to give a demo on?"

David & I chatted about this and came up with:

(a) delegate registers at 9am on the day (we were still 'writing' peoples IDs at 8.45am that morning - talk about cutting it fine fingerscrossed )

(b) when they walk into sessions/halls etc.up on the screen flashes their name somehow and says 'welcome'

(c) for a 'lucky' door prize - as the person walks past the reader for the session, it randomly writes back to the tag to indicate they were a winner (this is the optional extension - just in case I couldnt sleep)

So David decided to built the 'welcome' up on the screen component.

Were are both a big fan of MSMQ so......a simple queue with the persons details in the message was cool for David to flash up on the screen. I always believe a picture tells 1000 words and people arent really going to be too interested in what happens at the back end.....colours, lights action is where it's at.

David joined me in the sleep deprivation stakes (we both have little ones at home...reality hits home).

We had a dodgy 'ad-hoc' wireless network coming off my laptop, RFID Services running as a virtual image on my laptop, a mobile RFID PPC reader that wanted to connect to any wireless network going and David's MS Corp policy locked down Vista laptop - saying "here's a public workgroup mode MSMQ......sure you can send to it smile_eyeroll)

What a receipe!!! Did we pull it off......oh yeah!

David's application:

(a) was written in XAML, WPF

(b) Said 'Welcome' in not just English, but 32 different languages - EVEN Japanese! Little squiggle characters etc. (I just took his word for it that it said 'Welcome')

(c) looked great!

(d) had a whole stack of animations and bubble paths that floated showing each persons details for 6 seconds. Max of 4 bubbles on the screen at any one time.

(e) listened to a local private MSMQ.

Micks application:

(a) wrote a PPC application that did nearly all the functions (took 1 week) with the RFID reader - using the Intermec BRI apis.

(b) plugged the Intermec IP4 reader into Microsoft RFID Services (Sept CTP) and grabbed the provider from Rob (Intermec US based developer - sensational help from those guys) - did what I did in (a) in around 30 mins.

(c) Wrote a 'process event handler' to process each of the tags coming through and obtain the corresponding delegate details. Finally wrote to MSMQ ready for the UI. (I want to move some of this into the BizTalk Rules Engine that ships with RFID services)


The bits I was using were all pretty rough and ready - the provider, rfid services etc. Quite frequently things would have some pretty major exceptions - due to what I was trying to do, through to not all the expected data being present during a tag read.

Whenever an Exception occured it usually meant that the reader needed to be 'warm booted'

Fantastic relationship

There are so many ways to setup RFID Services with readers, from the readers being pretty 'dumb' to have a serious amount of intelligence on the reader and RFID services just goes off what the reader 'says'.

I decided to go for the latter and here's why

(1) When we read tags on mass, this is usually done via Async RFID Reads (from the perspective of RFID Services). During this mode, our Reader was constantly checking if a tag was in the area, so no write back to the tag was possible as the reader was saying 'I'm reading, go away'.

(2) We could set this reader up to Poll - every 5secs or so, shoot out a pulse and say "who's there?" - problem this was still an Async read.

(3) Rob helped out greatly here - when I decided to let my Pocket PC App do the 'reading' and send back 'READ Tag notifications' to RFID Services. This allowed me to during the event processing (c.f. a biztalk pipeline) - open up a connection back to the reader (through Intermec APIs) and tell the Reader to Write a tag! (I actually didnt get this part done, but we're close)

All in all - what an experience. Learnt alot in the area of hardware, jiggles, and tweaking cables to get things 'just right'

And I've got to say I've had some wonderful help from Anush (MS RFID Services Product manager), Matt and Rob (from Intermec) - really refreshing to get such good and responsive help.

Thanks all!

Grab the Slide Deck - (3.23 MB)
Grab the RFID Applications - RFID (634.05 KB)

Sunday, 03 December 2006 12:47:54 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [3] -
BizTalk | RFID | Events
# Thursday, 16 November 2006

It's all happening folks in November - 30th there is an SOA/Business Process happening in Sydney.

There's some folks from Corp. coming over (BizTalk group) so this is going to be pretty special.

I'm also co-presenting with David McGhee on the BizTalk RFID space.

Here's the registration details - love to see you there.....

Microsoft SOA and Business Process Conference – Thursday 30th November 2006 – SYDNEY

Register now – places are limited

On 30th November we are holding the Sydney leg of the Global Roadshow – Microsoft SOA and Business Process Conference.  This is a scaled down version of the recent conference held in Redmond in October.  The morning is built for Partners and the afternoon is built for Customers and Partners. 

The afternoon starts with Keynotes by David Chappell and Microsoft’s Steve Sloan discussing the Industry and Microsoft perspectives on SOA and BPM followed by additional sessions discussing RFID, Software as a Service and Demystifying Workflow, plus SOA and BPM sessions for industry segments: FSI, Public Sector and the Communications Sector.


To Register:

Katie Macintosh | Product Marketing Manager, Application Platform Servers

Thursday, 16 November 2006 08:47:51 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | RFID | Events
# Thursday, 02 November 2006

I came across a great simple sample of how to do this and thought I show how easy it is to do this.

A whole bunch of BizTalk Samples from the Developer Team is here:
BizTalk Samples

One of the samples on the page is the ConsoleAdapter - very simple, non Adapter framework receive adapter. This is an isolated adapter.

Here's the crux of the sample - In particular look at the ProcessMessage function.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.BizTalk.Interop;
using Microsoft.BizTalk.Messaging.Interop;
using Microsoft.BizTalk.TransportProxy.Interop;
using Microsoft.BizTalk.Adapter.Framework;
using System.Globalization;
using System.Resources;
using Microsoft.BizTalk.Message.Interop;
using System.IO;

namespace Microsoft.Samples.BizTalk.Adapters.ConsoleAdapterLibrary
public class ConsoleAdapter : IBTTransport, IBTTransportConfig, IBTBatchCallBack
// Class destructor called by default right before ConsoleAdapter class is being
// destroyed. This method makes required call to TermiateIsolatedReceiver to
// match previous calls to RegisterIsolatedReceiver in the Register method.

static ConsoleAdapter()
// Default class constructor called by default as ConsoleAdapter class is being
// instantiated. This method accepts a string as input from the command line and
// calls the SendMesage helper method to submit it to BizTalk Server.
// Multiple messages can be submitted by entering numerous strings and hitting <ENTER>.
// To end the progam hit <CTRL-C> and it will exit.
Console.WriteLine("Type in message text and hit <ENTER> for each BizTalk Server message. Hit <CTRL-C> to exit.");
string data = Console.ReadLine();

// Submit the msssage to BizTalk Server
data = ""
data = Console.ReadLine();
static void SendMessage(string data)
// Helper method called by the default class constructor immediately following the
// ConsoleAdapter class being instantiated. This method accepts a string as input.
// That string is used as part (the body) of the message which is submitted in a
// (single) message batch to the BizTalk Server Messaging Engine. This method is
// called once for each message to be submitted.

// If the adapter instance is registered with BizTalk then proceed. Otherwise this
// is the first message being submitted so register the adapter instance as an
// isolated recevier with BizTalk Server.
if (!Registered)

// Create a message part containing the string and adds it to the message
IBaseMessagePart part = _fact.CreateMessagePart();
IBaseMessage msg = _fact.CreateMessage();
MemoryStream ms = new MemoryStream();
StreamWriter sw = new StreamWriter(ms);
ms.Seek(0, SeekOrigin.Begin);
part.Data = ms;
msg.AddPart(MESSAGE_BODY, part, true);

// Create a new context for a message.
SystemMessageContext context = new SystemMessageContext(msg.Context);

// _url is consoleadaptertestharness.exe
context.InboundTransportLocation = _url;
context.InboundTransportType = "Console"

// Obtain a batch from the Messaging Engine proxy and submit the message via the batch.
IBTTransportBatch batch = _tp.GetBatch(_cb, _cb);

void ProcessMessage(Stream s)
//This gets us the interface to the Messaging Engine
IBTTransportProxy tp = GetProxy();
//get the message factory
IBaseMessageFactory msgfact;
msgfact = tp.GetMessageFactory();
IBaseMessage msg;
//create the message object
msg = msgfact.CreateMessage();
IBaseMessagePart part;
//create the part - in this case
//the only part
part = msgfact.CreateMessagePart();
//give the part the stream
part.Data = s;
//add the part
msg.AddPart("body", part, true);
IBTTransportBatch batch;
//get the bacth - the object
//used to send messages
batch = tp.GetBatch(this, null);
//submit the message - in this case
//this is a one-way MEP
//tell the batch we're done

IBTTransportProxy GetProxy()
// Helper function to return a pointer to the proxy.
return _tp;
static void Register()
// Get the transport proxy and use it to register the adapter and it's receive location
// with BizTalk Server.
_tp = new BTTransportProxy() as IBTTransportProxy;
_tp.RegisterIsolatedReceiver(_url, _instance);
_fact = _tp.GetMessageFactory();
Registered = true;

private static CB _cb = new CB();
private static string MESSAGE_BODY = "body"
//Need to have a receive location by this same name "ConsoleAdapterTestHarness.exe"
static string _url = "ConsoleAdapterTestHarness.exe"//System.Diagnostics.Process.GetCurrentProcess().ProcessName;
static IBaseMessageFactory _fact = null;
static ConsoleAdapter _instance = new ConsoleAdapter();
static IBTTransportProxy _tp = null;
static bool Registered = false;
public Guid ClassID { get { return new Guid("{82A2D6BC-F1CA-4ad5-80AA-ED7B7A52B493}"); } }
public string Description { get { return "Description" } }
public string Name { get { return "Console Adapter" } }
public string TransportType { get { return "Console" } }
public string Version { get { return "" } }

void IBTTransportConfig.AddReceiveEndpoint(string url, Microsoft.BizTalk.Component.Interop.IPropertyBag adapterConfig, Microsoft.BizTalk.Component.Interop.IPropertyBag bizTalkConfig)


void IBTTransportConfig.RemoveReceiveEndpoint(string url)


void IBTTransportConfig.UpdateEndpointConfig(string url, Microsoft.BizTalk.Component.Interop.IPropertyBag adapterConfig, Microsoft.BizTalk.Component.Interop.IPropertyBag bizTalkConfig)

public void BatchComplete(int status, short opCount, BTBatchOperationStatus[] operationStatus, object callbackCookie)

public class CB : IBTBatchCallBack
#region IBTBatchCallBack Members

public void BatchComplete(int status, short opCount, BTBatchOperationStatus[] operationStatus, object callbackCookie)


public class ConsoleAdapterConfig : IAdapterConfig
#region IAdapterConfig Members

public string GetConfigSchema(Microsoft.BizTalk.Adapter.Framework.ConfigType configType)
switch (configType)
case ConfigType.ReceiveHandler:
return GetResource("ReceiveHandler");

case ConfigType.ReceiveLocation:
return GetResource("ReceiveLocation");

return null;
string GetResource(string name)
ResourceManager rm = ConsoleAdapterLibrary.ConsoleAdapterRes.ResourceManager;
return rm.GetString(name);

public Microsoft.BizTalk.Adapter.Framework.Result GetSchema(string uri, string namespaceName, out string fileLocation)
// TODO: Add RemotingAdapterConfig.GetSchema implementation
fileLocation = String.Empty;
return Result.Continue;



Thursday, 02 November 2006 22:39:21 (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | RFID
# Sunday, 22 October 2006

Hi folks - as you all know it's about Connected Systems - not neccessarily about one technology on it's own.

I'm a firm believer that we're always trying to solve a customer's problem/solution which will involve more than just BizTalk.

In our 'BizTalk' space now (with R2 TAP on the way), we have technologies such as:

  1. BizTalk 2006
  2. RFID
  3. WCF
  4. WinWF
  5. SSB
  6. SSIS
  7. All the LOB adapters from BizTalk 2006
  8. MOSS 2007
  9. MSMQ/MQSeries etc.

So as an 'integration specialist' we need to know not only how these work and the benefits of each for certain environments, but also how to create an effective solution in these technologies. (not something like - "I believe you can do that in .....I just need to watch some webcasts on it first" :)

The Sydney BizTalk User Group has launched a Connected Systems Mailing list.

How to JOIN:
1. send an email to with
in the BODY of the message (you can put anything for the SUBJECT, or leave it blank)

So come and join my one other friend to kick this off. :)

How to UNJOIN:
1. send an email to with


Sunday, 22 October 2006 15:03:28 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | RFID | Events | Office | Tips | WinWF
# Friday, 29 September 2006
You know the tags....Minority Report...intelligent fridges and washing machines knowing how to wash your clothes for you (guys...this could be our moment of fame! rather than everything coming out 'pink' and then you get banned from the washing machine for life!)

David McGhee ran an RFID session at the Sydney BizTalk User Group and a big thanks!! (Slide deck linked below)

And a big thanks to Matt Eschbach from in coming to the Party with some hardware goodies, gadgets (mobile readers and fixed readers to come) AS WELL AS A SAMPLE RFID Application that runs within the framework. How good is that!!!!

I'll be developing some apps going forward so that initially the User Group members each get their own tag and can use that as an attendance indicator for each meeting. These results will eventually be sent back to the User Group Site. Who know we may even get some sort of live voting going during sessions......(if you enjoyed the session go down this line to a beer.....if you didnt....go down this beer line :)

Here's some technical specifications from Matt about the devices - once again thanks Matt.

7X1a_spec_web.pdf (356.49 KB)

IP4_spec_web.pdf (114.22 KB)

David's Slide Deck (PDF format) : (2.9 MB)

Friday, 29 September 2006 12:42:18 (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID
<2017 March>
 AppFabric CAT
AppFabric Windows Server Customer Advisory Team - New Blog.
[Feed] BizTalk 2006 - Windows SharePoint Services adapter
BizTalk 2006 Sharepoint adapter!!
 Breeze SharePoint 2010 Bootcamp
Breeze SharePoint 2010 Bootcamp
[Feed] BTS 2006 R2/EDI
[Feed] Chris Vidotto (MS BTS Legend)
Needs no intro....
 Mark Daunt
About the author/Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2017
Sign In
Total Posts: 608
This Year: 0
This Month: 0
This Week: 0
Comments: 270
All Content © 2017, Breeze