Friday, June 03, 2011

CQRS – the future for low-latency systems…

I wrote a post on my other blog here: http://smart421.wordpress.com/2011/06/02/cqrs-the-future-for-low-latency-systems/ that is about pure CQRS.

I have been interested in CQRS for sometime now and I wrote this off the back of a recent CWDNUG session in London a few days ago: http://www.meetup.com/cwdnug/events/18182511/

Friday, May 27, 2011

Next UK ALM User Group Meeting June 8th 2011

Register here: http://uk-alm-june-2011.eventbrite.com/

I always find these meetings really interesting. So you there!Link

Anyone actually using Workflow for builds in Team Build 2010

I have been using TFS 2010 since the early releases and I am very impressed with its features, some of which I have blogged about here: http://www.simonrhart.com/search/label/TFS

But whenever I have tried using the new Team Build 2010 Build Template Workflow (which is based on MSBuild under the covers) I find it more difficult to navigate and manage. Not to mention there are not many activities around for things like, running StyleCop rules, creating IIS virtual directories, managing service accounts etc.

So the real question is, why would I use Workflow over pure MSBuild.

I am very impressed with the MSBuild Extension Pack that contains many tasks that covers the things I mentioned above and more. I also know there is a MSBuild activity which means you can make use of the MSBuild Extension Pack from within Workflow but this kind of defeats the purpose of using Workflow in the first place.

I also often want the ability to run a build locally before check-in. This build is normally a nightly build which not only compiles code, runs unit tests and acceptance tests etc but it sets up the environment. i.e. if you have a BizTalk solution and you need to deploy the bindings, schema's, maps etc the BTDF can be used to help facilitate this easily. Well when I say easily there is a bit of work to get this to work with Team Build that I will blog about soon...

I know in Team Build 2010 there is the new gated-check in feature that shelves changes, runs a build against the shelved changes then merges with the branch in question if successful. This is great but only half the story. On every get-latest I want the developers machine to be setup and be able to run the latest code. If another developer has added a WCF service with a new app pool or added a receive port, this script needs to take care of all that without each developer even thinking about it.

With the Workflow build templates, there is no way to run those builds locally. The gated-check in is an additional feature that addresses the problem of the developer not running a local build otherwise known as a "buddy build" before he/she checks in to prevent build failures.

To date, I use the "Upgrade Template" in Team Build 2010. I was wondering if anyone was actually using the Default Templates based on pure Workflow?

Sunday, May 22, 2011

Microsoft.BizTalk.TestTools.Mapper.TestableMapBase erroring in Team Build

Have you recently attempted to use the Microsoft.BizTalk.TestTools.Mapper.TestableMapBase (This class enables you to test BizTalk maps programmatically through MSTest or NUnit) on the build server as a CI process or otherwise through some sort of test harness, if so, you might have received the following error:

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.BizTalk.TOM, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

This was happening in a new development environment during the execution of MSTest unit tests against BizTalk 2010 Developer Edition and a Team Foundation 2010 build during a CI build process.

After searching around and reading various blog posts, I couldn't find the solution other than to repair BizTalk. This sounded rather drastic to fix a simple error. So I then decided to do the normal thing a .NET developer would do and check the GAC for the file Microsoft.BizTalk.TOM. I failed to find it so I guess the BizTalk installation must have failed somewhere, as I didn't install BizTalk on that machine it's hard to know.

So I then decided to GAC the file. Looking for GACUTIL.exe, I soon realised and remembered that GACUTIL is not supplied with the .NET Framework. As this was a build server, I didn't have Visual Studio installed. Then I remembered I installed the Windows Server SDK v6.1 on this machine so that I could actually build code and run tests (due to various build targets that comes with the Windows Server SDK). When you install the Windows SDK it comes with a CMD.cmd file and GACUTIL.exe (among other things) that sets up the environment ready to use the various tools.

So to fix this missing assembly issue:

1. if you don't have the Windows SDK installed install it (latest version at the time of writing is
v6.1)
2. Once the SDK is installed, run this: C:\Windows\System32\cmd.exe /E:ON /V:ON /T:0E /K "D:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" This is assuming you have installed the SDK on a drive D.
3. Run the following command: GACUTIL C:\Program Files (x86)\Common Files\Microsoft BizTalk\Microsoft.BizTalk.TOM.dll -i

Queue a build, or attempt to run the app using the map test class and all should be well (unless you have other issues!)

Administrative access in Team Build 2010 for creating IIS AppPools etc




I have recently been using the MSBuild Extension Pack over on codeplex available here: http://msbuildextensionpack.codeplex.com/. I came across an issue (build failing) recently where I was trying to write DNS entries to the local HOSTS file and also attempting to create IIS Application Pools and users etc using various tasks provided by the MSBuild Extension Pack.

I have separate build servers 1 for CI and 1 for Integration both of which run Team Build 2010 and the build service runs under a domain user account.

Of course attempting to do the above things require local administrative access to the machine on which you attemp to create App Pools, add DNS entries etc. So I fired up Computer Management and added the TFSBUILD service account to the local Administrators group.

After doing this, I queued a build and it still failed. After looking through the logs in more detail and checking Team Build configuration, all looked correct. I then logged onto the machine using the TFSBUILD account and attempted to perform an administrative action like edit the HOSTS file which I was successfully able to do. I also looked in the Event Log for any errors that might give me a clue as to why it was failing, but nothing there.

In the end I restarted the build controller, queued a build and it worked!

So I'm guessing that security permissions are cached in Team Build.

For information purposes, I'm running Team Build on separate Windows Server 2008 R2 machines from the databases and App Tiers. I'm also using the Upgrade Template so using core MSBuild 4.0 - not Workflow to execute the builds.

Sunday, April 10, 2011

At last broadband speeds as promised with Virgin Media and Fibre optic broadband


Norwich broadband speeds over fibre optic cables

I recently changed from old copper cable based broadband provided by Zen Internet to fibre optic provided by Virgin Media, and I must say I am wowed by it's performance. See above. I am paying for 30mbps and I am getting 30mbps!! fancy that, actually getting what you pay for.

For the first time, I can now stream movies from lovefilm directly through my media centre with no stuttering....

Previously I was paying £25 per month for 8mbps over copper lines but actually only getting (if I was lucky) 1 mbps. Now I am paying £21.49 for 6 months then £30.74 and that includes the phone line.

The last time I wrote a blog on this was when I was living in Guildford, South East England, here: http://www.simonrhart.com/2009/03/broadband-speed-test-south-east-england.html

It still amazes me how broadband service company's can charge you a certain fee for a service you have no way of getting. Imagine if this logic was used in all industries, like the motoring industry. You take your car in to have the tyres replaced, but the garage charges you for a full service instead!! madness!

Monday, March 28, 2011

Unnecessary context scrolling in VS 2010 fixed in VS2010 SP1!!

I published a blog post last year regarding the unnecessary context scrolling in Visual Studio 2010 here: http://www.simonrhart.com/2010/04/turning-off-context-menu-scrolling-in.html

This has been fixed in SP1 of VS2010 and can be downloaded here: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5

A list of things that has been updated can be found here: http://support.microsoft.com/kb/983509

This particular fix applies to this: https://connect.microsoft.com/VisualStudio/feedback/details/533342




I tested this fix against the VS2010 SP1 beta (above) as it does seem to be fixed, so well done Microsoft!

Management_Install.ps1 cannot be loaded because the execution of scripts is disabled on this system



You might have seen the above when attempting to install the BizTalk ESB Management Portal on a 64-bit operating system.

This particular error has been talked about a lot in the community with the solution but I wanted to detail here in a little bit more detail.

It requires Visual Studio 2010 to compile the code so this is for a development environment:

  1. Start the Windows Powershell command window from the following path: C:\Windows\syswow64\WindowsPowerShell\v1.0\Powershell.exe
  2. Edit the Management_Install.ps1 script and alter the line that sets the VS environment variable to this: $env:VS="${env:ProgramFiles(x86)}\Microsoft Visual Studio 10.0\Common7\IDE"
  3. Run: set-executionpolicy unrestrictedBold
  4. Run the Management_Install.bat from the current powershell command window (don't forget to include current directory i.e. .\Management_Install.bat (notice the .\)
The above should successfully use Visual Studio to build the Management Portal. Of course a better way of doing it would be to use something other than Visual Studio like pure MSBuild.

I need to write something that is suitable for a production environment, so when I do I'll post it here.

Thursday, March 24, 2011

Error: Cannot import wsdl:portType

I recently published a post on fixing an error you might get using the WCF SVCUTIL.exe utility when creating WCF service contracts from WSDL documents here: http://smart421.wordpress.com/2011/03/24/error-cannot-import-wsdlporttype/

Thursday, March 17, 2011

Deploying View... ERROR: The BAM deployment failed. Internal error: The operation terminated unsuccessfully.

I wrote a blog post recently on how to overcome the issue of not having the BAMStarSchema database when attempting to deploy the BAM ESB exceptions definition files as part of a Microsoft BizTalk 2010 ESB Toolkit 2.1 installation. This post can be found here: http://www.simonrhart.com/2011/02/bam-star-schema-database-has-not-been.html

After you get past that and you have a BAMStarSchema database you might then see the following error:

Deploying Activity... Done.
Deploying View... ERROR: The BAM deployment failed.
Internal error: The operation terminated unsuccessfully.
OLE DB error: OLE DB or ODBC error: Cannot open database "BAMStarSchema" request
ed by the login. The login failed.; 42000.
Errors in the high-level relational engine. A connection could not be made to th
e data source with the DataSourceID of 'bam_ExcByApplication', Name of 'bam_ExcB
yApplication'.
Errors in the OLAP storage engine: An error occurred while the dimension, with t
he ID of 'ExcByApplication_ExcDatetime', Name of 'ExcByApplication_ExcDatetime'
was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Month' attribute
of the 'ExcByApplication_ExcDatetime' dimension from the 'BAMAnalysis' database
was being processed.
Server: The operation has been cancelled.
OLE DB error: OLE DB or ODBC error: Cannot open database "BAMStarSchema" request
ed by the login. The login failed.; 42000.
Errors in the high-level relational engine. A connection could not be made to th
e data source with the DataSourceID of 'bam_ExcByApplication', Name of 'bam_ExcB
yApplication'.
Errors in the OLAP storage engine: An error occurred while the dimension, with t
he ID of 'ExcByApplication_Application', Name of 'ExcByApplication_Application'
was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Application' att
ribute of the 'ExcByApplication_Application' dimension from the 'BAMAnalysis' da
tabase was being processed.
OLE DB error: OLE DB or ODBC error: Cannot open database "BAMStarSchema" request
ed by the login. The login failed.; 42000.
Errors in the high-level relational engine. A connection could not be made to th
e data source with the DataSourceID of 'bam_ExcByApplication', Name of 'bam_ExcB
yApplication'.
Errors in the OLAP storage engine: An error occurred while the dimension, with t
he ID of 'ExcByApplication_ExcFaultDescription', Name of 'ExcByApplication_ExcFa
ultDescription' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'FaultDescription
' attribute of the 'ExcByApplication_ExcFaultDescription' dimension from the 'BA
MAnalysis' database was being processed.
OLE DB error: OLE DB or ODBC error: Cannot open database "BAMStarSchema" request
ed by the login. The login failed.; 42000.
Errors in the high-level relational engine. A connection could not be made to th
e data source with the DataSourceID of 'bam_ExcByApplication', Name of 'bam_ExcB
yApplication'.
Errors in the OLAP storage engine: An error occurred while the dimension, with t
he ID of 'ExcByApplication_ExcDatetime', Name of 'ExcByApplication_ExcDatetime'
was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Year' attribute
of the 'ExcByApplication_ExcDatetime' dimension from the 'BAMAnalysis' database
was being processed.
OLE DB error: OLE DB or ODBC error: Cannot open database "BAMStarSchema" request
ed by the login. The login failed.; 42000.
Errors in the high-level relational engine. A connection could not be made to th
e data source with the DataSourceID of 'bam_ExcByApplication', Name of 'bam_ExcB
yApplication'.
Errors in the OLAP storage engine: An error occurred while the dimension, with t
he ID of 'ExcByApplication_ExcDatetime', Name of 'ExcByApplication_ExcDatetime'
was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Day' attribute o
f the 'ExcByApplication_ExcDatetime' dimension from the 'BAMAnalysis' database w
as being processed.

This essentially means that the SQL Server user account is not added to the 'db_datareader' role in order to read the BAMStarSchema database.

Simple soultion to fix this is to add the SQL Server service user to that role for the BAMStarSchema database. I this is a development machine, I am running SQL Server under the NT AUTHORITY\NETWORK SERVICE account, so the SQL to fix this could look like the following:

use BAMStarSchema

EXEC sp_addrolemember 'db_datareader', 'NT AUTHORITY\NETWORK SERVICE'

Of course you could do this via SQL Management Studio if you wanted too.

Happy BizTalking!

Wednesday, March 16, 2011

TFS Workbench: An 'WebException' exception occured during the report list load process

Have you seen the following error recently after loading TFS Workbench:

An 'WebException' exception occured during the report list load process. Error Message: The request failed with HTTP status 401: Unauthorized.

If you don't know what TFS Workbench is, take a look at the above link. It is a great tool for managing work items and running SSRS reports in Team Foundation Server. It works with a range of Team Project process templates, I happen to be using Scrum for Team System for TFS 2010.

If you are getting the above error which is really annoying, you'll see the Report Viewer button at the bottom of TFS Workbench grayed out as per the screen shot below:



The annoying thing about that error is that I get a HTTP TFS challenge when I load TFS Workbench because my client is not running within the same domain as the development environment - which is a fairly common scenario - although not ideal sometimes we have no choice.

When I get this challenge I enter my DOMAIN\username and password, hit return and I am authenticated successfully. I know this because I am able to see my team projects in TFS Workbench. The HTTP 401 error tells me the client is able to resolve the reporting services server as if it wasn't, I would get a HTTP 404 error instead. (I added a CNAME record to the DNS server).

So I *think* what is happening is the code is applying the current credentials for the reporting services authentication web service call but not for the TFS Web Service calls.

Perhaps the code looks something like this:

ReportingServicesClient client = new ReportingServicesClient(); client.Credentials = System.Net.CredentialCache.DefaultCredentials;

Who knows, I don't have the code nor have I decompiled it so I don't know...

The solution is to simply add the name of the machine running reporting services along with the password to the Windows Credential Manager (new feature in Windows 7 and Windows Server 2008).

You can load the Credential Manager from Control Panel:




Then click on the Add Windows Credential hyperlink and enter your details in the dialog that pops up:



When you click OK, reload TFS workbench as the TFS Workbench should now resolve the correct credentials for the reporting services server in the Windows Credential store instead of using the default credentials which should fix this issue.


Saturday, March 05, 2011

The local computer is not a member of a windows failover

Don't make the same mistake as I did recently which was installing the wrong edition of Windows Server 2008 R2 in order to make use of Failover Cluster services.

I installed Standard edition of Windows Server 2008 R2 but in order to make use of the Failover Cluster services and managment snap-in, you need either Windows Server 2008 R2 Datacentre or Windows Server 2008 R2 Enterprise.

Attempting to install SQL Failover Cluster in standard edition will give you the following error message during the validation process: The local computer is not a member of a windows failover

This document describes the whole administration process: http://technet.microsoft.com/en-us/library/cc731844(WS.10).aspx

Thursday, March 03, 2011

In Seattle at the MVP Summit 2011


Well I have to say what a great event this year at the MVP Summit 2011. As always Microsoft has done a great job to give us the best experience they possibly can.

This is my 3rd summit and they just keep getting better and better like a fine wine....

Of course I am under NDA so what goes on in Redmond stays in Redmond! It was also a pleasure to catchup with some old friends.

Tuesday, March 01, 2011

Using the Guard pattern to simplify code contracts

I've just published a post on my other blog regarding implementing the Guard pattern in your .NET apps and where Microsoft is taking this approach...

Read it here: http://smart421.wordpress.com/2011/03/01/using-the-guard-pattern-to-simplify-code-contracts/

Saturday, February 26, 2011

The BAM Star Schema database has not been configured. Run bm.exe setup-databases to configure the database

If you have tried setting up the BizTalk ESB Toolkit 2.1 to work with BizTalk 2010 and you're interested in BAM (Business Application Monitoring) for anything going onto and through the bus using BAM (nice feature) then you may get the following error when attempting to deploy the BizTalk ESB BAM definition files for exception handling and itinerary events:

C:\Program Files (x86)\Microsoft BizTalk Server 2010\Tracking>bm deploy-all -Def initionFile:"C:\program files (x86)\Microsoft BizTalk esb toolkit 2.1\bam\micros oft.biztalk.esb.bam.exceptions.xml" Microsoft (R) Business Activity Monitoring Utility Version 3.9.469.0 Copyright (C) Microsoft Corporation. All rights reserved. Using 'BAMPrimaryImport' BAM Primary Import database on server 'FOO-BAR'. .. Deploying Activity... Done. Deploying View... ERROR: The BAM deployment failed. The BAM Star Schema database has not been configured. Run bm.exe setup-databases to configure the database.

These are the commands required to import the Exception and the Itinerary BAM definitions:

Bm.exe deploy-all -DefinitionFile:"C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Bam\Microsoft.BizTalk.ESB.BAM.Itinerary.xml"

and for exception handling definitions:

Bm.exe deploy-all -DefinitionFile:"C:\Program Files (x86)\Microsoft BizTalk ESB Toolkit 2.1\Bam\Microsoft.BizTalk.ESB.BAM.Exception.xml"

So how do you get the BAMStarSchema database into SQL Server? This is not particually intuitive but it is done during the BizTalk configuration process and in particular when configuring the BAM Tools feature:



If you got the above error, it was probably likely to do with the fact you didn't check the Enable Analysis Services for BAM aggregations checkbox during configuration of BizTalk after setup. When you check that checkbox, two more databases will appear in the Database Name list; BAMAnalysis and BAMStarSchema. Clicking Apply Configuration creates those missing databases ready for the activity import later.

Once you have created those databases, re-run the ESB BAM activity import and you should get something like the following:

C:\Program Files (x86)\Microsoft BizTalk Server 2010\Tracking>bm deploy-all -Def
initionFile:"C:\program files (x86)\Microsoft BizTalk esb toolkit 2.1\bam\micros
oft.biztalk.esb.bam.exceptions.xml"
Microsoft (R) Business Activity Monitoring Utility Version 3.9.469.0
Copyright (C) Microsoft Corporation. All rights reserved.

Using 'BAMPrimaryImport' BAM Primary Import database on server 'FOO-BAR'.
..

Deploying Activity... Done.
Deploying View... Done.
Deploying Alert... Done.
Deploying Security... Done.

The import may still fail as it might be due to the way you have configured SQL Server, then I will write another post as to what the cause of this might be sometime soon...

UPDATE: If deploying Views fails for you, check this post as it might help: http://www.simonrhart.com/2011/03/deploying-view-error-bam-deployment.html

Thursday, February 24, 2011

How to package your Windows CE applications into a CAB during a nightly build process

I just wrote a post on how to package up your Windows Mobile/Phone/CE applications into a CAB file as part of your automated build process using either TFS 2010 or TFS 2008 and MSBuild. Check it out here:

http://smart421.wordpress.com/2011/02/24/how-to-package-your-windows-ce-applications-into-a-cab-during-a-nightly-build-process/

Wednesday, February 23, 2011

My/our other blog

For the regular readers of my blog, I also blog on my companys weblog found over at http://smart421.wordpress.com.

If you're interested in SOA and Enterprise Architecture, you'll like that blog. The stuff I write on there will be more lower code-level in most cases.

Cheers.

Microsoft Notification Services Control Utility 9.0.242.0 Could not load file or assembly 'Microsoft.SqlServer.Instapi, Version=9.0.242.0

Have you seen this error recently when attempting to configure BAM Tools as part of a BizTalk 2010 installation:

2011-02-22 13:06:04:2007 [Error] BAMTools Error configuring
Error executing bm.exe with tracing enabled. (Microsoft.BizTalk.Bam.CfgExtHelper.Utility)
Error executing process: C:\Program Files (x86)\Microsoft BizTalk Server 2010\Tracking\bm.exe (Microsoft.BizTalk.Bam.CfgExtHelper.Utility)
Microsoft (R) Business Activity Monitoring Utility Version 3.9.469.0Copyright (C) Microsoft Corporation. All rights reserved.ERROR: Failed to set up BAM database(s). There was a failure while executing nscontrol.exe. Error:"Microsoft Notification Services Control Utility 9.0.242.0╕ Microsoft Corp. All rights reserved.An error was encountered when running this command.Could not load file or assembly 'Microsoft.SqlServer.Instapi, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified." (Microsoft.BizTalk.Bam.CfgExtHelper.Utility)

This screen might be familiar to you if you have seen the above once or twice:




This message is frustrating as you need the BAM Tools configured before you can configure the BAM Portal. So even if you don't care about alerting, but you do care about BAM, you still need this to work before you can continue to the next step.

After following the Installing BizTalk Server 2010 on Windows Server 2008 R2 and 2008.docx file, I was still getting the above exception. You can download this document here: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b77d6a4f-8b41-470e-a58c-730dc5859b38&displaylang=en

The BizTalk 2010 installation document mentions that you need to install Microsoft SQL Server 2005 Notification Services if you want BAM Alerts because it is not included in Microsoft SQL Server 2008 R2 - which is the recommended SQL Server version for BizTalk 2010. You need Notification Services if you want any kind of BAM functionality - not just alerting.

As mentioned, the document recommends SQL Server 2008 R2 for BizTalk 2010 and if you want BAM functionality, you need to install SQL Server Notification services. It recommends you install 3 components that form SQL Server 2005 Notifications that can be downloaded from MSDN, they are:

  1. Microsoft SQL Server Native Client (sqlncli_x64.msi)
  2. Microsoft SQL Server 2005 Management Objects Collection (SQLServer_XMO_x64.msi)
  3. Microsoft SQL Server Notification Services Client Components (SQLServer2005_NS_x64.msi)
So this all seems very straight forward. After installing the above components I was still getting the same error when attempting to configure BAM.

If we have a closer look at the error message, notice the program that is generating the error: C:\Program Files (x86)\Microsoft BizTalk Server 2010\Tracking\bm.exe. Also notice the assembly and assembly version bm.exe is looking for: Microsoft.SqlServer.Instapi, Version=9.0.242.0. So I looked for this dependency in the current folder (where bm is running) and couldn't see it. So it will either be on the PATH or in the GAC. Not running any tools to figure out the location where the CLR was looking (I'm lazy!), I looked in the GAC and noticed the file Microsoft.SqlServer.Instapi was present. But it wasn't the version 9.0.242.0 bm.exe was looking for. In the registry was version 10.0.0.0.

So the first thing I thought I'd try was to force the loading of the version 10.0.0.0 assembly instead of the version 9.0.242.0 version it was looking for. As bm.exe is managed code, I could create a probe that forced the load of version 10.0.0.0 by adding this to the bm.exe.config file. After doing this, on start up of the bm.exe, it overwrites the config file! so this change was completely useless. So then I thought I could add this probe to the machine.config file but thought this is getting very silly now.

The next thing I turned to my helpful friend, Google. searching hi and low for a solution to this the only concrete thing I could find was this post on the Microsoft Social forums: http://social.msdn.microsoft.com/Forums/en/sqlsmoanddmo/thread/e85cbf20-4a81-4059-88a9-6666bfeb02dc

A response from James K. Howey in the above post from Microsoft suggests its an issue with the SQL Server 2005 Management Objects Collection and this issue might be fixed in Sp2.

"I have reproduced this issue in house and can confirm that this is a problem with the Microsoft SQL Server 2005 Management Objects Collection. We will consider this issue for inclusion in Service Pack 2."

James also mentions that he tried GAC'ing the version 9 assembly but this failed with different error suggesting that the managed assembly is in fact a wrapper around something else or perhaps has other dependencies.

This was getting very messy, and all I wanted was for the BAM Portal to work - surely this is not much to ask! should it really be this hard...

So the next thing I thought was it seems BizTalk 2010 is designed to talk to SQL Server 2005 but recommends SQL Server 2008 R2. But there seems to be low-level dependencies it requires from the older SQL version. I didn't want to have to install the fully blown SQL Server 2005 on this machine so instead installed Notification Services from the fully blown SQL Server 2005 ISO.

After this I noticed the assembly Microsoft.SqlServer.Instapi version 9.0.242.0 in the GAC!!! Feeling rather upbeat, I re-executed the BAM Tools configuration (bm.exe) and it worked!:




Conclusion:

If you want BAM functionality in your BizTalk 2010 environment, do not install the Notification Services MSI's referenced in the BizTalk 2010 install guide, instead install from the fully blown SQL Server 2005 ISO from MSDN Subscriptions.

Happy BizTalk'in!

Thursday, December 30, 2010

Free PostSharp licence courtesy of Gael Fraiteur up for grabs

It seems I can't give away free licences for software these days!!

I have a free "legit" licence of PostSharp that Gael Fraiteur of SharpCrafters gave to me to give to a friend. But after offering it around nobody seems to want it, so the first person to leave a comment can have it!

PostSharp is a framework that allows you to implement Aspect Oriented Programming (AOP) in your software code. AOP allows a cleaner and simpler architecture by abstracting out your cross-cutting concerns. Cross-cutting concerns are the things that slice vertically across layers in your application such as logging, instrumentation, caching etc.

For some simple tutorials on PostSharp see here: http://www.sharpcrafters.com/postsharp/documentation/getting-started

Also check this out: http://www.sharpcrafters.com/

The really cool thing is with this tool is it supports Windows Phone 7, which is great as normally mobile platforms are not normally supported for advanced frameworks such as this. If I recall PostSharp did support the .NET Compact Framework but only up to v2.0. Need to confirm this though.

Thanks to Gael Fraiteur for the free licences and keep up the good work!

Cheers

Tuesday, November 16, 2010

Smart421

I have recently left Hitachi Consulting and joined a similar Microsoft and Oracle Gold Partner consultancy company named Smart421 where I work as a Technical Architect in the Microsoft space.

Smart421 offer Consultancy, Service Management, Data Management and Business Integration and is part of a larger public company called KCOM.

KCOM were originally a large telecommunication company but now they consist of: KC, eclipse, KCOM and Smart421.

Smart421 specializes in complex enterprise integration projects but more recently full system design the implementation. We have a lot of expertise in SOA Governance and PCI DSS.

I form part of the Microsoft practice but we also have a fairly large Java practice with particular focus on IBM WebSphere, DataPower and many other IBM tools/technologies. Smart421 prides itself in Enterprise Architecture as we are active members of the Open Group and have many TOGAF practitioners.

So far I'm liking it a lot as I get to be involved in lot of different things and hope soon to be a certified TOGAF practitioner.