BizTalk 2006 R2 Pre-requisites CAB Files

With many thanks to Sanket for posting this information originally, I wanted to post these links here so that the next time I can save my self the Google search and just hit this post.  These links are for the EN language, but there’s a link at the bottom to the full list for all languages.

Windows 2003 Server 32 bit

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

Windows 2003 Server 64 bit

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

Vista 64 bit

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

Vista 32 bit

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

Windows XP 32 bit

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

Windows XP 64 bit

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

For a complete list of all the downloads in all the languages, you can use this link –

http://msdn.microsoft.com/en-us/library/aa578652.aspx

Security Measures in relation to PHI with BTAHL7

Microsoft has put a lot of effort into making your environment secure, however, that still does not absolve you of some things that you still have to configure.

Here is an example (using the examples in the SDK) of showing PHI:

Notice that you can essentially see EVERYTHING in that message, including that ever-so-important PHI.

There are a few things that you can to to remove/restrict access to that PHI.

Because there is the ability to see PHI in non secure places, Microsoft has a couple of places that you use to secure that data, based on your security policy. In some instances, the security stops at the firewall, if an intruder gets past the firewall, they have the keys to the kingdom. This security policy is fine for most instances, (thank goodness)! In my case, the last thing I want to do is have to peel off the layers of security to simply figure out that an element is missing from the HL7 message. At 2:00 am I simply want to log in and find out what is going on, what the error is, and fix it.

However, there are some out there that either do not trust their network admins, want to make troubleshooting harder, don’t trust their co workers, or were forced to implement additional security around PHI. For those, here are a few things that are available to increase security around PHI>

The first would be to turn off Event Logging and possibly choose SQL where more restrictions can be managed.

(Remember to restart the Audit and Logging Service)

Another would be to simply restrict who can have access to the event log in the first place, this can be done by changing the following key in the registry (did you see my disclaimer on the right side of this blog?)

Hive: HKEY_LOCAL_MACHINE
Key: SYSTEM\CurrentControlSet\Services\EventLog\Application
Name: RestrictGuestAccess
Type: REG_DWORD
Value: 1 Restrict access to Application log

But if you really want to get fancy, you can simply add the following entry into the BizTalk Server Operators group in Active Directory and restrict everyone else: (click to enlarge)

Support for SAP Queries in the SAP ADO.NET Provider

In the BizTalk Adapter Pack V2, we are adding support for execution of SAP Queries.

A brief one liner on SAP Queries – you can use the SAP GUI designer to create something similar to a “SQL Query” (similar to how you would do it in Microsoft Access) by graphically selecting the tables you’re interested in, the columns, the input parameters, the sort order of the result set, etc.

You can execute the query from the SAP ADO Provider, using syntax like:

EXECQUERY QueryName @P1=Parameter1Value, @P2=Parameter2Value, @USERGROUP=UserGroup [, @WORKSPACE=’X’]

@Pn refers to the nth selection field specified during the creation of the Query.

@USERGROUP (mandatory) refers to the User Group associated with the Query. If the Query was defined in the global workspace, you would additionally specify @WORKSPACE=’X’ in the command.

You can refer to the documentation on additional information on the syntax.

Having the ADO Provider support SAP Queries means that you can also execute them from SSIS Tasks, as well as create SSRS Reports based on them.

In order to use SAP Queries, you’ll have to obtain the next CTP of the BAP 2.0 (scheduled end of October 2008). Note that this CTP is only available to TAP customers.

PipelineTesting Acknowledgements

PipelineTesting Acknowledgements

This morning I announced the release of PipelineTesting v1.2.0.0.

Now I need to mention that for this release, I need to give a huge %u00a1Thank You! to
the people who contributed to it by reporting bugs and potential problems, providing
some great feature suggestions and even some code!

These are:

  1. Bram Veldhoen
  2. Fr%u00e9d%u00e9ric Hautecoeur
  3. Mark Coleman
  4. GokulRaja Dhamodaran
  5. Gregory Van de Wiele, as always :-)

Bram has also been working on some really cool stuff to integrate PipelineTesting
features with BizUnit!

A huge thanks to each and everyone of you. And please keep the suggestions and bug
reports coming :-)

EDI Logger Emailing functionality and Subject Line Macros

Requests have come in to allow the ability to email directly from the logging mechanism. I have added the new properties to the pipeline component.

You can send this out to multiple individuals with a semicolon (;) separating the addresses in the ToAddress field.

The NotificationFlag is set to true to activate the email mechanism. If the NotifyOnlyOnError is set to true, if the message is in error it will generate an email, if it is set to false, it will generate an email for every transaction.

To give the ability to customize the subject line in the new email component of the EDI logger, you can use following macros:

Macro
%Received Filename%
%Adapter Receive Complete Time%
%Port Name%
%Inbound Transport Location%
%Message Type%
%GS02%
%GS03%
%GS07%
%GS08%
%GS01%
%ISA05%
%ISA06%
%ISA07%
%ISA08%
%ISA15%
%ISA Segment%
%GS Segment%
%Party Name%
%Transmission Id%
%Control Number%
%Error Flag%
%ST02%
%Count 1%
%Count 2%
%Count 3%

Which will create an email that looks like this:

How To Create a Portable Office (Computing)

Laptop

What makes a great laptop for a mobile office?  Well I can give some guidelines, and assume I’m talking to a group of developers, but in the end that is up to you.  Some things you need to remember:

  • Extensibility – Does your laptop have an expansion bay which can be used to swap in new hard disks, optical disks and/or batteries?
  • USB Ports – I’ve yet to meet a laptop with “too many” USB ports.  Mine has 4, and I run out quite regularly.
  • Big screen – This is a desktop replacement machine, don’t go for light, go for powerful and comfortable to type on and while you’re at it, get a good resolution screen because you’ve got the real estate to do it with.
  • Express Card – Express card slots are where are new plug-in peripherals that aren’t USB are being developed for.  Make sure you’ve got one of these.
  • PCMCIA – If you can still have a PCMCIA port, great because there are a ton of legacy laptop gizmos which can use this port.
  • Firewire – While not as big in the Windows world, a lot of the video cameras in this world only talk Firewire.  Usually labeled IEEE 1394, you want to make sure you’ve got one of these.
  • Multi-Core – Non negotiable it must be at least 2 cores, preferably 4 core once Intel gets their mobile quad core CPUs available.
  • Memory – Max out your memory, there is just no reason not to.
  • Video – If you’re getting it yourself, max out the video card.  You likely will not win this argument with corporate IT though unless you happen to have a job that has intensive graphics like a designer.

Now that is not the end all be all of laptop features.  Remember things that are important to your job, my father works with devices that require a parallel port to communicate with on a regular basis and that is becoming increasingly rare these days, so that is a feature he has to shop for specifically.  Get the pointing device that least drives you crazy, whatever that is.  Personally I love the “nib” style pointer, but I recognize that doesn’t work for everyone.  The Dell Latitude D-820 which Sogeti provides me is an excellent device, and happens to have both nib and touch pad.  The only thing I’d change about my unit is that I’d prefer if it had a Bluetooth transceiver built into it.

Mouse

Everyone has opinions about pointing devices, but I love the Microsoft Wireless Presenter Mouse 8000.  This is a gorgeous Bluetooth mouse with built in presenter controls, media controls, laser pointer, etc.  None of this gets in the way of the operation of the four buttons or tilting scroll wheel (so you can scroll horizontally).  It runs on 2 AAA batteries, but will last months on those even with daily use.  I’ve had one for nearly 2 years, love the protective case it comes with, and have just bought my second one so I can have a backup in case the current one dies. (The media controls, and presenter controls, are on the bottom of the mouse, it flips over and disables the top buttons when in presenter mode).

Sometimes though I’m an idiot, I grab my laptop and run to a meeting only to discover my presenter mouse is back on my desk.  Rather than suffer with even a nib, which is still inferior to a mouse, I now get to reach for my PCMCIA port and pull out the MoGo Mouse that was part of the MVP Award gift pack for 2009.  One photo won’t do this ingenious little gizmo justice, so go check out MoGoMouse.com and check it out.

Storage

There is no such thing as enough storage. Period. Full Stop.  I carry over a terrabyte of storage in my backpack, and have occasionally still wanted for more (for short periods) when I’ve been bad and not rolled off temporary data that I should have.  My portable storage plan takes two parts, the first is a hard drive expansion slot for my Dell’s MediaBay slot.  This is proprietary, but there are third party trays you can get which will slide in and let you put in your own hard disk.  I use this disk for all my virtual machines.  Worthy of note, you can also boot to this disk, so if you’ve got a Dell from work with lots of OS/Domain restrictions, you could install another OS on the other drive so you could re-purpose the hardware when you’re not at work or if you need to run another Operating System for work reasons.

For everything else I use Western Digital Passport drives.  These units can be acquired in large capacities, mine are 250gb, and I carry a pair of them.  They store my ISO library of software, my baseline VPC images (the Dell HD has the working copies), a home music library backup when I want more than I keep on my hard disk, etc.

Cables & Hubs

There are other things you’ll need besides this, the first of which is cables.  Almost nothing I carry has its default cables with them unless those cables are proprietary (which is a mark against a device).  I carry a large number of ZipLinq cables though.  These wonderful self-retracting cables allow me to avoid the backpack becoming a jumble of cables, and yet connect to all sorts of things.  I carry multiple USB-to-USBmini cables, USBa-to-USBb, headphone extender, 1/8″-to-1/8″, Firewire,  and generic USB extender cables.  All inside just one of my bags, with my hard drives and of course… a USB hub.

Screencast: Running workflows in your .NET applications

Screencast: Running workflows in your .NET applications

My latest screencast is up on the Endpoint.tv show on Channel 9.  In this screencast I cover the basic steps to host workflows in your applications.  I cover the basic hosting steps in a console application, then jump in and run a workflow in an ASP.NET application. 

Screencasts: Running Workflows in your NET Applications

 

RunningWFInNetApps

 

Previous screencasts:

 

RSS feed of all screencasts in the series

Screencasts – Running Workflows in your .NET App

These last two weeks represent a shift in Endpoint WF/WCF Developer Screencast series. The first four screencasts in the series concentrated on Windows Communication Foundation (WCF) development; we will now focus on Windows Workflow Foundation (WF) for four screencasts. We will then alternate back and forth every four screencasts.

This week, CSD Matt Milner from PluralSight guides you through how to run a WF workflow in your .NET application and how to manage it. The screencast picks up with an existing state machine workflow (created in last week’s screencast), hosting it within a .NET program. Matt of course starts off using a simple command-line program (every first WF demo loves using command line programs) and into then a basic ASP.net webpage (hats off to Matt for diving into an ASPX page).

To host for the workflow, Matt sets up a workflow runtime and creates an instance of the workflow. We then move on from simple ‘create and run one workflow instance model’, and use a class to abstract the details of the runtime and mediate access to the runtime object (to start/create a new workflow instance, access a currently existing instance, and to stop/shutdown an existing instance). Along the way, Matt explains the basic concepts around workflow runtime events and introduces workflow instances.

 

As mentioned above, the WF screencasts are a weekly series of Channel9 videos done in conjunction with the folks at PluralSight to help developers new to WF/WCF see how the technology is used. It’s worth noting that Aaron and the PluralSight folks are now offering online training courses (in a format similar to these screencasts) as a compliment to their catalog of instructor-led training courses covering Microsoft connected systems technologies. Their training topics range from .NET v3.5 (including an excellent WF/WCF Double Feature course) to WSS to BizTalk server.

PipelineTesting v1.2.0.0 Released

I’m happy to announce a new release of my PipelineTesting library!

PipelineTesting is used alongside your favorite Unit Testing tool to make it easier
to create and test custom pipeline components, pipelines and schemas for BizTalk Server
2006 using Test-Driven Development, or simply to have a set of regression tests to
detect bugs arising from code changes.

These are the most important new features introduced in this version:

  1. Per-Instance
    Pipeline Configuration
    : You can now load an XML file with modified settings into
    a pipeline instance. This relies on the same XML format used by the BizTalk 2006 Administration
    Console.

  2. Accessible
    Components
    : A new GetComponent() method gives you access to the individual
    components within the pipeline. This makes it easy to load an existing compiled pipeline
    and then manually tweak the component options through code before executing it.

  3. Loading
    Saved Messages
    : Allows you to recreate an entire IBaseMessage object
    from the set of files exported by the BizTalk Admin Console or HAT by calling MessageHelper.LoadMessage() and
    providing the path to the exported <msg>_context.xml file.

The best news, however, is that I’ve been working on putting together existing PipelineTesting
documentation I had previously written in different blog posts, along with documentation
on this new features into a single, consolidated location. I give you the PipelineTesting
Wiki
!

This should make it easier for people to get started using the library.

Yu will find a snapshot of the code and a pre-built binary in the usual
location, and always current source code in the GitHub
repo
.