Last year I was introduced to Biztalk 2006 and I spent a solid month trying to get my first orchestration to work. Granted, it wasn't the simplest of orchestrations: Accept data on a web services port, pass it to a business rules server through a web service, get the results and process them through a document rendering server to convert everything to a pdf file.
Including the Biztalk and SQL boxes, there were 5 different servers involved. That was a complete nightmare, but after much head banging it finally worked.
This past month I needed to create a slightly different orchestration: Pick up a text file in a INI style format, process it through multiple C# assemblies, one of which converts it into a c# object with a seriously complicated (and totally necessary) structure, throw in a call to a web service, then deliver the results to the originator through email. In short, the type of thing Biztalk was built to do.
Going in, I tried to remember all of the things that a biztalk guy taught me last year. Such as EVERYTHING in Biztalk is a message. However, as I started down the path of trying to execute the assemblies I realized a fundamental flaw in the idea that everything is a message: that's not true.
Instead of trying to create messages whose definitions had a high probability of continually changing over the life of the project, I found out you can simply assign the result of an assembly method call to a message and Biztalk will handle all of the serialization / deserialization garbage for you. Also, the use of Variables at both the transactional and orchestration levels made it so much easier.
My orchestration ended up with 4 messages: input, web service request, web service response, and the output driving the smtp adapter. In the middle of all this are calls to 3 separate assemblies (written in c#). It includes full error handling, and, best of all, works. I was able to throw out another 8 messages simply through the use of variables.
Best of all, when the assemblies change, all I have to do is GAC them instead of going through the 27 steps to redeploy the orchestration.
I only spent 1 week on this one and I'm starting to get the hang of it. Given what I've learned, I should be able to knock out my next orchestration in about a day.
Saturday, June 2, 2007
Biztalk 2006
Posted by Chris Lively at 1:25 PM 0 comments Links to this post
Labels: Biztalk 2006
Sunday, April 29, 2007
Linksys, Airgo, and Qualcomm
A few months ago I posted about my experience in trying to upgrade to Vista x64 on my home machine. To sum up I had problems with two pieces of hardware, my scanner and my wireless network card. For the HP resolution, look here.
Anyway, Linksys finally came out and said that they will not publish Vista drivers for the Linksys WMP54gx2. This is a bit frustrating considering I recently dropped a fair amount of money on a matching router, desktop wireless card, and notebook wireless card to get great wireless performance.
Well, not being happy, I went surfing to find out why Linksys would do such a thing. Apparently, Airgo was acquired by Qualcomm. Along the way, Qualcomm pissed off the wireless industry to the point that they are being sued by several of the companies currently on the working group for the 802.11N specification. You can do your own research, but it boils down to Qualcomm trying to do a run around the 802.11N working group; which is mildly entertaining, considering several other companies tried to do the exact same thing.
The point is, if your wireless adapter has an Airgo chipset, which happens to be one of the best available, then don't expect any type of ongoing support or driver updates. Given the shake up, my guess is that Qualcomm will absorb the technology, rename it, and try to push it under a different name later.
In the meantime, I guess I'm not going to take my home machine to x64. I really don't have the stomach to try another Pre-N set of products.
Posted by Chris Lively at 11:57 PM 0 comments Links to this post
Deploying Team Foundation Check in Policies
One of the projects we are running within Team Foundation Server has custom check in policies. These basically validate some xml documents at the time of check in to verify conformance. The whole idea is that we can catch bad tag structures before they make it to the visual part of the testing plan.
The downside is that although TFS allows you to enable those policies on the server, each client has to have the check-in policy code installed locally. As that project team grows, it becomes a little difficult to maintain the code because we had to email an installer to the group and HOPE that they installed it.
After a little thinking, I struck on a solution. Basically, this project has a domain security group associated with it to make assigning new users so much easier. Well, I can attach a group policy that performs a silent software installation of our custom check in policy. This way, any time I add a new user to the group, when they log in it will automatically install the policies.
I can also use this mechanism to keep the policies updated by using GPO as the delivery mechanism. Much easier.
Posted by Chris Lively at 10:58 AM 0 comments Links to this post
Labels: TFS, VS2005, Windows 2003 Server
Thursday, April 26, 2007
Visual Studio 2005, Vista x64 recording web tests
Today we promoted one of our projects to the test servers. Before releasing it to our internal testers, I like to pound it with the Visual Studio Team System for Testers web testing tool.
However, I haven't used it since I upgraded to Vista x64 at work. As I started the recorder, it didn't show up.
After doing a little research I found that VS2005 has to be run as administrator in order to display the recorder. Oh wonderful.
BTW, if after starting a new web test the web recorder doesn't show up on the left side, just go to View / Explorer Bar / Web Test Recorder and turn it on.
However, I did find out that you don't really have to run VS2005 as administrator. Instead, just make sure that the site you are trying to run the test on is in your Local intranet security zone in IE. This allows Visual Studio to attach to the web recorder and pull the data from it.
Posted by Chris Lively at 2:19 PM 0 comments Links to this post
Labels: Team Tester, Vista, VS2005, Web Test
Saturday, April 21, 2007
Color Laser Printing..
I have a Samsung ML-1740 laser printer which has served me very well for the past 2 years. As a matter of fact, the prints coming out today are just as clean as the first ones. I've run around 10,000 sheets of paper through this thing; 500 this past weekend just finishing up my taxes. My print costs have been just over a penny per sheet, and that includes buying the paper.
However, there is one thing that I haven't really liked about it: it's only black and white, but hey, what do you expect after paying $50 (after mail in rebate).
A year ago, I put together a cost analysis spreadsheet for the then current crop of color laser printers. At the end of the day, I found that I would be better off spending $600 for a new printer instead of buying a $300 model simply due to toner costs. The average was around $0.12/per page, this is significantly more than my trusty little Samsung so I haven't just done it.
Today, I was looking around again and found that frys has a Konica Minolta 2400W "refurb" for $130. Out of the box it will do 1500 sheets before needing a toner replacement. After looking at Office Max's website, I found that high capacity, 4500 sheet, toner cartridges would run around $485 before taxes. This equated out to about $0.11 per page print costs. The funny thing is buying the printer and just using the starter toner would cost about $0.08 per page...
Seems to me that it would be cheaper to just through away the 2400W whenever it runs out of toner and buy a new one...
I guess the moral of the story is, check the toner costs before you buy a printer. The cheap ones will ultimately cost you a lot more in the long run, sometimes 2 or 3 times more. Also, consider just throwing away the printer when the ink it comes with runs out. Then again, this isn't exactly an environmentally friendly way of living.
Posted by Chris Lively at 5:53 PM 0 comments Links to this post
Windows 2003 x64 and SQL 2005 x64
Today, I ran into a weird problem. I did a fresh Windows 2003 Enterprise R2 x64 installation. I then installed Active Directory (new domain and forest), DNS, WINS, IIS, and applied Service Pack 1. Next, I proceeded to install the .Net 1.1 Framework with SP1 and .Net 2.0 SDK. So far so good. Everything was functioning normally with only the expected .Net 2.0 shim error in the event log. *side note: the Shim error event was corrected in 2003 SP2.
My next step was to install SQL Server 2005 Standard x64. I told the installer to do a complete install, and I specified each service to have it's own newly created account to run in. The install went smoothly with no errors. However, it didn't actually finish.
Yes, SQL 2005 was running correctly; however, the Business Intelligence Studio was only partially installed. Among other things it is missing the devenv.exe file...
I tried reinstalling just the visual studio tools; I also tried completely uninstalling SQL '05 and reinstalling from scratch to no avail. Hopefully by Monday I'll have this figured out.
Posted by Chris Lively at 12:18 AM 1 comments Links to this post
Labels: SQL 2005, Windows 2003 Server
Friday, April 20, 2007
Vista and Incompatible Software
This past week I helped a few coworkers install copies of Vista 32-bit. The installs were done on a pair of recent Dell machines and, at first, went very smooth.
The main issues started with a very expensive piece of document rendering software. After installing the software, it failed to even start. We spoke with the vendor's tech support, but they claimed Vista support was at least another 8 months out.
Given that the software wouldn't even start, I suggested they set the compatibility mode on all of the exe's in the program directory to "Windows XP (Service Pack 2)" This worked for starting the programs, but some of the dialog windows caused the application to freeze.
Sadly, I told my coworkers that they would have to put XP back on their machines. However, in the 4 hours they had been using Vista, they had already decided that going backwards was not an option. In short, they loved the new features of Vista they had already uncovered. Bear in mind that my coworkers are not in IT.
A few minutes of tinkering led them to the "Disable visual themes" check box. Once applied to the relevant exe's, the application worked without a problem and my coworkers cheered as Vista is now permanently on their desktop.
Posted by Chris Lively at 11:47 PM 0 comments Links to this post