Things hard and not so hard.... RSS 2.0
# Tuesday, January 31, 2012

Scotty & myself have had this error going for over 2 weeks now, and have tried many options, settings, registry keys, reboots and so on.
(we have had this on 2 boxes now, that are *not* directly connected to the internet. They are locked down servers with only required services accessible through the firewall)

Generally you’ll encounter this error is you install Azure SDK v1.6 – there has been people that have revert back to Azure v1.5 SDK when this error has been encountered and this seems to fix most of their problems.

Here I’m using netTcpRelayBinding, BizTalk 2010 but this could just have easily have been IIS or your own app.

Finding the outbound ports and Azure datacenter address space is always the challenge. Ports 80,443,9351 and 9352 are the main ones with the remote addresses being the network segments of your Azure Datacenter.

The problem: “Oh it’s a chain validation thing, I’ll just go and turn off Certificate checking…” let me see the options.
(this is what we thought 2+ weeks ago)

image

Here I have a BizTalk shot of the transportClientEndpointBehaviour with Authentication node set to NoCheck and None (you would set these from code or a config file outside of biztalk)

We found that these currently have NO BEARING whatsoever…2 weeks we’ll never get back.

Don’t be drawn into here, it’s a long windy path and you’ll most likely end up short.

I am currently waiting to hear back from the folks on the product team to see what the answer is on this – BUT for now as a workaround we sat down with a network sniffer to see the characteristics.

Work around:

1. Add some Host Entries

2. Create a dummy site so the checker is fooled into grabbing local CRLs.

Add these Entries to your HOSTs file.

127.0.0.1    www.public-trust.com
127.0.0.1    mscrl.microsoft.com
127.0.0.1    crl.microsoft.com
127.0.0.1    corppki

Download and extract these directories to your DEFAULT WEB SITE (i.e. the one that answers to http://127.0.0.1/…..)
This is usually under C:\inetpub\wwwroot (even if you have sharepoint installed)




-------------------- The nasty error -------------------

The Messaging Engine failed to add a receive location "<receive location>" with URL "sb://<rec url>" to the adapter "WCF-Custom". Reason: "System.ServiceModel.Security.SecurityNegotiationException: The X.509 certificate CN=servicebus.windows.net chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. The revocation function was unable to check revocation because the revocation server was offline.
---> System.IdentityModel.Tokens.SecurityTokenValidationException: The X.509 certificate CN=servicebus.windows.net chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. The revocation function was unable to check revocation because the revocation server was offline.

   at Microsoft.ServiceBus.Channels.Security.RetriableCertificateValidator.Validate(X509Certificate2 certificate)
   at System.IdentityModel.Selectors.X509SecurityTokenAuthenticator.ValidateTokenCore(SecurityToken token)
   at System.IdentityModel.Selectors.SecurityTokenAuthenticator.ValidateToken(SecurityToken token)
   at System.ServiceModel.Channels.SslStreamSecurityUpgradeInitiator.ValidateRemoteCertificate(Object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
   at System.Net.Security.SecureChannel.VerifyRemoteCertificate(RemoteCertValidationCallback remoteCertValidationCallback)
   at System.Net.Security.SslState.CompleteHandshake()
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.ServiceModel.Channels.SslStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity)
   --- End of inner exception stack trace ---
   at System.ServiceModel.Channels.SslStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity)
   at System.ServiceModel.Channels.StreamSecurityUpgradeInitiatorBase.InitiateUpgrade(Stream stream)
   at System.ServiceModel.Channels.ConnectionUpgradeHelper.InitiateUpgrade(StreamUpgradeInitiator upgradeInitiator, IConnection& connection, ClientFramingDecoder decoder, IDefaultCommunicationTimeouts defaultTimeouts, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper)
   at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)
   at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayTcpClient.RelayedOnewayChannel.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayTcpClient.GetChannel(Uri via, TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayTcpClient.ConnectRequestReplyContext.Send(Message message, TimeSpan timeout, IDuplexChannel& channel)
   at Microsoft.ServiceBus.RelayedOnewayTcpListener.RelayedOnewayTcpListenerClient.Connect(TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayTcpClient.EnsureConnected(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.CommunicationObject.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.RefcountedCommunicationObject.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.RelayedOnewayChannelListener.OnOpen(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at Microsoft.ServiceBus.SocketConnectionTransportManager.OnOpen(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.TransportManager.Open(TimeSpan timeout, TransportChannelListener channelListener)
   at Microsoft.ServiceBus.Channels.TransportManagerContainer.Open(TimeSpan timeout, SelectTransportManagersCallback selectTransportManagerCallback)
   at Microsoft.ServiceBus.SocketConnectionChannelListener`2.OnOpen(TimeSpan timeout)
   at Microsoft.ServiceBus.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.Enable()
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint..ctor(BizTalkEndpointContext endpointContext, IBTTransportProxy transportProxy, ControlledTermination control)
   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiver`2.AddReceiveEndpoint(String url, IPropertyBag adapterConfig, IPropertyBag bizTalkConfig)".

Tuesday, January 31, 2012 2:08:41 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
AppFabricServer | Azure | Integration | ServiceBus | BizTalk | 2010
# Sunday, January 29, 2012

Windows Azure cannot perform a VIP swap between deployments that have a different number of endpoints.

Which begs the question – what happens as part of an upgrade if you add-endpoints???

So clearly the VIP Swap operation is not a simple process.

Now off to delete some production instances so I can get the changes through… Disappointed smile

Sunday, January 29, 2012 9:23:24 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | BizTalk
# Tuesday, January 17, 2012

Just came across this one – Microsoft of recently released the Storage Client source code.

Could come in handy!

https://github.com/WindowsAzure/azure-sdk-for-net

Cheers,

Mick.

Tuesday, January 17, 2012 3:45:19 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | BizTalk | 2010 | 2010 R2
# Wednesday, January 11, 2012

Hi folks, we’ve set a cracking pace into 2012 and are in need of an additional team member.

If you love technology, we love technology and I’d love to hear from you to be part of my team.

You will be stimulated, constantly thinking and challenged – azure, integration, biztlak, sql, windows phone 7 and many other technology areas you’ll be exposed to. Integration is all about the glue we use to achieve the result.

If you’re keen for a chat check out the blurb - http://www.breeze.net/about/jobs.aspx

Cheers,

Mick.

Wednesday, January 11, 2012 11:32:16 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
AppFabricServer | Azure | BizTalk | 2010 | Breeze | BET | Dev | General | Jobs
# Monday, January 09, 2012

Thought I’d start off the year with a bang around Azure and what’s been happening in the land of Integration.

 

So I contacted a Conor Brady to see what was cooking.

 

The user group is meeting next Thursday 19th Jan 2012.

 

Here’s the blurb…..

 

-----------------------------------------

 

'Integration using Windows Azure Application Integration Services'

Local Integration & Training guru Mick Badran CTO at Breeze Training & Consulting and veteran BizTalk Server MVP will present on 'Integration using Windows Azure Application Integration Services'

The presentation will show how to use Microsoft Windows Azure to be the cornerstone of your integration strategy, whether it’s a small piece or larger deployment. Find out what new tools you can use to extend your existing toolbox and the best way to use them.

This session will cover:

- Strategies on complementing your on-premise <-> cloud integration and what tool to use when.

- High availability solutions with a demo of fault tolerance.

- Casting an eye what’s around the corner to new features coming out of Azure Labs such as EAI, EAI Bridges, EDI – azure style and new XML over HTTP endpoints.

 

------------------------------------------

 

Here’s the link to REGISTER - http://www.eventbrite.com/event/2739308345

 

See you there!

 

Mick.

Monday, January 09, 2012 3:18:16 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
AppFabricServer | Azure | Integration | BizTalk
# Saturday, December 17, 2011

Well folks – the appfabric labs have come out with a real gem recently.

In CTP we have:

  • EDI + EAI processing
  • AS2 http/s endpoints
  • ‘Bridges’
  • Transforms

and of course the latest version of

  • ServcieBus, Queues and Topics.

To get the real benefit from this ‘sneak peek’ there’s a bit of setup required. To those familiar with BizTalk there’s a few EDI screens declaring parties/partners and agreements you’ll have seen before.

To get cracking:

  1. Update your local bits with the latest and greatest - Installing the Windows Azure Service Bus EAI and EDI Labs - December 2011
    Part of this install is to install the Service Bus Connect component, which installs the BizTalk 2010 LOB Adapter pack.
    image

    So this is really quite interesting. As the WCF LOB Adapter SDK provides a framework for developers to build out ‘adapters’ to connect systems/endpoints through a sync/async messaging pattern.

    The BizTalk Adapter Pack 2010 is the BizTalk Team set of adapters built on top of the WCF Adapter Framework. The BizTalk Adapter pack includes:
    - SQL Server Adapter. Hi performance sql work, notifications, async reads, writes etc.
    - SAP Adapter – uses the SAP Client APIs (under the hood) to talk directly to SAP. Very powerful
    - SIEBEL Adapter
    - Oracle DB Adapter
    - Oracle ES Adapter

    These adapters are exposed as ‘WCF Bindings’ with BizTalk or a small amount of code, allows you to expose these adapters as callable WCF Services.

    What does this mean in our case here?
    If you think about your on-premise Oracle system, we now have a local means of accessing Oracle and we can then push the message processing (e.g. a new order arrived) into our ‘cloud’ bridge where we have the immediate benefit of HA + Scale. Do some work there, and spit the result out any which way you want. Maybe back down to on-premise, or in a Queue or to Azure Storage.

  2. Sign up to AppFabricLabs – http://portal.appfabriclabs.com and provision your ‘servicebus’ service.
    This provides your EDI/EAI relay endpoints and also provides a way for you to listen/send requests to/from the cloud.
  3. Here I have used mickservices as my ServiceBus namespace.
    image
    (I created a Queue and a couple of Topics for later use – not really needed here)
    Note: grab your HIDDEN KEY details from here – owner + <key#>
  4. From within the Portal Create a Queue called samples/gettingstarted/queueorders

    image
  5. Register at the EDI Portalhttp://edi.appfabriclabs.com
    Even though this says ‘EDI’ think of it as your sandpit. It’s where all your ‘widgets’ live that are to run in Azure Integration Services.

    The registration form had me stumped for a little bit. Here’s the details that work.

    image

    Notice my servicebus namespace – just the first word. I previously had the whole thing, then variations of it.
    Issuer Name: owner
    Issuer secret: <the hidden key from above>

    Click save/register and you should be good here.
  6. Once this is done – click on Settings –> AS2 and Enable AS2 message processing (which is EDI/HTTP – you might be lucky enough to get the msgs as XML, but most times no). This will create some endpoints for you b2bgateway… style endpoints.

    image
  7. At this stage, have a look under Resources and you’ll notice that it’s empty. But…they have Schemas, Transforms and Certificates. We’ll come back to that later.
  8. Let’s head to Visual Studio 2010 with the updates installed and open up the Sample Order Processing project.

    I installed my samples under c:\samples
    image

    If all opens well you should see:
    image

    Note: there’s a couple of new items here: (expand out artifacts)
    *.bcs – Bridge. There’s a MSDN Article describing these – I was like ‘what???’. Basically these are a ‘processing pipe’ of which various operations can be performed on a message in stages. These stages are ‘atomic’ and they also have ‘conditions’ as to whether they *need* to be applied to the said message. So a bridge could take a message, convert it to XML and broadcast the message out to a Topic.

    Opening up the designer – it gets pretty cool I must say!!!

    image
    Note the ‘operations’ on the LHS. I must have a play with these guys Smile 
    Another thought – how extensible is this? I’d bet we could write our own widgets to throw on the design surface as well.

    By double clicking on the BridgeOrders component, you can see the designer surface come up with the ‘stage processing’.

    image

    Here you can see the ‘bridge’ (I wonder if that term will last till the release) will accept only 2 types of message schemas – PO1 + PO2. Maps them out to a more generic PO format.
    The map – XMLTransform from my initial testing only applies one map, the first one that matches the source schema (this is the same as BizTalk).

    Close the bridge view down and leave the BridgeConfiguration open.
  9. Click anywhere on the white surface of the BridgeConfiguration and set your Service Namespace property from the Properties window (this guy was hard to find!!)
    Put <your service namespace> you created originally.
    image
  10. Save and click Deploy and a Deployment window comes up – put your details in from above.
    image

    After deployment completes, keep an eye on the Output window as this has all the URLs you’ll need for the next step. In particular the BridgeOrders.

    Feel free to go back to your Azure Portal –> Resources and see your deployed bits in there, Schemas, Transforms etc.

  11. Running what you’ve built – sending a message to the ‘bridge’ (here I’ve borrowed info from the ‘Readme.html’ in the sample project folder)
    We don’t need to setup the whole EDI Trading partner piece. – just send messages to a restful endpoint – aka the bridge.
    1. From the samples folder locate the Tools\MessageSender project. (you may have to build it in VS.NET first)
    2. from a command prompt run messagesender.exe
      image

      In my case it looks like this:

      image

      Took me a little to get this originally, make sure all your VS.NET stuff is deployed properly.

      So effectively we have sent PO1.xml to our ‘Bridge’ and it’s been accepted, validated and transformed into ‘something else’ and popped onto a Queue called Samples/gettingstarted/QueueOrders.

      We will now get the message Reader to Read it.
  12. From under the Samples\Tools folder locate the MessageReceiver project and build if required.
  13. From a command prompt at that location, run the following to Listen to the queue

    image






Wrapping up -

Here is obviously a quick walk through of what’s possible, performance, scale and throughput are other measures that we haven’t got here – given it’s CTP/Labs we’re not quite ready for that conversation.

BizTalk adapter pack will expose out for e.g. your SAP system to a wider audience and imagine having restful WCF services to call that provide you customer data in the format you want…or better still…deliver it straight to you!
(currently in BTS 2010, the adapter pack is licensed separately, it’s part of BTS standard or enterprise. BTS2009 it *was* licensed separately for RRP $5K. Maybe we’ll see this as a separate component again.)
Or you could do like the SharePoint team and write a brand new WCF Adapter (‘connector’ in their terms) – ‘Duet’ and spend 18 months doing so.

Some things I’d like to see here is a Rules Processor or Engine – being a long long BizTalk fan, the rules engine is a massive strength of any loosely coupled solution. The majority of BizTalk solutions I come across don’t employ any rules engines…or better still, Windows Workflow 2,3+ (but not 4 or 4.5) has a rules ‘executor’ which is very powerful in it’s own right. Who’s heard or used the Policy shape?

Given that this is a sneak peak at what is on the horizon, this is definitely a space not to miss.

Get those trial accounts going and enjoy!

In particular I’d like to call out Rick’s Article (well done Rick!) for a great read on this space also.

Mick.

Saturday, December 17, 2011 10:08:00 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Async | BizTalk | 2010 R2 | BizTalk Adapter Pack | SAP
# Monday, December 12, 2011

Hi folks, as you may/may not have been aware these are the core corner stone technologies of the MS Integration Stack.

The teams have been busily plugging away and coming up with the new versions – 4.5 corresponding to .NET 4.5 framework.

Here’s some links that describe what’s new from MS Santa & his elves:

  1. What's New in Windows Communication Foundation 4.5
    1. New Items I found of note are:
      • New Service Transport Default values – keep an eye on these.
      • Improvements from VS.NET 2011 – validation , better intellisence support.
      • Streaming improved – true async (yay!)
      • WebSocket support – through NetHttp(s)Binding
      • Single WSDL file generation with ‘?singleWSDL’ (which is pretty handy)
      • Self hosted + II hosted allow you to get to ServiceHost from code for dynamic configuration.
      • Binary Encoder supports compression!! – this is generally gzip compression.
      • My personal favourite – UDP support
  2. What's New in Windows Workflow Foundation in .NET 4.5
    1. New Items of note are:
      • New Activites – NoPersistScope (possible previously but we needed to write code)
      • WF Designer improvements – several here, but the ‘Outline view’ looks to be easier to work with.
      • C# Expressions – where’s the F# ones Sad smile ??
      • Designer Annotations – add your own comments to keep control of the jungle that is built.
      • WF Versioning – use WorkflowIdentity & DefinitionIdentity to define the version. WorkflowServiceHost supports multiple versions of the same WF. All pretty cool.
      • WF Designers can still be rehosted – I’ve used that many a place.
      • Contract First Development – ticks the boxes.
    2. WF Rules – still didn’t make the cut. There is a sample for WF4 using a custom Activity calling back to WF 3.5 Policy4 it’s called. It uses ‘interop’ back to WF3.5 and is found here - http://msdn.microsoft.com/en-us/library/dd797584(v=VS.100).aspx
      1. Will have to check out perf in this new land on these rules.
  3. Async CTP – while this didn’t make the ‘whats new’ list, it certainly does deserve a mention here.
    Over the last year I’ve built some pretty serious F# projects, and F# has the async support through and through the language. After over coming the challenge of learning it, the Async functionality is absolutely brilliant!!! F# does a great job in being able to turn a non-async chunk of code/method/class into an async one with by using the keyword async and a !. It’s straight forward from that aspect.

    It’s great to see the C# & VB.NETs being able to use the same fundamentals (albeit not as slick IMO Winking smile). – see a previous POST - http://blogs.breezetraining.com.au/mickb/2011/04/26/EasierAsyncProgrammingComingToCVBSoon.aspx

    As developers we sit here and say – what do I need this for? My code runs fine as it….and yes for the most part of what we do on our machine it does. This technology really comes into it’s own when you want consistent throughput from a solution with 1 person or 10000 concurrent people using it. That’s the difference.

    To use it:
    1. Get VSNET 2011 (as it requires a new compiler)
    2. Use ASYNC CTP (refresh3) with VSNET2010 SP1
  4. Check it out from here - http://msdn.microsoft.com/en-us/vstudio/gg316360
Monday, December 12, 2011 12:00:52 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | Async | BizTalk | Dev | .NET Framework 4.5
# Friday, December 09, 2011
Friday, December 09, 2011 10:57:40 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2010 | 2010 R2
# Thursday, November 24, 2011

image

So your SQL 2012 is US$6.8K/core which roughly equates to 4 cores = a SQL 2008 Ent license.

How many DB servers have 4 cores? I wonder if there’s a way now to limit the cores then that SQL 2012 will use on for e.g. an 8 or 12 core machine.

Will this change by RTM?? I wonder.

(on a side note – way back when ‘hyper threading’ originally came out, when 1 CPU looked liked ‘2’ to the O/S, MS wanted to license per visible CPU. Intel & AMD at the time said if you do that we’ll take the feature out…nowadays we call them ‘CORES’ and looks like the discussion has come full circle)

Thursday, November 24, 2011 3:41:44 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Events | General
# Wednesday, October 05, 2011

Hi folks, from a previous set of posts, we’ve been running a series of Azure Training Sessions.

Here’s the online links to the recordings that many of you have asked me about. Enjoy.

The links below should take you to the landing page, from the click on the View Online button.

image

 

image

Wednesday, October 05, 2011 11:09:03 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Azure | BizTalk | Events | Recordings | Readiness
# Friday, September 09, 2011

A recent project my team has worked hard on has come to fruition . This was a challenging project in these key areas:

  • High volume – benchmarks of 20000 concurrent requests/sec through the system.
  • Low latency – time is critical as price and market changes going through.
  • Scalable – different data centers, different regions in the world.

Seemed like a great challenge…. and we built some great componentry through it, utilising the best of many worlds.

Centrebet have released a press release about their Microsoft Azure Cloud, Application Integration solution. This is a tremendous success story for such a well-known Australian brand.

Centrebet deploys app integration platform

http://www.newsmaker.com.au/news/11380

Friday, September 09, 2011 2:22:27 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
Azure | BizTalk | 2010 | BizTalk Adapter Pack
# Thursday, September 08, 2011

We had an action packed 2 days hammering ‘Azurey’ (Azure) discovering all the concepts and most importantly I was trying to get the Why point across.

Why??

Why should we use Azure? When should we use it? Do I *need* to use it? Where can it help me for little effort… etc.. etc..

The students walked out with a trial Azure account which enabled them to continue working on their environment as and when they could.

We had some great discussions and some good fun was had by all.

I thought I would make my slides available – http://bit.ly/oQ0Zcv UPDATED - (case sensitive) – ENJOY!

image

image

Thursday, September 08, 2011 5:52:20 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | BizTalk | 2010 | 2011 | Training
# Thursday, August 11, 2011

What a place…the Gold Coast!!!

Any chance to get back there… and this year is looking to be a fantastic 2 day pre-conference training together.

In the training there’ll be no MS speak!! I promise “We’re all in…” …(washing mouth out with soap).

First things first – everyone you speak to will pronounce ‘Azure’ differently (I once had 3 martial arts instructors all speak their own flavour of ‘Korean’ to me).
You’ll get:
1) ‘Aaaaaazzzzre’
2) ‘Azzzz-cloud’

Now here in Australia we’re standardising (our English-Australian) to Azurey!

Azurey is our official term,
which fits alongside ‘Timmy’, ‘Barbie’ and ‘Daveo’… but not Shazza.

What I want to explore with you are all the different options and components that you could utilise. Having been through several cloud based solutions and building a cloud based solution over the last 2 years.

image

So we can use a combination of the available technologies to alleviate some of the in-house problems (e.g. firewall settings, h/w order and provisioning, server space) while still maintaining *very* good ownership over it.

One thing is clear right now – with this new landscape the focus has returned to the Developer to be mindful of what resources they use and HOW they use them.

The price of your solution starts right now from the ground up with the Developer!
(Previously we’ve had limitless memory, disk, cpu, connections, sockets, select * from customers… – developers rarely care)

So the cost model – What do you get charged for?
(short answer – nearly everything)

If you can design a solution with:
1) no use for SQL Azure –as it currently costs a bomb to host a DB.
You could use – SQLCE locally or Azure Storage (Table, Queue, blob) which is cheap as chips.

2) limit your Service Bus Connections – both client and server count as a connection. The connections are averaged out over a day/month and are sampled every 5 mins, but you certainly don’t want to rack up 100s of connections. A cheaper alternative is to expose a WCF Endpoint (via a worker role) and have a process communicate with the Servicebus endpoint handling the requests. This counts for 2 connections (1 client, 1 server) and is well within the 5 pack.

3) Only data out is charged – not in.

4) Compute VM sizes limit bandwith – across all your compute VMs e.g. small, there is bandwidth limitations that is enforced whether you have 1 or 10 VMs. Be mindful of that.

5) We can ‘monitor’ our cloud machines and even get back perf counters on each – just to give you that feel good feeling.

image

Well anyway I must go tweak some F# (best thing I’ve seen in a long while…another story)

Here’s the official story @ TechEd – hope to see you there folks!

http://australia.msteched.com/preconferencetraining

Official Blurb!

How “the Cloud” can help you integrate – Microsoft for Developers

 

With the excitement of technology moving towards “the Cloud” come and learn exactly what this means to your business and how your development projects can leverage the Windows Azure Platform without re-architecting your environment. Should you invest in private cloud, move your application to the public cloud, choose a hybrid approach or keep the application on-premise?

 

This two-day development workshop led by renowned Integration Experts provides delegates with an early opportunity to gain insight and hands-on experience with the Windows Azure Platform including Windows Azure AppFabric, SQL Azure, Windows Server AppFabric and BizTalk AppFabric Connect.

 

This developer workshop focuses on maximising your existing integration technology investment for an on-premise solution, including architectural design considerations, real world tips and techniques and hands-on experience with using the integration tools available today.

 

Delivered through workshop style presentations and hands-on lab exercises, this technology focused pre conference training will assist with designing and developing your company roadmap to the Cloud.

Thursday, August 11, 2011 1:06:03 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
AppFabricServer | Azure | BizTalk | 2010 | TechEd | 2011 | Training
# Wednesday, June 22, 2011
So you've got an on-premise WCF Service and you're going to expose the endpoint to the Cloud via ServiceBus.

I'm with a client excited about the prospect of Azure and using ServiceBus for connectivity for our local WCF Services.

Remember ServiceBus is touted as the firewall friend communications mechanism.

Should be pretty easy right? - just follow an article like - http://msdn.microsoft.com/en-us/library/ee732535.aspx

If you are on a Secure Server - i.e. one that doesn't have default open slather access to the internet by default you will fall well short.
(nb: the Azure ServiceBus documentation is a little thin here also. ie no mention whatsoever)

You will get 'can't contact watchdog.servicebus.windows.net' and many others....So....

After much head banging Scotty sat down one rainy day and looked at the full conversation to establish a connection to the cloud via Service Bus

NB: XXXX is your ServiceBus endpoint name you configured in the Azure Management Portal earlier. This endpoint lives in the Azure Singapore Data Center

When ConnectionMode = TCP (Hybrid)
1.       CNAME lookup for watchdog.servicebus.windows.net > returns ns-sb-prod-sn1-001.cloudapp.net
2.       Connect to ns-sb-prod-sn1-001.cloudapp.net (port 9350)
3.       CNAME lookup for XXXX-sb.accesscontrol.windows.net returns ns-ac-prod-sin-001.cloudapp.net
4.       Connect to ns-ac-prod-sin-001.cloudapp.net (port 443)
5.       CNAME lookup for XXXX.servicebus.windows.net returns ns-sb-prod-sin-001.cloudapp.net
6.       Connect to ns-sb-prod-sin-001.cloudapp.net (port 9351)
 
When ConnectionMode = Http
1.       CNAME lookup for XXXX-sb.accesscontrol.windows.net returns ns-ac-prod-sin-001.cloudapp.net
2.       Connect to ns-ac-prod-sin-001.cloudapp.net (port 443)
3.       CNAME lookup for XXXX.servicebus.windows.net returns ns-sb-prod-sin-001.cloudapp.net
4.       Connect to ns-sb-prod-sin-001.cloudapp.net (port 80)
 
Also, when we lock this down to https endpoint step 4 above will be over 443
 
So the complete firewall rules to support both modes should be:
·         watchdog.servicebus.windows.net (9350-9353)
·         ns-sb-prod-sn1-001.cloudapp.net (9350-9353)
·         XXXX-sb.accesscontrol.windows.net (443)
·         ns-ac-prod-sin-001.cloudapp.net (443)
·         XXXX.servicebus.windows.net (80, 443, 9350-9353)
·         ns-sb-prod-sin-001.cloudapp.net (80, 443, 9350-9353)
 
Note the difference between ns-sb-prod-sn1-001.cloudapp.net and the others ns-ac-prod-sin-001.cloudapp.net, ns-sb-prod-sin-001.cloudapp.net

Hopefully you won't get caught out at a client site asking for firewall changes, one at a time as you discover them.

Enjoy,

Mick + big thanks Scotty for the details.

Wednesday, June 22, 2011 12:24:38 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
AppFabricServer | Azure | BizTalk | 2010 | BizTalk Adapter Pack | Tips
# Thursday, June 02, 2011

The product team have been busy folks, pick up the update after the milk and eggs….

http://blogs.msdn.com/b/biztalkcrt/archive/2011/06/01/announcing-biztalk-2010-cu1.aspx

Thursday, June 02, 2011 4:26:30 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2010
# Tuesday, March 29, 2011

Hi all, the BizTalk team has been busy and now the BizTalk 2010 exam has been officially released.

http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-595

I’m going to sit it in the next few weeks and get a taste of it.

Good luck all and what a great day this is – well done Team!

Snippet…..

Audience Profile

Candidates for this exam typically work as a BizTalk developer in an organization that has a need to integrate multiple disparate systems, applications, and data as well as the need to automate business processes by using BizTalk Server.

 

Candidates should have a solid understanding of fundamental BizTalk concepts around the core messaging engine and building business processes using orchestrations.

 

Candidates will have some exposure to larger-scale multi-server solutions and deployment/management familiarity. This core knowledge is required for BizTalk 2006 R2, 2009, and 2010. In addition, core knowledge of Windows Communication Foundation (WCF) and Electronic Data Interchange (EDI) is also required.

Candidates should also have at least two years’ experience developing, deploying, testing, troubleshooting, and debugging BizTalk Server 2006 and later solutions across multiple projects and have experience using the Microsoft .NET Framework, XML, Microsoft Visual Studio, Microsoft SQL Server, Web services, and WCF while developing BizTalk integration solutions

 

Credit Toward Certification

When you pass Exam 70-595: TS: Developing Business Process and Integration Solutions by Using Microsoft BizTalk Server 2010, you complete the requirements for the following certification(s):

Microsoft Certified Technology Specialist (MCTS): Microsoft BizTalk Server 2010

Note This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format.

Tuesday, March 29, 2011 10:58:43 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2010 | Insights
# Friday, March 18, 2011

April 4th folks…April 4th.

Quick background: The BizTalk team have been travelling the globe on a ‘Microsoft Integration Roadshow’ covering countless countries and cities.

On April 4th the bus stops in Sydney. Here’s the official blurb and I’ll be presenting – let me know if there’s anything you’d like covered in my demo and I’ll try and accommodate.

Enjoy,

Mick.

 

clip_image001

 

 

REGISTER TODAY >>

Date

Monday, 4th April, 2011

Location

The Menzies Sydney

14 Carrington Street,

Sydney NSW 2000

Time

8:30am-12:30pm

 

 

 

 

 

 

 

 

 

 

 

 

Sydney  |  Monday April 4th, 2011

 

Microsoft Integration Road Show

Worldwide events running Feb - Apr 2011

Overview

Enterprises today typically work in a fairly heterogeneous environment with disparate systems. Connecting the systems and applications sitting across the diverse platforms and tying them to the business processes has become one of the top priorities for most organisations. As they continue to evolve towards a cloud strategy - to take advantage of the economic and scale benefits - the need to have a robust Integration Platform escalates. Microsoft offers a tremendous opportunity for customers to make a paradigm shift in the way they do business to maximize their benefits and profitability whilst maintaining an optimized cost structure.

 

Don’t miss this exciting opportunity to learn how we can help you beat the demands of today’s difficult economy, about our commitment to BizTalk Server and how we plan to continue to innovate in the integration space helping you begin your journey to the Cloud.

 

Agenda
8:30am – 9:00am:  Light Breakfast and Registration

9:15am – 10:00am: Keynote

“Innovations in Integration – Begin your journey to the Cloud”

Speaker: Paul Larsen

Group Program Manager, Microsoft Corporation

10:00am – 11:00am:  Customer session

Caltex is Australia's leading oil refiner and supplies products via a network of pipelines, terminals, depots and the company-owned and contracted transport fleet. Caltex made the business decision to acquire many of their independent resellers – who were spread across every state of Australia.

In this session you’ll learn how Caltex COSMOS project integrated those different reseller businesses into a single operating entity now called Caltex Petroleum Services.

Robin Brown, IT Project Manager, Caltex Australia

11:00am – 11:30am:  Break

11:30am – 12:30pm:  Technical Drilldown

Mick Badran, CTO, Breeze

This session is for those that want to delve into the technology to see the latest integration best practices and products including BizTalk Server 2010, AppFabric and Azure.

 

Location
The Menzies Sydney

14 Carrington Street,

Sydney NSW 2000

Target Audience
CIO/TDM/BDM, IT Directors/Managers, Architects, IT Pro & Developers

To Register
Click here to register. Space is limited so register today to ensure your attendance at this event.

 

clip_image005

clip_image006

Microsoft confidential information. © 2011 Microsoft Corporation. All right reserved.clip_image007

 

 

 

 

 

 

 

Friday, March 18, 2011 9:54:47 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2010 | Events | BizTalk2010
# Thursday, March 17, 2011

As you may/may not know native Restful support is a little lacking in BizTalk 2010.

A ‘little’ massaging is needed.

By plugging in a couple of classes into the WCF stack, BizTalk sits in the middle quite nicely.

Netin Mehrotra from MS has come to the rescue – he provides a great walk through article and sample code to boot.

Here’s the REST SAMPLE CODE

Here’s the REST ARTICLE

Enjoy guys.

The alternative is to create your own WCF Service in Windows Server AppFabric hosted in IIS and then you’ve still got the problem of ‘how’ to talk to BizTalk.

Choices…choices… :)

Thursday, March 17, 2011 2:21:25 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
AppFabricServer | BizTalk | 2010
# Sunday, February 27, 2011

Hey folks, Alan Smith and myself (much more Alan this time :) have brought the series back for another version and another year!
Myself and many other Biztalk MVPs and some great BizTalk-ers with fantastic real world experience share their knowledge.

As always the webcast series is designed to be an easy watch, level 200 ish and I’ve even had some folks reporting they watched the needy webcast on the way to clients to talk about for e.g. an EDI solution.

image

BizTalk 2010 Light And Easy Series – here’s where you’ll find the series http://www.cloudcasts.net/Default.aspx?category=BizTalk+Light+and+Easy
(Alan is in the process of uploading them)

  integration with BizTalk 2010 using the BizTalk WSS Adapter.

I created a 2 part episode – the first one deals with explaining the SharePoint 2010 environment, and the 2nd one deals with integration from BizTalk.

Here’s my recordings, PPTs and sample files.

Title WebCast PPT Description
Integration to SharePoint Part 1  Part 1 (110MB)  (2MB)

You will be taken through how SharePoint works, what a user sees, lists and investigating the new APIs present with SharePoint 2010.

This webcast talks about different techniques and how to integrate with SharePoint 2010 efficiently.

Integration to SharePoint Part 2  Part 2 (60MB)  (2MB)

This webcast deals with the installation and setup of the OOTB WSS BizTalk Adapter; examining various Send and Receive configurations within BizTalk and finally you’ll be introduced to a Custom SharePoint 2010 Adapter that uses the SharePoint ClientOM to talk to SharePoint 2010.

Sample Code for Part I and II  



 

Enjoy!

image

Sunday, February 27, 2011 12:27:37 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [4] -
BizTalk | 2010 | Light and Easy Webcasts
# Thursday, February 24, 2011

Over the past months I’ve been reviewing a new BizTalk 2010 book – BizTalk 2010: Integrating Line of Business Systems

There’s a high caliber line up of Author’s all busily sharing their knowledge.

Kent’s got all the details here - http://kentweare.blogspot.com/2011/02/new-biztalk-2010-book-unveiled-line-of.html

Looking forward to when it hits the shelves.

Well done guys – looking great from what I’m reading :)

1902en_mockupcover_normal_0

Thursday, February 24, 2011 9:54:17 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2010
# Sunday, January 09, 2011

I hope you’ve all been well over the break and enjoying the ‘thinking time’ – I’ve been keeping one ear to the ground and just on the lookout for new bits. Here’s one….

The BizTalk team have been busily working hard over the break and produced another issue of BizTalk at it’s best – BizTalk Hotrod.

image

http://biztalkhotrod.com/Documents/BizTalkHotrod11_Q4_2010.pdf

 

Specifically this issues talks about:

  • Async communication with BizTalk across WCF-Duplex messaging.
  • Calling SAP RFCs from BizTalk – all you need to know.

Guys – the biztalk hotrod mag set is some of the best technical biztalk discussions around, grab the previous issues and add them to your internal networks. A must.

Enjoy and talk to you soon.

Mick.

Sunday, January 09, 2011 10:24:17 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2010 | SAP | Insights | Tips
# Wednesday, December 15, 2010

There I was the other day slowly building up a new bts project in VS.NET.

You know the way it goes, add some schemas, maybe maps and before long you have a couple of helper assemblies and maybe a custom pipeline component or 2.

The problem is that the C# Assemblies don't automatically get added to your BTS Application in the BTS Admin console.

Usually I'll drag down one of my mammoth powershell 'build all' scripts from a previous project and customise this for the current project. 2 days later I usually stick my head up to see which day it is, and typically as we developers do, build a ferrari for something that a skateboard would do.

So simply put - add the following line to your Post Build Events section on your project in VS.NET.

btstask AddResource -ApplicationName:"Micks Demo App" -Type:System.BizTalk:Assembly -Overwrite -Options:GacOnInstall,GacOnAdd -Source:"$(TargetPath)" -Destination:"%BTAD_InstallDir%\$(TargetFileName)"

Ahhh...too easy.

Enjoy only a few more sleeps till Santa!

Mick.

Wednesday, December 15, 2010 4:11:08 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | 2010 | Tips
# Tuesday, October 12, 2010

Today I decided to crack open the BTS 2010 SharePoint WS Adapter to see if it takes advantage of the great new interfaces exposed by SharePoint 2010, specifically Microsoft.SharePoint.Client.dll and Microsoft.SharePoint.Client.Runtime.dll.

At a glance, the benefits of this new Client APIs are:

  1. Runs on a non SharePoint installed box.
  2. Lightweight and flexible – only get back what you ask for. As opposed to the classic SP Server API that populates the SPWeb collection (for e.g.) only if you just want the title field and not 10MBs worth of other data.
  3. Batch approach – load up several commands and batch them over the wire when needed.
  4. Supports both read/write from the client back to SP Server.
  5. Uses XML and JSON over the wire – small and fast.
  6. We can’t do *everything* we can on the Server Side – e.g. Service Application management, i.e. kicking off a search index crawl.

A little piccy of what’s going on:

image

Some classic piece of code to achieve document library reading:

1 static void Main(string[] args) 2 { 3 ClientContext ctx = new ClientContext("http://intranet"); 4 Web web = ctx.Web; 5 List docs = web.Lists.GetByTitle("Shared Documents"); 6 ListItemCollection items = docs.GetItems(CamlQuery.CreateAllItemsQuery()); 7 ctx.Load<Web>(web); 8 ctx.Load(docs); 9 ctx.Load(items); 10 ctx.ExecuteQuery(); 11 Console.WriteLine("The list has {0} items.", docs.ItemCount); 12 foreach (ListItem item in items) 13 { 14 Console.WriteLine("Item:{0}", item["Title"]); 15 } 16 //delete an item. 17 //items[1].Update(); 18 //items[1].DeleteObject(); 19 //ctx.Load(items); 20 //ctx.ExecuteQuery(); 21 Console.ReadLine(); 22 }

Note: Line 10 is where all the magic happens – if you imagine, we load up the client OM classes and the props etc. are all ‘blank’ until we do an ExecuteQuery() which then populates what we ask for.

The above sample is pretty simple showing how to connect to a document library on a ‘remote’ server (security allowing – I didn’t add a ctx.Credentials=… line in the above, but all possible).

So let’s move on a crack open the BTS 2010 SharePoint WS Adapter…

Just before we go there I’d like to point out that the Microsoft.SharePoint.dll (aka Server API) has the ability to connect to remote servers, although the code needs to be executed on a machine that has a local SharePoint install.

e.g.

SPSite site = new SPSite(“http://remoteserver.acme.com”);

SPWeb web = site.OpenWeb();

What I am trying to avoid with the BTS SharePoint adapter is the need to have the ‘BTS Web Service’ component installed on remote Farms. Just complicates the issue far too much with the SharePoint admins.

The BTS 2010 Story

I setup and installed the BTS SharePoint WS Adapter through the Configuration.exe tool successfully.

Essentially this tools runs a ‘web site check’ to make sure SharePoint is successfully setup and installed.

image

To make this happen, the configuration tool runs either:

  1. Microsoft.BizTalk.KwTpm.StsOmInterop3.exe – for WSSv3
  2. Microsoft.BizTalk.KwTpm.StsOmInterop4.exe – for WSSv4

to determine the site as follows:

image

Note: The URL and note the URL in the BTS Configuration above. Here I’ve already configured the adapter and I’m just showing the commands that the configurator runs behind the scenes.

Once configuration is complete you will see a new virtual directory added  to your selected site e.g. http://intranet.

As shown in IIS Manager.

image

Depending on the SharePoint version this virtual directory will map to:

  1. C:\Program Files (x86)\Microsoft BizTalk Server 2010\Business Activity Services\BTSharePointV4AdapterWS
    or
  2. C:\Program Files (x86)\Microsoft BizTalk Server 2010\Business Activity Services\BTSharePointV3AdapterWS (previous bts2009 adapter)

A Basic BTS/SharePoint picture

Essentially the BTS SharePoint Adapter consists of 2 parts:

  1. A BTS Adapter that talks to the BTS SharePoint WS. This is a ‘classic’ adapter and does not talk the newer WCF framework (which does have advantages and disadvantages)
  2. A BTS SharePoint WS – this does all the work against the SharePoint library and talks local SharePoint APIs.

image

 

Let’s look closer at the BTSharePointV4AdapterWS folder

image

- this folder, or addition needs to be available locally to whichever SharePoint site you are calling through the OOTB BTS SharePoint adapter, even though the SharePoint APIs support remote Servers.

- the bin folder has the Microsoft.BizTalk.KwTpm.WssV4Adapter.WebService.dll which is 78kb.

I wanted to find out whether this DLL used the new SharePoint Client APIs when meant having a peek at the ‘references’ of this DLL in IL.

Dissassembling Microsoft.BizTalk.KwTpm.WssV4Adapter.WebService.dll

Using .NET Reflector I was able to get this picture…

image

NOTE: on this list there is Microsoft.SharePoint, but not Microsoft.SharePoint.Client.dll
(this is not looking good…could be late bound, but… I doubt it)

Digging into the actual WssAdapter class we get the following of note:

image

The GetDocuments(string, string, string, Int32, DocExtOfficeIntegration)… is a key method.

The APIs show that the 1st parameter is a siteUrl (and following the implementation code through) which has the potential to point to another SharePoint server to make the connection (in the RequestInfo class if you’re going to dig yourself :))
Note: the PREVIOUS version, BTS2009 has the same Interface/Method signature and it requires the BTS SharePoint Adapter WS to be deployed on the remote SharePoint Server, even though the signature looks as though it will support the remote server.

So in conclusion the BTS SharePoint Adapter WebService has:

  1. NOT got any newer SharePoint Client API code within in.
  2. The ability to contact a remote server through the WebService APIs.
  3. But depends on whether the BTS Adapter will pass the ‘remote’ URL to the ‘local’ WS, or will the Adapter try to contact the remote SharePoint Server directly looking for a WS there???

I’m thinking it’s the latter…

A little more to unravel the SharePoint mystery…

Tuesday, October 12, 2010 1:08:00 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2010 | Insights | SharePoint | SharePoint | 2010
# Tuesday, September 28, 2010

image

BizTalk 2010 hit the stands this week and quite prominently up on the BizTalk 2010 site there’s info about vNext.

The team has been busy and The BizTalk 2010 Developer Edition is free! - http://www.microsoft.com/biztalk/en/us/developer.aspx

Lots of info up on the site – What’s New http://www.microsoft.com/biztalk/en/us/whats-new.aspx

  • During this What’s new, you’ll see that there is ‘enhanced Trading Partner Management’ which typically gets flagged under EDI based solutions. In a later post I’ll show you how to work with Trading Partners from any solution, and the bit that has me excited is that we now can store an arbitrary set of name/value pairs against each Trading Partner (and their individual agreements).

 

Initial Training – BizTalk 2010 Training Kit - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=35c8fb51-a1e3-496e-841a-b48701a80c40


The BizTalk Server 2010 training kit includes labs and training videos to help you learn about the new features of BizTalk Server 2010.
This training kit contains the following content:
Hands On Labs

  • Creating BizTalk Maps with the new Mapper
  • Consuming a WCF Service
  • Publishing Schemas and Orchestrations as WCF Services
  • Integrating with Microsoft SQL Server
  • Integrating using the FTP Adapter
  • Developers - Create a Role and Party-based Integration Solution
  • Exploring the New Settings Dashboard
  • Monitoring BizTalk Operations using System Center Operations Manager 2007 R2
  • Administrators - Create a Role and Party-based Integration Solution

 

Enjoy and stay tuned for the integration unraveling in the near future… :-)

Tuesday, September 28, 2010 9:51:07 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2010 | Insights
# Sunday, September 19, 2010

With Microsoft close to releasing BizTalk 2010 (the 7th release) your local BizTalk techies & trainers have put our heads together – big thanks to BizTalk Bill for being instrumental in getting this off the ground!

clip_image001

Starting from October the fun begins. BizTalk 2010 training will be on in a city near you!

The event will be a Saturday event in many cities around Australia and New Zealand showcasing the new features of BizTalk Server 2010.  The day will consist of short talks about the new feature and then hands on labs to allow you firsthand experience with the new features.

Cost: $200 per person (to cover a couple of flights and food)

Further details can be found HERE – BizTalk Saturday

Sydney

Saturday, October 16, 2010

 

The agenda for the day can be found here

To Register for the event click here

 
Sunday, September 19, 2010 9:40:56 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2010 | Events | Training
# Monday, August 30, 2010
Hi folks, an email floated across my desk from Tim Wieman today tell me about a new AppFabric CAT blog.

Thanks Tim.
--- snippet ---

Recently as part of building the Windows Server AppFabric Customer Advisory Team (or AppFabric CAT for short).  This team brings under one “virtual roof” others like me from the team formerly known as the “BizTalk Rangers”, plus other technology experts in Windows Server AppFabric, AppFabric Caching, WF, WCF, StreamInsight, EF, etc.


The new team blog is our commitment to deliver technical guidance and share best practices with the rest of the world-wide community.  We are also working on the AppFabric CAT portal, a brand-new web site that will serve the purpose of the “one-stop shop” for all the great deliverables that our team will be producing for the community going forward (similar to sqlcat.com).
 
Please check out our team blog at http://blogs.msdn.com/appfabriccat.

Monday, August 30, 2010 1:50:58 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
AppFabricServer | BizTalk | 2010
# Friday, August 27, 2010

Integration - Course Agenda

Well as TechEd 2010 draws to a close this year in Australia, I had a great time getting away from it all and certainly experiencing a couple of firsts. For me this was one of the better TechEd’s I had been to – the sessions were a little light on, but the labs + exams made up for that big time.

So Scotty and I developed an Integration Pre Conference Training Session aimed at working out which MS Integration technology to run where – unscrambling the mess. We got a great turn out for the training in terms of numbers – we beat SharePoint 2010 dev + admin!!! :)

For all of you whom I had the pleasure of training this week – well done! I hope you enjoyed it and it was great sharing that time with you. The sun, sand, BizTalk and Azure…what could be better?? :)

As promised – here are the slides from those two days.

Keep smiling,
Mick.

Friday, August 27, 2010 2:40:00 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
AppFabricServer | Azure | BizTalk | Events | 2010 | 2010
# Friday, August 13, 2010

Well folks, after a recent week of performance issues running a SharePoint 2010 VM image (40GB) on Virtual Box (v3.0.14 & v3.2.8) Olaf (a fellow Breezer) and I sat down and put our thinking caps on as how to improve things.

- Hyper-V wasn’t an option due to classroom setups and portability issues.

After scouring the forums, posts, blogs and other to see how to squeeze every last bit of performance from Virtual Box – I’ve come to the conclusion that current versions just don’t take full advantage of Core i7 architectures, hence they run dog slow (1 virtual cpu seems to run better than multiple).

Enter VMWare – I’m relatively new to the world of VMWare, although others on my team swear by it.

So I downloaded VMWare Player (free) image

And configured a Virtual Machine (or two)

image

So the issue is (as I’m sure you’re well aware if you’re reading this), is that booting up Windows 2008 R2 (in my case), the native disks are SCSI and we get the dreaded Inaccessible Boot Device error (stop 0x7B).

(Back in WinXP, Win2000 & Win2003 (I think) there *used* to be a recovery option that you could repair my boot environment and it would ‘rediscover’ all the disks etc and you’d be on your way)

The aim is boot into Windows, allow it to discover, load and install the VMWare SCSI drivers (from LSI…) and then in theory you’re good to go.

After drilling down through the VMWare forums (a foreign place for me), there’s a few articles on ‘injecting drivers’ into the system, startup etc – none of these techniques worked for me (I booted to Repair window and ran regedit to ‘tweak’ some startup registry keys).

Still stuck and after many hours we noticed that CD/DVD (IDE) was an available device on the system as follows:

image

I thought “I wonder if I can attach the VHD as an IDE??”

After locating the VMWare VM config file – a *.VMX file I saw a couple of entries…

ide1:0.present = "TRUE"
ide1:0.filename = “…MicksBootIso.iso”

 

So I thought, let me try

 

ide1:0.present = "TRUE"
ide1:0.filename= "D:\VHDs\VHDs\SharePoint2010_v2_Child.vhd"

 

image


Saved and booted up like a bought one!

So for now…this works fantastically AND THE PERFORMANCE is at least 3-4 times faster than Virtual Box for this image. Just really snappy!

Here’s a sample file attached – enjoy.

Windows Server 2008 R2 x64.zip (1.12 KB)
Friday, August 13, 2010 5:10:29 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | General | SharePoint
# Wednesday, July 21, 2010

Hey folks,

As we’re all aware there’s more than one road that leads to Rome when dealing with integration. When to use SSIS? For what? What about MSMQ? AppFabric and BizTalk etc.

At TechEd this year I’ve decided to run some preconference training dealing with this exact issue across many different Microsoft Integration Technologies.
(This is one of the biggest questions I get from customers)

If you’re heading to the Gold Coast this year, then this training is before TechEd – get up a couple of days early and then be fully charged and armed with all your questions….

---- here’s the official blurb----

When to use what Technologies Where [LINK is Here]

AppFabric, Azure Storage, BizTalk 2010, BizTalk Adapter Pack, WCF, WF, Oslo, MSMQ, .NET4 Distributed Caching, SQL Service Broker, SSIS and SharePoint 2010 Service Applications...to name a few technologies to be confused about.

There is no silver bullet for application integration. Different situations call for different solutions, each targeting a particular kind of problem. While a one-size-fits-all solution would be nice, the inherent diversity of integration challenges makes such a simplistic approach impossible. To address this broad set of problems, Microsoft has created several different integration technologies, each targeting a particular group of scenarios.  

Together, these technologies provide a comprehensive, unified, and complete integration solution.

Come on a 2-day adventure examining each of these technologies and reviewing the When, Why's and How's on each, with their own distinct role to play with integrating applications. When you come through the other side you'll be able to slot each of these technologies into a *practical* use.

This developer workshop is based on real world examples, real world problems and real world solutions.

Join me and be prepared to roll up your sleeves and unravel the maze that awaits....

TECHED LINK

Wednesday, July 21, 2010 2:46:36 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [5] -
AppFabricServer | BizTalk | 2010 | Oslo | 2010 | Training
# Sunday, May 23, 2010

As you know I’m a big fan of Virtual Box being able to run my x64 VMs on my Win7 machine. Yay!!

So armed with my trusted new Core i7/8 GB laptop – I figured the VMs will be cooking on this new kit…

After installing the lastest VirtualBox (3.2.0) I was away – only to notice the machines were running like a SLUG! (I actually have a cat that has the nick name ‘slug’ and this machine was slower than her)

After waiting a full 20mins (still booting - ‘loading windows files…’ etc) my machine Blue Screened for a millisecond and then rebooted.

So I rolled up my sleeves and started digging – could be the VHD, the bios, the machine, the 1000 and 1 settings…

Firstly I ran a command line command (from under the vbox install dir) -
VBoxManage setextradata VMNAME "VBoxInternal/PDM/HaltOnReset" 1

Finally I got a glimpse of the BSOD and it was an error “…STOP…7B…”

I twigged this is an error of “Inaccessible boot device….” which I’ve had several times when the SATA drivers couldn’t be loaded by the O/S during boot up.

Solution: (in my case)
I configured the Virtual Box VM with IDE Storage Controllers and NOT SATA ones for the bootup.(still connected to the same VHDs though)

Win2008/R2 boots up and I’m able to load the SATA drivers in and we’re away.

Back to BizTalk 2010 Beta playing…. :)

Sunday, May 23, 2010 9:53:47 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | 2010 | Tips
# Wednesday, May 12, 2010

Wow! I'm finally through the other side... what a quest and I thought I'd share some of the details with you.

RFC_READ_TABLE rfc can be used to call into SAP and retrieve table data - *sort of* (and that's a big sort of) like a 'DataSet'.

Using it requires a little work and understanding.

In your either BizTalk project or other project from VS.NET:

  1. Add the SAP bits to your VS.NET project - ready for action
    1. select 'Add Adapter Service Reference' (for BTS projects -> Add New Generated Item->Consume Service Adapter...)
    2. On the Binding Wizard Screen select sapBinding and configure the appropriate connection string details such as:

      string sapUri = "sap://CLIENT=800;LANG=EN;@A/sapsrv/00?GWHOST=sapsrv&GWSERV=sapgw00&RfcSdkTrace=true";
      <You need to stick your own sapURI above - that is more or less a sample>

    3. Click on the Connect and under RFC->OTHER , select RFC_READ_TABLE (or you can type it in the box to search)
    4. Click Ok to generate the proxy and other details.
    5. Either your BizTalk Project or your non-BTS project has now all the relevant details to communicate to SAP.

      I tend to build out all this functionality first in a Console App just so I know what is needed within the BTS environment, also I find it much quicker to test/debug etc. here.
  2. Ok - onto the code. I've got 2 routines for you, one that uses the Proxy Classes built by the wizard in the last step, and a routine from 'first principles'.

    One of the things that I really like about the BTS Adapter Pack and certainly in this case, is that depending on the shape of the XML you pass to the adapter, it determines the table and type of operation that it is to do.

    Both of these examples below you could wrap into a functoid/helper/whatever and use directly from code.
  3. Proxy Code - version 1 - here I define some parameters and make a straight call to the table CSKS.
    NOTE: Use FieldNames not Field Labels (took me a few hrs on that one ;)

    using LOBTYPES = microsoft.lobservices.sap._2007._03.Types.Rfc;

    private static void GetDataFromSAP()

        
    RfcClient clnt = new RfcClient(); //myproxy client
        
    string[] data = GetAppDetailsForCurrentUser("SAP");
         clnt.ClientCredentials.UserName.UserName = data[0];
         clnt.ClientCredentials.UserName.Password = data[1];
         LOBTYPES.
    TAB512[] rfcData = new microsoft.lobservices.sap._2007._03.Types.Rfc.TAB512[0];
         LOBTYPES.
    RFC_DB_OPT[] rfcOps = new microsoft.lobservices.sap._2007._03.Types.Rfc.RFC_DB_OPT[0];
         LOBTYPES.
    RFC_DB_FLD[] rfcFlds = new microsoft.lobservices.sap._2007._03.Types.Rfc.RFC_DB_FLD[]
         { 
             n
    ew LOBTYPES.RFC_DB_FLD() {
             FIELDNAME =
    "KOSTL",
             LENGTH=10
             },
            
    new LOBTYPES.RFC_DB_FLD() {
             FIELDNAME =
    "DATBI",
             LENGTH=8
             },
            
    new LOBTYPES.RFC_DB_FLD() {
             FIELDNAME =
    "DATAB",
             LENGTH=8
             }
         };
    try
    {
      clnt.Open();
      clnt.RFC_READ_TABLE(
    ";", string.Empty, "CSKS", 50, 0,ref rfcData, ref rfcFlds, ref rfcOps);
      Console.WriteLine("RFC RESPONSE\r\n\r\nData:" + rfcData.Length.ToString());
    }
    catch (Exception ex)
     {
       Console.WriteLine("ERROR: " + ex.Message);
     }
    }

  4. More from first principles so this is to give you more of a BTS picture.
    NOTE: The use of the '%' sign to get a wildcard match on a KOSTL field, despite in the SAP Client UI the users enter a '*'

    private static void GetDataFromSAPV1()
    {
        string[] data = GetAppDetailsForCurrentUser("SAP");
        SAPBinding binding = new SAPBinding();  //A reference to Microsoft.Adapters.Sap is needed.
        //set up an endpoint address
       
    string sapUri = "sap://CLIENT=800;LANG=EN;@A/sapsrv/00?GWHOST=sapsrv&GWSERV=sapgw00&RfcSdkTrace=true";
        EndpointAddress address = new EndpointAddress(sapUri);
       
    try
        {
            ChannelFactory<IRequestChannel> fact = new ChannelFactory<IRequestChannel>(binding as Binding, address);
            // add credentials
            fact.Credentials.UserName.UserName = data[0];
            fact.Credentials.UserName.Password = data[1];
            // Open client
            fact.Open();
            //get a channel from the factory
            IRequestChannel irc = fact.CreateChannel();
            //open the channel
            irc.Open();
            string inputXml = "<RFC_READ_TABLE xmlns='http://Microsoft.LobServices.Sap/2007/03/Rfc/' xmlns:ns1='http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/'>"
           
    + "<DELIMITER>|</DELIMITER>"
            + "<QUERY_TABLE>CSKS</QUERY_TABLE>"
            + "<ROWCOUNT>10</ROWCOUNT><ROWSKIPS>0</ROWSKIPS>"
            + "<DATA /><FIELDS>"
            + "<ns1:RFC_DB_FLD><ns1:FIELDNAME>KOSTL</ns1:FIELDNAME></ns1:RFC_DB_FLD>"
            + "<ns1:RFC_DB_FLD><ns1:FIELDNAME>DATAB</ns1:FIELDNAME></ns1:RFC_DB_FLD>"
            + "<ns1:RFC_DB_FLD><ns1:FIELDNAME>DATBI</ns1:FIELDNAME></ns1:RFC_DB_FLD>"
            + "</FIELDS>"
            + "<OPTIONS>"
            + "<ns1:RFC_DB_OPT><ns1:TEXT>KOSTL LIKE '1234%' AND BUKRS EQ '63' AND KOKRS EQ 'APPL'</ns1:TEXT></ns1:RFC_DB_OPT>"
            + "</OPTIONS>"
            + "</RFC_READ_TABLE>";
            //create an XML reader from the input XML
            XmlReader reader = XmlReader.Create(new MemoryStream(Encoding.Default.GetBytes(inputXml)));
            //create a WCF message from our XML reader
            Message inputMessge = Message.CreateMessage(
                         MessageVersion.Soap11,
                         http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_READ_TABLE,
                         reader);
            //send the message to SAP and obtain a reply
            Message replyMessage = irc.Request(inputMessge);
            //create a new XML document
            XmlDocument xdoc = new XmlDocument();
            //load the XML document with the XML reader from the output message received from SAP
            xdoc.Load(replyMessage.GetReaderAtBodyContents());
            XmlNodeList nds = xdoc.DocumentElement.SelectNodes("//*[local-name()='WA']");
            foreach (XmlNode nd in nds)
            {
                    string[] parts = nd.InnerText.Split('|');
                    Console.WriteLine("CC={0} From: {1} To: {2}", parts[0], parts[1], parts[2]);
             }
             xdoc.Save(
    @"d:\sapout.xml");
             irc.Close();
             fact.Close();
        }

    catch (Exception ex)
    {
             Console.WriteLine("ERROR: " + ex.Message);
    }
    }


Wednesday, May 12, 2010 3:54:57 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | BizTalk Adapter Pack | SAP
# Wednesday, March 31, 2010

BizTalk Best Practice Analyser is released and available for download.

Download: BizTalkBPA V1.2

As always another very handy tool is the Message Box Viewer (Currently V10) which provides some very detailed information as well.

Download: Message Box Viewer (MBV)

Enjoy your day,

Mick.

Wednesday, March 31, 2010 10:01:25 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2006 R2 | 2009
# Monday, March 29, 2010

The other day this landed in my inbox. Being on the TAP program and posting various pieces of feedback I’ve been updated that BizTalk 2010 is the only name to remember.

Keeps inline with VSNET2010 etc etc, so anything with a 2010 after its name *should* work with each other. SharePoint 2010 etc.

So far I’ve been playing with the early bits and I’m liking what I’m seeing – copy and paste functoids in a map!!! (for those of you who don’t know the pain….it’s pain let me tell you)

So here’s the official blurb…

Well done BizTalk Team! Working Hard!

------------------------------------------

BizTalk Server 2010 Name Change Q&A

Q: Why was the original name for the release BizTalk Server 2009 R2?

BizTalk Server 2009 R2 was planned to be a focused release to deliver support for Windows Server 2008 R2, SQL Server 2008 R2 and Visual Studio 2010. Aligning BizTalk releases to core server platform releases is very important for our customers. Hence our original plan was to name the release as BizTalk Server 2009 R2.

Q: Why did Microsoft decide to change the name for BizTalk Server 2009 R2 to BizTalk Server 2010?

Over the past year we got lot of feedback from our key customers and decided to incorporate few key asks from our customers in this release. Based on customer value we are delivering and positive feedback we are getting from our early adopter customers we feel the release has transitioned from minor release (BizTalk Server 2009 R2) to a major release (BizTalk Server 2010).  

Following is list of key capabilities we have added to the release

1.       Enhanced trading partner management that will enable our customers to manage complex B2B relationships with ease

2.       Increase productivity through enhanced BizTalk Mapper. These enhancements are critical in increasing productivity in both EAI and B2B solutions; and a favorite feature of our customers.

 

3.       Enable secure data transfer across business partners with FTPS adapter

4.      

U    Updated adapters for SAP 7, Oracle eBusiness Suite 12.1, SharePoint 2010 and SQL Server 2008 R2

5.      

      Improved and simplified management with updated System Center management pack

6.      

      Simplified management through single dashboard which enables IT Pros to backup and restore BizTalk configuration

7.      

      Enhanced performance tuning capabilities at Host and Host Instance level

 

8.       Continued innovation in RFID Space with out of box event filtering and delivery of RFID events

 

Q: Is there any additional benefit to customers with name change to BizTalk Server 2010?

In addition to all the great value the release provides, customers will benefit from support window being reset to 10 years (5 years mainstream and 5 years extended support). This highlights Microsoft’s long term commitment to BizTalk Server product.

 

Monday, March 29, 2010 8:27:25 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | R2 | 2010
# Friday, February 12, 2010

Hi folks,

Lately I've had several requests from folks whom want to have a play with BizTalk but don't want to setup the whole infrastructure etc.

Here's a great page from MS Virtual Labs that will get you on your way
(some labs are for BTS2006, others for BTS2009, the same principles apply)

Check it out and if you're ever away from a VM, might be handy a fallback plan.

BizTalk Virtual Lab Material

There's 4 pages and here's a snippet from Page 1

--------------------------------------------------------------

Click here to bookmark this event.
After completing this lab, you will be better able to create a new BizTalk project, create an XML schema by using the BizTalk Editor, promote a schema property, create a flat file schema by using the BizTalk Editor, validate a schema and generate a sample instance message, create a strong name and assign it to an assembly, and build a schema project.  ...
4/3/2006 12:00 AM Pacific Time (US & Canada)- 9/30/2011 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032296903&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to create a schema map by using BizTalk Mapper, add functoids to a map, validate a map, and build a schema map project.
4/3/2006 12:00 AM Pacific Time (US & Canada)- 11/30/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032296906&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to define business rules, call business rules from within an orchestration, build and deploy the business rules project, and start and test the business rules.
5/7/2008 12:00 AM Pacific Time (US & Canada)- 5/31/2011 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032379047&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to assign an application name to a BizTalk Server project, use the BizTalk Server 2006 Administration Console to create receive ports, receive locations, use the BizTalk Server 2006 Administration Console to import port binding information, bind orchestration ports to physical ports, export a BizTalk application to an MSI package, import a BizTalk application from an MSI package, and finally, use the Group Hub to manage suspended messages.  ...
4/3/2006 12:00 AM Pacific Time (US & Canada)- 12/31/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032296904&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to educate attendees on integrating Commerce Server 2007 with ERP or CRM systems and external business trading partners by utilizing the new built-in integration adapter for BizTalk Server 2006. Also, you will learn how to utilize the new Orders, Inventory, Catalog, and Profile BizTalk Adapters in detail to achieve high-performing, reliable connectivity between Commerce Server deployments and other external systems.  ...
4/20/2007 12:00 AM Pacific Time (US & Canada)- 8/31/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032338959&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to define business rules, call business rules from within an orchestration, build and deploy the business rules project, and start and test the business rules.NoteBy registering for this virtual lab, you will receive a one-time follow up call from a Microsoft representative to inform you of special discounts and offers related to products and services presented in the virtual lab.  ...
4/3/2006 12:00 AM Pacific Time (US & Canada)- 11/30/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   IT Generalist
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032313534&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be able to create a new BizTalk project, create an XML schema by using BizTalk Schema Editor, promote a schema property, create a file schema by using BizTalk Schema Editor, validate a schema and generate a sample instance message, and build a schema project.  ...
12/7/2005 12:00 AM Pacific Time (US & Canada)- 7/31/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032279924&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be able to configure orchestration properties, create the orchestration to be published, build and deploy the orchestration publishing project, run the BizTalk Web Services Publishing Wizard, and start and test the published orchestration.  ...
10/24/2005 12:00 AM Pacific Time (US & Canada)- 2/28/2011 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032303224&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be able to add a Web reference to a project, create a map, create variables for message instances, create the Web services orchestration, and build and deploy the Web services project.
10/24/2005 12:00 AM Pacific Time (US & Canada)- 1/31/2011 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   Pro Dev/Programmer
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032303223&culture=en-US
Click here to bookmark this event.
After completing this lab, you will be better able to assign an application name to a BizTalk Server project, use the BizTalk Server 2006 Administration Console to create receive ports, receive locations, use the BizTalk Server 2006 Administration Console to import port binding information, bind orchestration ports to physical ports, export a BizTalk application to an MSI package, import a BizTalk application from an MSI package, and finally, use the Group Hub to manage suspended messages. NoteBy registering for this virtual lab, you will receive a one-time follow up call from a Microsoft representative to inform you of special discounts and offers related to products and services presented in the virtual lab.  ...
2/3/2006 12:00 AM Pacific Time (US & Canada)- 9/30/2010 11:59 PM | Duration:90 Minutes
Primary Language:   English
Primary Target Audience:   IT Generalist
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032296907&culture=en-US


Friday, February 12, 2010 9:20:57 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2006 R2 | 2009 | R2 | Training
# Friday, January 15, 2010

Many times in BizTalk land we work with Schemas that are nested and have several related Schemas that are Imported from URL locations etc.

When you include these schemas and deploy to Production, you find out that the BizTalk server doesn’t access the Internet directly. Hence all the schema Imports fail.

You’ll then go and try hand edit the Imports, downloading the referenced Schema and try and Mash up something that refers to local files and no URL based Schemas. It may or may not work…till the next update…

I recently came across a handy set of free tools that take all the pain out to do with Schemas –>

Xml Help Line

Which has Xml Schema Lightener, Xml Schema Flattener

Another very handy tool not to leave home without.

Enjoy.

Friday, January 15, 2010 9:43:18 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
.NET Developer | BizTalk | Insights | Tips
# Tuesday, December 22, 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.

https://connect.microsoft.com/biztalk

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 btssoacp@microsoft.com .

 

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, December 22, 2009 1:07:27 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | RFID | R2
# Friday, November 20, 2009
We're moving into a public beta of Dublin "Windows Server AppFabric" which you can grab from HERE.

What does it mean - here's a blurb from the site.

So Velocity (distributed caching mechanism) is rolled up into this Beta (previously a MS Partner did some benchmarking on Velocity which you can find a great white paper HERE)

Previously myself and Scotty wrote a hefty technical Dublin Course which the folks at TechEd loved - we did this on some early bits of 'Dublin'. Realtime monitoring + tracking as well as recoverability were some highlights of our 3D Realtime maze process we built up in the labs.

Here's a blurb from the AppFabric server (it's a shame that SP2010 didn't use this framework for it's WF hosting...but that would have impacted delivery)

Enjoy

-------- Snippet ----------

Windows Server AppFabric has these core capabilities:

  • For Web applications, AppFabric provides caching capabilities to provide high-speed access, scale, and high availability to application data. This feature was previously codenamed "Velocity"
  • For composite applications, AppFabric makes it easier to build and manage services built using Windows Workflow Foundation and Windows Communication Foundation. This feature was previously codenamed "Dublin."



Friday, November 20, 2009 9:12:32 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | SharePoint | AppFabricServer
# Wednesday, November 04, 2009

A while back I created a script that restarts your BizTalk Hosts - pretty simple, here http://blogs.breezetraining.com.au/mickb/2006/10/04/SimpleScriptToRestartAllBizTalkServices.aspx
(also this script didn't pick up your service if it was previously stopped - limitation of the 'sc query' command)


Now with PowerShell it's a one line job:
It goes something like this:
get-service BTS* | foreach-object -process {restart-service $_.Name}

You can also set all your BTS Services to start 'automatic' as follows:
get-service BTS* | foreach-object -process {set-service $_.Name -startuptype automatic}
(I'm actually trying to set the BTS Services to 'Automatic (Delayed)' but haven't been able to do that yet)

Enjoy,
Mick.
Wednesday, November 04, 2009 10:54:54 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | Insights | Tips
# Monday, November 02, 2009

Well – after spending *far* too long trying to get a little Red X to disappear from my BTS Configuration tool, so I can have a green light to configure the SharePoint adapter, I thought “There’s got to be an easier way”

image
Exhibit A – your honour. The SharePoint Adapter Configured.

So – what I did was roll my sleeves up and do this by hand.

This particular install – BTS09 x86, I installed WSS V3.0 with Sp2 and created a local sharepoint web application, site collection and had a whole bunch of SharePoint happiness coming back to me on http://biztalk (my server name).

All good I thought – except the configuration tool didn’t like what it found. I looked at logs, ran network sniffers and even manually ran the tool  Microsoft.BizTalk.KwTpm.StsOmInterop3.exe http://biztalk with success:

image

But still no joy in the configurator.

Here’s how to do it manually:

  1. Setup your local or domain SharePoint Groups
    Typically this is the ‘SharePoint Enabled Hosts’ Group – if it already exists on the domain, then great, if not create it. For this I created my group on the local machine.
    I also added as members, my biztalk service account and my Sharepoint Service Account.
  2. Configure IIS – BTS SharePoint WS Web Application
    1. Within the BizTalk Installed folders – e.g. c:\program files\Microsoft BizTalk 2009\Business Activity Services, you’ll find the set of WebServices to choose from. Select the right one for your SharePoint deployment.
    2. image
    3. As you can see I selected BTSharePointV3AdapterWS (for WSS V2 SP3, select BTSharePointAdapterWS).
    4. This is the folder you will point IIS to later.
    5. Open this folder and you’ll see a web application with a web.config.tmpl
    6. Copy the web.config.tmpl and rename the *copy* to web.config
    7. Open up your Web.Config in Notepad and configure as follows:

        <?xml version="1.0" encoding="utf-8"?>
        <configuration>
          <system.web>
                <httpModules>
                    <!--add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" /-->
                </httpModules>

            <!-- Change debug="true" if you want to debug this web service -->
            <compilation defaultLanguage="c#" debug="false" />
            <customErrors mode="Off" />
            <!-- Windows Authentication is required for this web service. -->
            <authentication mode="Windows" />
            <!-- Impersonation is required for this web service. -->
            <identity impersonate="true" />
            <authorization>
                <allow roles="SharePoint Enabled Hosts" verbs="GET,HEAD,POST"/>
                <deny users="*"/>
            </authorization>

            <!-- Uncomment this block if you want to do some tracing of this web service -->
            <!-- <trace enabled="true" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />  -->
            <globalization requestEncoding="utf-8" responseEncoding="utf-8" />

            <!-- The size of a document being posted to SharePoint depends on this setting -->
            <httpRuntime maxRequestLength="100000" />
            <trust level="Full" originUrl="" />
          </system.web>
          <runtime>
            <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
              <dependentAssembly>
                <assemblyIdentity name="Microsoft.SharePoint" publicKeyToken="71e9bce111e9429c"/>
                <bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0"/>
              </dependentAssembly>
            </assemblyBinding>
          </runtime>
        </configuration>

      1. (you can always go back and tighten security up on this when you’ve got it working).
      2. Note the ‘SharePoint Enabled Hosts’ – local group here.
      3. I’ve also removed the ‘Documentation’ tags so I could get some WSDL to make sure it works within the browser.
      4. Save your web.config within Notepad.
      5. NOTE: make note of the Folder Path to get here as we’ll need it in IIS next.
    8. Configuring IIS
      1. Bring up IIS Admin MMC snapin.
      2. Select your SharePoint enabled Web Site, I selected ‘Default Web Site’. Right click when ‘Default Web Site’ is Selected and select ‘Add Application’
        image
        note: IIS 7.0 Manager shown.
      3. Configure this as follows:
        image
        (Note – the App Pool User should be able to post into BizTalk and SharePoint)
        Physical Path: <path you had previously to either V2 or V3 of your BTSharePointV3Adapter…>
      4. Click OK.
      5. To Test your WS: browse to: http://<your server>/BTSharePointAdapterWS/BTSharePointAdapterWS.asmx
      6. You *should* get this:
        image
        You can invoke the IsAlive function and get TRUE back.
      7. If not, then fix your IIS related errors, at this point you’ve got a WS that uses the SharePoint APIs (locally). Some things to check:
        1. Local file security – make sure the Web App Pool acct can access those directories.
        2. Windows Auth is turned on, on your Web App.
        3. Check IIS log files for clues.
      8. You’re done on the IIS side of things, let’s configure BTS Side.
  3. Configuring BizTalk Side
    Fortunately the WSS Adapter is installed as part of the BizTalk Runtime configuration – it’s just not configured. So as far as registering the adapter with BizTalk it’s already been partly done.
    1. Install the “I’ve been Configured Registry Keys” – I took these from a previously successful 2009 install.
    2. Once the registry keys have been applied you’ll need to go and configure the …\TPM key to reflect your setup as follows:
      1. In Particular – configure your SharePoint SiteID to the one you saw in IIS.
      2. image
  4. How is this Different for a x64 bit Install
    1. The IIS piece is the same.
    2. The BTS Piece – the Perf counters are the same,
      but the ..\TPM piece is under HKLM\SOFTWARE\WOW6432Node\Microsoft\BizTalk Server\3.0\ConfigFramework
    3. So you’ll need to ammend 1 of the above 2 REG files.

You’re done!

Why oh why is this so hard from within the Configurator.

NOTE: There *USED* to be a Registry key that told the BTS WSS Adapter where to go looking for the BTSharePoint WS – a URL (..STSServiceUrl). This eliminated the need for a local machine install of SharePoint/WSS. Alas…this is *NOT* the case with WSS Adapter post BTS06.


Monday, November 02, 2009 9:02:11 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | SharePoint | MOSS | 2010
# Saturday, October 10, 2009

While on a current project and having a need to tweak (as always) how well BTS is processing these receives, I came across a Perf document on BTS 2009 Receiving.

This document below deals mainly with netTCP receive locations – oneway ports + oneway Orchs.

Enjoy.

------

BizTalk Server 2009 Performance Optimization Guide

Brief Description

The BizTalk Server 2009 Performance Optimization Guide provides prescriptive guidance on the best practices and techniques that should be followed to optimize BizTalk Server performance.

http://www.microsoft.com/downloads/details.aspx?FamilyID=24660797-0C8F-4687-9D5F-B76D99B37EC2&displaylang=en

Saturday, October 10, 2009 3:23:52 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2009

 image Service Pack 1 Beta


The BizTalk team are pleased to announce the availability of the beta release of Service Pack 1 for BizTalk Server 2006 R2. We would like to offer you the opportunity to download this early preview of the Service Pack and encourage you to test it out and let us have any feedback before we release it to the BizTalk community.

Microsoft BizTalk Server 2006 R2 Service Pack 1 (SP1) is an update for BizTalk Server 2006 R2.  It includes fixes to issues that have been reported through our customer feedback platforms, as well as internally discovered issues. To see a listing of the customer-reported issues that are fixed in this service pack, go to http://go.microsoft.com/fwlink/?LinkId=164985.  For a description of some of the other updates included in this service pack, see What's new in BizTalk Server 2006 R2 SP1 (http://go.microsoft.com/fwlink/?LinkId=163958). 

A guide for this service pack is also available on the download page.  This guide contains important information to read before you install SP1.  It also provides installation instructions and a section on troubleshooting installation problems. Finally, it contains a section on known issues in this service pack release.

The service pack can be downloaded from here and any feedback or issues you encounter can be reported here

Thank you in advance!

Regards

BizTalk Product Group

Saturday, October 10, 2009 10:43:04 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2006 R2

This whitepaper is typically centered around the BTS SharePoint Adapter and WSS V3.0/MOSS 2007.
(I’ll be posting details on SharePoint 2010 integration shortly… :) )

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=dd4e843d-2121-4016-8391-d763d0ff0a08

BizTalk + SharePoint: 1+1=3: Integration Best Practices

Brief Description

The integration of Microsoft BizTalk Server 2009 and Microsoft Office SharePoint 2007 brings a whole new set of capabilities to end users. Microsoft Office SharePoint Server gives BizTalk Server a “face,” providing human workflow features and dashboard functionality.

Saturday, October 10, 2009 10:35:04 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2009 | MOSS | 2010
# Sunday, September 20, 2009

Hi folks, came across a great article that talks about WebServices(WCF Services) and Security.

The most common starting point in improving security, is to use TLS (Transport Layer Security of which SSL is a subset). I once spent 9 months working out digital signatures and passing several documents through out of band of envelopes…long story.

There’s a whole bunch of How-To’s also – very good!

With over 26000 downloads since August 1, I think this is a much needed area.
Well done guys – big congrats for your efforts.

Enjoy -

http://wcfsecurityguide.codeplex.com/

---- snip ----

SecurityLogo.jpg patterns & practices Improving Web Services Security - Now Released

Welcome to the patterns & practices Improving Web Services Security: Scenarios and Implementation Guidance for WCF project site! This guide shows you how to make the most of WCF (Windows Communication Foundation). With end-to-end application scenarios, it shows you how to design and implement authentication and authorization in WCF. Learn how to improve the security of your WCF services through prescriptive guidance including guidelines, Q&A, practices at a glance, and step-by-step how tos. It's a collaborative effort between patterns & practices, WCF team members, and industry experts. This guide is related to our WCF Security Guidance Project.
Parts
Part I, "Security Fundamentals for Web Services"
Part II, "Fundamentals of WCF Security"
Part III, "Intranet Application Scenarios"
Part IV, "Internet Application Scenarios"
Forewords
Chapters
Part I, Security Fundamentals for Web Services
Part II, Fundamentals of WCF Security
Part III - Intranet Application Scenarios
Part IV - Internet Application Scenarios

Checklist
Sunday, September 20, 2009 12:28:13 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2009 | Insights
# Tuesday, August 25, 2009

Folks I recently came across this site on codeplex - http://btsazureadapters.codeplex.com

Where a hard working Danny(not sure of further details) has created a send and receive adapter for the cloud.

The adapter surface and publish the required information into the cloud so for e.g. your endpoints show up publically in the .NET Servicebus domain – we can do this through the apis, but it’s nice to have them all wrapped up.

There’s even some great piccys as well (just over look the ‘Microsoft Confidential’ at the bottom :-| - I did ping him over this.)

BizTalk Adapter for Live Framework.jpgBizTalk Adapter for .NET Services.jpg

The adapters are WCF based adapters, meaning they will run in or outside of BizTalk using the .NET LOB Adapter SDK Framework.

As a Plan B to this – you can always use a Custom WCF Adapter with the basicHttpRelayBinding or netTcpRelayBinding to punch through to the cloud.

I reckon this will be a very exciting area going forward…keep your eyes peeled.

Go and grab the bits and start playing… :)

Tuesday, August 25, 2009 11:06:07 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | BizTalk | 2009 | BizTalk Adapter Pack
# Tuesday, August 11, 2009

A handy couple of articles that have been updated for Biztalk 2009, full article attached at the bottom.

Enjoy

image

image

Tuesday, August 11, 2009 12:18:30 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2009 | BizTalk Adapter Pack
# Monday, July 27, 2009

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=46a77327-affb-4ca2-9451-67912babbb03

It’s the must have guide to setup a successful BizTalk based operating environment.

Enjoy

Monday, July 27, 2009 3:00:22 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | 2009
# Thursday, July 02, 2009

He lives in NZ…he loves Auckland and he successfully got married last year…

Ready to take on the world – I want to congratulate one of the hardest working BTS experts I know…

He puts in a tremendous effort for the local community and is always ready for new ideas.

Well done mate and a big congrats from this Aussie!!!

Thiago Almeida – BizTalk MVP!!!!!

Thursday, July 02, 2009 4:57:19 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | 2009
# Tuesday, May 19, 2009

My good friend Chris Vidotto a once fearsome BTS warrior came up with the good oil on this.

The BPA tool now supports bts09, sql08 and win08 in one update, as well as all the previous environments.

The tool will go through and examine your environment in accordance to a predefined set of rules (shipped with BPA) and report back accordingly.

Grab it now… from HERE

Mick.

Tuesday, May 19, 2009 1:54:18 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Tips

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 http://www.ftdichip.com/Drivers/VCP.htm 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 http://dlpdesign.com/rfrdr/ 

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

image

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

Great news folks with the Adapter pack now released.

This is a WCF .NET based set of ‘adapters’ that can be used within BizTalk or in any .NET process – such as SharePoint.
(The visual studio extensions allows you to rapidly create a WCF based Service to host your adapters)

The Adapter pack has:
- SQL Adapter (faster, newer, improved… bionic adapter)
- Siebel
- SAP
- Oracle DB
- Oracle ES

Here’s the links that you’ll need…… – enjoy!

Item

Link

Product

 

WCF LOB Adapter SDK SP2(pre-req for BAP 2.0)

http://go.microsoft.com/fwlink/?LinkId=147367

Adapter Pack 2.0 120 day Evaluation Version

120 day eval

SQL Adapter SKU Download(For BizTalk branch edition customers)

http://go.microsoft.com/fwlink/?LinkId=147379

Documentation and Samples

 

MSDN Location of Adapter Pack 2.0 docs

http://go.microsoft.com/fwlink/?LinkId=149364

Download location for individual CHMs in Adapter Pack 2.0

http://go.microsoft.com/fwlink/?LinkId=147355

Download location for Adapter Pack 2.0 Installation Guide

http://go.microsoft.com/fwlink/?LinkId=147364

Download location for SQL Adapter Installation Guide and CHM

http://go.microsoft.com/fwlink/?LinkId=147377

Download location for all the samples for Adapter Pack 2.0

http://go.microsoft.com/fwlink/?LinkID=145144

Thursday, May 07, 2009 9:06:12 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | BizTalk Adapter Pack
# Friday, May 01, 2009

Down at BizTalk 24*7 Saravana Kumar has been working hard to organise a whole collection of BizTalk articles from us in Cyberspace

He's done a great job!

Check it out - http://blogdoc.biztalk247.com/
and yours truly is here - Mick Badran


Friday, May 01, 2009 10:12:13 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Tuesday, April 21, 2009

image

Some great articles around Business Rules, AS2, EDI, Pipeline Components and promoting properties…..

Download your copy now http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf

Tuesday, April 21, 2009 11:26:53 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights
# Monday, March 23, 2009

As you sink your teeth into the depths of BizTalk 2006 R2/2009 and realise the potential of integrating with the WCF Custom Adapter, a new world opens up.

Then…

Then at one point down the track you’ll want to tweak or customise what is being sent/received. For e.g. changing the shape of the XML transferred over a HTTP transports – maybe compression, maybe minus the explicit XML notation (i.e. takes 5KB to send over 30 chars)

So you’ll then move onto something called a WCF Custom Behaviour.

Two great whitepapers are

Part 1- http://msdn.microsoft.com/en-us/library/cc952299.aspx
Part 2- http://msdn.microsoft.com/en-us/library/dd379134.aspx

Monday, March 23, 2009 10:12:03 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | WinWF
# Thursday, March 12, 2009

You want to know the ins and outs of WCF at a glance – then the mini-book is a winner.
(Just let this puppy fall out of your back pocket in the office and watch the guys instantly want to Sync up their Complete Series of Star Trek with you…)

Seriously – great guide, easy to flick through and welcome to another 8 million lines of code you thought you could live without :)

Thanks to the efforts of Cliff Simpkins and his team for their dedication on this.

6 Chapters + Code….are you man enough?

http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=netfxsamples&DownloadId=4962

WCF Channel Stack

Thursday, March 12, 2009 9:25:56 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | BizTalk | Tips | WinWF
# Monday, March 09, 2009

For me there always comes a time when installing BTS 09 or Clients to work on SQL 2008, that I need all the client 'bits' to talk to SQL2008

Also - the classic problem to solve when installing BizTalk 2009 using SQL 2008, "Where do I get Notification Services From???"

Look no further - here's a SQL SP3 goldmine :)

SQL GoldMine!!
Enjoy

Monday, March 09, 2009 7:31:16 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009
# Thursday, February 26, 2009

Hi - today I came across a handy Matrix that describes the supported versions for the Biztalk Adapter Pack v2.0

Handy reference I reckon :)

---snip---

Compatibility Matrix Between 32 and 64-bit Versions of the Adapter, BizTalk Server, and Operating System

The following table presents a compatibility matrix between the 32-bit and 64-bit versions of the operating system, adapter, and .

Oracle Database Adapter + BizTalk Server

SAP Adapter + BizTalk Server

Siebel Adapter + BizTalk Server

Oracle E-Business Adapter + BizTalk Server

SQL Adapter + BizTalk Server

Operating System

32-bit

64-bit

32-bit

64-bit

Yes

N/A

Yes

Yes

32-bit

64-bit

Yes

N/A

Yes

Yes

32-bit

64-bit

Yes

No

Yes

No

32-bit

64-bit

Yes

N/A

Yes

Yes

32-bit

64-bit

Yes

N/A

Yes

Yes

Legend

·         Yes = Supported.

·         No = Not supported.

·         N/A = Not Applicable.

Thursday, February 26, 2009 2:52:58 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | BizTalk Adapter Pack
# Monday, February 23, 2009

Hopefully you've been keeping an eye on this in recent times.

This is a Set of Adapters that MS have built on top of the WCF LOB Adapter SDK (a platform neutral .NET based Adapter framework).

 

This allows the Adapters to run within the .NET stack almost anywhere - Console apps, Custom WebServices, BizTalk, SSIS, SharePoint etc.

(Build once - run everywhere :-)

 

The public beta is available as a 120-day d/l from MS Connect.

 

What to expect with the Adapter Pack

(in addition to a free migration tool to go from the old adapters to the new - e.g. SQL)

Oracle EBS

· 64 bit support

· Synonyms

· Added performance counters

· Notification support


OracleDB

· 64 bit support

· Synonyms

· UDTs

· Notifications

· Polling stored procedures

· Performance counters


SQL Adapter
· 64 bit support and improved SQL

Adapter SDK

· Display complex binding properties 

· Display metadata wsdl in web control


SAP data provider

· Support for more operators in Sap Queries

· SAP SSRS support in VS2008


Samples

· New Samples for SQL and Oracle eBiz Adapters

· Repackaged samples for BAP 1.0

Monday, February 23, 2009 1:40:57 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | Insights | Training
# Saturday, February 21, 2009


What a week it has been folks - I left Sydney in 30C degrees with sun, sand and beaches.....I thought "How cold can it be?" (you never really get that appreciation till you hit the ground)

Cold....very cold!!! Now I've been skiing many times, but this was just something else.

It caused Beijing to be blanketed in snow and very beautiful - What a fantastic place!!! Definitely a come back place - just nothing like what I expected.

The people so friendly, helpful and always with purpose in their eyes. The food is some of the freshest I've eaten and such healthy diets (steamed cabbage, mushrooms etc etc) - nothing like the 'Western Chinese Resturants' back home :)

On to the reason why I was there - Training

I had approx 50 students coming to hear my Chinese English (which I must say is much better than me listening to them speaking Mandarin) and we covered in-depth BizTalk 2009 agenda

We covered some great material looking into Governance and ESB 2.0 due to hit around the same time as BTS2009 (June-ish I believe, earlier I'm told)

BizTalk 2009 Mick Badran Classroom Training 
We actually communicated quite well - I played many games and brought over a bunch of Aussie gifts for them (which consequently we found out were made in China!)

The usual areas of BizTalk were little used previous by students - SSO, Rule and BAM. For so little effort there's so much mileage in these guys.

Training Results
For the training the average mark I received was 8.5/10 across nearly 50 students, which for my first time in China I was very happy with. The most important thing for me though is not the marks, but what the students walk away having learnt!

Not all work Play Time
As luck would have it I had an extra day to play on my trip this time - so in negative degree temps I went to the Center of Beijing and put on my tourist hat and went to the Forbidden City (& surrounds).

Entering a new world

P2200119

P2200169

Lastly I learnt many things from my students this week with

1. KFC is a 'top class' resturant in Beijing
2. Starbucks is a 'romantic' place (where couples go for dates)

If we were on Mythbusters right now....... compared to Sydney - these are Busted!

Saturday, February 21, 2009 12:02:41 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | General | Training
# Saturday, February 07, 2009

A handy table that lists the versions as well - I've always needed something like this when doing proposals :-)

 

Adapter

Supported Editions

BizTalk Adapter Pack 1.0

----

SAP

SAP R/3 4.x, R/3 6.20 (Enterprise), and SAP ECC 6.0

PeopleSoft Enterprise

PeopleTools Versions 8.17.02, 8.43, 8.45, 8.46, 8.47, 8.48, and 9.0

JD Edwards OneWorld XE

8.10, and 8.11, and 8.12 with Tools Release 8.93, 8.94, 8.95 and 8.96

JD Edwards EnterpriseOne

8.10, and 8.11, and 8.12 with Tools Release 8.93, 8.94, 8.95 and 8.96

ODBC Adapter for Oracle Database

Oracle 8i (8.1.6.0), 9i (9.2.0.1), or 10g

Siebel eBusiness Applications

7.0, 7.5.*, 7.7.*, and 7.8.*

TIBCO Rendezvous

7.3, 7.5.4, 8.1.1

TIBCO Enterprise Message Service

4.3, 4.4.3, 5.0

Host Applications

IBM CICS TS for VSE/ESA V2R3
IBM CICS TS for z/OS V2.2, V2.3, V3.1
IBM IMS V8.1 with IMS Connect 2.1, 2.2
IBM OS/400 V5R2, OS/400 V5R3, i5/OS V5R4

IBM DB2

IBM DB2 V7 and V8 for z/OS
IBM OS/400 V5R2, OS/400 V5R3, i5/OS V5R4
IBM DB2 UDB for Windows, Linux, AIX, Solaris V7.2, V8.2, V9

Host Files

IBM DFM V1R4, V1R5, V1R6, V1R7
IBM OS/400 V5R2, OS/400 V5R3, i5/OS V5R4

WebSphere MQ (Client Based)

5.3 with Fix Pack 10 or higher and 6.0 with Fix Pack 1.1 or higher

WebSphere MQ

5.3 with Fix Pack 10 or higher and 6.0 with Fix Pack 1 or higher

MSMQ/MSMQT

2.0 and 3.0

Base EDI

Not applicable

FILE

Not applicable

FTP

Not applicable

HTTP

Not applicable

POP3

Not applicable

SMTP

Not applicable

SOAP

Not applicable

SQL

Not applicable

Web Services Enhancements (WSE) 2.0

WSE 2.0

Windows Communication Foundation (WCF)

.NET Framework 3.0

Windows SharePoint Services

Windows SharePoint Services 3.0

Saturday, February 07, 2009 9:15:08 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
BizTalk | 2009 | Training
# Monday, February 02, 2009

BizTalk Adapter V2.0/WCF LOB Adapter SDK Poster is available
Another of those things to stick up around the office... :)

image


Download From HERE

Monday, February 02, 2009 5:34:32 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Posters | Training
# Saturday, January 31, 2009

Certification for BizTalk Server 2006 R2 is available, at http://www.microsoft.com/learning/en/us/Exams/70-241.aspx
Apparently it came out last October.....anyone done it? let's go there!

I'll post back shortly and let you know how I went.... :)

Exam details...

Overview

This exam is intended for candidates developing business solutions using Microsoft BizTalk Server 2006 R2.

Audience Profile

A candidate for this exam will have experience developing, deploying, and testing Microsoft BizTalk Server 2006 solutions across multiple real-world projects.  The candidate should have a solid understanding of fundamental BizTalk concepts and familiarity with extended R2 capabilities.
The candidate should also have experience using the Microsoft .NET Framework, XML, Microsoft Visual Studio, Microsoft SQL Server, Web Services, and Windows Communication Foundation (WCF) while developing BizTalk integration solutions.

When you pass Exam 70-241: TS: Developing Business Process and Integration Solutions by Using Microsoft BizTalk Server 2006 R2, you complete the requirements for the following certification(s):MCTS: BizTalk Server 2006 R2
Exam 70-241: TS: Developing Business Process and Integration Solutions by Using Microsoft BizTalk Server 2006 R2: counts as credit toward the following certification(s):

Note This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format.

Skills Being MeasuredThis exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.

Configuring a Messaging Architecture

  • Set up and manage ports.

    This objective may include but is not limited to: add a map, ordered delivery, send ports, send port groups, starting vs. enlisting, receive ports, receive locations, subscriptions

  • Plan for and implement secure messaging.

    This objective may include but is not limited to: certificates, signing, encryption, port authentication, encoding

  • Configure core adapters.

    This objective may include but is not limited to: HTTP, SQL, POP3, SMTP, FTP, File

  • Configure content-based routing.

    This objective may include but is not limited to: set a filter that uses a    promoted property

  • Implement messaging patterns.

    This objective may include but is not limited to: normalizing/canonical messages, splitter, large messages

Developing BizTalk Artifacts
  • Create schemas.

    This objective may include but is not limited to: create a flat-file schema, create a property schema, enveloping, promoted/distinguished properties, MessageType, schema re-use (import/include)

  • Create maps.

    This objective may include but is not limited to: functoid scripting, XSLT, pass a parameter to a map, multiple schemas, looping

  • Create pipelines.

    This objective may include but is not limited to: disassembling, create a custom pipeline, create a pipeline component, XML validation

  • Develop orchestrations.

    This objective may include but is not limited to: work with transactions and persistence, integrate with Microsoft .NET assemblies, parameters, shapes

  • Configure orchestration bindings.

    This objective may include but is not limited to: direct, dynamic, self correlating

  • Configure correlation.

    This objective may include but is not limited to: listener shape, parallel shape, correlation sets

  • Construct messages.

    This objective may include but is not limited to: multi-part, untyped, construct messages in .NET, construct messages in orchestrations, context properties

  • Implement orchestration patterns.

    This objective may include but is not limited to: convoys, aggregator, splitter

Debugging and Exception Handling
  • Handle exceptions in orchestrations.

    This objective may include but is not limited to: compensation, scope shapes, throw exceptions, long-running transactions

  • Route errors.

    This objective may include but is not limited to: port configuration, recoverable interchange

  • Debug orchestrations
  • Validate and test artifacts.

    This objective may include but is not limited to: schemas, maps, pipelines

Integrating Web Services and Windows Communication Foundation (WCF) Services
  • Configure a WCF adapter.

    This objective may include but is not limited to: WS*, custom bindings

  • Expose orchestrations by using publishing wizards.
  • Consume services.

    This objective may include but is not limited to: Web port type, add a Web/Service reference, consuming from orchestrations or pure messaging

  • Handle Web exceptions.

    This objective may include but is not limited to: delivery notifications, catching SOAP exceptions

Implementing Extended Capabilities

  • Create and deploy Business Rules Engine (BRE) components.

    This objective may include but is not limited to: work with the Business Rules Composer, deploy Business Rules policies, call from an orchestration, develop vocabularies

  • Develop EDI solutions.

    This objective may include but is not limited to: trading partner setup, batching, acknowledgments, importing schemas

  • Configure AS2.

    This objective may include but is not limited to: party configurations, pipelines, ports, certificates

  • Implement an RFID solution.

    This objective may include but is not limited to: handle events, configure RFID devices, manage and configure event sink endpoints

  • Plan and implement Business Activity Monitoring (BAM).

    This objective may include but is not limited to: BAM alerts, tracking profile editor, BAM workbook, activities, views, deployment

Deploying, Tracking, and Supporting a BizTalk Solution
  • Install and configure a multi-server BizTalk environment.

    This objective may include but is not limited to: trusted vs. untrusted environments, Active Directory groups

  • Deploy BizTalk applications.

    This objective may include but is not limited to: MSI deployment, versioning, resources, multiple staging environments such as development, test, and production

  • Partition a BizTalk solution.

    This objective may include but is not limited to: hosts, host instances, handlers, groups, multiple message boxes

  • Export and import binding files
  • Configure tracking.

    This objective may include but is not limited to: orchestrations, schemas, ports, pipelines, policies

  • Manage BizTalk solutions by using the Administration Console.

    This objective may include but is not limited to: query for instances, terminate, resume

  • Audit BizTalk solutions by using Health and Activity Tracking (HAT).

    This objective may include but is not limited to: querying, saving messages, creating custom fields, policy execution

Saturday, January 31, 2009 8:00:33 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Training
# Saturday, January 17, 2009

As my good friend pointed out - Rahul Garg, the BizTalk 2009 documentation is available for public download.

Things such as:

  • runtime engine
  • mapping
  • Orchestrations
  • Adapter V1.0 Frameworks
  • BizTalk Applications
  • BizTalk Deployment of Applications

Have all generally (obvious fixes and improvements as needed) stayed the same.

Whereas, a quick summary of things I'd be looking for in the documentation:

  • Incorporating BizTalk Project builds into automated tested suites (TFS etc) - Biztalk 2009 projects can now be built through MSBUILD as a regular project in the solution.
  • Individual components such as Schemas and Maps can be formally unit tested (previously we wrote our own helper classes to make this stuff happen) - although, at the moment when testing a schema, I haven't been getting back details of the error...just a pass/fail.
  • BizTalk Adapter Pack 2.0 (Sql, Oracle x 2, SAP, Siebel...) - based on WCF channel stack...very nice! (can be standalone if needed)
  • WS Federated bindings
  • and the list goes on.....

Download a Searchable BizTalk Help File - very handy to have when planning your upgrades or migrations.

Saturday, January 17, 2009 2:38:33 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | Insights | General | Training
# Friday, January 09, 2009

How to look cool at work.... Stick this poster by your desk, people will walk past and say "Hmmmm......" - guaranteed to reduce the amount of questions you get each day :-)
(Then you could start talking about the 'flux capacitor' and people will believe......)

The MS folks in Connected Systems Division (CSD) have done a superb job!!! Great comprehensive poster.

One thing to say about the poster - remember that the 'Tracking Host Instance' and the 'InProc Host Instance' are generally within the same Host Instance (it's good practice to separate these out)

Enjoy

Friday, January 09, 2009 5:05:14 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | Insights | Training

Hi folks,

Just in case you want to be able to get an excel spreadsheet listing all the possible errors or so, for monitoring and managing your production BizTalk environment (great for rules and monitoring from MOM for e.g.).

 

I came across this - http://blog.paul.somers.com/blog/_archives/2007/4/27/2909713.html

 

Written by fellow BizTalk MVP - thanks Paul!

Friday, January 09, 2009 10:09:53 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips
# Monday, January 05, 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.

Mick

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

I recently came across a Gartner report talking about all things to do with 'App Integration with Back End Systems' (in a nutshell... the report goes into detail)

The end result of several pages within this report is a graph (we like graphs :) showing Microsoft as a leader with a high ability to execute.

The Microsoft Technologies that fell under the microscope here are:

  1. BizTalk Server
  2. Windows Communication Foundation
  3. SQL Service Broker
  4. SQL Integration Services
  5. Team Foundation Suite
  6. Oslo + Azure

The graph looks as follows (snipped from the report):

magic quadrant

 

Get the whole report HERE

Wednesday, December 31, 2008 3:09:26 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | 2009 | Insights | Oslo
# Wednesday, December 10, 2008

Microsoft BizTalk Server

On the 8th of December 2008 - Microsoft announced general availability of BizTalk 2009 Beta.

Here's the details

Public beta of BizTalk Server 2009.  Available at https://connect.microsoft.com/site/sitehome.aspx?SiteID=218

1.       This beta is community supported.  The TechNet forums will be the primary place for support - http://forums.microsoft.com/TechNet/ShowForum.aspx?ForumID=1470&SiteID=17

2.       General availability of BizTalk Server 2009 is still scheduled for the first-half of 2009 - we don't have a further update at this time.

  • Availability of BizTalk RFID Mobile for all new customers and current customers with SA
  • ESB Guidance 2.0 will also be available - http://msdn.microsoft.com/esb

For more information go to:

Key Areas

BizTalk Server 2009 Beta:

  • BizTalk Server 2009 is Microsoft's core enterprise connectivity solution, which releases on schedule of every two years, and continues to extend capabilities to core process management technologies both in and outside of the corporate boundaries.
  • Microsoft continues to listen to its BizTalk Server 2009 customers and will optimize feedback from the beta release for future BizTalk Server releases
  • RFID Mobile:
    • BizTalk RFID Mobile extends RFID to the mobility industry to demonstrate strong customer support with RFID intelligence on devices running on Win CE/Win Mobile enabling businesses to make decisions in real-time.

FAQ

Q: What did Microsoft announce today?

A: Today at the Gartner Application Architecture, Development and Integration (AADI) Summit, Microsoft Corp. announced the general availability of BizTalk RFID Mobile and BizTalk RFID Standards Pack, as well as the first public beta of BizTalk Server 2009 for download and an updated version of its architecture patterns and practices guidance, Enterprise Service Bus (ESB) Guidance 2.0. Microsoft has made these investments in the BizTalk Server product family to enable customers to more efficiently connect applications and to provide customers with a clearer, actionable view into their day-to-day operations.

Q. When will the products be available?

A: The BizTalk Server 2009 public beta and ESB Guidance 2.0 CTP are available now at http://www.codeplex.com/esb for community feedback. The final products are slated to ship in the first half of CY09.  Evaluation versions of BizTalk RFID Mobile and the BizTalk RFID Standards Pack are available at http://www.microsoft.com/biztalk/en/us/rfid-mobile.aspx and http://www.microsoft.com/biztalk/en/us/rfid.aspx respectively.

Q: What new functionally will be delivered in BizTalk Server 2009?

A:  BizTalk Server 2009 supports the latest Microsoft platform technologies, including Windows Server 2008, Visual Studio 2008 SP1, SQL Server 2008 and the .NET Framework 3.5 SP1. These platform updates enable greater scalability and reliability, and many advances in the latest developer tools.

This BizTalk Server release will also deliver additional customer-requested capabilities around enterprise connectivity, including:

  • New web service registry capabilities with support for UDDI (Universal Description Discovery and Integration) version 3.0
  • Enhanced service enablement of applications (through new and enhanced adapters for LOB applications, databases, and legacy/host systems)
  • Enhanced service enablement of "edge" devices through BizTalk RFID Mobile
  • Enhanced interoperability and connectivity support for industry protocols (like SWIFT, EDI, HL7 etc)
  • SOA patterns and best practices guidance to assist our customer's implementations

You can find more details about BizTalk Server 2009 at http://www.microsoft.com/biztalk/en/us/roadmap.aspx

Q: What is next for BizTalk Server after BizTalk Server 2009?

A:  The charter of BizTalk Server remains consistent - it allows the Microsoft application platform to connect  and interoperate with other kinds of systems - LOB systems, legacy systems, smart devices (RFID), and B2B integration (SWIFT, EDI, etc.).  This has been the focus of BizTalk Server since it was initially released back in 2000 and continues to be its charter going forward.

At this point it's too early to comment on the specific features that will be part of the BizTalk Server "7" release; however, you can find details about general priorities for BizTalk Server at http://www.microsoft.com/biztalk/en/us/roadmap.aspx.  We're in the middle of early planning on BizTalk Server "7" and will have more information to share about the specific scope of that release.

Q: What is BizTalk RFID Mobile?

A: BizTalk RFID Mobile is an RFID platform for Windows Mobile and CE. BizTalk RFID Mobile consists of a runtime engine, tools, and components to develop, deploy, and manage RFID solutions on mobile devices.  In combination with BizTalk Server RFID, the mobility release provides a platform for real-time decision making.  BizTalk RFID Mobile extends management and event processing to mobile devices and allows communication between the server and mobile platforms.

Q. What is the price and licensing for BizTalk RFID Mobile?

A: BizTalk RFID Mobile is available to all BizTalk Server 2006 R2 customers with Software Assurance as well as new BizTalk Server 2006 R2 customers who purchase licenses with Software Assurance. Our customers and partners told us that mobile RFID offerings are used in conjunction with a server product.  As a result, we included BizTalk RFID Mobile with each edition of BizTalk so that our customers can achieve the benefits of RFID mobile solutions without incurring undue costs. For BizTalk Server customers with Software Assurance this is a great opportunity to adopt a new product that can deliver an economic value today. When BizTalk Server 2009 becomes generally available, the customers will be able to acquire BizTalk RFID Mobile without software assurance.

Q: Is BizTalk RFID Mobile dependant on BizTalk Server? Can't I just use a free solution that's available rather than use BizTalk Server?

A:  BizTalk RFID Mobile and BizTalk Server are better together.  Using BizTalk RFID Mobile and BizTalk Server in tandem you can capture data on a mobile device and then send the RFID data back to BizTalk Server for filtering and the application of business rules.  There is no need to rewrite complex event filtering and business rule logic on the device as that functionality is already provided by BizTalk Server.  We have taken a platform approach that will ensure that you can write your mobile applications once and run them on multiple devices in addition to local device management, store and forward, and SQL Sink capabilities, which reduce your TCO.

BizTalk RFID Mobile and BizTalk RFID Standards Pack are a standard part of all editions of BizTalk Server 2009.  Given the intense interest in these offerings from our existing and new customers we decided to make them available now to BizTalk Server 2006 R2 customers with software assurance as well as new BizTalk Server 2006 R2 customers who purchase licenses with Software Assurance.

Rather than charge a per device fee, we included BizTalk RFID Mobile with all editions of BizTalk because we wanted to make it easier for customers to adopt mobile RFID solutions.  RFID is a fundamental enabler for business processes and should not be viewed as an isolated silo, which is why we have included our fixed and mobile RFID offerings standard in all editions of BizTalk.

Q: What is ESB Guidance?

A: The Microsoft ESB Guidance (first released in November 2007) provides architectural guidance, patterns, practices, and a set of BizTalk Server R2 and .NET components to simplify the development of an Enterprise Service Bus (ESB) on the Microsoft platform and to allow Microsoft customers to extend their own messaging and integration solutions.  For additional information on the current 1.0 version please see http://msdn.microsoft.com/en-us/library/cc487894.aspx.

We are announcing today the first public CTP release of the Microsoft ESB Guidance 2.0 for Microsoft BizTalk Server 2009. It incorporates many new and expanded features include the following:

  • New samples:
    • SSO Configuration provider for Enterprise Library 4.0
    • Multiple Web Service Execution Sample
    • Exception Handling Service Sample
  • New ESB Web services:
    • Generic Itinerary Services ( no itinerary header required)
    • New core features:
      • Alignment with Microsoft BizTalk Server 2009 ( Beta )
        • ESB Configuration tool
        • Centralized itinerary store
        • Itinerary resolver components
        • Itinerary forwarder pipeline component
        • Itinerary selector pipeline component
        • Itinerary designer
        • Centralized configuration uses Enterprise Library 4.0 Configuration Block
        • Centralized caching uses Enterprise Library 4.0 Caching Block
        • Multiple service invocation using both messaging and orchestrations
        • Itinerary BAM tracking
        • Improved ESB Core engine and itinerary execution
Wednesday, December 10, 2008 5:55:57 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
BizTalk | Insights | Tips
# Thursday, November 06, 2008

UPDATED - thanks to Luciano Evaristo Guerche he's come through with the super trump of all of this - grab the slides/sessions with his easy technique -
http://weblogs.asp.net/guerchele/archive/2008/10/29/how-to-download-pdc-sessions-using-downthemall-firefox-addon.aspx

You get session titles and the whole works.
----------------------------------------------------------------------------------------------------------------

A big thanks to my good friend Thiago (runs the NZ CSD User Group) as he provided us on the OzTalk mailing list (list dedicated to BizTalk/CSD user group members) with a list of URLs to grab all the sessions + ppts.

Load these URLS into something like Free Download Manager and go surfing :)

Thanks Thiago! My ISP isn't happy with me at the moment.....over my limit....wonder why :-)

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB06.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB13.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB39.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC48.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/SYMP02.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP03.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP05.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB01.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB01.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB02.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB02.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB03.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB03.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB04.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB04.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB05.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB05.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB06.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB07.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB07.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB08.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB08.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB09.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB09.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB10.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB10.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB11.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB11.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB12.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL16.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB13.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB14.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB14.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB15.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB15.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB16.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB16.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB18.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB18.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB19.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB19.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB20.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB20.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC54.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB22.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB23.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC49.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB24.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL31.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB25.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL14.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB26.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/SYMP06.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB49.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB27.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB28.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB28.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL37.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB29.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB30.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB30.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB31.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB31.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB32.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB32.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB33.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB33.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL21.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB34.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB35.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB35.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB36.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB36.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB37.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL49.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB38.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB38.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB29.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB40.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB40.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB41.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC16.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL42.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB42.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB43.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL29.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB44.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB42.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/KYN01.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL47.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB46.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB46.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB47.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB12.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC14.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL45.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL35.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC55.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB51.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB51.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB52.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL39.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES04.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB53.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB54.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL09.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB55.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB55.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB56.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB25.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC23.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB57.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB58.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB58.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES25.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB59.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES01.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL04.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES32.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES02.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES03.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES03.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL30.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES04.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC31.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES06.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES07.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES07.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES09.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES10.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL24.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES10.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES11.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES11.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES12.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC10.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES13.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES13.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES14.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES14.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES16.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC11.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL28.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB41.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES17.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES02.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES19.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES19.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES20.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES20.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES21.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC11.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES22.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES21.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES23.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL09.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC07.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES24.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES25.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES17.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC21.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES29.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES30.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL57.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES31.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC26.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC22.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES32.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB49.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL54.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/KYN03.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC54.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC01.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC02.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB26.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL58.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC03.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL18.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC04.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC05.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC05.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL15.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB44.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC51.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC07.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC10.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB24.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL18.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB52.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL34.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC52.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC13.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC13.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC14.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB43.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL40.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC06.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC48.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB53.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC17.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL06.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC18.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP01.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL60.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC19.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC20.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC20.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB47.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL48.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC12.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC22.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC18.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB22.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC29.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC24.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC25.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC25.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC26.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL08.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC27.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES30.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL59.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC29.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL32.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC58.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC31.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC02.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC32.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL58.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC33.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC33.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL30.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL33.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC35.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC35.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC39.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB23.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL35.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL55.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL50.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC41.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC51.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL13.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC43.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL27.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC44.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC06.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC45.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL34.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC43.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES22.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC47.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC58.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL31.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC49.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB54.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC50.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC50.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES09.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC59.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC52.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL07.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC53.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC53.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL56.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL13.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP02.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC56.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC59.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL25.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES16.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL03.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC46.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES23.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB56.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL51.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL24.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL19.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL44.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL01.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL21.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP06.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL28.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL01.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL11.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB39.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL03.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC23.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC19.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL32.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES24.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC17.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC56.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL06.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC30.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC46.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES15.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL10.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/BB37.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES12.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL10.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB45.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL11.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL12.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC03.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/KYN02.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL08.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL14.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC40.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC40.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL15.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL52.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC24.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL17.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/SYMP04.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL59.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/SYMP01.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL19.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL38.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB48.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL20.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL48.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC44.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL16.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC27.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL42.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL23.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC15.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL22.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC41.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC34.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL26.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC15.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC21.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL52.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB59.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC45.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL40.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB34.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL23.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL26.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB27.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL22.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/SYMP05.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL27.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES29.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL33.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC42.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC55.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB45.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC47.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL36.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES15.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC12.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL37.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/BB48.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL38.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL39.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL29.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/SYMP04.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL54.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC34.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/ES06.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL12.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL43.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL44.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL20.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL45.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/ES01.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL46.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL46.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL04.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC39.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL47.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL36.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/SYMP03.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL17.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/ES31.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL50.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC30.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC01.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL56.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC42.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC16.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL02.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/PC04.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL55.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL07.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL49.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL51.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL43.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/BB57.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL25.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/PPTX/TL02.pptx
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/PC32.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV/TL60.wmv
http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/TL61.wmv

Thursday, November 06, 2008 12:48:17 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | Oslo | Events | PDC08
# Thursday, October 30, 2008

Hi guys - there's a bunch of stuff going on right now at PDC 08 in LA.

What's hot:

(If you're on a PDA/Mobile - grab a the PDC from here - http://www.microsoftpdc.com/mobile/)

 

So if you can't sleep then there's going to be some interesting reading coming up for us all. :-)

 

Enjoy.

Thursday, October 30, 2008 8:11:12 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Oslo | Events
# Wednesday, September 24, 2008

Folks - I recently came across a great article on Perf in BizTalk.

I had previous noted a BTS2004 one but always handy to have the updated version.

I thought I'd jot this down before I lost the reference - http://msdn.microsoft.com/en-us/library/cc558617.aspx

Enjoy,

Mick.

Wednesday, September 24, 2008 9:29:59 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [4] -
BizTalk | Insights
# Thursday, September 11, 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 collapsing....so 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, September 11, 2008 9:54:16 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | Insights | RFID | BET
# Monday, September 08, 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, September 08, 2008 11:31:22 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Events | TechEd

As promised, the chaos of TechEd has subsided and if there's that thing of normality approaching....we'll I must be close to it.

My Thursday after lunch session went great with a whole series of demos about different aspects of hosting and running workflows (WCF based, .NET 3.5, Tracking, FilePersistence, Obtaining Metadata etc):

 

Monday, September 08, 2008 10:47:53 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | TechEd | WinWF

csdupdate

The main details folks are as follows: (from an earlier email from Corp)

Details:

1. BizTalk Server vNext:

  • Naming Change: We have also updated the name of the next release from BizTalk Server 2006 R3 to “BizTalk Server 2009”.  By calling the product BizTalk Server 2009, we can clearly communicate this is a full product release with new and enhanced capabilities and updated platform support for customers to take full advantage of the latest technology wave (Windows Server 2008, Visual Studio 2008, SQL Server 2008, .NET Framework 3.5).
  • BizTalk Server 2009 Timing: We will deliver a public CTP by the end of this calendar year.  Additionally, BizTalk Server 2009 is on track for availability in the first half of calendar year 2009.
  • Features: We bucket the 2009 release into 5 core feature areas, which are detailed further on the BizTalk roadmap page. These include platform support, SOA & web services, business to business integration, device connectivity and developer and team productivity(i.e. VSTS support :-)

 

2. Future Plans:

  • Ship Rhythm: Microsoft’s commitment to maintain a rhythm of releases roughly every 2 years. 
  • High-Level Themes: We outlined priorities for the next couple of releases. Including:
    • Developer productivity enhancements (e.g. complex mapping);
    • Enhanced B2B support (e.g. complex trading partner management, expanded industry standards and schemas);
    • Low-latency messaging enhancements and ESB Guidance;
    • Enhanced device support for cross-enterprise asset tracking, enterprise manageability of devices, and key industry standards;
    • Real-time  business event visibility through BI / BAM Enhancements; and
    • Integration with the latest new platform capabilities (to take advantage of the latest advances in the .NET Framework, Visual Studio, and Windows Server).

More Info:

For more information on the BizTalk Server roadmap announcement please visit the BizTalk roadmap page.

Additional Resources

For more information go to:

· PressPass Q & A with Oliver Sharp, GM of BizTalk Server: http://www.microsoft.com/presspass

· BizTalk Website: http://www.microsoft.com/biztalk/

· BizTalk Server Team Blog: http://blogs.msdn.com/biztalk_server_team_blog/

· Steven Martin, director in the Connected Systems Division Blog: http://blogs.msdn.com/stevemar/default.aspx

Monday, September 08, 2008 10:03:51 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights
# Wednesday, August 27, 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 post....here'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, August 27, 2008 1:11:33 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | RFID | TechEd | Silverlight
# Tuesday, August 19, 2008

Hi folks,

Have I got a deal for you.... no seriously we’ve got a great night planned leading up into TechEd. I’m really looking forward to it.
(ok let me get my dates right)

On August 27th Wednesday night (Wednesday week from now) we’re lucky enough to get....

Angelo Laris from Decillion(seasoned member of our user group) lined up to talk to us about A4SWIFT (which is basically what Angelo and Decillion roll out). Decillion are formally recognised by Microsoft as being experts in this area and are also a member of the Microsoft BizTalk Virtual Technology Specialist Program.
(I’ve also got a couple of house keeping tasks to mention…..first the great stuff…)

Angelo sent me through his outline:

1. Introduction to SWIFT                                                                                                                    5min

2. What is a SWIFT Message.                                                                                                           5min

3. The Schema Definitions.                                                                                                               10-20 min

4. The HTML Form Generator (Young Youn will present or help me out here)           20min

5. The Business Rules Engine – HOW to validate a SWIFT Message.                                30-60min

6. The Message Repair using Infopath and BAS.30-60min                                                   30-60min

Looks fantastic – what you are going to see is how BizTalk can be extended, Angelo is talking about a mature product base and it’s great to see just how others are using and extending BizTalk while adhering to industry standards.

One of the main questions I get is “What can I use the BizTalk Rules Engine for?”…..ask no further.

What is in store for our Aug 27th Session

Where:
Microsoft, North Ryde
1 Epping Road

When:
6pm - Beer + Pizza
6.30pm - Kick off

Aug 27th -

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

Other Business:
* TechEd 2008 – We’ve finally got RFID end-to-end at the conference
(See my blog post here – had the media interested and lots of interviews, Breeze got the green light 40 days out from TechEd......no pressure)
Some quick stats:

1. Over 70 RFID Readers (fixed + windows mobile based) with 118 Antennas.

2. Lots of Intelligent information surfacing.

3. BizTalk Server, BizTalk RFID, BizTalk RFID V1.1, MOSS + good old Silverlight 2 b2 is pretty much running the show.

4. We’re ‘printing’ (or encoding is the tech term) over 5500 tags – the hardest part was to actually print a corresponding barcode so other systems can handle the badge.

5. I’m due for a holiday at the end of this.....(this is why I couldn’t squeeze a meeting in last month)

So A BIG THANK YOU for those that helped out with the testing of the system (fingers crossed on show day) at previous user group meetings.

* 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’ve launched an email forum group ‘oztalk@groups.yahoo.com’
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. (Thanks to all the guys on it so far)

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

Mick Badran (MVP - BizTalk) | Microsoft Readiness Instructor
Collaboration and Integration Specialist

Breeze Training Pty Ltd | m: +61 404842 833

http://blogs.breezetraining.com.au/mickb

clip_image001

Tuesday, August 19, 2008 12:42:17 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Usergroup | Events | TechEd
# Thursday, August 14, 2008

John Powell has a great article (with piccys) that will hopefully get you out of a pickle.

http://blogs.msdn.com/johnwpowell/archive/2008/08/14/error-configuring-biztalk-sharepoint-adapter-on-sharepoint-sp1.aspx

Thanks John!

Thursday, August 14, 2008 9:56:03 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | MOSS | Tips
# Friday, August 08, 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.

rfidtag
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
    clip_image002clip_image002[4]clip_image002[6]

    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 .....you 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....."What..you 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.

      So...no. - 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....

SOA305
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 two.....be great to see you at TechEd!!!!

Over and out

 

Mick.

Friday, August 08, 2008 7:36:10 PM (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 section........so 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".....you'd think...... :-)

1. Grab the Zebra provider from here - http://www.zebra.com/id/zebra/na/en/index/rfid/rfid_microsoft_biztalk.html?WT.mc_id=1778 (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 again...here 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. http://10.1.0.55 (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, August 08, 2008 1:20:25 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID
# Wednesday, August 06, 2008

Folks - fellow MVP Richard Seroter has written a VERY comprehensive series around this very topic including the new BizTalk Adapter Pack V1.0 (V2.0 is in Beta at the moment).

Over 20+ thousand words + 178 screen shots - all for the love of BizTalk/WCF.

Complete with Source Code!!!

What a champion series - I'm looking forward to in tucking into some of his great material!

The BizTalk community is in debt to you Richard - well done!!!

SERIES SUMMARY FOUND HERE

Wednesday, August 06, 2008 11:06:02 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
.NET Developer | BizTalk | Insights | Training
# Monday, July 21, 2008

This one came from Paolo Salvatori (a senior PM within the MS Connected Systems Division Team... I know a bit of a mouthful) whom has gotten in touch with his creative side and drawn a picture for all us common folk :) - well done Paolo.

The scenario is - a Request/Response Port is published at the 'front end', goes through BizTalk and the work is done by a backend system that operates via a One-Way Send and BTS gets the response via another One-Way Receive.

The thing I like about Paolo's piece of work is that he shows all the Message Context Properties required to be set by BizTalk for message correlation.
Which makes this a Messaging Only Solution and NO Orchestrations required!!!! (how cool)

 

BizTalk Request Response Port

 

Click on the image to enlarge......one day I'll get Silverlight Zoom Composer control running for these.... :)

Monday, July 21, 2008 7:04:00 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
.NET Developer | BizTalk | Insights
# Saturday, July 19, 2008

While building up some BizTalk R2 developer images I can across the answer to my question "Is R2 supported on 2008 Hyper-V?"

Look no further than here.....

http://www.microsoft.com/downloads/details.aspx?FamilyID=5c5d86ad-5e17-4ff2-abc9-5a81177f4b30&DisplayLang=en

Saturday, July 19, 2008 2:04:30 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights
# Thursday, July 10, 2008

A couple of Key registry settings for the HL7 adapter that I thought I'd jot down onto my online diary.

Some tweaks to apply under heavy load to the HL7 adapter

  1. Create the registry key MLLPSendFlushTimeout
    1. Create new registry key under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Accelerator for HL7/Version 2.0 with following details:
    2. Name : MLLPSendFlushTimeout
    3. Value : 0
  2. Set MaxReceiveInterval to 50 ms
    1. Open Microsoft SQL Server Management Studio.
    2. Expand Databases node and select BizTalkMgmtDb database.
    3. Expand Tables node and open table adm_ServiceClass.
    4. Set the value of MaxReceiveInterval to 50ms corresponding to the Name=Messaging InProcess.
      Initially it is 500ms.
Thursday, July 10, 2008 9:00:41 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights
# Wednesday, July 09, 2008

Guys - this document has recently hit the shelves and what a great guide it is. Written and reviewed by a huge team within MMS mostly - the two main authors Ewan Fairweather and Rob Steel (both MS and very much project/client oriented guys - out in the field!) did a superb job.

Firstly - grab the Performance Optimisation Guide
(checkout Ewan and Rob's blogs as there's some great bits on there, as well as a section dedicated to the BizTalk Performance Explorer)

What's the meaty stuff I can expect to read? (I hear you ask...)

1. It serves as 2 things - a prescriptive guidance and two - best practices around optimisation
(It's also great to see BizUnit in there for testing and as part of LoadGen)

I've summarised below:

The key sections of the guide are:

· Getting Started: Provides an overview of the BizTalk Server functional components that can affect performance. It also describes the phases of a BizTalk Server performance assessment.

· Finding and Eliminating Bottlenecks: The Finding and Eliminating Bottlenecks section describes various types of performance bottlenecks as they relate to BizTalk Server solutions and information about how to resolve the bottlenecks.

· Automating Testing: Describes how to implement an automated build process and how to automate functional and load testing using Visual Studio Team System, BizUnit and Loadgen.

· Optimizing Performance: The Optimizing Performance section provides guidance for optimizing performance of specific components in a BizTalk Server environment

 

Other 'related stuff' to download while you're in the mood

  1. Microsoft BizTalk Server Operations Guide
  2. BizTalk Server 2006 R2 Installation and Upgrade Guides
  3. BizTalk Server 2006 Tutorials
  4. BizTalk Server 2006 R2 Runtime Architecture Poster
  5. BizTalk Server 2006 R2 Capabilities Poster
Wednesday, July 09, 2008 10:14:10 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights
# Tuesday, July 08, 2008

I was recently working on a AS2/EDI project using BizTalk 2006 R2 and came across an interesting question:

How do I create 500+ parties? and with the AS2 Properties included (or even HL7 for that matter)

After a little digging - there is the BizTalk.ExplorerOM that we could drill into and create the parties through code.

However, there's a more hands off approach....using Bindings!!!!

(1) Export Bindings from an existing setup including Parties!!! to an xml file.

(2) Modify the XML file - particularly the Party information.

(3) Import Bindings back into your new environment.

There's a great blog post by the BizTalk Team on this subject a while back - http://blogs.msdn.com/biztalkb2b/archive/2006/10/25/automated-deployment-of-edi-properties-also-useful-for-bulk-import-of-party-properties.aspx

Tuesday, July 08, 2008 11:27:49 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | Insights
# Thursday, July 03, 2008

You'll get this error when using WCF/IIS and host headers.....fortunately a fellow colleague Paul Glavich figured it out!!! Well done Paul! (It involves an IIS reshuffle, you may be able to do something within a custom WCF Binding.)

Remember: There is a limit on the number of IIS Websites you can have on a single machine.

Thursday, July 03, 2008 7:51:38 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk
# Wednesday, July 02, 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, July 02, 2008 1:41:05 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | RFID | Usergroup | Events | MOSS | Silverlight
# Tuesday, July 01, 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)

FULL DETAILS HERE

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

When you've got a moment - check out his take on the BizTalk world and there's some great in the field stuff here!!

http://zeetalks.wordpress.com/

Keep up the great work Zee!

Tuesday, June 24, 2008 3:39:32 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | Insights
# Monday, June 23, 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)

Where:
Microsoft, North Ryde
1 Epping Road

When:
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 Sydbiz.org 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 ‘oztalk@groups.yahoo.com’
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.

Cheers,

Mick Badran (MVP - BizTalk) | Microsoft Readiness Instructor
Collaboration and Integration Specialist
Breeze| m: +61 404842 833
http://blogs.breezetraining.com.au/mickb | im:

 

Monday, June 23, 2008 9:54:37 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Usergroup
# Wednesday, May 28, 2008

Hi folks, love to see you there

Check the details out at - http://sydbiz.org/Lists/Events%20Calendar/DispForm.aspx?ID=15&Source=http%3A%2F%2Fsydbiz%2Eorg%2Fdefault%2Easpx

Also one of the things we've been working on in the last month is a Private BizTalk User Group mailing list
oztalk@groups.yahoo.com

This mailing list is 'invite only' and is intended to enhance learning within the community, as well as an avenue to get bts (&related) problems solved - delivered straight to your inbox.

There are currently Brisbane & Sydney User Group members on board (more groups to come shortly)

How to get on:
- an invite was sent to your email address registered on http://sydbiz.org. Through the invite you'll be able to join (you *don't need* a yahoo acct)
- if you misplaced the invite, or want to get on the list - post a comment to this blog entry and I'll send an invite out to you.

Take care,

Mick.

Wednesday, May 28, 2008 11:27:36 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | Usergroup
# Wednesday, May 21, 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)

10

StartProcess

30.1

17.64

StopProcess

5.2

2.221

GetAllDeviceStatus

10.0

7.0

50

StartProcess

37.6

20.302

StopProcess

6.2

6.591

GetAllDeviceStatus

21.0

13.0

150

StartProcess

55.8

27.934

StopProcess

7.5

6.789

GetAllDeviceStatus

42.0

27.0



2. BizTalk RFID: Clustering BizTalk RFID for High Availability

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

(it even includes MOSS 2007 BI Dashboards)

This is one of the best BAM posters I have seen to date. As part of your Bat-Utility belt this is a must.

You could even print it out and stick it on the wall in the office....you never know....that raise should come sooner rather than later :)

Download the poster from HERE

Wednesday, May 21, 2008 9:07:29 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | MOSS
# Wednesday, April 30, 2008

Hey folks - while flying through different timezones and working away on my VPCs I came across the problem below.
Basically no further work could be done on the Application within the BizTalk Admin Console.
Couldn't stop/start, undeploy...delete etc. 

The only thing I had done was to adjust my time to reflect local time....which as I found out causes the problem.

I adjusted my clock back to Sydney time and we're good to go!!!

Trap for young players......

SSO AUDIT
Function: SetConfigInfo
Tracking ID: df1dd0b0-c9d5-4012-bb97-336aa8df78b3
Client Computer: BTS06-Platform.contoso.com (mmc.exe:1884)
Client User: BTS06-PLATFORM\Administrator
Application Name: {D2241406-0767-4C13-98EB-43EECE80F8A0}
Error Code: 0xC0002A40, The external credentials in the SSO database are more recent.

UPDATE: Running this script against your SSODB cures this problem.
update SSODB..SSOX_ExternalCredentials set ec_timestamp = dateadd(m,-1,ec_timestamp) where datediff(hh,ec_timestamp,getdate())<>0

Wednesday, April 30, 2008 2:45:23 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | Insights
# Saturday, April 26, 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 -

http://www.microsoft.com/downloads/details.aspx?FamilyId=389FCB89-F4CF-46D7-BC6E-57830D234F91&amp;displaylang=en&displaylang=en

Saturday, April 26, 2008 10:59:16 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | RFID | General | Tips
# Friday, April 25, 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 cake....it's got a whole collection of ENGLISH TEXT as to what the device does!

If you're like me...so 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 Team.....it's great to have APIs that make sense.... :) (mostly smile_eyeroll)

RFID

Friday, April 25, 2008 9:03:03 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID
# Thursday, April 24, 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, April 24, 2008 10:18:43 PM (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!!!!!!!

http://blogs.msdn.com/stevemar/archive/2008/04/23/biztalk-server-platform-updates.aspx

 

Enjoy

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

Happy Easter,

It's user group week and this Wednesday we're going to look at BAM (as well as playing some xbox!)

Wow another month has gone by and there’s been some great work done in the land of BizTalk.
There’s been a BizTalk Operations guide released and a whole swag of BizTalk whitepapers/articles published also – keep an eye on my blog (Main link, and the BizTalk Specific Info Link) for all of these and more.

If you haven’t checked out the BizTalk Adapter Pack V1.0 then it will be available from MSDN Downloads from April 1 (no April fools joke) – US Date, April 2 for us.

So what’s coming up in March I hear you ask....

This month I’m mixing a little work with play! IT’s XBOX time!!!! (with some BAM thrown in there)

(we didn’t actually get the XBOX ‘room’, but I’ve decided we’re going to make our own......in no other place than the boardroom! – “Mr Green, in the Boardroom with the Candle Stick!”.....wrong game :)

I’m also wanting to cover BAM from setup, including WCF and WF services. But the really cool part is that I’ll show you how to expose this in MOSS 2007 BI Dashboards! (right in the middle of your intranet!)

What is in store for our March 26th Session (add to Outlook)

Where:
Microsoft, North Ryde
1 Epping Road

When:
6pm - Beer + Pizza
6.30pm - Kick off
March 26th 2008

- LOAD FEST going on in the background – if you haven’t already got all the latest .NET 3.5 goodies, then I have 30GB worth that you copy over.

- TOPIC THIS MONTH: BAM End-To-End and XBOX-ing.

Presenter: Mick Badran (aka me) – MVP BizTalk and experience in Biztalk since its inception (1999/2000).
Mick as extensive real world experience in BizTalk and integration

Session Outline

In this session we will be focusing on some BAM within the BizTalk 2006 R2 Framework.

1) How to get BAM off the ground

2) Using BAM within Windows Workflow and WCF Services.

3) Extending BAM in real time

4) Surfacing BAM information through a MOSS Business Intelligence ‘Dashboard’

5) XBOX games! Games and more games.

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



Call for Speakers/Other People to take Tyre Kicking Sessions

If you want to help out and share a little of what you know with us, as always I welcome all and sundry.
Just email me and we’ll organise it....or....I could just dob you in......now where has Neal gone???

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

Monday, March 24, 2008 11:48:58 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | Usergroup

Happy Easter all - just come back from a great Easter getaway weekend and thought I'd share this common question with you:

"How do I turn off Global Tracking in BizTalk?"

On an internal email a solution was mentioned:

Basically - it comes in two steps, (a) following a TechEd article, (b) performing additional steps in WMI.

Here's the steps:

1. TechNet Article

2. WMI Steps -

The GlobalTrackingOption property is a property of the MSBTS_GroupSetting WMI class.
The MSBTS_GroupSetting WMI class represents a logical grouping of computers that are running Microsoft BizTalk Server.
This property can be modified with the Windows Management Instrumentation Tester tool. To do this, follow these steps:
------------------------------------------
1. Click Start, click Run, type wbemtest, and then click OK.
2. In the Windows Management Instrumentation Tester, click Connect.
3. In the Namespace box, type root\MicrosoftBizTalkServer, and then click Connect.
4. Click Open Class, type MSBTS_GroupSetting in the Enter Target Class Name box, and then click OK.
5. In the Properties list, click GlobalTrackingOption, and then click Edit Property.
6. To disable the Global Tracking option for the BizTalk Group, change the Value that is listed from 1 (0x1) to 0 (0x0), and then click Save Property.
7. To enable the Global Tracking option for the BizTalk Group, change the Value that is listed from 0 (0x0) to 1 (0x1), and then click Save Property.
8. Also click on Save object
9. To close the Windows Management Instrumentation Tester tool, click Close in the Object Editor for MSBTS_GroupSetting dialog box, and then click Exit in the Windows Management Instrumentation Tester dialog box.
10 Restart the host.

Monday, March 24, 2008 11:36:20 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights
# Thursday, March 20, 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.

Scenarios:

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

Limitations:

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

References:

1.     http://www.microsoft.com/biztalk/editions/default.mspx

 

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

32/64 bit BizTalk considerations and the 64-million dollar question - "How big can my current setup go?"

http://technet.microsoft.com/en-us/library/aa577523.aspx

Enjoy!

Monday, March 10, 2008 10:05:04 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights

Came across a great article - http://technet.microsoft.com/en-us/library/aa559162.aspx

Good Sizing goodies!!

Monday, March 10, 2008 10:03:21 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights

Check this out - http://www.microsoft.com/biztalk/capabilities/reader/ interactive and all. Scroll/Zoom + click on a section where the help and various MSDN articles come up - fantastic....shame my blog isn't silverlight capable....yet :)

image

Monday, March 10, 2008 9:54:17 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights

Hi all - in a recent post I came across an updated version of the BizTalk Adapter Pack V1.0.
Doing a search on the web will yield you to a bunch of *.CHM files, but still no *download* link!

I'm on the hunt - here's a 'close' page, but still no download link http://www.microsoft.com/biztalk/evaluation/adapter/default.mspx

The Adapter Pack has RTM'ed and is available on the Standard/Developer + Enterprise BizTalk Server 2006 R2 Editions.

Looks like I'll be up for up for a MSDN download or two..... smile_regular

Monday, March 10, 2008 9:37:16 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk
# Tuesday, March 04, 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 S3Edge.com). 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, March 04, 2008 11:40:08 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
BizTalk | RFID | Events | Training
# Saturday, March 01, 2008

We had a promising turnout last Wednesday - thanks for your time guys.

I asked the question what would you like to cover this year/things to happen etc..... the XBOX night won unanimously (don't blame you :) )

I took down some notes which looked like this: - you can get the 'official version' HERE

notes

Saturday, March 01, 2008 5:59:07 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Usergroup

I was just alerted to this whitepaper that has a very good discussion about using WF versus when to use BizTalk.

For those of you that are previous readers of my blog I'm an avid fan of WF and BTS working together to solve solutions rather than a common message voiced by at times MS - "you *must* choose one or the other". I did a webcast on this years ago.

Kent Brown the author does a very good job - well done!!!

BizTalk Server 2006 or WF? Choosing the Right Workflow Tool for Your Project

Saturday, March 01, 2008 4:51:25 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | WinWF
# Tuesday, February 26, 2008

See you there folks - let's kick off 2008 in style!!!

What's new in the .NET 3.5 Framework from a BizTalk perspective

Tuesday, February 26, 2008 9:33:53 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Usergroup
# Monday, February 25, 2008
Fellow MVP Thomas has provided a sample that delves into the dark depths of BizTalk Server and its Adapter configurations.



Check out his Custom Prop Page Sample

Thanks Thomas!

Monday, February 25, 2008 4:40:29 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | BizTalk | Insights | Tips
The new 'Adapter Framework' (in BizTalk speak - this would be the Adapter V2.0 Framework) is now available.

This new WCF based Adapter Framework allows developers to build, deploy and execute standalone Adapters - whether BizTalk Server is present or not.

The framework is designed very much for standalone application (& can be 'plugged' into BizTalk R2 if desired), and as a .NET developer you can consider this as an additional .NET library that provides the abilility to allow you to build standalone adapters for your .NET applications (e.g. console app, or Word)

p.s. The BizTalk Adapter Pack is built ontop of this framework. :-)

Grab SP1 below:

http://www.microsoft.com/downloads/details.aspx?FamilyId=0F8007D7-F0C9-4169-8B9C-BA55F8F4C153&displaylang=en

Monday, February 25, 2008 3:01:22 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | BizTalk | Insights
# Tuesday, February 19, 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 x32.zip



UPDATED: Windows 7 x64 will install these drivers from http://www.ftdichip.com/Drivers/VCP.htm

A CDM 2.04.16.exe has it all - http://www.ftdichip.com/Drivers/CDM/CDM%202.04.16.exe

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

Wow - a BizTalk adapter Pack announcement is looming (ready March 1 actually).

What is the BizTalk Adapter Pack?? I hear you ask.....I did too when I first heard of it.

Quick Bit of History
- 'Adapters' was a term typically used within a BizTalk space and to build adapters in BizTalk was a 'character' building experience where several COM interfaces needed to be implemented (with some of those interface's origins being in the year 2000!)
- for all that dev effort the 'adapters' only lived in BizTalk -land.

Wouldn't it be great to utilise your Adapter from other 'hosts' or environments such as Word/Sharepoint/Access/MS Project/BizTalk/Your Website etc etc....
(this is a very similar case to the initial *.OCX controls that came out. These controls were based on *.VBX which is something written in VB3 and used in the VB3 environment. Access/C/C++ developers had to duplicate the effort if they wanted similar functionality in their system)

WCF LOB Adapter SDK is the essence here.
- with BizTalk 2006 R2 on the scene, it comes with a 'new' adapter and new adapter 'style' known to trained BizTalk Ninjas as WCF Custom Adapter or BizTalk Adapter Framework V2.0
- so the LOB Adapter SDK is:

  • Free
  • .NET based
  • A Framework and VSNET project template
  • Allows you to build custom 'adapters'
  • Does alot of the heavy lifting for you.
  • Search/Browse/Consume WCF Service metadata
  • Able to be hosted in .NET/.NET related Host environment (BizTalk could be one of these :-)

Enter the (Supported)BizTalk Adapter Pack - (Help files Here)

So the BizTalk team have been busy building on top of the WCF LOB SDK to provide 3 .NET Adapters (at this stage) which allow connections to:

  • SAP
  • Siebel
  • Oracle - Database

So at this point you can grab these adapters and connect straight away - this bridges the gap between you and those systems.
For e.g. Sharepoint can connect straight away, the BDC can connect, your .NET app etc.

The fact it's supported and ready to roll makes it attractive :-)

Briefly the implementation details is that these 3 'adapters' are implemented as WCF Proxy Clients with a custom transport. Any application using these will essentially be calling a 'proxy' to a pretend WCF Service, where the 'Service' is the back end system with the WCF Transport implementing the appropriate features.

The word on the street about Pricing is that it will be under US$6000 and if you have BTS R2 with SA you get the adapter pack. For the rest of us, you need to weigh up the fact how long is it going to take you or your team to develop those adapters/connectors????. Licensing is per CPU.

Just to re-iterate, you do *not* need BizTalk in any version, any way shape or form to run this - you could run BTS Adapter pack from a console app.

Monday, February 11, 2008 4:43:59 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | MOSS | Tips
# Saturday, February 09, 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+ students........worried....hmmm.....love a helper or 10!

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

Mick.

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

Hi, (add our next meeting straight to your calendar)

Wow!! I’m back on deck (and in Sydney) and rearing to go into 2008.

Some thoughts on 2008!
The world of BizTalk this year is certainly looking great with many opportunities emerging and (from what I see) our market solidifying the need to be better connected.

As part of our BizTalk User Group I’m aiming to equip you the best with the best knowledge and provide a great network of fellow BizTalkers!

Being proficient in BizTalk from a technical, system architect, soa expert etc., is not only knowing BizTalk but also the surrounding systems (MS based or not).

The BizTalk Team is now part of (has been for a while J) the Connected Systems Division (CSD) which includes .NET Framework, WF and WCF technologies. As BizTalk evolves this year more remedial ‘stuff’ will be pushed down into the .NET Frameworks 3.5+ (4.0+), freeing BizTalk up for some super cool stuff on top of the .NET Framework.

You can expect us to cover technologies and topics such as:

(1)   64-bit BizTalk Computing – getting the most out of it.

(2)   Essential BizTalk Solution Testing with BizUnit.

(3)   How can Windows Workflow help in a BizTalk world.

(4)   The BizTalk Adapter Pack – unearthed.

(5)   Developing practical solutions with BizTalk RFID.

(6)   Integrating BizTalk and WSS/MOSS using the Sharepoint Adapter

....plus a whole lot more.....these meetings will be for FREE (I get alot of questions on that one)

BizTalk Scene – What’s been happening lately

There’s always alot going on, it’s a matter of summarising it for you.

(1)   {Heroes Happen} with the Wave2008 launch (SQL2008, VS2008, Win2008) – I’ve got 30GB worth of VPCs, Hands On Labs and learning material on getting you across the new releases – jammed packed technical information. I will provide a LOAD FEST at our meetings for you – bring a removable drive and it’s yours J

Also as part of the ‘Wave2008’ launching Andrew Coates (MS DPE) has thrown down the gauntlet to the user group to help get you CERTIFIED. Basically if you pass a MCP exam, MS will give you 1 freebefore May 1!!!
J

The BizTalk exam (or any other) awaits you!
(If enough people are into it, we’ll have another exam cram night
J - let me know)

(2)   BizTalk RFID World Wide Solution Days – conference being held in Redmond(MS HQ) in a couple of weeks.
Yours truly will be running the training there with our BizTalk RFID Course....wish me luck, last count I have 80 students.....

Watch this space.

(3)   Labs.BizTalk.net – service broker service – if you haven’t seen this, have a look at a future glimpse of the next BizTalk.

(4)   Volta – a draft technology from MS that allows for the distribution of solutions via attribute tags on classes etc. ....stay tuned on that.

(5)   A ‘Multi-touch Surface’ back in 2006 pre Microsoft Surface and pre Google Earth – just a fascination of mine J

(6)   ESB Guidance kit for BizTalk 2006 – Microsoft Guidance kit. Handy to keep for the buzz word of the time.

 

What is in store for our Feb 27th Session

Where:
Microsoft, North Ryde
1 Epping Road

When:
6pm - Beer + Pizza
6.30pm - Kick off
Feb 27th 2008
(add our next meeting straight to your calendar)

-          LOAD FEST going on in the background.

-          TOPIC THIS MONTH: What can the .NET Framework 3.5 do BizTalk environments.

 

Presenter: Mick Badran (aka me) – MVP BizTalk and experience in Biztalk since its inception (1999/2000).
Mick as extensive real world experience in BizTalk and integration

 

Session Outline

In this session we will be focusing on some new features in WCF Services and WF Services within the Framework.

1)      Writing Persistent WCF Services

2)      Building dynamic WCF Services

3)      Exploring the WCF Workflow Runtime class

4)      Calling .NET 3.5 code from BizTalk

 

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

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

Cheers,

Mick Badran (MVP - BizTalk) | Microsoft Readiness Instructor
Collaboration and Integration Specialist
Breeze Training Pty Ltd | m: +61 404842 833 | fx: +61 2 9362 4898
http://blogs.breezetraining.com.au/mickb

clip_image001

 

Saturday, February 09, 2008 12:37:56 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Usergroup | General
# Thursday, February 07, 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, February 07, 2008 6:47:22 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | RFID | General | Tips

In recent times the 'Connected Systems Division' (CSD) team have been talking about Oslo and the capabilities of a 'business process' modelling tool.

This is all very much on the round table discussion stage - but similar in concept to the modelling capable within VSTS.

You would 'create a model', deploy it to some runtime environment which would (if needed) pre-process and compile the bits into something runnable.

Essentially the model is key to this concept in both the design/development environments to the runtime/hosting type environments.

Well as a start along this path here's an article http://blogs.zdnet.com/microsoft/?p=1159 discussing a 'new' language 'D'

Enjoy.

p.s. D# is something totally fictitious as this point :)

Thursday, February 07, 2008 4:30:07 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | Insights | General
# Friday, February 01, 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....

DL_Provider_Binaries.zip (59.79 KB)
DLP_COM_Binaries.zip (69.19 KB)
LogViewer.zip (13.81 KB) - BizTalk RFID LogFile Viewer - can't leave home without this one :-)

Cheers,

Mick.
Friday, February 01, 2008 4:24:41 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
.NET Developer | BizTalk | RFID
# Friday, January 18, 2008

Happy 2008 all!

Enter BizTalk HotRod

As we know getting things done in BizTalk requires specific knowledge around specific areas with various tweaks here and there (e.g. creating a flat file schema that removes the field names in the first line).

Some folks at Microsoft have felt the same way and decided to kick off their shoes and embrace an alternative to a mid-life crisis and the temptation of a Harley around the world. Two Microsoft TS's are embarking on the trail.

They have created a BizTalk quarterly magazine filled with some fantastic tips'n tricks (e.g. creating pipelines to handle zip compression using Office OpenXML format) - and the language and format of the magazine suits me down to a 'T'. Very funny reading.

I look down the table of contents and it's got some great tips all in the one spot -to find this stuff elsewhere is going to take alot of time assuming it exists.

Check it out and see if it's worthwhile - it's currently free (you may see yours truly post an article there one day :)

BizTalk HotRod Magazine - "Where BizTalk meets the road"

 

Well done guys - well done!!!

Friday, January 18, 2008 1:55:12 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | TechTalk | Tips
# Thursday, December 20, 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.

MicrosoftBizTalkBlogs

We all display this logo on our site.

Here's the RSS Feed http://biztalkblogs.com/RssDoc.xml

Merry Christmas!!!!!

Thursday, December 20, 2007 5:25:04 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | RFID | TechTalk
# Saturday, December 08, 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'

Enjoy!

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

Rahul (MS BTS TS in our parts - great guy and is hugely knowledgeable in both Java integration technologies as well as MS) has been hard at work again weaving his magic... I just couldn't go past his post without sharing it with you guys.

Great step by step instructions Rahul!

Well done.

Friday, December 07, 2007 9:14:28 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | BizTalk | Insights | Tips

Finally the word on the street is out with Volta finally being announced (cool name).
volta

What is it? What can it do for me? (lately :-)

Here's an example scenario:
- you write a classic .NET Winform/Client App.
- put your 'Volta' hat on and nominate sections, routines etc. of your app and which tier/layer you would like the components/classes/sections to run on.
- You then nominate Web Layers or classic CLR client layers etc.
- Volta crunches your design and boom!!! You've got your SENSATIONAL multitier app from your original single whole app.

In fact - check out this great Walkthrough for the 'Hello World app'

You don't need to worry about app splitting yourself the Volta 'directives' do the work.

When I was at Uni this sort of thing was in an area of my studies (simplified and more specific though - nominating code sections to run concurrently across many distributed CPUs....yeah I know - I'll get back to some English).

Where is this going?
Did I tell you about the next version of BizTalk codenamed 'Oslo'....

My take is that this is (and this is purely just me kicking some tyres with you guys) that BizTalk vNext is all about Modelling. Having a central repository that holds all forms of 'models' that describes not only the process, design, test....but Volta is a preview on the 'deploy' aspect of these Models.

The important point in BTS vNext is that *it is the Model that is executed* not some result of a process that you've run a week ago on that model, otherwise these models get out of date quite quickly.

Here's the 'official Volta blurb'-
------------------------

On Wednesday, December 5th, Live Labs will announce Volta, an experimental developer toolset that enables developers to build multi-tier web applications by applying the familiar techniques and patterns of developing .NET applications.  In effect, Volta extends the .NET platform to further enable the development of software+services applications, using existing and familiar tools and techniques.  Similar to other technology previews from Live Labs, the purpose of releasing Volta as an experiment, allows for testing of the model with customers and partners in order to gather early feedback and continually influence the direction of Live Labs technologies and concepts.  In addition, where and how Volta will fit into a product roadmap is not the end goal, but rather to experiment with new alternative models to enable Microsoft to continue to be innovative in this new generation of software+services.

Volta Key Messages:

  • Volta is an experimental developer toolset that enables developers to build multi-tier web applications by applying the familiar techniques and patterns from the development of .NET applications.
  • Developers can use C#, VB, or other .NET languages utilizing the familiar .NET libraries and tools.
  • Volta offers a best effort experience in multiple environments without requiring tailoring of the application.
  • Volta furthers Microsoft's software+services efforts by making it easier to write and build multi-tier applications.
  • Volta automates certain low-level aspects of distributing applications across multiple tiers, allowing programmers to devote their creative energy to the distinguishing features of their applications.
  • Via declarative tier splitting, Volta lets developers postpone irreversible design decisions until the last responsible moment, making it faster and cheaper to change the architecture to accommodate evolving needs.
  • Through MSIL rewriting, Volta follows developer's declarations to turn a single-tiered application into a multi-tiered application, generating boilerplate code for communication and serialization.
  • Volta, like other technology previews from Microsoft Live Labs, is an example of the rapid innovation of web-centric technologies happening at Microsoft.
  • The purpose of the technology previews, such as Volta, is to test new technologies and product concepts with customers and partners and to gather early feedback to influence the direction of Live Labs projects.
Friday, December 07, 2007 11:48:51 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | BizTalk | General | Tips
# Thursday, November 22, 2007

I recently came across - Distributed Pub/Sub Project up on CodePlex (judging by its date/time stamp this project has been there for a little while)

What is interesting is to see where MS are looking to take these sort of systems and why - the whitepaper is a *must* read.

Coming from the land of BizTalk where we typically eat/sleep/breathe pub/sub - here is a 'new' prototype project designed at building a low latency distributed pub/sub eventing system (but I won't mention ESB .... I promise :) )

Check it out - I'd love to know your thoughts

Cheers,

Mick.

Thursday, November 22, 2007 4:56:41 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | General | Tips

http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en

Live and very available.

One of the biggest benefits I see is the WorkflowHostService class - a class that provides the glue between the WF world and the WCF world....very nice!

Enjoy!

Thursday, November 22, 2007 4:40:50 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | BizTalk | General
# Saturday, November 17, 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, November 17, 2007 9:30:55 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | RFID | General | Training
# Wednesday, November 14, 2007

Move over Thierry Henry(shame he's gone to Barca :), Kylie and U2..... make room for .NET 3.5 up on your wall.

The folks at MS have been super busy, while talking about what will be in .NET 4+ they release the posters.

Stay tuned for more!

Grab the .NET 3.5 Common Types and Classes

net3.5

Wednesday, November 14, 2007 3:03:55 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | BizTalk | General | MOSS | TechTalk | Tips
# Friday, November 09, 2007

I came across a previous comment on my blog from Thiago and noticed his sensational and very comprehensive article in setting up Load Gen on a BTS project (equipped with pictures!!!).

Grab LoadGen here

and check out his great Article here - ahhh if only all the manuals were this easy :)

Well done Thiago - keep it up!

Friday, November 09, 2007 8:21:17 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | General | Tips
# Thursday, November 08, 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.....)

Enjoy!

Thursday, November 08, 2007 6:09:21 PM (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.

 

Specifically:

  • 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.

Specifically:

  • 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.

Specifically:

  • 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
    (cool!)

 


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, November 08, 2007 4:07:21 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
BizTalk | RFID | General | Training

Nice post Dan and it's all true....wow what a roadmap from there until here, or then until now.
Hope you're all well and kicking goals like the Arsenal the Aussie rugby team smile_eyeroll.

I thought you should know.....recently announced at the big BizTalk conference known as the SOA and BPM conference at Redmond (put that in your wish list to attend - it would be great!) was the next version of BizTalk - vNext code named 'Oslo' (...checking the north wall.....kccck...clear!.....south....kccck...clear also).

Great to have a plan I reckon! So here's the low down of it.....

Oslo will be:

- timeframe 2009+

- services enabled and model driven

- Have the following components (at this stage):

  1. Built on .NET V4.0 framework
  2. Server - deeply integrated with WF and WCF to host 'stuff'
  3. Services - "BizTalk Services in the cloud stuff"
  4. Tools - vs.net "10", app lifecycle
  5. Repository - common across management, tools + runtime to manage the 'deployed' bits.



What to do from here - not too much at the moment. It's sort of a nice to know and for those keen at heart go and check out http://labs.BizTalk.net where the current offering is for BizTalk Services V1.0

Register and away you go! Brilliant.

Have fun!

Thursday, November 08, 2007 3:25:09 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | General
# Wednesday, October 31, 2007

Hey folks - I'm excited, as it's that time again.

Feels like ages since we last got together - at the launch :)

Full Details here - Sydney BizTalk User Group's Meeting tonight

See you TONIGHT :)

Wednesday, October 31, 2007 12:46:37 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Usergroup | General
# Friday, October 26, 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 program.....cool.......

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' .....you're away!

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

dlpReady

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

Hi guys, if you've ever embarked down the 'hey I want to monitor my bts system through Operations Center 2007', you'll realise that there is a fair conversion process to take the original BTS2006 MOM Pack from *.AKM format to the newer *.XML format.

Essentially you do:

1) Install a conversion tool on MOM 2005 SP1 machine

2) run the conversion process

3) take the exported file to your Operations Manager 2007

4) Import the *.XML to Ops Mgr 2007 to generate the classes.


Or........ you could download the ready made version - http://www.microsoft.com/downloads/details.aspx?FamilyId=389FCB89-F4CF-46D7-BC6E-57830D234F91&displaylang=en

Wow what a winner!!!!

Problem solved....... cross that one off the list smile_regular

Wednesday, October 17, 2007 3:59:57 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | General | Tips
# Tuesday, October 16, 2007

http://blogs.msdn.com/biztalk_core_engine/archive/2007/03/31/hidden-gem-in-biztalk-2006-r2.aspx

The instances table in the msgbox has a newly added column (in R2 only) to that shows the shape on where the Orch is blocked on.

So if there's a stack of Dehydrated Orchs in your system, you know what they are waiting on rather than use Orch Debugger.

Thanks Lee, you'll be missed!

Mick.

Tuesday, October 16, 2007 9:43:42 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips

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 Assemblies.zip (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)

Mick.


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

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!
http://blogs.msdn.com/biztalkrfid/archive/2007/09/28/other-biztalk-rfid-ers-in-blogosphere.aspx - 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, October 13, 2007 6:26:10 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Events | General
# Friday, October 12, 2007

A friend of mine Dan, gave a great recount of his very first experience with BizTalk when I came in and built a prototype in a couple of days (no pressure or anything - not that the business decision makers were watching over my shoulder at every move). Later I realised that Dan's company was doing the 'Pepsi' challenge on me, by giving Microsoft and the others a set of 25 tasks to do within the integration space.

No pre-canned demos, real live sink or swim stuff. Two days later I came out of the 'Tribal Council' with immunity and they had a great path forward. I then went on to help them with their actual implementations.

Dan recounts a little of this encounter here - http://techtalkblogs.com/blog/archive/2007/10/10/3221.aspx

Friday, October 12, 2007 6:29:04 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | General | Tips
# Sunday, October 07, 2007

Monitoring tends to be one of those areas that's overlooked until you hit Defcon 5 in production, servers are melting all over the floor, people are suddenly disappearing and cashing in on their time owing, and there's not one business process in site...... sound familiar?

I've always been fascinated at given the price of MOM (mega cheap) why people don't have effective monitoring solutions in place - it's not rocket science to setup.....or you could have the work experience kid watching the lights on the front of the servers to make sure they're on! :)

Here's some details from the R2 Management pack....check them out.

http://msdn2.microsoft.com/en-us/library/aa561939.aspx 

snippet of the msdn page - BTW at the bottom it mentions MOM2005, this will also work in Operation Manager 2007

------------------------------------------

Contents of the BizTalk Server 2006 R2 Management Pack

The Microsoft BizTalk Server 2006 R2 Management Pack enables you to:

  • Monitor BizTalk Server events.
  • Collect BizTalk Server-specific performance counters in one central location.
  • Raise alerts that require operator intervention.

The BizTalk Server 2006 R2 Management Pack contains rules that cover the following categories:

  • Availability Monitoring
    Availability monitoring rules monitor the availability of service from computers running BizTalk Server. Unavailability of the BizTalk Server service, receive locations, and databases are issues that cause the BizTalk Server service to become unavailable to a client or a user. Availability monitoring rules have names prefixed with "Service Unavailable.”
  • Health Monitoring
    Health monitoring rules monitor for different types of errors in BizTalk Server that require operator intervention. There are four types of health monitoring rules, which have names prefixed with "Error," "Critical Error," "Warning," and "Information:"
    • Error: Errors are events that usually represent processing problems with individual messages. In isolation they represent problems that can be rectified either at the sender end or the receiver end of a message transmission.
    • Critical Error: Critical errors represent events that indicate a significant problem has occurred. This can affect a large degree of functionality of BizTalk Server.
    • Warning: Warnings are typically problems that are intermittent in nature. They do not represent major problems in operation and may be considered lower priority compared to other alerts.
    • Information: Information alerts include information about BizTalk Server. These messages are neither errors nor warnings.
  • Utilization/Performance Tracking
    Utilization/performance tracking rules enable you to monitor the operationally relevant performance counters for BizTalk Server. These are divided into measurement rules and comparison rules.
Availability MonitoringAvailability Monitoring

The BizTalk Server 2006 R2 Core rule group contains the following rules to address availability monitoring, that is, monitoring related to whether BizTalk Server is currently operable, and able to process work. All of the rules are configured to suppress duplicate alerts for identical event content. This means that a repeat count will be incremented for a single alert rather than seeing multiple alert instances in the Microsoft Operations Manager 2005 Operator Console. This helps to avoid a flood of alerts that an administrator must deal with; too much information can be as problematic as too little. None of the rules contain automated responses, such as e-mail/pager notifications, though you can easily add these as needed.

Rule Name Enabled

Service Unavailable: A receive location is shutting down.

Yes

Service Unavailable: All receive locations are being temporarily disabled because either the MessageBox or Configuration database is not available.

Yes

Service Unavailable: BAM Portal cannot connect to Primary Import Database - Login failed.

Yes

Service Unavailable: BizTalk HTTP receive adapter failed to initialize itself.

Yes

Service Unavailable: Error connecting to the BAM Primary Import Database - Db not found.

Yes

Service Unavailable: Failed to connect to BizTalk Management database.

Yes

Service Unavailable: Failed to initialize UPM profile context.

Yes

Service Unavailable: The Messaging Engine could not contact the SSO server.

Yes

Service Unavailable: The Messaging Engine encountered an error initializing a receive adapter.

Yes

Service Unavailable: The Messaging Engine failed to initialize a transport adapter.

Yes

Health MonitoringHealth Monitoring

The BizTalk Server 2006 R2 Core rule group contains the following rules to address health monitoring, that is, monitoring related to various non-fatal failure modes. Typically, the situation may be isolated to individual interchanges or may possibly resolve itself. The BizTalk Server service is still, in some capacity, able to process work. The primary intent of these rules is to provide operations staff with information relating to messages that are stuck in the system and that require manual intervention of some sort, and to give them the information required to rectify the root problem.

All of these rules are configured to suppress duplicate alerts for identical event content. This means that a repeat count will be incremented for a single alert rather than seeing multiple alert instances in the Microsoft Operations Manager 2005 Operator Console. None of the rules contain automated responses, but you can easily add such responses if necessary.

Rule Name Enabled

Consolidate Inbound Message Rejected on Authentication Failure

Yes

Critical Error: A BizTalk host instance has stopped and is not processing information.

Yes

Critical Error: A BizTalk subservice has failed while executing a service request

Yes

Critical Error: A stored procedure call failed.

Yes

Critical Error: Monitor BizTalk NT Service Availability

Yes

Critical Error: The Messaging Engine failed to register an adapter.

Yes

Critical Error: The Messaging Engine failed to retrieve the configuration from the database.

Yes

Critical Error: The MSMQT subservice failed to start because Windows MSMQ service is running on the computer.

Yes

Error connecting to the BAM Primary Import Database – DB server not found

Yes

Error: A message going to a one-way send port is being suspended. The send port configuration corresponding to the message was not found.

Yes

Error: A receive location is invalid or incorrectly configured.

Yes

Error: A response message is suspended.

Yes

Error: An adapter raised an error during message processing.

Yes

Error: An attempt to connect to a BizTalk database failed.

Yes

Error: An outbound message is being suspended by the adapter.

Yes

Error: BAM Interceptor detected a SQL Exception

Yes

Error: BAM Portal Encountered Internal Server Error

Yes

Error: BAM Portal Encountered Internal Server Exception - Web Services may have received badly-formatted requests

Yes

Error: BAM Technical Assistance Required

Yes

Error: Connection to a SMTP host failed

Yes

Error: Error connecting to the BAM Primary Import Database - Referenced DB not found

Yes

Error: Failed to archive the processed message.

Yes

Error: Failed to delete processed message

Yes

Error: Failed to un-mark the file

Yes

Error: FILE-Receive-Message Suspended

Yes

Error: FTP-Receive-Message Suspended

Yes

Error: HTTP-Receive-Message Suspended

Yes

Error: Invalid IC Schema Error

Yes

Error: Messaging Engine has suspended a message. Failed to correlate a response message to an existing request message.

Yes

Error: MQSeries-Receive-Message Suspended

Yes

Error: MSMQ-Receive-Message Suspended

Yes

Error: Orchestration instance suspended due to errors, needs manual intervention

Yes

Error: POP3 adapter could not authenticate to the server using supplied credentials

Yes

Error: POP3 adapter could not establish connection with the POP3 server

Yes

Error: POP3-Receive-Message Suspended

Yes

Error: SMTP send adapter could not authenticate with the SMTP server

Yes

Error: SOAP-Receive-Message Suspended

Yes

Error: SQL-Receive-Message Suspended

Yes

Error: The FILE send adapter cannot open file for writing.

Yes

Error: The host instance failed to connect to the BizTalk Configuration database.

Yes

Error: The HTTP send adapter cannot connect to the remote server.

Yes

Error: The Messaging Engine is dropping the message due to an authentication failure.

Yes

Error: The processed file is either read-only or a system file.

Yes

Error: There was a failure executing a receive pipeline at an http receive location.

Yes

Error: There was a failure executing a receive pipeline.

No

Generic Error: All error events from BizTalk Server 2006

No

Generic Information: All information events from BizTalk Server 2006

No

Generic Warning: All warning events from BizTalk Server 2006

No

Information: A BizTalk Server Host Instance Windows Service Has Stopped

No

Information: Mismatched Interceptor Configuration

Yes

The Messaging Engine has suspended one or more inbound message(s).

No

The Messaging Engine has suspended one or more outbound message(s).

No

There was a failure executing a send pipeline.

No

There was an error executing a pipeline component.

No

Warning: Cube DTS has not been run

Yes

Warning: FILE receive adapter cannot reach a receive location due to network problems

Yes

Warning: TDDS failed to batch execution of streams

Yes

Warning: The Messaging Engine encountered an error publishing a batch of messages.

Yes

Utilization/Performance TrackingUtilization/Performance Tracking

There are two types of performance rules within MOM: measurement rules and comparison rules. Measurement rules gather data from Microsoft Windows performance counters, or other data sources, with a specified sampling rate between 5 and 15 minutes and store the data for historical analysis. Comparison rules allow actions to be taken and alerts to be raised when a given performance value varies by a specified threshold from expected values, which can include averages of past samples. Some of the comparison rules require customization based on your particular environment. In addition, you can change the default sampling rates as needed based on your environment.

The table below shows the performance rules for the BizTalk Server 2006 R2 Core rule group.

Note
All of the counter values for the BizTalk Tracking Data Decode Service (TDDS), otherwise known as the BAM Event Bus Service, performance object are stored with 15 minute samples.

Note
Within the XLANG/s Orchestrations performance object, all counters are stored with 15 minute samples, except the following: Megabytes Allocated Private Memory, Orchestrations Created, Orchestrations Created/sec.

Measurement Rule Name Enabled

BizTalk Messaging Active Receive Locations

Yes

BizTalk Messaging Inbound Latency

Yes

BizTalk Messaging Outbound Latency

Yes

BizTalk Messaging Request-Response Latency

Yes

BizTalk Messaging Request-Response Timeouts

Yes

BizTalk: WSS Adapter % Web Service Call Failures

No

BizTalk: WSS Adapter Total Receive Commit Failures

Yes

BizTalk: WSS Adapter Total Receive Message Failures

Yes

BizTalk: WSS Adapter Total Received Messages

Yes

BizTalk: WSS Adapter Total Send Message Failures

Yes

BizTalk: WSS Adapter Total Sent Messages

Yes

BizTalk: WSS Adapter Total Web Service Call Failures

Yes

BizTalk: WSS Adapter Total Web Service Calls/sec

Yes

BizTalk:TDDS Total Events

Yes

BizTalk:TDDS Total Records

Yes

BizTalk:TDDS-Total Failed Events

Yes

CPU Usage BizTalk Machines

Yes

CPU Usage BizTalk Server Process

Yes

CPU Usage BizTalk Server Processes

Yes

CPU Usage BizTalk Servers

Yes

Documents processed

Yes

Documents processed/sec

Yes

Documents received

Yes

Documents received/sec

Yes

Documents suspended

Yes

Documents suspended/sec

Yes

FILE receive Adapter Bytes

Yes

FILE Receive Adapter Bytes/Sec

Yes

FILE Receive Adapter Messages Received / Sec

Yes

FILE Receive Adapter-Messages received

Yes

FILE Send Adapter Bytes

Yes

FILE Send Adapter Bytes/Sec

Yes

FILE Send Adapter Messages Sent / Sec

Yes

FILE Send Adapter-Messages Sent

Yes

FTP Receive Adapter Bytes Received

Yes

FTP Receive Adapter Bytes Received/sec

Yes

FTP Receive Adapter Messages Received

Yes

FTP Receive Adapter Messages Received/Sec

Yes

FTP Send Adapter Bytes

Yes

FTP Send Adapter Bytes/Sec

Yes

FTP Send Adapter Messages Sent

Yes

FTP Send Adapter Messages/Second

Yes

Host - Instance State Message References - BizTalkServerInProcessHost

Yes

Host Queue Size - All BizTalk Hosts

Yes

Host Suspended Queue Size - All BizTalk Hosts

Yes

HostQ - Instances - BizTalkServerInProcessHost

Yes

HTTP Receive Adapter Messages Received / Sec

Yes

HTTP Receive Adapter Response Messages Sent / Sec

Yes

HTTP Receive Adapter-Messages received

Yes

HTTP Receive Adapter-Response Messages sent

Yes

HTTP Send Adapter Messages Received

Yes

HTTP Send Adapter Messages Received/Sec

Yes

HTTP Send Adapter Messages Sent/Sec

Yes

HTTP Send Adapter-Messages Sent

Yes

ID Process

Yes

Logical Disk %Free Space BizTalk Servers

Yes

MessageBox databases connection failures

Yes

MessageBox Dead Processes Cleanup

Yes

MessageBox Instances Size

Yes

MessageBox Msg Cleanup

Yes

MessageBox Parts Cleanup

Yes

MessageBox Spool Size

Yes

MessageBox Tracked Message Copy

Yes

MessageBox Tracking Data Size

Yes

MSMQ Receive Adapter Bytes Received

Yes

MSMQ Receive Adapter Bytes/Sec

Yes

MSMQ Receive Adapter Messages Received

Yes

MSMQ Receive Adapter Messages Received/Sec

Yes

MSMQ Send Adapter Bytes Sent

Yes

MSMQ Send Adapter Bytes/Sec

Yes

MSMQ Send Adapter Messages Sent

Yes

MSMQ Send Adapter Messages Sent/Sec

Yes

Orchestrations completed

Yes

Orchestrations completed/sec

Yes

Orchestrations Created

Yes

Orchestrations Created/sec

Yes

Orchestrations dehydrated

Yes

Orchestrations dehydrated/sec

Yes

Orchestrations discarded

Yes

Orchestrations discarded/sec

Yes

Orchestrations rehydrated

Yes

Orchestrations rehydrated/sec

Yes

Orchestrations resident in-memory

Yes

Orchestrations suspended

Yes

Orchestrations suspended/sec

Yes

Orchestrations-% used physical memory

Yes

Orchestrations-Database transactions

Yes

Orchestrations-Database transactions/sec

Yes

Orchestrations-Dehydratable orchestrations

Yes

Orchestrations-Dehydrating orchestrations

Yes

Orchestrations-Idle orchestrations

Yes

Orchestrations-Megabytes allocated private memory-<All>-15.0-minutes

Yes

Orchestrations-Megabytes allocated virtual memory

Yes

Orchestrations-Pending messages

Yes

Orchestrations-Pending work items

Yes

Physical Disk %Idle Time BizTalk Servers

Yes

Physical Disk Average Disk Queue Length BizTalk Server

Yes

POP3 Receive Adapter Active Sessions

Yes

POP3 Receive Adapter Bytes Received

Yes

POP3 Receive Adapter Bytes/Sec

Yes

POP3 Receive Adapter Messages Received

Yes

POP3 Receive Adapter Messages Received/Sec

Yes

Runnable orchestrations

Yes

Running orchestrations

Yes

SMTP Send Adapter Messages Sent

Yes

SMTP Send Adapter Messages Sent/Sec

Yes

SOAP Receive Adapter Messages Received

Yes

SOAP Receive Adapter Messages Received /Sec

Yes

SOAP Send Adapter Messages Sent

Yes

SOAP Send Adapter Messages Sent/Sec

Yes

SQL Receive Adapter Messages Received

Yes

SQL Receive Adapter Messages Received/Sec

Yes

SQL Send Adapter Messages Sent

Yes

SQL Send Adapter Messages Sent/Sec

Yes

Comparison Rule Name Enabled

Monitor Host Suspended Q Size

No

Monitor HostQ Size

No

Monitor HostQ Size - BizTalkServerApplication

No

Monitor MessageBox Instances Size

No

Monitor MessageBox Spool Size

No

Monitor MessageBox Tracking Data Size

No

Total Failed BAM Events During Flush

Yes

Total TDDS Events Failed Exceeded Limit

No

Total TDDS Failed Batches Exceeded Limit

No

Warning: BizTalk Throttled on High Database Size for a significant period

Yes

Warning: BizTalk Throttled on High Inprocess Message Count for a significant period

Yes

Warning: BizTalk Throttled on High Process Memory for a significant period

Yes

Warning: BizTalk Throttled on High Thread Count for a significant period

Yes

Sunday, October 07, 2007 5:44:06 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | General
# Friday, October 05, 2007

I recently came across this and thought I'd share it with you - keep it handy for those planning meetings :)

Microsoft BizTalk Server 2006 R2  Editions - Comparison Chart

SKUs

Microsoft BizTalk Sever 2006 R2 Editions

 

Enterprise

Standard

Branch

Developer

Primary Scenario

Designed for customers with enterprise-level requirements for high volume, reliability, and availability

Designed for businesses with moderate volume and deployment scale requirements

Specialty version of BizTalk Server designed for hub and spoke deployment scenarios

Available for development and testing purposes, and BizTalk Server 2006 Evaluation Edition (EVAL) is for free evaluation purposes

License

Per processor basis

Per processor basis

Per processor basis

Per processor basis

Price (in US Dollars)

$30K per proc

$8.5K per proc

$1.8K per proc

$500 per proc
(free with MSDN Universal)

Functionality

Complete EAI, B2B, and Business Process Management functionality

Complete EAI, B2B, and Business Process Management functionality

Subset of BizTalk Server functionality appropriate for intra-enterprise hub-and-spoke scenarios

Complete EAI, B2B, and Business Process Management functionality

Accelerators

Includes all vertical industry accelerators (RosettaNet, HIPAA, HL7, and SWIFT)

Includes all vertical industry accelerators (RosettaNet, HIPAA, HL7, and SWIFT)

-

Limited solely to designing, developing, and testing solutions

Adapters

Includes all current and new application and technology adapters

Includes all current and new application and technology adapters

-

Includes all current and new application and technology adapters

RFID

Includes BizTalk RFID

Includes BizTalk RFID

Includes BizTalk RFID

Includes BizTalk RFID

Host Integration Server (HIS)

Includes Host Integration Server 2006 Server Edition

Includes Host Integration Server 2006 Server Edition

Includes Host Integration Server 2006 Server Edition

-

Applications

Unlimited

Five

One

Unlimited

Failover

Scale out/failover multiple message boxes

-

-

Non-production (must participate in the ISV Royalty Program to sell these SKUs)

Maximum Processors

Unlimited

Two

Two

Not Applicable

Virtual Processors

Unlimited

-

-

-

Friday, October 05, 2007 7:30:03 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | General | Tips
# Thursday, October 04, 2007

It’s been a little while since we’ve got together with TechEd, APEC + the launch of R2...but I’m pretty certain we’re all in a great space going forward J

The launch of BizTalk 2006 R2 was a pretty special event. – What’s new in R2 (ms technet article) for more info.

Big thanks to those of you that came along, hope you got alot out of it (not to mention a copy of Vista Ultimate).
What was the best part for you? For me personally was the fact that so much of the BizTalk product team made the trip across and was there. There to talk to and listen. Hope you had an opportunity to make the most of that.

What’s cooking this month for the group?
You may remember before the launch I had lined up a session on Designing and Building a Reusable BizTalk Framework.

I also want to kick some tyres with you guys and hear how things are progressing along your BizTalk (+ related) journey

Main Event on the night:
- Designing and Building a reusable BizTalk Framework(in R2)

BizTalk 2006 R2 is almost upon us, so this month we’re going to cover a couple of important areas:
1. Designing and develop a reusable BizTalk Framework. This approach will allow you to leverage previous investments within your company’s BizTalk implementations. There are huge benefits in being able to re-apply existing BizTalk applications that have been tested and are known quantities within your solution. The solution we will examine together will leverage EDI/AS2 document processing as well as XML Messaging solutions involving various Messaging Patterns (e.g. Request/Response).
This solution is based on a ‘Process Manager’ Pattern and it’s something I’ve refined over the last 2 years of experience on the coal face.

Meeting details:

When: Oct 31, Food at 6pm, kick off 6.30pm. Finish up around 8pm.
Where: Microsoft
1 Epping Road
Riverside Corporate Park
North Ryde NSW 2113 Australia.
(parking available)
Speaker: Mick Badran (your trusty User Group Host)

Add to your calendar from HERE

Reusable Framework Focus Details:
Come and see how to ‘dynamically’ wire your BizTalk Solutions based on message content, rules or specific environmental properties. Being able to accept a wide array of message types is another key element in making these solutions successful.

What’s happening in the BizTalk Community:
BrizTalk.Org – the Brisbane BizTalk user group is always full of new ideas – Dan up there is always doing a great job.
MelBiz.Org – the Melbourne BizTalk user group run by Bill Chesnut (fellow BizTalk MVP) is always doing great things down there.
If you’re in their areas you’re always welcome to pop along.

Share the User Group Soap Box:
I always welcome a new voice and ideas at our group – if you want to share your experiences, thoughts, “I wish I can do..... for my solution...”. Then contact me and I’ll be more than happy to slot you in.
Q. Do you need to have presentation skills: No (just look at me) – can you tell a story in the office or at the pub? Or at a 3 yr old b.day party? – then I want you.
Q. Do I need a PowerPoint Slide Deck? – no!!! *death by powerpoint* is a painful way to go......
Q. Can you capture my ‘best’ side? We take you whichever way you are. J

We’re up for a great night – come along and learn how to make your BizTalk solutions go a long way.
(p.s. Warning: If you’re a *
consultant* this session may reduce you to tears J)

See you there and let me know your coming
Mick (mb: 0404 842 833)
http://sydbiz.org


Thursday, October 04, 2007 10:46:58 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Usergroup | Events
# Tuesday, September 25, 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 of......to 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 -

Enjoy!!!!

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

Hands up who's feeling like a second class citizen? R2 launched weeks ago.

Where's the version I can sink my teeth into??

The 120 day Trial Edition is so yesterday....so what's cooking....???

The MSDN Developer edition will be available on/from Wed 26th (US Time),

so Thurs morning or so for us.

Tuesday, September 25, 2007 11:17:00 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Tips
# Friday, September 21, 2007

In transit with a little time to spare I thought I'd share some thoughts around an area that is set to boom in the near future - 'Business Activity Monitoring'

I know you must be thinking - What? why? who....? what's Mick on about.

Let's have a quick chat on my thoughts:

  1. Within the next 3 yrs there is going to be even less 'custom raw code' being written and more 'integration code' within the MS product stack. Of course there will be specific needs, but in general across the board for business related applications - why build it from scratch? will be the reasoning.

    We can see this today heavily with the Sharepoint boom - why build an ASP.NET app when you can plug your bits into a WSS V3.0/ASP.NET app?

    Many other products such as OCS, Speech Server, MOSS etc etc. are all conducive to integration code. (If you don't have to write 20 000 lines of code - integrate and customise and write 2000. But us developers want to do everything by hand....so in some ways, we're our own worst enemy)

    It would not be uncommon to have several products making up a solution.

    How do we keep an eye on that? (We could send the work experience kid around the the servers to make sure they are all running well? but how many work exp. kids do we have?)
  2. BizTalk Services - if we look at the increasingly important role that BizTalk is playing within organisations in providing THE Application Server where WCF Services, Business Processes etc can all be hosted within. Out of the box slicing and dicing of load/capacity and so on. (It will be an interesting time when the finer details are nutted out with IIS 7 WAS - who does what)

    As we start building all sorts of systems that require point to point or connectivity between the components, typically we would look to WCF to provide that glue while conforming to standards (e.g. WS-*) future proofing extensions.

    We would then need to house those WCF Services and IIS could be an option...... BTS provides fault tolerance and durability around these services as well.

    BTS provides not only connectivity at the transport level, but also at the application level such as SAP, Siebel.... all out of the box. Being able to consume, transform and publish services/information at all these levels is one of the things that BizTalk does very well!

    Looking into BizTalk Services - things like 'Event buses' and 'Subscribing' to these events seem to be possible. These may span end-to-end on the enterprise so departments will be able to do their own local processing from a 'corporate received event' (just my thoughts at this point) - similiar to MSMQ technology, but with ALOT more functionality.
  3. Ok - onto the chase....(just had to go and pick my mobile up in the airport lounge - left it somewhere....head's not screwed on right :)

    So in essence looking within the next 3 years, systems will be made up of many disparet sub-systems each - we need to get a view of "How are we going?" (in a business context - not the flux capacitor is running well)
  4. Enter BAM (BizTalk) - Business Activity Monitoring:
    1. Allows for the creation of 'SQL OLAP Cubes' from Business Key Performance Indicators (a business person *can* sit down in Excel and define all these numbers - except my winning lotto numbers...I'm still waiting :) - then hand them the BAM and boom! a cube is born.

      This is the way *it MAY* be pitched - but my experience is that it's a Techo that does it - with the business person looking over the shoulder.)

      e.g. Order Total, Order Time Taken, Order Average Fulfillment Time, Order Destination.
    2. We can populate these cubes (& their values) from WF Workflows, custom .NET code, Business Rules, BizTalk and WCF Services.

      That friends is the missing piece to the puzzle. So as your system is crunching away, business intelligence is obtained from the working system in the context that you specify (a fancy way of saying - your business values).

      The capture of this information is done through BAM Interceptors (different flavours depending on if it's a Biztalk process, WF Workflow, WCF Service, Buffered, Direct...)

      The cool thing is that BAM databases can be aggregated etc. So we may have a business process running in Perth and a similiar in Syd with the end result being viewed in Melb.

      All in all - we're in a cube. All the existing BI tools can hook into the Cube as per normal.
    3. How can I interpret and work with my cubes? I've heard MOSS has 'dashboards' and other things that may help me......

      ENTER THE DRAGON......no I meant to say "Performance Point" (what a great movie that was!)

      Perf. Point is driven out of MOSS (perfect for the whole sharing/caring/collab world that Sharepoint pushes - alerts/presence info etc etc)

      It provides intelligence and the ability to forecast/plan/manipulate information from many different sources of which BAM is one. Perfect - you're very own rockect scientist on call.

      You business processes is just another area that plugs into this :)
    4. Tying it all together in a nutshell.....
      systems - more integration code, less custom code/app silos -> complex solutions comprising of many components -> how to intelligently track/monitor -> BAM -> BAM -> Cube(s), easy, distributable -> Perf Point, MOSS based very easy

      If I was a partner and wondering what technology to get into right now.....apart from BizTalk R2 :)..... gotta be Perf. Point -> 18 months time, you won't have enough perf. point people! :)

      Enjoy your Friday folks!

Friday, September 21, 2007 10:47:13 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | General
# Sunday, September 16, 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 shortly....it 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, September 16, 2007 12:36:12 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | RFID | Events | General
# Wednesday, September 05, 2007

I got an interesting piece of BizTalk trivia for you all from folks at Corp........

Factoid

Source

12 of the 15 largest Retailers in the World run Microsoft BizTalk

Elsevier Food International, September 2006 (sourced from PlanetRetail database)

5 of 10 largest Hotel Chains in the World with over 2 Million rooms use Microsoft BizTalk

Hotels Magazine, July 2007

6 of the 8 largest U.S. Pharmacuetical Companies use Microsoft BizTalk

Fortune 1000 by Industry, April 30, 2007

4 of the 5 largest U.S. Electronics Parts Manufacturers use Microsoft BizTalk

Fortune 1000 by Industry, April 30, 2007

9 of 10 largest U.S. Telecommunications Companies use Microsoft BizTalk

Fortune 1000 by Industry, April 30, 2007

9 of the 10 largest Aerospace and Defense Companies in the U.S. run Microsoft BizTalk

Fortune 1000 by Industry, April 30, 2007

5 of the 8 largest U.S. Chemical Companies run Microsoft BizTalk

Fortune 1000 by Industry, April 30, 2007

4 of the 5 largest Railroads in the U.S. run Microsoft BizTalk

Fortune 1000 by Industry, April 30, 2007

9 of the 10 largest Insurance Companies in the World run Microsoft BizTalk

Insurance Information Institute (from Fortune Global 500 data)

23 of 27 EU member governments use Microsoft BizTalk to provide more efficient government services

European Union web site



The only thing I say is ...... "What am I doing wrong" :)

Wednesday, September 05, 2007 2:14:31 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | General | Tips
# Monday, September 03, 2007

Some information I got just recently is that MS will be locked down for during APEC.

So I guess......there's no user group there this week......

BUT......we've moved it

At the R2 Launch(14th Sept) we'll having a *special session* at the end of the day in Darling Harbour - with members of the product team.

See you there for a great Q&A Session with the Product team.
 

Monday, September 03, 2007 4:37:41 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Usergroup | Events | General

Some information I got just recently is that MS will be locked down for during APEC.

So I guess......there's no user group there this week......

BUT......we've moved it

At the R2 Launch we'll having a *special session* at the end of the day in Darling Harbour - with members of the product team.


 

Monday, September 03, 2007 4:30:19 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Events | Usergroup
# Friday, August 31, 2007

The ever vibrant Andrew Coates pinged me an email yesterday asking for my involvement in becoming a TechTalk Blogger........

I'm currently on this Island called 'Hamilton' at a 'Partner' Conference (yeah right!!! :)) so naturally I said 'yes!' (not too many people are saying 'no' around here)

I've got some great stories around RFID, BizTalk R2 and obvious integration into WSS/MOSS and what that means.

Hope you're going to join me on a great journey together! Gotta dash the scuba diving boat is waiting for me... (erm...the next 'partner activity')

Mick. 

Friday, August 31, 2007 11:57:01 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Events | General | MOSS | TechTalk
# Monday, August 27, 2007

BizTalk 2006 R2 when installing the EDI/AS2 component (or when re-installing), sometimes there are some SSIS packages/jobs left that need to be manually deleted

My good mate Rahul has entered the world of blogging!!! and has blogged about this very issue and what he did to get around it.

Well done Rahul!!!!

Also I might add upon  a reinstall of BTS 2006/R2 sometimes there are the BAM Alerts notification service instance left over as well - that typically needs to be manually removed from within the Sql Workbench.

Enjoy

Monday, August 27, 2007 12:01:36 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | General | Tips
# Saturday, August 25, 2007

The other day I came across a great MSDN article that explains how to do this across all the BTS Services from SSO through to the rules engine.

http://msdn2.microsoft.com/en-us/library/aa561505.aspx

Saturday, August 25, 2007 7:37:48 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | General | Tips
# Friday, August 24, 2007

The launch has been set and I couldn't have it better as the BizTalk World Wide launch is based in Sydney!!! Cool.

The Event is Free and would be a great chance for you to come on down and talk to members from the BizTalk Product Group that are flying over.

We'll all be there and looking forward to the event.

Remember that an upgrade path exists from 2004, 2006 and 2006 R2 B2 to the release of BTS.

Register here - R2 Event

Friday, August 24, 2007 7:18:56 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Events
# Wednesday, August 22, 2007
Folks, I know we're all interested in the next and latest release of BizTalk R2.

The big question is - "What will happen to my existing setup?".

The answer is - "R2 has a 'Wizard based upgrade' that will upgrade from 2004/2006/2006R2 Beta 2".....so things going to plan all bases will be covered :)

We'll have to wait and see....

Wednesday, August 22, 2007 8:21:43 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | General | Tips
# Monday, August 13, 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 demos.zip


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

Well firstly what a fantastic TechEd and all my 3 sessions went very well (with respect to all the demos - 15 in ONE day! :)



For this session - CON308 Building an Enterprise-Wide Instrumentation Solution Using the Microsoft BizTalk BAM Infrastructure 
I had the pleasure of Rahul Garg our great local Microsoft BTS TS. I had the pleasure of being his first ever Microsoft presentation (virgin presenter).

So to set the scene - we discussed earlier that during the session we would both be up on stage together and he would do a bit (20 slides) and I would do a bit (15 sldies) then a demo. He was driving my slides (i.e. moving next through them while I was talking)

To add a small amount of spice to the session I decided to *hide* a BSOD slide I made in the middle of my part of the deck. This came up when Rahul was driving up on stage - worked a treat! Very funny BSOD Slide.pptx (361.73 KB)



Rahul took it like a pro and the folks in the room loved it - this came up when Rahul was hiting next through my slides.
Slide deck: CON308_MickRahul_BAM.v1.1.pdf (1.54 MB)

The Demo:  (all TechEd2007_Demos.zip (7.25MB))
Essentially the whole running system reported back to the following Vista Desktop Gadget - green light, orange light, or red.
image

We did an End to End Demo of BAM + a WF exposed via a WCF Service which highlighted the following technologies:

  1. Simple BRE call
  2. Dynamic Party Resolution with Role Link Shapes
  3. Dynamic Send Ports + Correlation.
  4. Publishing Orchestrations as an Isolated WCF Service (+ also a one-way WCF WebService)
  5. BAM - Activities, Views + the BAM Portal
  6. Publishing BAM data from Windows Workflow
  7. Intermixing BAM Tracking Profile Editor (TPE) and BAM APIs within an Orchestration.
  8. Creating Alerts, Subscribing to Alerts and using a Vista Gadget to reflect the state of the System.
  9. WF BAM Interceptor Configuration file

Here's the Orchestration that drives it all - takes an OrderProcess Request in, then sends it to the resolove Supplier through a Role Link shape and waits for the return call via the one way WCF WS.

In the interim the Supplier calls a WF Workflow to help their process and returns the results back to BizTalk.

BizTalk

The Client application (that is the first to iniate the whole process)
Client

The supplier fulfills the request via a WF and returns the results back to the client (in the received section above)
Supplier 

The supplier's Workflow that basically assigns the FulFilled and Comments elements depending on the Total of the Order.
It's all pretty simple stuff here, just illustrating a concept - this workflow is hosted within the Supplier WinForm application.
Workflow

image

Sunday, August 12, 2007 10:43:45 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | TechEd
# Sunday, August 05, 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, August 05, 2007 11:31:55 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | RFID | General
# Wednesday, August 01, 2007

Hey folks, I've been flat chat lately burning the candle at both ends getting ready for my sessions at TechEd/Deep Dives.

In a *spare* moment - I am asked to do a Channel9 GeekSpeak session - talking about Workflow and BizTalk Integration.
(I've had my xbox360 confiscated for 1 month to help me get through this month - that's a story for another time :)

This session is on tomorrow morning - so for those of you feeding babies, can't sleep etc. I'd love to have you along for moral support as this will be my very first session in Geek Speak.

So if you're up for a 5am - 6am start Thursday morning I'll see you there. Put something Aussie in your nick name!

Update: The Results have come in.......well this was done at 4am my time in the morning and all I can say is thanks to the folks that attended for being understanding :)

Customer satisfaction scores are based on a scale from 0 to 9 points.  
The average score for a webcast is 7.8.

Usefulness of Information:
8.0
Speaker Presentation Skills:
7.8
Effectiveness of Demonstration:
8.0
Overall Presentation Rating: 7.8

Link to see the webcast over and over again
 Looks like I got around the average at 4am in the morning.....I'm amazed I even made sense!!!:)

Wednesday, August 01, 2007 9:19:50 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | Insights | Events | WinWF
# Thursday, July 12, 2007

There's the whole suite of products on here now! From 2004 to R2 (you thought I was going to say BTS2000!!!! ....I try to push that out of my mind)

http://www.microsoft.com/biztalk/evaluation/roadmap/default.mspx

Thursday, July 12, 2007 3:41:39 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | General | Tips
# Wednesday, July 11, 2007

Whether it's BTS04 or 06 - you can always generate the schema behind the magical binding file from the following command (courtesy of Mark Berry):

xsd.exe "C:\Program Files\Microsoft BizTalk Server 2006/Microsoft.BizTalk.Deployment.dll" /type:BindingInfo

-Mark Berry

Pretty cool - thanks Mark. (obviously change '2006' to '2004' if on BTS 2004)

 

You now have an XSD that corresponds to all the options in your Binding File.

Enjoy!

Wednesday, July 11, 2007 3:51:27 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | Insights | Tips
# Saturday, June 30, 2007

Wow what a night planned!!! WF 101 (even good for managers! :)); BTS hosting WF and making it all happen under BizTalk Labs (that's next after R2)

Check it out and looking forward in seeing you there......

-------- Details ---------

Examine Windows Workflow talking to BizTalk R2 and BizTalk Labs.

Firstly a BIG thanks to those that enjoyed the exam cram we did last month (we had to order additional pizza!) and I’ve since heard that several of you have sat and passed the EXAM!!! Well done!!

With R2 just around the corner......I decided to tackle the Windows Workflow(WF) question.
The message is usually BTS vs WF, never BTS AND WF.

We’ll cover:

1.      Workflow 101 (you should be able to bring your manager along to this one J)

2.      Hosting Workflow’s within BizTalk with the new BizTalk extensions for WF SDK

3.      BizTalk Labs – life after R2....and where we are heading.....

Meeting details:

When: July 4th Food at 6pm, kick off 6.30pm. Finish up around 8pm.
Where: Microsoft
1 Epping Road
Riverside Corporate Park
North Ryde NSW 2113 Australia.
(parking available)

 

WF Session Focus Details:
1.First
up we will look at the fundamentals of Workflow; what makes them run; communications; and how do we host them.
(WF is the technology that is brightly coloured in VS.NET and comes with .NET 3.0) – you could even workflow your toaster if you wanted to.

 

2.Next – we’ll take a Workflow and use WCF under the covers to act as the communication medium between BTS R2 & WF. Very nice.
So now in BTS R2 we can host WF (through a small ‘Orchestration wrapper’) meaning that when BTS persists, WF does too – WF is now running inside BTSNTSvc.exe.
(cross off the list – ‘find a place for my WF’s to live’)


3.Thirdly – Imagine being able to call our creation from anywhere and behind umpteen firewalls between caller/sender.....enter into the ring
BizTalk Labs!!! Very exciting – labs.BizTalk.net.
(what communications do you think we use.......WCF......hmmm....seems to be a common thread here!)
So it’s a night on WF/R2 wrapped up in WCF – wow what a great set of technologies!!!!

 

See you there and let me know your coming
Mick Badran.
p.s. I’ve fallen in love with Microsoft Surface.......wow!!!

Saturday, June 30, 2007 2:02:26 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Events | General | Other | Training
# Friday, June 29, 2007

What a name....talk about the pinnacle of TLA's at the height of a great technology field.
Can you imagine being at work/meetings etc.
and say "Hold on, I've got to grab the WCF LOB Adapter SDK for my BTS Messaging Hub"
(at this point I'm sure it would clear the floor if you were at a party and people would be looking at each other thinking that someone hasn't taken their vitamin B12 this morning)

So we really do need to come up with a sexier name than this (when I was 4 my parents read me a great book about a kid called "Tikki-tikki-tembo-no-sarembo" and he fell into the well - you could say I was scared off long names as a kid)

What does this thing do for you? It will change the way you develop adapter for use with/without BTS. Sensational!!!

WCF LOB Adapter SDK

Enjoy!!!!

p.s. you don't necessarily need BizTalk to build adapters with this framework. There are BTS06 R2 'extensions' to this framework - the BTS 'strand' of this SDK is currently called the BizTalk .NET Adapter SDK

There's some very cool things ahead.....stay tuned......

Friday, June 29, 2007 10:16:29 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | Insights | Tips

MS have been busy in this space and we've now got the following (or soon will have :)

  1. BizTalk Server 2006 R2 Evaluation Edition
  2. BizTalk Server 2006 R2 Branch Edition
  3. BizTalk Server 2006 R2 Developer Edition
  4. BizTalk Server 2006 R2 Standard Edition
  5. BizTalk Server 2006 R2 Enterprise Edition

Most are pretty self explanitory except for the Branch Edition (BE) - for those of you that remember the BTS Partner Edition (phased out with the introduction of BTS2006), BE is comparable with it.

There are some restrictions on this though (as currently determined by the powers to be...):
- the BE must connected to Enterprise Edition.
- two or more BE's can't talk directly to each other, must go through a Enterprise Edition

There's a document available that discusses upgrading to BTS06R2 - it's still a work in progress but it's a good start -
MS Upgrade Document

In particular there is a great image that gives a good outline of the dependencies (taken from the document):

 

 

Food for thought folks - there's some very exciting times ahead.

Friday, June 29, 2007 9:49:07 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Other
# Thursday, June 28, 2007

Finally it's here - there was some talk internally within MS about an adapter being built to communicate to WF Runtime, thus allowing hosting of WF workflows within BizTalk.

At the moment we're at cross roads with BizTalk 2006, as the Orchestration/Business Process designers and technologies is built on a language called XLANG which is compiled into C# and executed.

On the other side, we have WF workflows, XAML, XML, .NET based, extensible and looking good.....but it needs to find a home. It's homeless but always keen to meet up with a host. The question of hosting WF Workflows is not taken lightly as scalability, availability, durability etc all come into the equation (the 'hello world' WF console application just doesnt cut it :) )

So let's get the best of both worlds - I previously did a MSDN webcast on this around the time when the message from MS was "for small stuff - use WF. For bigger things use BTS" - but why cant the 2 worlds live together?

Now - they can!!!!

Microsoft WF Team have released 'BTS Extension for WF' where there is 'no BizTalk code required' (hmmm....maybe I should stop my mission of finding BizTalk people and look at WF people).

Go and register on the connect site/fill in a quick survey and get downloading!!!!

Grab the BTS Extensions for WF here

 

Happy playing........it's wabbit season...no duck season....no wabbit season....

Thursday, June 28, 2007 1:13:28 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips | WinWF
# Wednesday, June 27, 2007

I'll post more details very soon, but for this session

I will be covering

Windows Workflow Foundation (WF) - 101 basics all you need to know

BizTalk meet Workflow, Workflow meet BizTalk - Hosting WF Workflows within BizTalk 2006 R2!!! (how good is that!!!)
(persistence/tracking etc etc all taken care of - a wizard comes to the rescue)

Stay tuned for a full update.

 

July 6th 4TH is our next meeting (I had to move it till next Wednesday) (thanks Bill)

Wednesday, June 27, 2007 3:57:20 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | Insights | Events | Training
# Monday, June 25, 2007

Sometimes when you have a published WCF Service, you may just want to allow that service to provide a description about itself - rather than go through yet another wizard (re-run the WCF Publishing wizard) to expose out some metadata.

I've been doing alot of R2 lately and this exact problem came up. Fortunately I found a quick and easy way.

Simply add the following lines to your Web.Config before the </Configuration> tag
(take it out when you're finished)

 

<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviorConfiguration">
<serviceDebug httpHelpPageEnabled="true" httpsHelpPageEnabled="false" includeExceptionDetailInFaults="false" />
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<!-- Note: the service name must match the configuration name for the service implementation. -->
<service name="Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkServiceInstance" behaviorConfiguration="ServiceBehaviorConfiguration">
<endpoint name="HttpMexEndpoint" address="mex" binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" />
<!--<endpoint name="HttpsMexEndpoint" address="mex" binding="mexHttpsBinding" bindingConfiguration="" contract="IMetadataExchange" />-->
</service>
</services>
</system.serviceModel>

 

It doesn't get easier - enjoy!

Monday, June 25, 2007 12:03:55 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Monday, June 18, 2007

Currently I'm setting up a system and found an interesting 'challenge'. After some sweat and tears I stumbled upon this Microsoft article.

In the article it appears that running IIS 6.0 on a 64-bit box is cool. (obviously or there'd be trouble)

It's also cool to run 32-bit ASP.NET apps in 1.1/2.0

It is not cool to run a mix of 32- and 64-bit in the same IIS.

Thought I'd save you my pain!

Monday, June 18, 2007 4:39:40 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | General | MOSS | Office | Tips

Sensational Sonu has a great article on her blog about how we develop custom WCF Adapters for use with BizTalk R2.

She mentions:

1. BizTalk will always call the Adapter custom channel via a 'Request/Response' mechanism - this means for:

  • Custom WCF Send Adapters - BTS will *always* call IRequestChannel (two-way) (WCF also supports IOutputChannel - oneway)
  • Custom WCF Receive Adapters - BTS will *always* call IReplyChannel(two way) (WCF also supports IInputChannel - oneway)

So in short - BTS will always call a 'two-way' method of a custom WCF Adapter.

In terms of 'Fire and Forget' one way WCF Services, we still need to call the Two-Way interface and just pass back a null response message.

Or you could use your own custom component :-) - said like a true developer!

Cheers,

Mick.

Monday, June 18, 2007 2:51:33 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights
# Wednesday, June 13, 2007

Thought I'd collect a few resources to help you guys along the way with some great articles from Sonu(PM for the .NET Adapter Framework) :
Well worth a read.

Here is additional information on creating custom adapters using BizTalk Adapter Framework-
Developing Adapters Using the Adapter Framework
http://msdn2.microsoft.com/en-us/library/ms944509.aspx
Developing Custom Adapters
http://msdn2.microsoft.com/en-us/library/aa559841.aspx
Writing Effective BizTalk Server Adapters
http://msdn2.microsoft.com/en-us/library/ms942193.aspx

Wednesday, June 13, 2007 10:33:49 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Thursday, May 24, 2007

I'm doing a bit of BAM at the moment (BTS 2004) and came across this:

C:\Program Files\Microsoft BizTalk Server 2004\Tracking>bm deploy c:\projects\bt
s_bam\BAM_CreateQuote_Validate.xls
Retrieving BAM Definition XML from Excel workbook ... Done!
Deploying PrimaryImportDatabase ... Done!
Deploying StarSchemaDatabase ... Done!
Deploying AnalysisDatabase ...
BAM deployment failed.
Failed to deploy BAM Analysis database.
Failed to connect to Olap server. Please make sure the Analysis Server is funct
ional.
Connection failed: Server name not set.

Problem turns out to lie in the BamConfiguration.xml (found under ...\Microsoft BizTalk Server 2004\Tracking) file - on this particular machine I installed the bits for BAM after the initial install. Hence why BTS is complaining that it only has half the BAM Picture.

I added in some server + database names and we're all good to go!!!

Note: when running 'bm.exe' from a batch file, it will look for a BAMConfiguration.xml file nearby - if it can't find one, there's alot of kicking and screaming. So as a rule of thumb, CD to the above \Tracking folder and run bm.exe from there.

Sample BAMConfiguration.xml file

<?xml version="1.0" encoding="utf-8"?>
<BAM:BAMConfiguration xmlns:BAM="urn:schemas-microsoft.com:BAM" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DeploymentUnit Name="PrimaryImportDatabase">
        <Property Name="ServerName">myserver</Property>
        <Property Name="DatabaseName">BAMPrimaryImport</Property>
        <Property Name="RTAWindow">3600</Property>
        <Property Name="RTATimeSlice">300</Property>
    </DeploymentUnit>
    <DeploymentUnit Name="StarSchemaDatabase">
        <Property Name="ServerName">myserver</Property>
        <Property Name="DatabaseName">BAMStarSchema</Property>
    </DeploymentUnit>
    <DeploymentUnit Name="AnalysisDatabase">
        <Property Name="ServerName">myserver</Property>
        <Property Name="DatabaseName">BAMAnalysis</Property>
    </DeploymentUnit>
    <DeploymentUnit Name="ArchivingDatabase">
        <Property Name="ServerName">myserver</Property>
        <Property Name="DatabaseName">BAMArchive</Property>
    </DeploymentUnit>
    <DeploymentUnit Name="CubeUpdateDTS">
        <Property Name="ConnectionTimeOut">15</Property>
        <Property Name="UseEncryption">1</Property>
    </DeploymentUnit>
    <DeploymentUnit Name="DataMaintenanceDTS">
        <Property Name="ConnectionTimeOut">15</Property>
        <Property Name="UseEncryption">1</Property>
    </DeploymentUnit>
</BAM:BAMConfiguration>

Thursday, May 24, 2007 9:34:10 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Wednesday, May 23, 2007

SydBiz.org

Exam Cram Night – Come and Study for the BizTalk Exam 70-235 with us.

Exam 70–235: TS: Developing Business Process and Integration Solutions Using BizTalk Server 2006

A couple of meetings ago some members expressed an interest in going through some structured Q&A/Study approach for this exam. Well this month we’re going to do exactly that.

If you haven’t done the exam – now is your chance for a free study session!!!!!

Meeting details:

When: May 30th Food at 6pm, kick off 6.30pm. Finish up around 8pm.
Where: Microsoft
1 Epping Road
Riverside Corporate Park
North Ryde NSW 2113 Australia.
(parking available)

Exam Crammin’ Night Details:

I (Mick) would like to use the following as a guide – but of course your areas of interest will essentially drive the night. The nights getting a little colder, snow on the mountains soon and it might be time to break out the hot chocolate J.

I would also like to record the night session to give you as a further study aid.
Identify the application requirements

1. Plan the BizTalk Server environment for reliability and scalability

2. Design schemas

3. Identify the security requirements

4. Install BizTalk Server 2006 for a development environment

Developing and Debugging an Integration Application  

1. Create a schema

2. Create a map

3. Create a pipeline

4. Configure connectivity

5. Configure message subscriptions

6. Track a message

Developing and Debugging a Business Process Application  

1. Create and debug an orchestration

2. Configure correlation

3. Identify persistence points

4. Configure exception handling

5. Create business transactions

6. Consume and publish Web service

7. Create and configure role links

Implementing Business Rules  

1. Compose business rules

2. Publish and deploy business rules

Enabling Business Activity Monitoring

1. Identify the steps required to enable business activity monitoring

2. Link the event source to the activity definition

Deploying a BizTalk Application  

1. Choose a deployment method for distributing an application

2. Create a deployment package

3. Start an application

4. Test the deployment

I would love to see you there (my mobile: 0404 842 833)

Mick.

Wednesday, May 23, 2007 11:47:19 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [3] -
BizTalk | Training

Hi, I've decided to compile a list of perf settings that I've collected over the years of dealing with large/high throughput BizTalk systems.

There's always a few 'tweaks' that can be performed within a BTS system. Here I've decided to focus on the TCP/IP stack and some general tcp/ip registry settings.

Have a look through them and feel free to pick and choose the ones you like.(I've created them as a registry file format. So you can just copy below and paste into notepad and viola!) Enjoy!

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters]
"IRPStackSize"=dword:00000014
"SizReqBuf"=dword:00004000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:00000040
"EnablePMTUDiscovery"=dword:00000001
"EnablePMTUBHDetect"=dword:00000001
"TcpMaxDupAcks"=dword:00000002
"Tcp1323Opts"=dword:00000001
"SackOpts"=dword:00000001
"MaxFreeTcbs"=dword:00005000
"TcpMaxSendFree"=dword:0000FFFF
"MaxHashTableSize"=dword:0000FFFF
"MaxUserPort"=dword:0000FFFF
"TcpTimedWaitDelay"=dword:0000001E
"TcpWindowSize"=dword:0000FBA4
"NumTCPTablePartitions"=dword:00000002
"SynAttackProtect"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]
"EnableDynamicBacklog"=dword:00000001
"MinimumDynamicBacklog"=dword:00000014
"MaximumDynamicBacklog"=dword:00004E20
"DynamicBacklogGrowthDelta"=dword:00000064
"EnableDynamicBacklog"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc.3.0\HttpReceive]
"HttpBatchSize"=dword:00000001

Wednesday, May 23, 2007 2:51:21 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips

Recently I came across a great article on BizTalk permissions. You know the production questions you get asked "Do I need to make them DB Owner?" to do the install??

Finally here's a matrix that Thomas Canter created,(yes a picture) that outlines permissions vs task/role.

Check it out Here

----- snip -----

Security Wizard -> Understanding BizTalk Server 2006 Security – Blog Entry

I've been working on understanding the BizTalk Security model for quite a while and I keep working my Visio diagram over and over.

For BizTalk Server 2004 simply do not use the Level 0 Security Membership column.

Please feel free to send me any feed back if this is not clear.


Wednesday, May 23, 2007 10:56:01 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Tuesday, May 08, 2007
SydBiz.org - has undertaken renovations. We're now close to completion and the membership section is now open. Just click on the "Join Now" button and the rest is pretty easy.

Also be sure to check out some of the presentations and I'll me uploading more content in the coming weeks.

Enjoy.

Tuesday, May 08, 2007 12:25:12 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | Insights | Events
# Sunday, May 06, 2007

While preparing one of my presentations for the upcoming Sharepoint Conference I came across this funny article.

Talks about the principles of poor UI Design (I thought I could be asleep here...so I decided to read 2 words and not to risk me being in a winter hibernation slumber).

I admit I had a good laugh at this - so I'll share. (my favourite is #6)

http://www.sapdesignguild.org/community/design/golden_rules.asp

 

Golden Rules for Bad User Interfaces

by Gerd Waloszek, Product Design Center, SAP AG – Last Update: 02/27/2007

The SAP Design Guild Website is full of guidelines and tips for good user interface design, and it's not the only one on the Web. Nevertheless, we see examples of bad user interface design everywhere – many more than users would like to see. As people like to do just the opposite of what one is proposing, we thought that it might be a good idea to promote bad user interface design. Therefore, we collected "Golden Rules for Bad User Interfaces" on this page – please help yourself (and do the opposite). We started this page with ten rules and are continually expanding our collection.

Note: The rules are listed in backward order – the most recently added rules come first. In all other respects, the order of the rules is arbitrary and does not reflect their significance.

Golden Rule No. 14: Do not let users interrupt time-consuming and/or resource-hungry processes.

Ignore the users' cancel attempts!

Reasoning: Making processes that put the computer into agony more or less uninterruptible ensures that users take their mandatory coffee breaks.

Example: Start a backup or indexing process while users are not aware of it. Make this process hard to cancel, that is, let it ignore the users' mouse clicks and key presses.

Golden Rule No. 13: Leave out functionality that would make the users' life easier – let them do it the hard (cumbersome) way.

Reasoning: Additional functionality would provide users with too many choices and might confuse them.

Example: When users want to add items to a list, allow them to add items at the end of the list only and let them then move the items to the correct position. That is, do not offer additional functionality for inserting items at their target locations. To add some spice, introduce spurious errors that return items to the bottom when users have already moved them half-way up.

Example: Do not offer the option of selecting multiple items, for example, for moving or deleting items. The option of working on one single item suffices to let users achieve their goals – apart from that it may take a little bit longer...

Example: After inserting a set of new items (for example, by command, drag-and-drop or copy-and-paste) don't show them as selected. This would help users to recognize where in the list the items were sorted in. To detect the items that were just inserted will consume quite some time, besides the pure recall of which items were inserted. (Contributed by Oliver Keim, SAP AG)

Golden Rule No. 12: Destroy the work context after each system reaction.

Wipe out the context!

Reasoning: Destroying the work context allows users to reflect their work and ask themselves whether it really makes sense.

Example: Deselect selected screen elements after a system reaction (e.g. a round trip).

Example: Move HTML pages or tables that have been scrolled down by the user to the top after a system reaction (e.g. a round trip); in the case of multiple pages (e.g. in hit lists or document list) return the user to the first page.

Golden Rule No. 11: Take great care in setting bad defaults: contrary to the users' expectations, disastrous, annoying, useless – it's up to you!

Oh no!

Reasoning: Bad defaults are a nice way to surprise users, be it immediately or – at best, unexpectedly – anytime.

Example: Set default options in Web forms so that users get unwanted newsletters or offers, have their addresses distributed, etc.

Example: Set the default option in dialog boxes on the most dangerous option, for example, on deleting a file or format the hard drive.

Example: In forms, set dates (or other data) on useless default values. For example, set the date for applying for a vacation on the current day.

Golden Rule No. 10: Spread the message of bad examples and live it!

Cow

Reasoning: Examples are a perfect teaching method. But as we all know, bad examples are the best – they allure most.

Example: Just follow any of the other golden rules on this page, that's a perfect start.

Example: If you have to make presentations make sure that you include your bad examples in the presentations.

Note: Good examples are hard to find and typically criticized until nobody appreciates them anymore. Why waste time with unproductive discussions?

Golden Rule No. 9: Keep away from end users!

Site visit

Reasoning: You are the expert and know what users need – because you know what you need. Why should they need something else?

Example: If you think that a certain functionality is not needed don't implement it – why should other people need it?

Example: Many end users have many opinions, you have one. That's far easier and faster to implement.

Note: Doing without site visits saves your company a lot of time and money.

Golden Rule No. 8: Make using your application a real challenge!

Rocket

Reasoning: This teaches people to take more risks, which is important particularly in economically harder times.

Example: Do not offer an Undo function.

Example: Do not warn users if actions can have severe consequences.

Note: If you want to top this and make using your application like playing Russian roulette, change the names of important functions, such as Save and Delete, temporarily from time to time...

Golden Rule No. 7: Make your application mouse-only – do not offer any keyboard shortcuts.

Mouse

Reason 1: This will make your application completely inaccessible to visually impaired users. Therefore, you can leave out all the other accessibility stuff as well. That will save you a lot of development time.

Reason 2: This will drive many experts crazy who used to accelerate their work with keyboard shortcuts. Now, they will have more empathy for beginners because they are thrown back to their speed.

Golden Rule No. 6: Hide important and often-used functionality from the users' view.

Blind

Reasoning: This strategy stimulates users to explore your application and learn a lot about it.

Example: Place buttons for important functions off-screen so that users have to scroll in order to access them.

Example: Hide important functions in menus where users would never expect them.

Golden Rule No. 5: Educate users in technical language.

Teacher Lämpel

Reasoning: Lifelong learning is hip. As many of us spend a lot of their time at the computer, it's the ideal stage for learning. Moreover, sociologists bemoan that people's vocabulary is more and more reducing. Applications with a challenging vocabulary can go against this trend.

Example: Always send URLs as UTF-8 (requires restart) (advanced settings in MS Internet Explorer)

Golden Rule No. 4: Use abbreviations wherever possible, particularly where there would be space enough for the complete term.

Abbreviations

Reasoning: Abbreviations make an application look more professional, particularly if you create abbreviations that are new or replace commonly used ones.

Example: Use abbreviations for field labels, column headings, button texts even if space restrictions do not require this.

Examples: Use "dat." instead of "date," "TolKy" instead of "Tolerance Key," "NxOb" instead of "Next Object," and many more...

Golden Rule No. 3: Make it slow!

Snail

Example: There are nearly unlimited possibilities of making software slow. For example, you can include long lasting checks or roundtrips after each user input. Or you can force users through long chains of dialog boxes.

Golden Rule No. 2: Do not obey standards!

The evil designer II

Example: Do not use standard screen elements for a given purpose, such as single selection (e.g. use checkboxes instead of radiobuttons because they look nicer).

Example: Do not place menu items into the categories and locations they typically belong to (e.g. place "Save" in the "Edit Menu").

Golden Rule No. 1: Keep the users busy doing unnecessary work!

The evil designer
Example: It's a "good" habit to let users enter data that the system already knows and could provide beforehand.

Example: Let users enter data into fields only to tell them afterwards that they cannot enter data there (e.g. an application lets you enter data on holidays or weekends and tells you afterwards that you cannot work on those days).

Sunday, May 06, 2007 5:34:13 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | MOSS | Other | Tips | Training
# Friday, May 04, 2007
# Wednesday, May 02, 2007

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

http://www.microsoft.com/biztalk/technologies/rfid/default.mspx

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

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

With BizTalk 2006 R2 rounding the corner into the home leg, the folks in the CSD (Connected Systems Division - Biztalk, .NET, WCF, WF) have been very busy!! :)

We're looking down the telescope at BizTalk 'vNext'.


It's current name is 'BizTalk Internet Services' which offers a bunch of services for the 'cloud' (aka internet based wcf services). My personal favourite is the relay service.

Alot of functionality that previously existed in BizTalk has been pushed down into the .NET framework 3.x/4.x (WCF Services etc.)....allowing the BizTalk team to focus on some really cool new BizTalk features.

Here's an email I got earlier from Marjan from MS.

----------------------------------------------

As you may have heard, for the past year the Connected Systems Division has been incubating a set of building-block services that will shape the next generation of application development.  On Tuesday the 24th, we will open the incubation of BizTalk Services to the public by inviting developers from all over the world to use the services and provide feedback. 

BizTalk Services will be available via labs.biztalk.net.  (UPDATE: OPENS 24th Tues - US TIME)

What are BizTalk Services?

These services, which have been in internal incubation for the past year, represent hosted versions of some technologies developed in the Connected Systems Division.  Included in this set of services are:

o Message routing – think of this as firewall friendly B2B messaging (Available now)

o Simple publish/subscribe event brokering – Pub/Sub at Internet scale (Coming soon)

o Simple federated identity and access control  (Available now)

o Workflow processes – Simple templates for cross-organization integration and the orchestration of business processes interacting with multiple services (Coming soon)

(Just had to stick 'The cloud' image in :)

 

Tuesday, April 24, 2007 7:31:49 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | Insights
# Monday, April 23, 2007

I recently got an email to inform me I was able to participate in the CSD Technology Advisors program.........

Basically I can sit down and give MS feedback on what works, what doesnt - "the button should be moved over 2cms".....
Specifically about BizTalk, WCF, WF, .NET 3.x, 4.x oh and did I mention BizTalk??

Monday, April 23, 2007 12:38:14 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights

I've had an interesting discussion this week with some of my fellow BizTalk MVPs and also a few MS folks.

Here's the crux of my beef.
1. Stop a Send Port or Orchestration - it is still Enlisted but in the Admin Console it's stopped. (at this stage - you're stopped and my 'stopped' are the same)
2. Shoot a message into BizTalk destined for the stopped Send Port or grab one of the queued up Suspended-Resumable messages and say "Resume" (mind you, you do have other options here of Resume in Debug Mode etc)
3. Guess what happens?? BizTalk Queues the message up as it knows the corresponding Send Port is stopped???? NO!!!!! BizTalk will send the message through the STOPPED send port - (bang head against wall)
4. This 'feature' IS useful for when BizTalk receives a flood of msgs and an issue arises downstream (backend system or so) and you can 'trickle feed' A msg to the back end system.
5. I think this functionality should be tied into some sort of 'Resume for Debug' type wording. Something to indicate that it's an 'unusual' circumstance.
6. The terminology within the Admin Console is what I have an issue with. The port is Stopped, an NT Service is STOPPED, an application is 'stopped' - so these terms of stopped differ in the biztalk world.
7. Outcome of the week's discussion: MS are looking into changing the terminology within the Admin console. smile_regular

Monday, April 23, 2007 12:11:13 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | Insights
# Sunday, April 22, 2007

Examining and Building an R2 Adapter using the New R2 Adapter Framework 

Wednesday, 2nd May 2007
6:00 PM Food and Drinks, 6:30 PM Kick Off
1 Epping Road, Microsoft
North Ryde, Sydney

Hi all on our Post Anzac Day Wednesday meeting and I hope two-up was (will be) kind to you. This month we’re at Microsoft North Ryde with a presentation on Adapters, Adapters and more Adapters. The new BizTalk Adapter Framework is called The Line Of Business Adapter Framework SDK (LOB Adapter SDK between friends) and is based on Windows Communication Foundation(WCF). As you can imagine, WCF adds a ton of functionality around the way we do messaging.

With BizTalk 2006 R2 comes many new features and improvements we examine R2 .NET Adapters (WCF Based) and also look at new WCF and WF BizTalk BAM Interceptors, allowing you to post to BAM directly from WCF or WF.

I've provided a calendar appointment for your calendars so join me.

Presenter:

Mick Badran, BizTalk MVP who specialises in Microsoft Technologies as a Solutions Architect/Developer. With over 15 years consulting experience and 12 years as a Microsoft Certified Trainer provides in depth real world knowledge.

Session Details

So what is the story with Integration and Adapters in BizTalk 2006 R2? This session covers the roadmap going forward in building BizTalk .NET Adapters (those based on WCF) in the new Framework. It will discuss all the benefits of the new framework and explain options on where to host these adapters.

We will also examine the relationship between BizTalk and the WCF based adapters with respect to Message Contexts, and multipart messages.

The Session details are as follows:

1.     R2 WCF Adapters Explained – including the new BAM Interceptors for WCF and WF

2.     LOB Adapter SDK framework explained

3.     Building a new Custom Adapter using the LOB Adapter SDK

As always love to hear from you and what's been getting you excited at work.

Who Should Attend?

If you're looking to get additional business related information out of your Biztalk processes then this session is for you.
This session is technically focused for Biztalk developers and System Architects.

Please be sure that you RSVP so we know how many to expect. Reply with a yea or ney to mickb@NOSPAMbreezetraining.com.au


Looking forward to seeing you there at Microsoft Premises - North Ryde
Mick and Mark 
Ph: 0404 842 833 (Mick's mobile)
SydBiz.Org

 

Sunday, April 22, 2007 11:58:38 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | TechEd
# Wednesday, April 18, 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

Cheers,

Mick.

Wednesday, April 18, 2007 9:09:30 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID | Other
# Tuesday, April 10, 2007

With over 6000+ EDI schemas and a brand new home grown EDI engine that WORKS!!!! (like BTS2000/2002 days)

Here's a great article that talks about the support for various schemas from the BizTalk Team.
http://blogs.msdn.com/biztalkb2b/archive/2006/10/14/edi-support-in-biztalk-server-2006-r2.aspx

---snip ---

EDI support in BizTalk Server (BTS) 2006 R2

Hello all:

BTS2006 R2 provides for design and run time support for six encoding standards and includes over 8000 ‘standard’ XSD schemas 'in the box' ready for implementation. Please do understand that these schemas will only operate with EDI systems in BTS 2006 R2 and are not compatible on Base EDI Adapter (BTS 2004 and 2006 versions). In forthcoming topics I will include documentation on how to modify/customize these schemas.

One of the most asked question is the on a listing of the Version/Release schemas supported in BTS2006 R2 – Microsoft EDI. So here goes:

Industry Segment

Encoding Standard

Version/ Release

Count of Transaction Set XSD/Schemas

References

General Industry

EDIFACT

D93A

55

Standards Website (reference to payload): http://www.unece.org/trade/untdid/welcome.htm

 

Encoding rule per ISO 9735-4.1 http://www.gefeg.com/jswg/v41/data/V41-9735-1.pdf

D94A

68

D94B

75

D95A

101

D95B

115

D96A

125

D96B

136

D97A

143

D97B

151

D98A

157

D98B

165

D99A

169

D99B

180

D00A

187

D00B

191

D01A

194

D01B

194

D02A

194

D02B

194

D03A

192

D03B

192

D04A

192

D04B

192

D05A

193

D05B

193

X12

2040

29

Standards Website: http://www.x12.org/  and Specifications Development http://www.disa.org/

3010

39

3020

104

3030

161

3040

187

3050

225

3060

245

3070

273

4010

293

4020

302

4030

309

4040

314

4050

314

5010

318

5020

317

5030

317

Retail

UCS

4010

46

Standards website: http://www.uc-council.org/ean_ucc_system/stnds_and_tech/ucs.html

4040

65

5020

67

VICS

4010

27

Standards website: http://www.vics.org/about/ucc_edi/

4050

36

5020

45

EANCOM*

EAN94

27

Standards website: http://www.gs1.org.sg/edi.htm

EAN97

46

EAN02

46

Health Care

HIPAA X12N

4010A1

16

HIPAA Implementation Guide: http://www.cms.hhs.gov/TransactionCodeSetsStands/

Specifications: http://www.wpc-edi.com/content/view/533/377/

 

 

 

            * included in Beta 2 release.

NOTE: VICS and UCS will not be included in BizTalk Server 2006 R2.

Tuesday, April 10, 2007 10:39:20 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Wednesday, April 04, 2007

Today in class (in the beautiful city of Perth :) I was busily going through a class demo in BTS06 R2(Feb CTP) and I created a Project having:

  1. BizTalk project
  2. Test App
  3. BizTalk Wizard Published WCF Service hosted in IIS.

I then needed to give this out to the 12 students in class, so I (some something quick):

  • zipped up the project + Test App
  • exported the Bindings info (via a MSI)
  • Seeing I had made a few changes in IIS to the virtual directory/web app created I decided to use IIS Mgr, select the Virtual Directory, then under 'Tasks....' select 'Export to Config file xml' option

    This essentially saves the metadata (that's normally placed in the IIS metabase) into the file - I envisaged the students would be able to 'Import XML IIS Config file' and be done with it..........

    nice thoughts......

After all was said and done, the error we got was something like "Receive location /SERVICES/WCFSERVICE/page.svc" could not be found.

All was inplace and worked on my machine.....we did discover what the problem was and moral to this story.....

"/SERVICES/WCFSERVICE/page.svc" is treated differently to

"/Services/wcfService/page.svc"    (this was the actual BTS receive location path settings for the 'basicHttpBinding'.

Solution:

- either change the BTS receive location to capitals....or....recreate the Virtual directory under IIS.....or......modify the virtual directory config.xml file.

Now we know......fingerscrossed

Wednesday, April 04, 2007 12:43:46 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Tips
# Monday, April 02, 2007

What a week this is shaping to be - great bunch of keen students with a willingness to learn.

BizTalk 2006 R2 offers some great value in WCF, EDI, BAM, Adapters....the list goes on.

Just hope my voice will last the distance......got the Red-Eye back to Syd Wed night/Thurs morning :)

Monday, April 02, 2007 10:05:20 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk
# Thursday, March 29, 2007

Eric (MS) has been working hard in providing us (loving your work Eric!) with updated BizTalk documentation.
The folks are doing a great job over all of this. This is a massive PDF - a single one which encompasses a great deal of things within it.

Here's the email I got earlier.

------
Hello,
We have provided a new, updated Monster PDF of the BizTalk Server 2006 documentation set.  It is also available off of a link on the BizTalk Server 2006 Developer Center at http://msdn.microsoft.com/biztalk.  Highlights include:

·         The PDF is in a self-extracting zip file that is approximately 57megs.
·         The PDF tips the scales at  117 megabytes and includes almost 20,000 pages.
·         Links are rendered in blue with underlines but do not work. This may be addressed in a future enhancement.
·         Searching may be slow due to the size of the document.
·         Feedback, banners, and other content items have been removed to improve the PDF experience.

If you have any comments including ideas for PDF subset collections or for other content, please send them along.  
Thanks,
Eric

Thursday, March 29, 2007 2:34:29 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Training
# Wednesday, March 28, 2007

Any day now.....it'll be making it's way to the download area and then refreshed by the web front end servers and then.....viola!!! It will appear as a download.

Some great improvements around EDI (6000+ schemas out of the box)
- WCF + WCF adapters.
- there's a new LOB Adapter SDK that allows us to develop Adapters WITHOUT the need for BizTalk. So your one adapter has legs in many different apps.
- lots more.....

Stay tuned......there's some great WCF channel examples being called by BizTalk in the pipelines.

Should see it under http://www.microsoft.com/technet/prodtechnol/biztalk/2006/default.mspx I guess sometime in the *very* near future.

We're supporting some clients through the R2 TAP program which is always an adventure :)

Wednesday, March 28, 2007 8:49:34 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Friday, March 16, 2007

Well I'm making my way back from the MVP Summit and we got to spend nearly 2 days bending the ears of the BizTalk product team - the correct term now is The Connected Services Division (CSD) which includes todays technologies of: BizTalk, WF, WCF, .NET Framework and Orcas - so all these things are just 'going' to work going forward.

Here's the things that I'm allowed to talk about....

MVP Summit Day 1 - Registration

  • for the previous 4 days I had been skiing up and around Whistler in some fantastic snow with my cousin. What an experience!!! First time there.
  • Seattle, cold and raining but it's fantastic to be here as there's a buzz in the air. A thought did cross my mind of "How are we going to have a conversation at this Summit if there are more than 1 MVP in the room?" - if you've ever been 'lucky' enough to have 3 or more MVPs in a room....I'm sure you'd be able to finish all your lunch before you could get a word in edgeways.
  • Met up with some great fellow BizTalk MVPs (Alan Smith and Charles Young). Charles and I worked together when I was back in the UK and it's great to hear that he's stalking his 12 yr old daughter boyfriend and the deeply troubled when the words "I love you" came out during a phone call he was listening in on. :) - looks like I've got all that ahead of me :)
  • Caught up with MVP Borty and the crew and we went to our APAC regional dinner that evening.
  • One of the highlights of dinner was all the Korean MVPs did a Taekwondo demonstration (I'm sure it's on YouTube by now) of breaking boards. There was also some karaoke going on in Japanese (I think) - this one guy was great. It was sort of a 'Red Faces' night. We then crashed the Windows Mobile MVP Party at Gamesworks.....get's fuzzy from there

MVP Summit Day 2 - KeyNote + Joint Sessions

  • what an experience! Bill Gates gives a keynote on MS and all things, then opens up the keynote to 1 hour of Q&A to all the MVPs.
  • Bill copped a couple of Salvos from MVPs (who I reckon wouldnt be MVPs next year :) but in true Bill style put his poker face on and smiled and answered the questions. Not flustered at all.
  • The group all called him "Bill", some called him "Mr Gates" and the Japanese MVPs called him "Mr. Bill" during all the Q&A.
  • He fielded questions like "What's your favourite product?", "What hasnt performed...". Something that sticks out in my mind is when a guy came to the microphone and thanked Bill for enabling him to have a career in computers so he could provide for his family (I'm thinking where's the question..). He then says "while cleaning out the garage he came across a computer manual that his dad had when he was 8" - the manual as it turned out was the very first manual for the pre-cursor to MSDos that Bill's then company had created. You could even get Bill on a support number in there! (I'm thinking that's gotta be worth a fair bit) The MVP then ASKED BILL TO SIGN his book!!!! Bill couldnt refuse and $$ just turned into $$$$$ for the book - very funny.
  • For the next session I attended the Developer Division Roadmap delivered by the Program Group VP - S Somasegar (Soma). Soma spoke about Orcas, .NET 3.5 and additional plans for TFS capturing more business data/information within the process.
    Soma then talked about WPF/e and the Friction free deployment capabilities. Brian Goldfarb then jumped up and did a great demo on WPF/e with inking and working with rich content within WPF all delivered down via the browser. Some very cool things in the future are instore. One thing I will say - regardless of how it's delivered and what you do with it.....you still need good original content in the first place. Videos, Images etc. They can be manipulated easily, but originally it needs to be there.
    All in all a great session filling in alot of the medium-long term visions.
  • I then caught a session on LINQ with Anders Hejlsberg. Anders then showed us some of the up and coming XML features with C# and VB.NET 9.0 - autogenerating LINQ code from XML! All very nice.
  • We all then went to the Museum of Flight that night where we got to play in flight simulators and go for a walk back in time. I spent some time getting to know a fellow BTS MVP Alan Smith - he's based in the UK and does a fair bit of travel spreading the news in the land of BizTalk.

MVP Summit Day 3 - Deep Dive Sessions around BizTalk and Connected Systems

  • For this day we were off the Microsoft Campus and for the most part I was based in the Adams room within building 43. We setup camp there for the day.
  • The first session was delivered by Sonu Arora and Jesus Rodriguez talking about the new LOB Adapter SDK based of WCF Services. Essentially creating 'adapters' had been an exercise repeated in multiple application environments.....but!! not anymore. The adapter creation process has been pushed down into the .NET Framework and 'adapters' are available for all applications......this means.....using the LOB Adapter SDK you dont even need BizTalk to use it!!! Sonu demonstrated some great demos and one of the major differences I picked up here from a traditional WCF Service is that these new adapters have the capability to perform dynamic schema lookups. Essentially have one WCF Service that is able to return multiple contracts (many hundreds in some cases). A very good session.
  • The next session was delivered by Gruia Pitigoi-Aron. He focused on extending this new adapter framework with a couple of Custom WCF Channels that BizTalk communicates to throughthe WCF Custom Adapter in R2. By controlling the WCF Channel (c.f. to a pipeline where we have an entry...then an exit) we are able to loop, correlate and send out multiple request/responses within one channel. All while BTS is calling an Adapter. I'll have to start looking into this 'out in the wild' to get the true gist of what's going on. It's a step closer for BTS to play harmoniously with WCF. One thing I do remember from the way WCF Channels are called through the custom WCF Adapter is that BTS will call the Async Channel methods of BeginRequest, EndRequest + the sync of ProcessRequest.
  • The next session was given by Marty Wasznicky and advanced DR for BizTalk. He had a great setup on his laptop, 5 servers, 2 biztalk, 2 sql and an SSO. Through the demo he stopped and started various services to simulate the failing of various components within BizTalk.  At this point in the game, SQL 2005 database mirroring is not supported as this doesnt play nicely with distributed MSDTC transactions native to BTS. Some good indepth stuff on messageboxdb, how instances are locked by a MessageAgent running in various instances.
  • Lunch :)
  • We then had a session from Tapas Nayak demonstrating a real life implementation of the SAP Adapter based on the LOB Adapter SDK. The main take away from this was that there was over 300 different contracts that the SAP adapter could return for consumption from the client. Dynamic contract lookups and caching services came to be the focus for better flexibility and performance. Very cool adapter framework.
  • Then Pravin Indurkar gave us an insight into the next Gen WF and WCF which will be part of .NET 3.5. The integration between these two technologies is made seemless now. There is a WorkflowHostService and things just get easier from there. WorkflowInstanceID is now part of the native WCF Operation Context that gets passed between the two worlds.....makes life very easy. This allows for 'conversations' to be had between WCF Services and WF workflows. Also long running WFs can find a return path back out of the service even if the channel/connection is closed. If I was a betting man I'd be saying that alot of the underlying functionality here, has been modelled off BizTalk
  • Next my good friend was Paul Andrew was up, a MS product manager, spoke about WF vs BTS. It's always and either/or type message, never a 'you know what, these two technologies can live in harmony!'
  • Next session was delivered by Brad Paris and Tiho Tarnavski - "WCF and WF BAM interceptor extensions in R2". The essence behind the new interceptors is that they piggyback off the WF tracking infrastructure. Which is similar to BTS and the TDDS Service controlling the movement and population of BAM information from within BizTalk. Once again to use these interceptors we dont need BizTalk. When creating a BAM EventStream using the BAM Client APIs, we usually pass a connect string to the MessageBoxDB. With these new interceptors we pass a connect string to the BAM Primary Import Database. The streams that WCF and WF use are DirectStreams and not buffered Event Streams. At this point there is no support from the TPE (or equivalent tool) so we have to hand craft a large XML file to get the Interceptor configured. I look at it and think....I reckon I'll just use the BAM APIs directly......but I suppose that's not the point :)
  • When I was preparing RFID bits for the BPM Conference last year in October I got well timed help from Anush Kumar. I met Anush for the first time face to face - genuinly a great guy! He gave a great presentation on RFID and the new Microsoft RFID Services framework. He also told me that fish in Malaysia may be RFID tagged!!
  • That evening I went to the MS Company Store and cash in some chips - very nice. Then we had dinner with the product team which was great to kick some tyres with the crew. Great to see all you guys.

     

Friday, March 16, 2007 4:56:57 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Events

The future is bright - setting up Tokens that are visible across 'The Cloud' is already done!

http://sts.labs.live.com - shared token

http://relay.labs.live.com - shared relay services

We get access to these services typically through WCF and various channels and behavior options going fwd.

What this means for us - less code and if your client and server application/service are behind firewalls at different locations.

net.relay://.....

So I think in 'yesterdays terms' we called the relay service - http tunnelling smile_regular

With these services we get Policy and Metadata exchange such that if any settings change on the service, then the client is automatically re-authed and prompted for Tokens.

Go and check out the labs here - very cool stuff!

Friday, March 16, 2007 5:54:23 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Events | Tips

I'm currently at the MVP Summit at Redmond and ran into a fellow MVP Alan Smith - he had a nice technique *which is untested in production*. He did stress it was mainly for a developer machine.

He referred to it a 'BizTalk Co-Hosting' which I had not heard it referenced to before.

Co-Hosting (as described by Alan)

What it is:
- condensing the BizTalk databases down to 2 (a BizTalkDB and a SSODB)
- simplier management/backup etc.
NOTE: performance may be an issue here so keep that in mind.

How to do it:
- during the BizTlak Configuration stage, specify the same Database name for all the databases except SSO (as it doesnt play the game yet)
- this means Management, MsgBoxDB, BAM etc etc etc....
- optionally set the RecoveryModel to simple on the BizTalk Database such that there are no log files to worry about :)

When to use:
- my bet would be on a developer machine where you want to simplify the BizTalk setup and problems that may arise from multiple distributed transactions with Business Processes from BizTalk.

Note: We dont need to have ONE BizTalkDB either, we could have TWO or what ever number you want. e.g. ManagementDB + MsgBoxDB in one, and Tracking + BAM in the other.

Enjoy,

Mick.

Friday, March 16, 2007 3:47:23 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Saturday, March 10, 2007
Off for a 'conference' which involves checking out Vancouver and being drawn to 3 days skiing at Whistler.

I've met more Aussies here than I do in Bondi!

The snow....about the snow.........HOW GOOD!!!

Oh...the conference yes - very dedicated and will be dining with the product team to talk about using the XBOX 360 as a 'HAT extender' :-) That way all biztalk people need xbox360's......it's getting some traction :)

See you when I return......*IF*....

Saturday, March 10, 2007 1:37:35 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | Events
# Sunday, February 25, 2007

Examining BAM and BAM APIs 

Wednesday, 28th February 2007
6:00 PM Food and Drinks, 6:30 PM Kick Off
1 Epping Road, Microsoft
North Ryde, Sydney

Hi all, we're back at Microsoft North Ryde this month with a great presentation on BAM - Business Activity Monitoring. What information are you getting out of your running Business Processes? Averages, durations and things like Mins and Maximums? You should be and it's all relatively easy and quick.
I've provided a calendar appointment for your calendars so join me.

Presenter:

Mick Badran, BizTalk MVP who specialises in Microsoft Technologies as a Solutions Architect/Developer. With over 15 years consulting experience and 11 years as a Microsoft Certified Trainer provides in depth real world knowledge.

Session Details

Using BAM is something that can be vital to the business and even BizTalk operators to identify within the context of a business process - "How is the BizTalk process going?", "How long does it on average take for an Order to be fulfilled?" etc.
How hard or easy is it to extract this from your current system?
We will cover exposing your business data from your running business processes.
This session will cover the setting up of BAM but more importantly focuses on BAM Relationships and Continuations tying together various separate units of work that relate to the overall business process. The session will also cover BAM APIs and the new BAM interceptors within Windows Workflow Foundation.
Non BizTalk can also take advantage of BAM through the BAM APIs, giving a comprehensive view of all the subprocesses within a busness process.
Mick will cover the following aspects:

  1. BAM and BAM fundamentals
  2. BAM enabling your BizTalk processes
  3. Event streams and Interceptors - is this BAM or Star wars?
  4. Using the BAM APIs both internally within BizTalk and from external applications/services.
  5. Automating BAM deployments.

As always love to hear from you and what's been getting you excited at work.

Who Should Attend?

If you're looking to get additional business related information out of your Biztalk processes then this session is for you.
This session is technically focused for Biztalk developers and Application Architects.
Please be sure that you RSVP so we know how many to expect. Reply with a yea or ney to mickb.NOSPAMFORME@NOSPAMbreezetraining.com.au
Looking forward to seeing you there at Microsoft Premises - North Ryde
Mick and Mark 
Ph: 0404 842 833 (Mick's mobile)
SydBiz.Org

Sunday, February 25, 2007 1:20:32 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Other | Training
# Friday, February 23, 2007


Hi all I could start telling you about how great this bootcamp is and how you're going to get so much out of it, but I wont.
I could fluff on about different technologies you'll learn and integrate with such as WinWF and WCF as well as CBR within BizTalk 2006 R2. Not stuff from text books but real world experience - we know what works and doesnt.

I could talk about the 'bigger' question - "What makes a good/great design?", "Is that a 'good' solution?"...or does it just limp by?
I dont even want to talk about how when you come out you'll know why and where you'll be using WinWF and what BizTalk does for you. You'll also be very excited about the huge range of different messaging options available to you implementing WCF Services....but hang on! Doesnt BizTalk 2006 R2 expose WCF Services? Why should we host our WCF Service in BizTalk versus hand coding? When to hand code?

You'll also get a solid understanding of the BizTalk environment and we'll chat about pipelines, when a promoted property is not a promoted property. How Biztalk processes messages and performance, also let's have a crack at developing custom functoids, pipeline components and even adapters.

We're Business Process and Integration experts let's kick some tyres together.
Through these bootcamps, we're going to share that knowledge with you .....the big question is: Are you ready for it?

Overview:
This 4-day workshop provides developers with the tools to upgrade their 2002/4 skills and perform advanced orchestrations and training partner management.
You will learn to use BAS and SSO, practice developing, managing and customizing adapters and creating custom pipeline components, all within BizTalk rules.
This workshop also explores the new features of BizTalk 2006 R2 including developing & consuming WCF Services (Windows Communication foundation) for BizTalk.


Target Audience:
Developers and IT professionals with previous experience working with BizTalk 2002/2004 .Net development. (Level 300/400)

Prerequisites:

Before attending this workshop, students should have some experience with previous versions of BizTalk and .Net development skills.

Skills Gained:

This four day workshop will focus on:
1. Upgrading your skills from 2002/2004 to BizTalk Server 2006 R2. Connected Systems Roadmap to BizTalk 2006 R2.
2. Perform advanced orchestrations.
3. Gain an understanding of Workflow with in-depth hands-on scenario labs. Assess the difference between Windows Workflow and BizTalk orchestration engine.
4. Take advantage of Trading Partner Management using BAS.
5. Utilise SSO – store sensitive configuration data securely.
6. Develop and manage adapters (e.g. WCF adapters)
7. Create custom pipeline components.
8. Create custom adapters. (e.g. Split messages)
9. Create and work with Rules for the BizTalk Rules Engine.

Key Topics:

Module 1: Create and perform advanced orchestrations
This module covers:-
• Creating Correlated Orchestrations (e.g singletons, serial/parallel convoys)
• Creating and utilising Message Context Based Promoted Properties
• Creating Messages based on advanced classes/types.
• Creating Direct Bound Orchestrations and exploring the relationship with the MessageBox Database.
• Creating Generic Content Based Routed Orchestrations
• Utilising Dynamic Ports and Role Link Shapes – the easy way.

Module 2: Creating Rules, Trading Partners and SSO
This module shows you how to create rules based on:
• Schemas, static classes and databases.
• Rules Engine comprehensively explained, including the difference to Windows Workflow Rules Engine.
• Calling Rules from Orchestrations and Custom Applications
• Registry keys that control Rule/Rules Engine Performance
Explore the relationship with Trading Partner Management and BizTalk Server 2006 R2. Including:
• Setting up and creating Partners.
• Creating custom Partner Parameters used in Processes
• Utilising Partners Inbox/Outbox from within BizTalk 2006
• Further Trading Partner integration – RoleLinks explained.
Taking advantage of SSO within solutions.
• SSO under the covers.
• Using SSO and the SSO APIs to store/retrieve secure configuration information.

Module 3: Exploring and Creating Adapters - Advanced
This module will take you through exploring and creating adapters out of the box as well as how to create your own. A lap around WCF (Windows Communication Foundation) and customising WCF adapters.
Working with the provided Adapters (e.g. MSMQ, Sharepoint, SQL & SOAP Port)
Working with some community Adapters
• Integrating with SQL Server 2005 Service Broker

Module 4: Creating custom pipeline components
This module will examine pipelines and take you through creating your own custom pipeline components.

Module 5: Windows Workflow Foundation
This module will introduce Windows Workflow and take you through the architectural concepts right through to building a workflow. Includes extending workflows with custom activities, why custom activities are important, when to write and how to build. In-depth hands-on scenario labs in this module.

Module 6: Investigating BAM and BAM APIs
This module examines Business Acitivity Monitor (BAM). We look at BAM enabling your BizTalk Solutions including Related Activities. We cover setting up BAM Observation Models and working with the BAM APIs to “BAM Enable” your non-BizTalk Applications (e.g. WebServices)

Module 7: Optimising Performance & Deployment
We look at examining your performance and creating the optimum environment.
• Determining the maximum throughput of your BizTalk Solution
• Configuring your BizTalk environment for maximum performance
• Troubleshooting – where to start, examining & resolving issues.
• Creating deployment scripts to fully deploy your BizTalk Solutions

Friday, February 23, 2007 2:04:06 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | Insights | Events | Training | WinWF
# Wednesday, February 21, 2007

Always handy info to keep at an arms length, especially when doing upgrades of BizTalk 2004 to 2006 or building/migrating Sharepoint webparts from v2.0 to v3.0.

Msdn article found here: Breaking Changes

Enjoy - Mick.

Wednesday, February 21, 2007 3:48:38 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | MOSS | Tips
# Tuesday, February 20, 2007

Always great to find some good articles on the workings of BizTalk.

Lee Graber has given some outlines and numbers behind some decisions in his post:

Have you ever thought of using a Send Port Group?
Why? - because 1 subscription is evaluated for all Send Ports in the group, hence reducing the load for the BizTalk Messagebox DB.

Lee mentions that if you have 8+ identical subscriptions(filter expressions) on individual Send Ports, then consider creating a Send Port Group and adding the Send Ports to it.

http://blogs.msdn.com/biztalk_core_engine/archive/2004/07/22/191888.aspx
(check out the last paragraph)

Tuesday, February 20, 2007 10:08:17 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Monday, February 19, 2007

Here's a great whitepaper on applications, deployments and upgrades in BTS 2006.

BTS Deployment Whitepaper - from the MS Biztalk site.

Enjoy

Monday, February 19, 2007 10:40:40 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk
# Sunday, February 11, 2007

Here's an per an Email from Eric earlier - grab it!

Hi all,

An updated version of the BizTalk Server 2006 CHM has been published and is available for download here.

Thanks,

Eric

Sunday, February 11, 2007 9:22:34 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
BizTalk | Other
# Friday, February 09, 2007

I came across this several times while onsite the other day and we have used MSMQ extensively.

Fortunately there is a FIX from MS available (yay!!)
If you have the problem, get it!

FIX: Error message when you try to use the SC tool to stop the service for the BizTalk host instance in BizTalk Server 2006: "The service did not respond to the start or control request in a timely fashion"

Enjoy

Friday, February 09, 2007 1:39:16 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk
# Monday, February 05, 2007

We had a great session last Wednesday at Microsoft - I gave the above session.

As promised, here's the slide deck

 

 

 

Meeting 2007 Jan 31 - A Lap around WCF Adapters in BTS R2.zip (2.54 MB)
Monday, February 05, 2007 10:24:30 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Events | Training

A collegue of mine pointed me in the direction of this whitepaper
http://msdn2.microsoft.com/en-us/library/bb220799.... that talks about

Building Interoperable Insurance Systems with .NET 3.0 Technologies
(me being onsite at the moment at a financial services client - this comes in super handy!)

Talks and walks through the design and developing tooling and problems faced during implementation.

A great article to get a feel for some of the issues at hand.(look past the SQLServer 2006 mentioned on page 2 :)

Enjoy.

Monday, February 05, 2007 3:43:11 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | WinWF
# Sunday, January 28, 2007

While struggling to get all the links together and the correct version of all the accessories to .NET 3.0 RC1 (as this is what BTS requires).

I wanted to develop Workflow based solutions as well and noticed my friend Paul Andrew has read my mind in his post HERE

Here's a snip:

I have a Windows Vista RC machine and a Windows XP machine which I've installed these on. It's also the same install on Windows Server 2003 if you use that as your development environment.

Sunday, January 28, 2007 9:23:27 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
.NET Developer | BizTalk | Tips | WinWF
# Saturday, January 27, 2007

While researching something else I came across this problem. I've been wrestling with the Admin Console's *.MSI creation and for the most part it works really well.

The next step is to add custom installer actions, registry keys etc. stuff that exists as part of the MSI install.

Here's a handy tool from the Windows Installer SDK and a related CHM file that talks about
How to Edit the MSI

How to use the Orca database editor to edit Windows Installer files
http://www.codeproject.com/dotnet/MSIShortcuts.asp

Enjoy.

Saturday, January 27, 2007 9:41:27 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips

Hi folks just to let you know that there's has been a recent update to this, make sure you grab the latest copy. Sept. 06 is the latest I believe.

How handy to have all that material in a searchable CHM file!!! (might add it to my classroom images :) )

Get it here

Saturday, January 27, 2007 9:30:54 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips
# Tuesday, January 23, 2007

While working on a BTS 2006 solution - I decided to use the SQL Adapter to call a stored Proc to update data.

While the SQL Adapter wizard is OK, there's no real reason to use it. I usually delete everything it creates, apart from the Schema for namespace samples. The Namespaces you specify through the wizard is there mainly for the SQL Adapter to figure out where the bits are for it to process, and where return results should be inserted into......

In alot of solutions I build, I usually have a single generic SQL Update Orchestration, not an Orch, Schema + Port for each type of SQL action required.

The trick to all this is how the SQL Adapter handles the messages sent to it. More details is found in the SQLXML documentation.

The paper back version:

Let's say I have two tables and a Stored Proc that I want to use within the SAME DB (if I want to talk to different DB's then we'd need to create a separate message for the different DB's to update due to the fact that the physical SQL Port (whether it be 'dynamic' or physical) e.g. SQL://ServerName/DB.......

Table A: PacMan Players
Fields -
Name, email

Table B: PacMan Scores
Fields - email, score

Stored Proc: UpdateScores
Params:
email, score, gametime

If these three were in the same DB here's the message(s) that you'd need to send to the SQL Adapter (could even be via CBR and not ALWAYS an Orch).

e.g. a sample message for stored procs.
<sqlRequest xmlns='http://micksdemos.sql'>
     <Updates>
            <UpdateScores email='jackiechan@j.com' score='54' gametime='1200' />
            <AnotherStoredProc p1='2' p2='aaa' p3='....' />
      </Updates>
      <Results>
                     <!-- **** Set to be ANY element here, with 'skip' processing set via the schema **** -->
      </Results>
</sqlResults>

e.g. a sample message for tables (further details on this message structure can be obtained from SQLXML Documents)
<sqlRequest xmlns='http://micksdemos.sql'>   
      <sync>
             <after>
                  <PacManScores email='jackiechan@j.com' score='22000' />
                  <PacManPlayers Name='mick' email='mick@b.com'  />
                  ...
             </after>
      </sync>
</sqlResults>

Now the interesting thing upon the results being returned for the called Stored Procs
We sent down batches of 400 updates to be performed via the stored proc method, and the results were supprising!!!!

We got a message back via one of the several Two-Way SQL Ports defined (each talking to a different database, being activated via CBR)

The return results was a Multi-part message with 400 parts!!!!!! In this case I was waiting for the return message within an Orchestration and then carrying on (mainly for BAM purposes to capture timings, average call times etc)

Do you know how hard it was to find an appropriate message type?????? If I made a multi-part message type with 5 parts it's not 400. If I made one with 400 parts (each part was a type of ANY) then I'm sure we'd have a batch in the future with 401 updates...boom! blows up.

So my challenge was to find the appropriate message type for this return message.....needless to say "I'm still looking"
I tried
(1) XLANGMessage - not serializable and bts wont compile in the IDE. This is the most logical cause then I could just go through the parts grabbing each result message.
(2) XLANGPart - long shot, individual part of a message, but also if a Message if declared as ANY type then this is the .NET Message Type that represents it behind the scenes.
(3) ANY - Compiled and run, error when the results message is returned, as the ANY type is still dealing with a single part message
(4) XMLDocument - yeah right! Sort of the one that you cover your eyes, run the test and peep through your fingers looking at the screen to see if it worked....or more like *hoped' it worked :)

Solution: Create a simple Custom Pipeline Component to Consolidate the Return parts
The Orchestration is fine to go on continuing processing.
The thing that stumped me is that I send in a Batch within a Single XML Document, why dont I get that as a response??

I could imagine when sending a single update this problem never occurs. (and it hasnt in the past)

Here's the custom pipeline component - this one's in VB.NET as per the client's coding standards on this.
(I use the VirtualStream found in the SDK)
- this is not production ready code. Further stress testing needed.

Here's a snippet showing the execute method (BTSHelper.VirtualStream - is the VirtualStream class from the BTS 2006 SDK)

#Region "IComponent Members"
Public Function Execute(ByVal pContext As IPipelineContext, ByVal pInMsg As IBaseMessage) As _
IBaseMessage Implements IComponent.Execute

Try
                   Dim msgReturn As IBaseMessage = InternalMyExecute(pContext, pInMsg)
                   Return (msgReturn)
Catch ex As Exception
                   Throw ex
End Try         

End Function

Private Function InternalMyExecute(ByVal pc As IPipelineContext, ByVal inMsg As IBaseMessage) As IBaseMessage
         Dim outMsg As IBaseMessage = Nothing
         Dim outPt As IBaseMessagePart = Nothing
         Dim outStream As BTSHelper.VirtualStream = Nothing
         Dim sw As StreamWriter = Nothing
         Try
               If (inMsg.PartCount > 1) Then 'combine all the parts into one - painful return results from SQL.
                          outMsg = pc.GetMessageFactory().CreateMessage()
                          outMsg.Context = inMsg.Context
                          outPt = pc.GetMessageFactory().CreateMessagePart()
                          outStream = New BTSHelper.VirtualStream()
                          sw = New StreamWriter(outStream)
                          sw.Write("<{0}>", _documentRootElement)
                          For i As Integer = 0 To inMsg.PartCount - 1
                                        Dim sptName As String = String.Empty
                                        Dim s As String = GetMessagePartAsString(inMsg.GetPartByIndex(i, sptName))
                                        sw.Write(s)
                          Next
                          sw.Write("</{0}>", _documentRootElement)
                          sw.Flush()
                          ' we DONT want to close the stream i.e. sw.close()
                          outStream.Seek(0, SeekOrigin.Begin)
                          outPt.Data = outStream
                          outMsg.AddPart("Body", outPt, True)
                          Return (outMsg)
                  Else 'single part
                         Return (inMsg)
                  End If
          Catch ex As Exception
                  inMsg.SetErrorInfo(ex) ' the inMessage is the one that gets reported on in BizTalk within the pipeline
                  EventLog.WriteEntry(_EVENTLOG_SOURCE, "SQL Combiner Exception Internal Execute- "          
                          + ControlChars.CrLf + ControlChars.CrLf + ex.Message, EventLogEntryType.Error)
                  Throw ex
          Finally

          End Try
End Function

Private Function GetMessagePartAsString(ByVal pt As IBaseMessagePart) As String
                 Dim xdoc As XmlDocument = Nothing
           Try
                       xdoc.Load(pt.GetOriginalDataStream())
                       Return (xdoc.DocumentElement.OuterXml)
           Catch ex As Exception
                       Throw ex
           Finally
                       xdoc = Nothing
                       GC.Collect()
           End Try
End Function

Public Sub CopyStream(ByVal src As Stream, ByVal dst As Stream)
            Try
                  If (src.CanSeek) Then
                            src.Seek(0, SeekOrigin.Begin)
                  End If
                  Dim DATA_BLOCK As Integer = 4096
                  Dim bytesRead As Integer = 0
                  Dim buff(DATA_BLOCK - 1) As Byte

                  bytesRead = src.Read(buff, 0, DATA_BLOCK)
                  While (bytesRead > 0)
                           dst.Write(buff, 0, bytesRead)
                           bytesRead = src.Read(buff, 0, DATA_BLOCK)
                  End While
            Catch ex As Exception
                  Throw ex
            End Try
End Sub

Private Sub CopyMessageParts(ByVal sourceMessage As IBaseMessage, ByVal destinationMessage As IBaseMessage, ByVal newBodyPart As IBaseMessagePart)

                 Dim bodyPartName As String = sourceMessage.BodyPartName

                 For i As Integer = 0 To sourceMessage.PartCount - 1
                              Dim partName As String = Nothing
                              Dim messagePart As IBaseMessagePart = sourceMessage.GetPartByIndex(i, partName)
                              If (partName <> bodyPartName) Then
                                            destinationMessage.AddPart(partName, messagePart, False)
                              Else
                                            destinationMessage.AddPart(bodyPartName, newBodyPart, True)
                              End If
                 Next
End Sub
#End Region

Grab the code from below - This sample is aimed to be something to look and discover from rather than be a 'ready made installable package'

SqlCombiner.zip (9.63 KB)
Tuesday, January 23, 2007 11:57:07 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
.NET Developer | BizTalk | Tips
# Monday, January 22, 2007

I recently came across this great article that covers:

  • Microsoft's internal BizTalk 04 - 06 upgrade
  • discusses biztalk 32-bit vs 64-bit performance gains

Grab it here - http://www.microsoft.com/technet/itshowcase/content/biztlk06upgtwp.mspx
(dont forget to grab the 'technical whitepaper' download on the RHS)

Here's a snippet from the document

-----------------------
Each of the 32-bit servers that ran BizTalk Server 2004 had a total processing power of 19,661 MIPS. Generally, the e*BIS group did not experience any performance or reliability issues with its BizTalk Server 2004 configuration. The 32-bit servers provided a robust and reliable platform upon which to run BizTalk Server 2004. One of the limitations that the group thought might affect its BizTalk Server environment is that in a 32-bit environment, a single process cannot consume more than 1.5 gigabytes (GB) of RAM. This limitation could cause problems in the future, as BizTalk Server hosts consume and process an increasing number of transactions within the same CPU cycle. This limitation does not exist in a 64-bit computing environment. Therefore, the group expected to achieve better throughput and better performance by running BizTalk Server 2006 on a 64-bit server. Because of the support for 64-bit computing that is included with BizTalk Server 2006, the group determined that it could not only consolidate all of its business feeds into a single BizTalk Server 2006 environment but also greatly reduce the overall number of servers in that environment.

------------------------

Monday, January 22, 2007 9:39:42 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Office | Tips
# Tuesday, January 16, 2007

After upgrading a BTS 2006 B1 R2 vpc image to Win2003 R2 all was not good.

Services were not starting and erroring all over the place (worked fine before Win2003 R2) and they seemed to be centered around SQL.

So I thought I'd 're-apply' SQL 2005 SP1....and this fixed some of the problems....others still remained.

I was getting "Event ID 7000: Sql Server Integration Services did not start or respond to a control message in a timely fashion"

(I was also getting this with Analysis Services)

After much research here's the circumstances that cause the problem:

(1) machine running sql is not directly connect to the internet (data centers etc.) SSIS wants to go out to the internet to check the status of a certificate or two (crl.microsoft.com...) when it starts up.

(2) SQL 2005 SP1 applied.

Solution: There are alternatives but my good buddy AB came up trumps with Some SQL Hotfixes to apply 

(at the bottom of his article)

I'm on the road at the moment and when looking at the post SP1 SQL Hotfixes - the first one of a SQL Server 'hotfix' of 25MB scared my and my GPRS phone off :)

Thanks AB.

Direct link to HOTFIX HERE

Tuesday, January 16, 2007 3:17:04 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk
# Monday, January 08, 2007

Lee Graber (the man behind all things SQL and LOTS of other areas within Biztalk) has posted some great tips around the BTS Message box - interacting with and what's 'changeable'.

Check it out - thanks Lee (one for the bookmarks folks)

Monday, January 08, 2007 3:51:12 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights
# Tuesday, December 26, 2006

All full up, eaten several families out of house and home and we all slept under the tree waiting for Santa...early mornings.....:|

Best wishes and see you all in 2007 for an even better year!

Tuesday, December 26, 2006 10:32:56 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Events | Other
# Wednesday, December 20, 2006
I'm thinking this is a bad thing if you want dynamic resolution.

I've experienced this with both the XMLReceive and a Custom Flat File Receive Pipeline (I built).

1. Both worked a treat - '5 minutes ago' as I've been working away.
2. Went into the BizTalk Admin console and 'adjusted' a property on the pipeline at the receive location ->clicked on the '...' button next to the pipeline.
3. Even if you dont change anything and hit OK...you're affected.
4. XMLReceive + FlatFile both complain about 'blank document schema' which must be specified.
(as in this case I'd changed a few things coding....it took me AGES to come back to here)
I even explicitly supplied the correct schema as a property on the FFDASM component I was using and no go!
5. Resolution: go back to the pipeline within the receive location (or send port) and select another pipeline from the list. Click OK to close the property window, then repeat and add your original pipeline but dont go into the pipeline per instance properties pages

Why does this happen??? (yeah good question :)
Basically both the XMLDASM and the FFDASM take precedence with Per instance pipeline config properties than *anything* else you provide.
e.g. Dynamically processing a flat file - check the SDK example, but here's a pseduo version.
.....
//Flatfile schema resolver - normal technique.
DocumentSchema docSpec = ......determine which deployed schema to use.

//this line basically tells the Disassemblers which schema to apply.
msg.Context.write("DocumentSpecName","<system namespace xml-norm>",docSpec.DocSpecStrongName);  
_myFFDasm.Disassemble(msg);   // line - *

These above lines will work for a year and a day (I've tested this) and in both 2004 + 2006, but NOT when you add perinstance pipeline configs - it seems all 'dynamic-ness' has gone out the window.

When per instance pipeline config is specified, this config data is provided as a Message Context Property (ReceivePipelineConfig) and XMLDasm + FFDasm only look at this for their values - painful.

So as in my case, I hadnt specified a Document Schema within the pipeline config as this pipeline was dynamic (c.f. like the xmlReceive).
I explicitly assigned a Schema to the FFDasm.DocumentSchema property and still got the same error as before.

Removing the Config Data did the trick :)


Given that this is the case - I think when you hit 'OK' to save the pipeline config data a warning/message of some description should come up as you may be wanting to modify 'one' value - 'omit xml declaration' for example. The rest of the properties are written in as blanks.

Hopefully I've saved you a bit of pain from mine.

Wednesday, December 20, 2006 11:25:41 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Tips

Making some headway with this issue I'm experiencing.

I can now go into the BizTalk Application and configure most of the resources found within the Application. I've ventured into Microsoft.BizTalk.ApplicationDeployment.Engine.dll (found in the GAC) and was able to enumerate all the resources etc.

The only thing I havent been able to do is 'an update' to the resource properties (metadata).
I can re-add the resource and overwrite the existing ones, this time with the correct settings, but the problem here is that resources that have dependenies fail. e.g. schemas, maps....

For better of for worse right now I've located the two tables in the BizTalkMgmtDB and modified those directly - all looks good.

The interesting thing is I used %BTAD_InstallDir% extensively throughout the DestinationLocation.

Setting that at deploy time use:
msiexec /i <package.msi> /quiet /log <logfile> TARGETDIR=<your location>

Somewhere within the MSI Installer component within the Package - TARGETDIR=%BTAD_InstallDir%
(Even though all the documentation talks about %BTAD_InstallDir% being an environment variable)

 

Wednesday, December 20, 2006 2:37:16 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips
I was coming across some issues with my WCF Service Clients and not shutting down properly.
They were throwing exceptions for various reasons and while trawling the ether I came across a great helper class (and this is where I saw the c# where clause) from Erwyn van der Meer

The problem centers around calling proxy.Abort(); or proxy.Close(); at different stages in the client proxies lifecycle.

Microsoft explain why we have arrived where we have on this - great candid discussion from the internal crew.

He discusses the problem and provides a great WCF client proxy helper class.

Here's a snippet from the Microsoft Discussion

Why does ClientBase Dispose need to throw on faulted state? (Or, what's the difference between close and abort?)

ICommunicationObject (from which ServiceHost, ClientBase, IChannel, IChannelFactory, and IChannelListener ultimately derive) has always had two methods for shutting down the object: (a) Close, and (b) Abort.  The semantics are that if you want to shutdown gracefully, call Close otherwise to shutdown ungracefully you call Abort. 

 

As a consequence, Close() takes a Timeout and has an async version (since it can block), and also Close() can throw Exceptions. Documented Exceptions out of Close are CommunicationException (of which CommunicationObjectFaultedException is a subclass), and TimeoutException.

 

Abort() conversely is not supposed to block (or throw any expected exceptions), and therefore doesn’t have a timeout or an async version.

 

These two concepts have held from the inception of Indigo through today. So far, so good.

 

In its original incarnation, ICommunicationObject : IDisposable.  As a marker interface, we thought it would be useful to notify users that the should eagerly release this object if possible. This is where the problems begin. 

 

Until Beta 1, we had Dispose() == Abort().  Part of the reasoning was that Dispose() should do the minimum necessary to clean up.  This was possibly our #1 complaint in Beta 1. Users would put their channel in a using() block, and any cached messages waiting to be flushed would get dropped on the floor. Transactions wouldn’t get committed, sessions would get ACKed, etc.

 

Because of this feedback, in Beta 2 we changed our behavior to have Dispose() ~= Close(). We knew that throwing causes issues (some of which are noted on this thread), so we made Dispose try to be “smart”. That is, if we were not in the Opened state, we would under the covers call Abort(). This has its own set of issues, the topmost being that you can’t reason about the system from a reliability perspective. Dispose can still throw, but it won’t _always_ notify you that something went wrong.  Ultimately we made the decision that we needed to remove IDisposable from ICommunicationObject.  After much debate, IDisposable was left on ServiceHost and ClientBase, the theory being that for many users, it’s ok if Dispose throws, they still prefer the convenience of using(), and the marker that it should be eagerly cleaned up.  You can argue (and some of us did) that we should have removed it from those two classes as well, but for good or for ill we have landed where we have. It’s an area where you will never get full agreement, so we need to espouse best practices in our SDK samples, which is the try{Close}/catch{Abort} paradigm.

 

Brian McNamara [MSFT]



Wednesday, December 20, 2006 1:23:20 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
.NET Developer | BizTalk
# Tuesday, December 19, 2006

I recently came across an interesting page - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS06CoreDocs/html/ea7038dc-4740-4c0a-b6a1-08bc22f42bc2.asp

That talks about what is allowed/not-allowed when consuming (and ultimately exposing) WebServices for use with BizTalk.

A handy reference - the interesting one is the 'Any' element not being allowed.
I suppose the alternative is to look at the BizTalk generated WSDL for WebServices that expose messages of Type XmlDocument and see what is in the actual WSDL.

Have fun - 6 more sleeps till Christmas!

Yay!

Tuesday, December 19, 2006 11:45:10 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Thursday, December 14, 2006

On the whole - BTSTask.exe is a great improvement over BTSDeploy.exe in 2004.
A couple of things I wouldnt mind seeing in this tool - the ability to start/stop deployed applications.

Big Gotcha
Something I came across after my large scripting effort.....it goes something like this....
(1) 3 biztalk applications - a 'Core' and Two others.
(2) For the 'Core' apart from Schemas, Maps, Pipelines + Orchestrations; I had 1 COM Assembly, 2 custom adapters, 4 custom functoids and 3 custom pipeline components

So a reasonable sized deployment that needed to easily be deployed into test/production.

My line of thinking was - "If I could get all the associated *.dlls deployed into the BTS Core Application wthin Development...all would be good."
So as we know we can go through the BTS Admin Console and add resources/files/bindings etc. to our application (with various options), that way when we say "Export to MSI..." it's self contained.

The PROBLEM is in the 'Destination Location'....
Using the BTSTask AddResource..... setting the '-Destination:' parameter works a treat (IF your destination location exists within development environment!)

Let me ellaborate....
Development:
e:\projects\<project name>\BizTalk\
     - maps
     - schemas etc....
Associated *.dlls - found e:\projects\<project name>\CommonBin\Release

Testing/Production:
d:\Applications\<project name>\CommonBin...etc. etc.

So the drives are different and what's more, there is NO d-drive in Development....hmmm....I thought.

(I didnt have a 'demo' project to highlight this....so I've removed company info from below)

Where I want to focus is the 'Destination Location'

These 4 assemblies are deployed using VS.NET 2005 straight from the developers desktop.
(When using BTSTask AddResource....-Destination:<loc>   - loc has to exist at time of adding and 'exporting MSI' - bts validates)

Export to MSI...fine MSI finally created.

Installing the MSI file in Production/Testing
Upon performing MSIEXEC /quiet /i Core.MSI FOLDER=d:\Applications\<Project Name>\CommonBin\
I ended up getting a 'msi package deployment' - a guid as a foldername with *.CAB files underneath. No *.dlls etc to be seen.

Importing Into BizTalk
Went to BTS Admin Console and did ImportApp - all looked good.

Then went to the D-Drive and found no new files?? where were my biztalk files? gac-ed files etc?

The ones that needed Gac-ing - found copied to the GAC
The BizTalk ones Schemas, Maps etc - found in E:\projects\<project name>\<development project path>\Bin\Deployment\.....smooth! :-(

As far as I can tell this is attributed to the already existing 'destination location' within the MSI on the BizTalk artifacts.

So the reason why it's soooooo close is that if we could override this (i.e. the above FOLDER= parameter takes effect) then all would be sweet in going from environment to environment.

As it stands at the moment, I'm deploying all the files to Testing building the MSIs there and then deploying to Production with all the correct paths hopefully.

Thought I'd save you some tears.

Thursday, December 14, 2006 1:23:23 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
BizTalk | Insights | Tips
# Tuesday, December 12, 2006

Buried deep down in one of the Install Guides (multiserver, pg 23) I came across a section that shows you where to change the BAM alert email formats.

Basically there are two files - emailNotification.xslt and fileNotification.xslt both found in the ...\Microsoft BizTalk Server 2006\Tracking directory.

If you want to split the function of BAM alerting to different machines (the Provider, Generator and Distributor within the Notification Services) then there's a little step you need to do, to tell the BAM Alerting Event Provider where these new XSLT files are.

Within the Tracking Dir:

1. Run ProcessBAMNsFiles.vbs - this creates a *.adf file.
2. Edit the *.adf file to point to the new names/location of your modified *.xslt files.
3. ReRun ProcessBAMNsFiles.vbs so it picks up the modified *.adf file and makes the changes to the BizTalk Runtime.
4. Restart the BAMAlerts Windows Service.

Handy one - especially being able to modify those emails.

Tuesday, December 12, 2006 9:18:43 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [2] -
BizTalk | Tips
# Friday, December 08, 2006

(This is courtesy of Ross a collegue of where I'm working onsite currently)

What you need is:

(1) a Send Port with the MSMQ Send Adapter
(2) XMLTransmit pipeline

Within the MSMQ Send Port adapter - set the Body Type to a value of 30 (this translates back to the Win32 API values and you can look them up for the enumeration, so it's not a value of 8=BSTR a trap which we may fall into)

Within the XMLTransmit pipeline - click on the ellipse to set per instance configuration settings for this pipeline.

Set 'Include XML Declaration' =false

Set 'Preserve BOM...' = false (byte order mark - the 3 chars that are a bomb, upside-down question mark etc) so the client wont receive it.

Once this is done - all good!

Your clients who expect just ActiveX formatted messages only, are happy to play with BizTalk.

Thanks Ross!

Friday, December 08, 2006 11:17:40 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips
# Sunday, December 03, 2006

Lots of cool things about R2 in the pipeline and one of them is BizTalk's deep integration with WCF.

What does that mean for you? If you havent already, start looking at WCF as going forward I believe that the majority of BizTalk solutions will be incorporating WCF in a big way.

I'm currently writing a course for R2/WCF/WF stuff and I thought I'd jot down a table so WCF things stick in my mind.

WCF Endpoint = Address + Contract + Binding
WCF Binding = Transport + Message Encoding
WCF Contract = Message/Data details
WCF Address = <moniker>://<server>:<Port>/<endpoint URI>

Binding Types

  • BasicHTTPBinding - Maximum interoprability through conformity to the WS-Basic Profile 1.1
  • WSHttpBinding - HTTP communication in conformity to the WS-* procotcols.
  • WSDualHttpBinding - Duplex HTTP communication, by which the receiver of an initial message will not reply directly to the initial sender, but may transmit any number of responses via HTTP in conformity to WS-* protocols.
  • WSFederationBinding - HTTP communication, in which access to the resources of a service can be controlled based on credentials issued by an explicitly-identified credential provider.
  • NetTCPBinding - Secure, reliable, high-performance communication between WCF software components across the network.
  • NetNamedPipeBinding - Secure, reliable, high-performance communication between WCF s/w components on the same machine.
  • NetMSMQBinding - WCF communicating over MSMQ
  • MsmqIntegrationBinding - WCF entities communicating via MSMQ
  • NetPeerTcpBinding - WCF entities communicating via Windows Peer-To-Peer services

(ones that are missing at the moment - 'Interprocess Communication Binding' IPC, was in the early betas.....and SQL Server Service Broker)

Sunday, December 03, 2006 11:29:30 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [3] -
.NET Developer | BizTalk

Handy one to keep around

setup.exe /s config.xml /l <logfile> /CABPATH <cabfile>

That will help the clusters.

Sunday, December 03, 2006 9:29:00 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips

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 control......me....I'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 well...so 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)

Issues:

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 - The_ecoSystem_for_RFID_in_BizTalk.zip (3.23 MB)
Grab the RFID Applications - RFID Apps.zip (634.05 KB)

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

Came across this handy page during my searching travels.
Covers the common Context Properties and gives a little blurb on each.

This is taken from MSDN

Message Context Properties 

System properties are mostly used internally by BizTalk Messaging Engine and its components. In general, changing the values set by the engine for those properties is not recommended, because it may affect the execution logic of the engine. However, there are a large number of properties that you can change.

The following table contains a list of message context properties that the Messaging Engine can promote. You can use these properties for creation of filter expressions on send ports and orchestrations in Microsoft® BizTalk Server 2006. A separate table lists additional properties that may be of use in some BizTalk applications that cannot be promoted.

For additional information about properties and property schemas associated with pipeline components and adapters, see the following:

Property When and where it is promoted Type Description

BTS.AckFailureCategory

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:int

Identifies the ErrorCategory, which gives the place and reason for the suspension.

BTS.AckFailureCode

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Identifies the ErrorCode, which gives the place and reason for the suspension.

BTS.AckID

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Identifies the MessageID of the original message.

BTS.AckInboundTransportLocation

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Identifies the InboundTransportLocation from the original message.

BTS.AckOutboundTransportLocation

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Identifies the OutboundTransportLocation from the original message.

BTS.AckOwnerID

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Identifies the instance ID from original message.

BTS.AckReceivePortID

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Identifies the ReceivePortID from the original message.

BTS.AckReceivePortName

Promoted by the Messaging Engine for the acknowledgement message.

xs:string

Identifies the ReceivePortName from the original message.

BTS.AckSendPortID

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Identifies the SendPortID from the original message.

BTS.AckSendPortName

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Identifies the SendPortName from the original message.

BTS.AckType

Promoted by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Allows monitoring of acknowledgements and non-acknowledgements by an orchestration. The value will be ACK for an acknowledgment and NACK for a negative acknowledgment.

BTS.ActionOnFailure

This property can be set by an adapter prior to calling IBTTTransportBatch::SubmitMessage() API to submit the message to BizTalk.

xs:int

Controls the behavior of the messaging engine when there is a failure in the receive pipeline. Typically the messaging engine suspends failed messages; however, certain adapters (like HTTP) would report the failure back to the client instead of suspending the message on a receive pipeline failure.

Valid values:

  • Default. If the property does not exist, the messaging engine will automatically try to suspend the message.
  • 0. Indicates that the messaging engine should not automatically suspend the engine.

Other values are reserved for future use.

BTS.CorrelationToken

If this property is set on the message context, it is promoted by the Messaging Engine. This property is set on a context implicitly when request-response adapter or an orchestration submits a request message into the MessageBox database.

xs:string

Enables routing of response to request-response ports.

BTS.EpmRRCorrelationToken

Promoted by the Messaging Engine on request-response message execution. The property is promoted before messages are submitted into the MessageBox database.

xs:int

Used internally by the Messaging Engine. Specifies the Server Name, Process ID and a unique GUID for a request response stream of messages.

BTS.InboundTransportLocation

Promoted by the Messaging Engine after receiving a message from a receive adapter and before publishing it into the MessageBox database.

xs:string

Specifies the location (URI) on which the message was received by the handler.

BTS.InboundTransportType

Promoted by the Messaging Engine after receiving a message from a receive adapter and before publishing it into the MessageBox database.

xs:string

Specifies the type of adapter that received this message and submitted it into the server: FILE, HTTP, etc.

BTS.InterchangeSequenceNumber

Pomoted by the Messaging Engine after receiving a message from the receive adapter and before publishing it into the MessageBox database.

xs:int

Indicates the sequence number of the document in the interchange. If the document is not part of an interchange that was disassembled into individual documents, then this value will be 1. The property can be read in an orchestration, a send pipeline and send adapter.

BTS.MessageDestination

This property can be set in the receive pipeline by a disassembler pipeline component when it returns a message from GetNext().

xs:string

Used primarily to support Recoverable Interchange Processing in disassemblers, this property controls whether a message is published to the message box or is suspended into the suspend queue. If a pipeline encounters a bad message in an interchange and wants to suspend the message and continue processing, it can do so by setting MessageDestination = SuspendQueue and return the message when the engine calls GetNext() on the disassembler.

Valid values:

  • Default. If the property does not exist, the message is assumed good and is published to the message box.
  • SuspendQueue. Directs the messaging engine to suspend the message.
Note
The suspended message will be the post-pipeline/mapping message and not the message submitted by the adapter (i.e. the wire message).

BTS.MessageType

Promoted by the disassembler pipeline components during message parsing.

xs:string

Specifies the type of the message. The message type is defined as a concatenation of document schema namespace and document root node: http://MyNamespace#MyRoot.

BTS.OutboundTransportLocation

If this property is set on the message context, it is promoted by the Messaging Engine. This property is set on a message context implicitly when an orchestration sends a message to a send port. This property can be also set explicitly in an orchestration or in a pipeline.

xs:string

Specifies the destination location URI where the message is sent. The URI may contain the adapter prefix, such as http://. The adapter prefix is used by the Messaging Engine to determine the type of adapter to use when sending the message. If both the adapter prefix and the BTS.OutboundTransportType property are set, the adapter type from BTS.OutboundTransportType always takes precedence over the adapter type determined from the prefix.

Valid values:

BizTalk Message Queuing: DIRECT=, PRIVATE=, and PUBLIC=

FILE: file://

FTP: FTP://

HTTP: http:// and https://

SMTP: mailto:

SOAP: SOAP://

SQL: SQL://

BTS.OutboundTransportType

If this property is set on the message context, it is promoted by the Messaging Engine. This property is set on a context implicitly when an orchestration sends a message to a send port. This property can also be set explicitly in an orchestration or in a pipeline.

xs:string

Specifies the type of adapter used to send the message. The available adapter types are FILE, FTP, HTTP, SMTP, MSMQT (BizTalk Message Queuing), SOAP, and SQL.

The values set on this property as well as adapter prefixes specified in the address are not case-sensitive.

BTS.PropertiesToUpdate

An adapter sets this property when it needs to preserve some of the property values on a failed message that is being resubmitted or suspended.

This means that when the message gets resubmitted or resumed, it will have the specified properties set on the context.

xs:string

Contains an XML string with elements that represent property names, namespaces and values.

BTS.ReceivePortID

Promoted by the Messaging Engine after receiving a message from a receive adapter and before publishing it into the MessageBox database.

xs:int

Identifies the receive port on which the message was received.

BTS.ReceivePortName

Promoted by the Messaging Engine after receiving a message from a receive adapter and before publishing it into the MessageBox database.

xs:string

User-friendly name of the receive port on which the message was received.

BTS.RouteDirectToTP

Promoted by the Messaging Engine on messages for loop back or request-response execution. The property is promoted before messages are submitted into the MessageBox database.

xs:boolean

Used internally by the Messaging Engine to enable loop back and request-response scenarios.

BTS.SPGroupID

Promoted by the Messaging Engine when the message is sent to a send port from orchestration.

xs:string

Specifies the ID of the send port group.

BTS.SPID

Promoted by the Messaging Engine when a message is sent to a send port from orchestration.

xs:string

Specifies the ID of the send port.

BTS.SPTransportBackupID

Promoted by the Messaging Engine when a message is sent to a send port from an orchestration.

xs:string

Specifies the ID of the backup adapter in the send port.

BTS.SPTransportID

Promoted by the Messaging Engine when a message is sent to a send port from an orchestration.

xs:string

Specifies the ID of the primary adapter in the send port.

BTS.SuspendAsNonResumable

This property can be set by an adapter before calling SubmitMessage() or in an orchestration before sending a message to a send port.

Note
SubmitRequestMessage() will ignore this property; two-way messages are always suspended as non-resumable.

xs:boolean

Controls whether the Message Engine should suspend a message as non-resumable on message failure. Typically messages are suspended as resumable but there are cases when this is inappropriate -- for example, resuming a message for an ordered send or receive port would break message order.

Valid values:

  • False. Message is suspended as resumable (this is the default).
  • True. Message is suspended as non-resumable.

BTS.SuspendMessageOnRoutingFailure

Promoted by the Messaging Engine after receiving a message from a receive adapter and before publishing it into the MessageBox database.

xs:boolean

Specifies behavior when a routing failure occurs with an incoming message.

Valid values:

  • Default / False. If the property does not exist or is set to False, the engine notifies the adapter of the error when a routing failure occurs.
  • True. The routing engine will suspend the message automatically when a routing failure occurs.
Note
The suspended message will be the post-pipeline/mapping message and not the message submitted by the adapter (i.e. the wire message).

There are a number of other properties in this namespace that carry information that may be useful for some BizTalk applications.

Property When and where it is promoted Type Description

BTS.AckDescription

Set by the Messaging Engine before publishing an acknowledgement message into the MessageBox database.

xs:string

Identifies the ErrorDescription, which gives the place and reason for the suspension.

BTS.EncryptionCert

Not promotable.

xs:int

Identifies the thumbprint corresponding to the encryption certificate. Set this property in an orchestration or custom pipeline component placed before the MIME/SMIME Encoder pipeline component in a pipeline to perform response encryption on a request-response port that is receiving a signed and encrypted message.

BTS.InterchangeID

Set by the Messaging Engine for each message that arrives on the server.

xs:string

Defines the unique ID that is used to group the documents that resulted from the same interchange message.

BTS.Loopback

Set by an adapter when submitting the request message for loop back execution.

xs:boolean

Defines whether the message should be submitted into the server for a loop back execution. In loop back execution, the request message is published into the MessageBox database where it is routed directly to the receive adapter as a response.

BTS.SignatureCertificate

Set by some adapters when submitting a message into the server. This property is used by the Party Resolution pipeline component.

xs:string

Identifies the thumbprint of the signing certificate that was used to sign the message received by BizTalk Server.

BTS.SourcePartyID

Set by the Party Resolution pipeline component after the party has been identified for the incoming message.

xs:string

The ID of the BizTalk party.

BTS.SSOTicket

If the receive adapter supports this property, it is set when publishing the message to a server.

xs:string

A ticket contains the encrypted domain and username of the current user, as well as the ticket expiration time. The ticket is used by SSO enabled adapters to get the credentials for the user when authenticating with destination endpoints.

BTS.WindowsUser

Set by some adapters when submitting a message into the server. This property is used by the Party Resolution pipeline component.

Monday, November 20, 2006 8:16:05 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk
# Saturday, November 18, 2006

As you may know, the BTS VS.NET IDE plugin during a build goes off and compiles your BizTalk maps, schemas and orchestrations to C#.

Then from there we have another compile and viola - we have dlls produced.

The IDE uses the compiler XSharpP.exe to produce your C# files.

Wouldnt it be nice to see what the C# files are - also very useful for line by line debugging.fingerscrossed

All you need to do is to create the appropriate Registry Key and corresponding value
Key Location: HKCU\Software\Microsoft\VisualStudio\8
Key Name: BizTalkProject
Value Type: DWORD
Value Name: GenerateCSFiles (this is the only acceptible value at this point)
Value : 1
Done! Load a BTS Project up, and compile - you'll see some changes.

 

Note: I have had this fail a couple of times on some huge BTS solutions with over 40 odd 'Solution Folders' (and bts projects under those etc).

Saturday, November 18, 2006 11:29:10 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [1] -
BizTalk | Tips
# Thursday, November 16, 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.

Agenda: http://download.microsoft.com/documents/australia/Biztalk/CustomerAgenda.pdf

To Register: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032318088&Culture=en-AU

Katie Macintosh | Product Marketing Manager, Application Platform Servers

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

My fellow partner in crime from our Sydney User Group has taken up the challenge and launched a blog!!!

Mark Burch has been solving all sorts of Microsoft PSS BizTalk 'challenges' - great to have you onboard Mark!

He's got a wealth of knowledge and he's on the 'inside' (works for MS) - so he might tell you the best tips for the next race or some get down dirty into the land of BizTalk (as we know, that land is growing)

Watch out Mark...these blogs are addictive...

Mark's Blog -http://biztorque.net/

Friday, November 10, 2006 10:14:40 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Insights | Other | Tips
# Wednesday, November 08, 2006

While delving into the depths of this for a current project - I shot a question off to the team over in Redmond in relation to the TPE and grabing related data from different areas of a BTS process.....NOW this is where it got great!!!

Vikas responded and check out his fantastic blog - dedicated to Biztalk and TPE!!!

In particulare I'm interested in Continuations

Thousand thanks Vikas + co.

Cheers,

Mick.

Wednesday, November 08, 2006 11:41:26 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips
# Tuesday, November 07, 2006

Hi guys,

I'm currently researching ways to do this outside of an orchestration - e.g. pipeline.

Here's a simple technique you can use INSIDE an Orch.

(1) variable declarations in the Orch.
System.Type MapToApplyType;

(2) message declaration
<schema type or whatever>   msgIn;
System.Xml.XmlDocument    msgOut;

(3) code in the Orchestration  - in the getType function you could grab that string from rules or anywhere.
In an expression shape: (for eg)
MapToApply = System.Type.GetType("MyMapAssembly.MyMap, MyMapAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=abfe123ef93cc2aa");

(4) in a message construct shape for msgOut
// the line below is GOLD where
transform (msgOut) = MapToApplyType(msgIn);


There you have it!!! BTS looks after the finding and loading of the map. transform is an internal keyword of bts.

Have fun,




Tuesday, November 07, 2006 11:07:06 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips
# Friday, November 03, 2006

 I recently came across yet another great BizTalk tool - this tool gives you a view of the Tracking database with a twist

You can follow a message through BizTalk and see how long each stage took - Orchestration or other. Pretty cool just to be able to see timings and paths right infront of you.

This tool was initially developed by Unisys for their performance testing of BizTalk - well done all!

 

Link to BizTalk Time Breakdown - Boudewijn's adapter blog

Friday, November 03, 2006 2:13:34 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips
# Thursday, November 02, 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
{
~ConsoleAdapter()
{
// 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.
_tp.TerminateIsolatedReceiver();
}

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();

do
{
// Submit the msssage to BizTalk Server
SendMessage(data);
data = ""
data = Console.ReadLine();
}
while(true);
}
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)
Register();

// 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);
sw.Write(data);
sw.Flush();
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);
batch.SubmitMessage(msg);
batch.Done(null);

}
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
batch.SubmitMessage(msg);
//tell the batch we're done
batch.Done(null);

}
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 "1.0.0.0" } }

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)
{

}

#endregion
}
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");

default:
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;
}

#endregion
}

}

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

Something to share with you - ever wanted to clear out the tracking database? two ways to do this:

1. considerate way - only purges completed items
MSDN BTS06 Proper Purge

2. inconsiderate way - FAST! purges ALL data in the DTA.
Stored Proc - dtasp_CleanHMData (useful in test environments etc)
This will truncate the tables within the DTA DB - just like new!

Cheers,

Mick.

Thursday, November 02, 2006 9:08:59 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | Tips
# Sunday, October 22, 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 stserv@list.sydbiz.org with
SUBSCRIBE cs@list.sydbiz.org  
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 stserv@list.sydbiz.org with
UNSUBSCRIBE cs@list.sydbiz.org

 


Sunday, October 22, 2006 3:03:28 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk | RFID | Events | Office | Tips | WinWF

Here's details of our next meeting - love to see you there (http://sydbiz.org)

This Month – “MOM’s the Word with BizTalk 2006”

Thursday, 26th October 2006
6:00 PM
DDLS, Level 10
Thakral House
301 George Street, Sydney (back in the City Folks)

This month we are in for a treat as Chris Vidotto (Microsoft Australia’s leading BizTalk Technical Specialist!) is in town for Thursday night – hence the night change this month.

I also have a couple of other things to tell you guys also. So let’s get cracking –

1. Presentation Details

We are going to have a look at Monitoring your BizTalk solutions through MOM.

Come and join us to understand how you can monitor your BizTalk Environment using MOM

    • Chris Vidotto (National Microsoft Australia BizTalk TS) will be presenting on:
      MOM Agenda:
      • I’ll guide you through installing MOM and the BizTalk Management Pack
      • Explain how you can utilise the rules to monitor specific BizTalk events.
      • I’ll demonstrate several capabilities through the MOM Operator and Administration Consoles.

        Questions - Bring these along too.

2. What’s News this month
A lot has been happening this month (why does this feel like a MSDN/Technet email J) and to fill in:

a. Connected Systems push from Microsoft Redmond. BizTalk, RFID, .NET 3.0 components of WCF and WinWF all fall into the ‘Connected Systems’ space. (even our user group may be umbrella-ed by some Australia + NZ wide central body – more on that if/when it happens).

So in seeking to provide you guys with a better service (from your trusty user group leader) I’ve set up a ‘Connected Systems mailing list’. Focused on Biztalk (as if it wouldn’t be!), WCF, WinWF and RFID. We want to focus on integration

So come along and join me (and my one other friend on the list) – answers to problems etc.

Just to note: we do value your privacy as well and list membership details will NOT be given out to anyone.

List details – cs@list.sydbiz.org
To Join:

send a mail to ‘stserv@list.sydbiz.org’ with the line in the BODY of the message
‘SUBSCRIBE cs@list.sydbiz.org’
or click on this link JOIN
To Leave – say ‘UNSUBSCRIBE cs@list.sydbiz.org’

b. BTS 2006 R2 TAP is under way – hope you’re on it and having fun. Lot’s of new things (always) on the horizon with BTS 2006 R2

<!--[if !supportLists]-->c. RFID kit – I should be in possession of the kit any day now, expect to be running around with the latest and greatest membership recording system BizTalk can bring to the table. RFID is the name.......you guys will be just so far ahead of the game.

Here's a rundown with approximate presentation times:

6:00 PM Meet & Greet (free pizza & drinks!)

6:30 PM Monitor your BizTalk environment using MOM.

7.30 PM Questions and up and coming agenda revealed

7.45 PM Nearest pub.....

Looking forward to seeing you all!
Mick Badran/Mark Burch
Coordinator
mb: 0404 842 833

Sunday, October 22, 2006 2:52:29 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Events

Once again Andrew Leckie has sent through another gem - a performance document comparing BTS04/SQL2000, BTS06/SQL2000 and BTS06/SQL2005. The tests were carried out by 'InfoSys' in the US - well done guys.

Some very interesting results

Grab the document here -

biztalk-2006-performance-benchmarking-Report.pdf (674.5 KB)

Good stuff.
Sunday, October 22, 2006 11:08:25 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Tips
# Tuesday, October 17, 2006

The product team has been busy...one for all your EDI questions

Find it here:
http://blogs.msdn.com/BizTalkB2B/

Tuesday, October 17, 2006 7:41:46 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk
# Friday, October 13, 2006

Very handy to have about keeping IIS6 streamlined, and outgoing socket connections adjustable.
So when BTS is busy crunching away and creating sockets to various endpoints.

On a current project, we use a 'helper' class to talk to an ERP system (pronto) and the helper class creates (& destroys upon cleanup) a socket with each instaniation.

Problem is that Windows will not immediately return the discarded socket back to the socket pool for up to 2 mins (due to slow networks etc. and the TCP setup needs to be fully 'flushed' as I understand)

The issue is - in busy times within the registry there is a value that says - the user (aka BTS) can only create 5000 socket connections at any one time. 1024 are already taken in the well known port space (esp. on a server) so we found we were hovering around the 3900 active connections at once...till things went bad.

These settings below - one for IIS accepting/servicing a higher number of socket connections and the other is for outgoing user connections.

It's always interesting moving these bottlenecks along....to see what the next component that presents itself as the bottleneck.

Enjoy.

MaxConnections (HTTP.SYS)

Controls the number of simultaneous HTTP connections (and hence limits number of simultaneous connections serviceable by IIS6).

  • On Windows Server 2003 RTM x86, this comes out to around 8,700
  • On Windows Server 2003 SP1, the limit has been removed
  • On Windows Server 2003 SP1 x64, since NPP is bound by available memory, you can increase concurrent connections by merely adding more RAM.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
    Type: DWORD
    Value: Range from 0 to 2^32-1

MaxUserPort (TCPIP.SYS)

Controls the max port number that TCP can assign. Every unique client making a request to your web server will use up at least one of these ports on the server. Web applications on the server making outbound SQL or SMB connections also use up these ports on the server... so it highly affects the number of concurrent connections.

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Type: DWORD
Value: Range from 5000 to 65536
Friday, October 13, 2006 12:31:02 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Tips
# Friday, October 06, 2006

Just got an email from Andrew (great all round good guy) about a cool Adapter example he came across.....very nice.

Enabling Faxing of messages from BTS using the Win2K3 FaxServices API and the Office2003 Document Imaging Library.

Enough said - BizTalk Fax Adapter Project

Nice work!

------------- snippet from the Project Page --------------
What the BTS Fax Adapter Does

When the FaxMessage Arrives to the Incomming Archive. The Fax Adapter Copies the Tiff Image (FaxMessage) to the temporary folder and runs OCR on the Tiff Image and Extracts the Text and submits to BizTalk as a message, or takes messages from BizTalk Server and Sends to the FaxConsole. It provides code to build either a dynamic or a static adapter; however, the following procedure only outlines the static adapter. A static adapter is an adapter with a static set of schemas and no custom user interface. A dynamic adapter has a custom user interface and potentially a dynamic set of schemas. Both static and dynamic adapters use the Add Adapter Wizard to add their schemas to a BizTalk project


Friday, October 06, 2006 12:04:00 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | BizTalk
# Thursday, October 05, 2006

Great document I came across
http://www.microsoft.com/downloads/details.aspx?FamilyID=fdae55db-184b-4d93-ad79-a113b5268ee2&DisplayLang=en

Talks about perf of each adapter - MSMQ, File, SQL etc etc. HTTP + SOAP have marked improvements in bts2006.

Keep this one handy :)

Thursday, October 05, 2006 9:03:22 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Tips
# Wednesday, October 04, 2006

More and more often your beloved BizTalk 2004 box gets more and more 'things' (in Vista they call them 'gadgets') to run apart from the Biztalk Service.

Generally you'll find before long that these things will require V2.0 NET Framework (which is pretty cool)

You'll then find BizTalk 2004 grumbling about all the new routines in the .NET Framework V2.0 that it has no idea about (rightly so)....so...........the way I see it

(1) Upgrade to BTS 2006 - sensational! performance, .NET Framework 2.0, Adapter City......but this isnt always possible........

or

(2) Add the following to your BTSNTSvc.exe.config file inbetween the <Configuration>... tags

<!-- To ensure .NET Framework 2.0 isn't used on machines where it exists. -->
 <startup>
  <supportedRuntime version="v1.1.4322"/>
 </startup>

 

Sorts all your Framework mismatch errors.....
I'd even add it now as a precaution

Enjoy!

Wednesday, October 04, 2006 7:44:49 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights

If you're like me - working away...you'll soon want to split up your solution into multiple hosts.

Whether it be BTS2004 or 2006, there's still a bit of 'click, start/stop (or restart)' for each host instance.

I'm on a project where we are looking to use 9 or so host instances....I decided to write a script to do it. More like a batch file.
(go easy on my batch file skills....it's been a LONG while since I've had to cut some serious batch stuff)

Enjoy - saves heaps of time.


(copy and paste the following code into a file called 'Restart_BTSHosts.bat' for eg.)

@ECHO OFF
@REM =======================
@REM Mick Badran 2006
@REM
@REM Checks the BizTalk Hosts and restarts them
@REM
@REM possible improvements - to be able to select
@REM BTS Hosts with wildcards.
@REM =======================
@ECHO Restarting ALL BizTalk Hosts 2004/2006 from the command line.
@ECHO.
@ECHO.
@SET TEMPFILE1="%TEMP%\bts1.txt"

@REM this line looks through the installed services and pulls out matching ones to BTSSvc (could be any though)
@SC QUERY | FindSTR "BTSSvc" > %TEMPFILE1%

@ECHO. Stopping BizTalk Host Instances...
@FOR /F "tokens=2" %%s in ('TYPE %TEMPFILE1%') DO SC STOP %%s
@ECHO.
@ECHO. Starting BizTalk Host Instances...
@FOR /F "tokens=2" %%s in ('TYPE %TEMPFILE1%') DO SC START %%s
@ECHO.
@DEL %TEMPFILE1%
@ECHO Done..... :)

Wednesday, October 04, 2006 4:29:29 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk

The good old infamous registry key will save those grey hairs.
Basically if BTS runs into any grief during an upgrade process and bombs out...this key tells BTS setup to 'feel free and rerun the upgrade again'

In the case of pre or post upgrade configuration failures, add a DWORD registry entry RerunUpgrade=1 under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0_Migrated.

The setup can be executed multiple times even after the BizTalk 2006 installation. This enables us to complete the upgrade successfully in case it fails because of some unprecedented scenario.

More info: http://blogs.msdn.com/biztalk_upgrade/archive/2006/02/22/537344.aspx

Wednesday, October 04, 2006 1:09:46 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Tips

Grab it while it's hot folks!.......check out the goodies below



 Connected Systems Division | User Assistance 

Hi,

This mail lists the documentation updates the BizTalk Server UA team has published in the past three months. The updates are based on customer input that is gathered through our documentation feedback mechanism, blogs, newsgroups, site visits, and TAP participants. 

Thanks to everyone who is providing feedback and improving the customer experience!

Core Documentation | Download

The BizTalk Server 2006 Help is updated every two weeks and posted in downloadable chm. format. Since RTM, we've addressed more than 350 documentation bugs, the majority of which were requests for new content. Check out the following new and updated topics!

· Improvements to the Orchestrations help, including the following new topics:

  • How to Use MessageBox Direct Bound Ports
  • How to Use Partner Orchestration Direct Bound Ports
  • How to Use Self-Correlating Direct Bound Ports
  • Working with Direct Bound Ports in Orchestrations
  • How to Debug Design Time Errors and Build Errors
  • Writing Information to the Event Log
  • Interactive Debugging of an Orchestration in HAT
  • Tracking Orchestrations with HAT
  • Working with the Orchestration Debugger
  • How to Use Expressions to Transform Messages
  • How to Create Role Links in Orchestrations

· Improvements to the Business Rule Engine help, including the following new or updated topics:

  • Invoking Static Members of a Class
  • Support for Generic Types and Generic Methods
  • Accessing Nested Members of a Class
  • Support for Type Casting
  • Support for Class Inheritance in the Business Rule Engine
  • Support for Nullable Types
  • How to deploy policies (programmatically)
  • Performance Considerations When Using the Rule Engine

· Improvements to the SAP adapter help, which was integrated into the BTS06 collection:

  • Added the "Architecture and Planning" section.
  • Reinforced .NET Connector version requirements in the installation topic.
  • Added "Enabling and Disabling SAP RFC and CPIC Trace" with additional details about CPIC trace (CPIC trace supports 4 different trace levels including none). Includes script per doc.
  • Added " How the Adapter Communicates Using RFCs and IDoc: SAP Connector for Microsoft .NET" section.
  • In the "How to Troubleshoot the Adapter" topic, added section for transaction lock error.
  • Modified the troubleshooting topic to mention SAP Monitoring area and SAP RFC testing.
  • Added troubleshooting information for "BizTalk service is not receiving IDOC's from the SAP system."

· More troubleshooting information!

  • How to troubleshoot BTS administration, permissions, performance, adapters, dependencies, and configuration.
  • How to capture a memory dump of a BTS processes.
  • Which tools and utilities you should use for troubleshooting.

Updated Installation, Configuration, and Upgrade Guides |  Download

The installation instructions explain how to install BizTalk Server 2006 on Windows XP, Windows 2000 Server, or Windows Server 2003 in a single server or multiserver environment.

Whitepapers

The following is a list of whitepapers that have been published since RTM.

Upcoming Themes for the Developer Center and TechCenter

Month

Dev Center

Tech Center

Nov

Troubleshooting

Troubleshooting

Dec

Workflow Foundation

Business Activity Monitoring

Jan

Security

Security

Feb

Pipelines

Operations

March

Application Dev

Install/Config/Upgrade

Other Content

In addition to the fixes introduced, we have also been busy over the past few months producing, updating, and publishing other valuable content. This includes:

· BizTalk Server 2006 Tutorials

· BizTalk Server 2006 PDF Help Files

· Documentation for the rules and messages of the BizTalk Server 2006 Best Practices Analyzer

Wednesday, October 04, 2006 12:55:01 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk
# Tuesday, October 03, 2006

Vishal has written a great tool (very easy to use) that will incrementally add your current Tracking Archives to a 'master' tracking database that has all the goodies in it for analysis.
BTS Stitching tool

So in essence you keep your production Tracking database down in size!!!! no 30GB databases please!! (on several occasions it's been days to reduce these DBs)
Schedule regular archiving and pruning---> use this tool --> you then have a regular complete Tracking DB for super analysis.

----- Snippet from the Readme file -----
Once the aggregate database has been setup there are multiple ways you can add another backup to it.

  1. You explicitly specify the backup file to the sql stored procedure.
  2. You can specify a folder containing a list of backups to the sql stored procedure. The stored procedure automatically appends the backups taking care of the order in which they need to be uploaded. All backups that have already been uploaded or are older than the last one added, will be automatically skipped.
  3. <fully automated> After a setup a SQL server agent job is added. You can enable the job and specify the folder location. The job automatically runs and appends and new backups.

Enjoy,
Mick.

Tuesday, October 03, 2006 1:08:57 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Tips
# Friday, September 29, 2006
I'm getting around to it!

A while back I did a MSDN Webcast on this topic, and I also presented upon this at the Australian Teched 2006.

During my sessions I used a whole bunch of demo code etc.

It is my mission to make this available to you (took me around 15 months to design + implement this for a client). I want to make available a demo version for you folks to enable to you get in a get your hands dirty.

The two worlds live together quite nicely! BTS 2006 and WinWF.
You dont have to decide whether I'll write lines of code with WinWF or for those 'enterprise' solutions...time to use BizTalk. Not a chance.

I'll show you how to drive Workflow Solutions from within a BizTalk framework enabling things like BAM, HAT etc etc for the whole story.

Stay tuned and watch this space!.....within the week! I promise!

Friday, September 29, 2006 12:48:45 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | WinWF
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 Intermec.com 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) :
rfid_overview_sydney.zip (2.9 MB)

Friday, September 29, 2006 12:42:18 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | RFID
# Saturday, September 16, 2006
Seems like it's the night for a braindump over the last couple of weeks.....

Hotfix 923632 will do the job.

Also be sure to follow these steps after applying hotfix 923632:

 
1.  Open regedit and go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc$<HostName>

 
Make sure host name is the name of the BizTalk host which is publishing messages which are routed to multiple req/resp subscribers.

 
2.  At that key, add the DWORD value AllowMultipleResponses and set it to a value of 1.

3.  Restart the host service after making this change.


Saturday, September 16, 2006 12:03:52 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Tips
# Friday, September 15, 2006

Installation and config guides, including multi-server are here:

http://www.microsoft.com/downloads/details.aspx?FamilyId=B273269C-97E0-411D-8849-5A8070698E4A&displaylang=en

Planning for High Availability here -
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS06CoreDocs/html/16feada0-b0b1-4e58-9477-fbd1aae2f51e.asp?frame=true

 I keep needing these so I thought I'd store them some place handy :)

Friday, September 15, 2006 11:44:13 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [5] -
BizTalk | Tips
Onsite the other day I noticed the Admin Console running poorly.

Fiddling around with SQL Native Client settings, if we put TCP first on both SQL Server + BizTalk machine - all's fine (as opposed to Named Pipes)

Not sure what's going on there...but one to watch out on.

Mick.

Friday, September 15, 2006 11:28:35 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk | Insights | Tips
# Friday, September 08, 2006

Earlier this week I was onsite with a Sharepoint 2007 project (I know....BizTalk is the NEXT stage...)
Basically the conversation went:
Client: "We want to implement Sharepoint by December"
Me: "You'll want to look at Sharepoint V3" (why waste time on V2??)
Client: "Let's install it and talk more before lunch. Whatever it is....it's got to be 'FREE' as I have no budget left"

So I installed WSS V3 and configured a couple of WebApplications - one for 'test/play' and another for the 'live' site.

At lunch we spoke - I found out they wanted aggregated Search, Audiences, Roles, Profiles....basically ALL the things in PORTAL and not WSS!
But it had to be free.......

So the Partner I was working with (www.avc.com.au) told me all about their involvement with MS's new licensing model - SPLA.
Sort of like a leasing model, rather than a huge upfront cost!! My mind wondered........HOW GOOD!

So for this Client, they could quite easily pass off the per monthly leasing costs and not be slugged.

What this means for you/us:
- one of the biggest blockers to projects/solutions is the initial outlay (some folks call it 'Investment') for something that is not even generating returns. e.g. VSTS etc.

- you can now setup a development team for 6 months, paying something like a per developer per month price. End of the project you pay no more!

I've done alot of work over the years with the AVC crew, and they can explain further.

Here's a snippet from Andy Every (main AVC SPLA contact) that I asked for around a BizTalk 2006 example. (Aussie dollars)

SPLA is a subscriber licensing agreement where you effectively rent your licenses on a monthly basis. The benefits are:

  • Off balance sheet expense i.e. full tax write off, you never own the licenses.
  • You only pay each month for what you are using. No need to forecast maximum usage over multiple years
  • You can upgrade to the latest version of any product you are paying for at any time.
  • Greater visibility of your operational expenses
  • Project costs are only incurred for the duration of the project

To use your example licensing Biztalk Std Edition would be as follows:

Open Business Corporate          = $20,625.45 ex GST (RRP) for one processor license inc SA for the first two years,  then $6,875.45 SA every two years

SPLA                                       = $710.27/month ex GST (RRP) for one processor license (includes SA)

Please Note - there is a monthly Network Services Management Fee (usually we charge a standard $25.00 ex GST) that AVC has to charge to be in compliance with the SPLA Agreement

Friday, September 08, 2006 8:09:56 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | Office | Other
# Monday, August 28, 2006
I've been working on a solution now for almost 14 months that is basically BizTalk 2006 and Windows Workflow Foundation (we started on Windows Workflow in alpha), and I've come up with a solid framework where BizTalk and Windows Workflow complement each other very well.

Unlike the standard Workflow Message of "For 'Enterprise' solutions, SAP integration etc. use BTS, for everything else use Workflow..."

My session was on using BizTalk as a Framework and Workflow providing 'pluggable' pieces of the solutions.
(One day I'll get to writing this up in full)
  • BizTalk provides the Solution/Message Flow
  • Workflow provides the State Flow and Transition Logic
Here's the





BTS WWF Integration.zip (686.1 KB)

Thought I'd wack in the eval results - thanks for feedback, it will be taken onboard and digested!!
(a room full of 200 people and 7 posted evals......this was a problem through out the conference, as the attendees couldnt put
put their eval in there and then)

Overall Results
Evals SubmittedQ1Q2Q3Q4Q5Q9QAvg
77.437.438.298.437.437.577.80


Monday, August 28, 2006 10:37:49 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [3] -
BizTalk | TechEd
# Sunday, August 27, 2006

This is the handy work of the folks on CodePlex!!

Great tool - documents, displays orchestrations and gives the output choice of word/html or chm.

I prefer CHM as they are searchable etc. within them.

Here's the Download Details

UK SDC BizTalk 2006 Documenter RELEASED

Creates compiled help files for a given BTS 2006 installation. This tool can be run on an ad-hoc basis using the UI or from the command line as a post build/deploy task to create a compiled help file describing a BTS 2006 installation. It will compile: BTS Host configuration, Send/Receive port configuration, Orchestration diagrams, Schema and Map content, Pipeline process flow, Adapter configuration, Rule engine vocabularies and policies, More… and publish them as compiled help files. Optionally you can embed custom HTML content and custom descriptions for all BTS artifacts to produce a more customized look and feel to the CHM output.

Click here to download

Sunday, August 27, 2006 4:15:51 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk
# Wednesday, August 16, 2006
With the default pagefile set at - either 2GB or 1.5 x RAM for machines with RAM under 2GB
or....for machines over 2GB the page file will be set for 2GB.

Now more and more in large systems I'm seeing the need to increase this pagefile to over 2GB.

Problem - 32-bit Windows 2000/2003 can only address 4GB (as RAM) for a Pagefile.

In this particular case I have 10 biztalk host instances running on a heavily loaded machine.
The machine is 32bit (with the prospect of going 64bit in the medium future) and we need to prove the solution to the business.
(i.e volume, load, uptime etc.)

While looking at trying to expand the pagefile (I'm assuming it's not all being used, but during 'busy' times, I'd like to have a bit extra if needed)
I came across the limitation of 4GB - makes sense when you think about it. A memory mapped file, living on the disk.

Here's some handy registry settings for giving you more!!!!

To create multiple paging files on one volume to overcome the 4,095-MB limit:
1. On the drive or volume you want to hold the paging files, create folders for the number of paging files you want to create on the volume. For example, C:\Pagefile1, C:\Pagefile2, and C:\Pagefile3.
2. Click Start, Click Run, type regedit in the Open box, and then click OK.
3. In the left pane, locate and click the following registry subkey:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\MemoryManagement
4. Find the Pagingfiles value, and then double-click it to open it.
5. Remove any existing values, and add the following values:
c:\pagefile1\pagefile.sys 3000 4000
c:\pagefile2\pagefile.sys 3000 4000
c:\pagefile3\Pagefile.sys 3000 4000

See the full Support Article here

Wednesday, August 16, 2006 10:35:00 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [3] -
BizTalk
# Tuesday, August 15, 2006
I got an email from a great guy Andrew (based in NZ) alerting me to a cool tool by Richard Seroter.
That will go and give your rules the 'once over' plus alot more!!!

Check it out here

Thanks Richard!!! (and thanks Andrew)
 

Tuesday, August 15, 2006 10:47:31 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk
# Monday, August 14, 2006
An interesting thing happened on this project the other day, I wanted to call a WebSite (i.e. do a HTTP GET, then grab the HTML Response) just to make sure that it's up and running.

It wasnt a webservice call, just a standard HTTP GET and HTML is returned (bit like going to the Cricket sites, to see the current scores! :)

I created an Orchestration with a
msgResponse = Microsoft.XLANGs.BaseTypes.Any (this was coming back from the WebSite call)

I then sent it straight back to the caller - using PassThru pipelines where ever needed, as this message had HTML and not XML, so no XML inspection could be done.

As the goal posts moved, I then needed to Inspect the HTML Response for a certain Version value within the HTML Response.
I thought "How do I do anything with a Message type of 'Any'?"

1. Could I just send it back out to disk, a folder...when I open the resulting file it appears all there.
2. Transform it into something more meaningful??
3. Send it to a helper class for further processing?

My problem was that the response was a HTML message and not a XHTML Response.

I even threw in a helper method from within an expression type to try and get the type.
e.g. EventLog.WriteEntry("I got " + Type.GetType(msgResponse))

One of the problems I had was that I couldnt declare a helper method of
public static string GetMessageAsString(Microsoft.XLangs.Any msg) {.....}

The compiler jumps up and down and does nasty things to you!

What is the type of 'Any' in C# is the 64 million dollar question.

We know that all common Orchestrations Messages can be passed through as an XLANGMessage with it's parts + properties. All good.
(I tried this, it failed miserably)

After sheer determination and having an overloaded helper method with 10 different possible types (I was racking my brain from XLANGMessage, to BTXMessage, to Object....etc) the type that relates the 'ANY' element is XLANGPart as follows:

    public static string RetrieveMessageAsString(XLANGPart pt)
        {
            StreamReader rdr = new StreamReader((Stream)pt.RetrieveAs(typeof(Stream)));
            string s = rdr.ReadToEnd();
            return(s);
        }

NOTE: This doesnt deal with different byte encodings, but is easy enough to implement.



Monday, August 14, 2006 3:34:10 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
BizTalk | Insights
# Friday, August 11, 2006

I'm always needing these settings, so I've got them.
"Where's that (more) complete config file when you need it??" - look no further.

I've also included some BTS process memory throttling options as well - due to a recent Out of Memory Exception I resolved.

----------

<?xml version="1.0" ?>
<
configuration>
   <configSections>
      
<section name="xlangs" type="Microsoft.XLANGs.BizTalk.CrossProcess.XmlSerializationConfigurationSectionHandler, Microsoft.XLANGs.BizTalk.CrossProcess" />
    
</configSections>

    <!-- these settings are for BTS making HTTP/SOAP calls out, 2 concurrent connections is the default.
         This should be in EVERY system where BTS is calling WebServices -->

   <
system.net>
      <connectionManagement>
          <add address="*" maxconnection="40"/>
     
</connectionManagement>
   </system.net>

   
<runtime>
      
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         
<probing privatePath="BizTalk Assemblies;Developer Tools;Tracking;Tracking\interop" />
      
</assemblyBinding>
    
</runtime>
    
<system.runtime.remoting>
       
<channelSinkProviders>
         <
serverProviders>
            
<provider id="sspi" type="Microsoft.BizTalk.XLANGs.BTXEngine.SecurityServerChannelSinkProvider,Microsoft.XLANGs.BizTalk.Engine" securityPackage="ntlm" authenticationLevel="packetPrivacy" />
         
</serverProviders>
      
</channelSinkProviders>
      
<application>
         
<channels>
            
<channel ref="tcp" port="0" name="">
               
<serverProviders>
                  
<provider ref="sspi" />
                  
<formatter ref="binary" typeFilterLevel="Full"/>
               
</serverProviders>
            
</channel>
         
</channels>
      
</application>
     
</system.runtime.remoting>
      
<appSettings>
         
<add key="Key1" value="Hello, World!" />
      
</appSettings>
      
<xlangs>
         
<Configuration><!-- MaxThreshold - "Max time in memory an Orch will reside before dehydrat" MinThreshold - "Min time" -->
               
<Dehydration MaxThreshold="1800" MinThreshold="1" ConstantThreshold="-1">
                  
<!-- Currently, virtual memory can become a bottleneck on 32-bit machines due to unmanaged heap fragmentation, so you should throttle by this resource as well. -->
                  
<VirtualMemoryThrottlingCriteria OptimalUsage="900"” MaximalUsage="1300" IsActive="true" /> 
                  
<!-- This is a useful criterion for throttling, but appropriate values depend on whether the box is being shared among servers. If the machine has a lot of RAM and is not being shared with other functions, then these values can be significantly increased.Optimal and maximal usage are in MB.-->
                  
<PrivateMemoryThrottlingCriteria OptimalUsage="50" MaximalUsage="350" IsActive="true" /> 
               
</Dehydration>
               
<Debugging ValidateSchemas="true" ValidateAssemblies="true" ExtendedLogging="true" ValidateCorrelations="false" />
               <AppDomains AssembliesPerDomain="10">
                  
<AppDomainSpecs>
                     <AppDomainSpec Name="DemoDomain" SecondsIdleBeforeShutdown="-1" SecondsEmptyBeforeShutdown="12000" />
                  </AppDomainSpecs>
                  
<ExactAssignmentRules>
                     
<ExactAssignmentRule AssemblyName="Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3a7d0586c62e754b" AppDomainName="DemoDomain" />
                  
</ExactAssignmentRules>
               
</AppDomains>
            
</Configuration>
      
</xlangs>
</configuration>

Friday, August 11, 2006 1:17:53 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk
# Thursday, August 10, 2006
On this current assignment, we're getting the production environment ready for our deployment in the coming weeks.

As we know there's a bunch of config settings for a BTS install - e.g. ConfigFramework (bts2004) or Configuration.exe (bts2006)
and one way that we're looking (in our case bts2004 :-( ) to configure the multiple hosts and specific adapter handler settings is to use
WMI. (rather than just accepting defaults and then going crazy in the BTS admin)

While we do love those production guys.......we want to make it as fail safe as possible.

I thought - WMI....I'll grab the plug-in for VStudio and start working there (consultant #1 method!)
or.....
Grab the WMI Code Creator 1.0 - let it create the C# code for you!!!

NICE!!

(alternatively - we could go down the BTS object model using 'ExplorerOM' library........at the moment WMI seems the easiest for the production guys to get their heads around)

Cheers,

Mick

Thursday, August 10, 2006 11:49:42 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [2] -
BizTalk | Insights
# Wednesday, August 09, 2006
While on a current project, I needed to go off to a WebServer and grab a page, parse it to make sure all was alive and kicking (a system verification page).

Connected and ended up getting -

The adapter failed to transmit message going to send port "http://<server>/<site>/". It will be retransmitted after the retry interval specified for this Send Port. Details:"The remote server returned an error: (505) Http Version Not Supported.".

btsRequest.JPG

The weird thing is, that when BTS retries (in 5 mins) - it works!!! No good for production!

After doing some digging, the problem lies around the fact that .NET 1.1 (in my case) clients use HTTP 1.1 by default.
There is a HTTP Header "Expect: 100-Continue" that is inserted into the outgoing webrequests.



The JBOSS WebServer grumbles about this - more info.

Now from BTS we can get access to the HTTP/SOAP Headers Collection - msg(HTTP.InputHeaders)=....

Solution:
Add this setting to the BizTalk Config file (BTSNTSvc.exe.config)

<system.net>
        <settings>
            <servicePointManager checkCertificateName="true" checkCertificateRevocationList="false" expect100Continue="false" />
        </settings>
</system.net>


NOTE: this will set all outgoing HTTP requests (including SOAP),
to pick and choose which addresses this applies to..... is to most probably write
a webRequestModules for the Addresses. This is a bit of code but allows you to either turn this setting on/off or pass the original request through
to the default HTTPWebRequestModule (check out machine.config) for more.

This is by far the most elegant - there are other ways to do this, they all seem offensive!

Cheers,

Mick.

Wednesday, August 09, 2006 11:40:02 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [1] -
.NET Developer | BizTalk
# Wednesday, August 02, 2006
I've decided to 'update' and get a better blog generator - I decided to go for DasBlog, shame there's no .NET 2.0 version yet. (I had a play at getting it migrated over....some serious Web HTTP Modules etc. Show stopper for the moment)

My OLD RSS feed is available HERE

My OLD Blog Page is available HERE


Wednesday, August 02, 2006 12:45:25 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
BizTalk
Archive
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
Blogroll
 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
BTS/SPS/.NET GURU!!!
About the author/Disclaimer

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

© Copyright 2012
Breeze
Sign In
Statistics
Total Posts: 518
This Year: 11
This Month: 3
This Week: 1
Comments: 259
All Content © 2012, Breeze