Presenting on “Efficient system integration documentation” at BizTalk User Group Sweden

Presenting on “Efficient system integration documentation” at BizTalk User Group Sweden

I’ve talked a lot about efficient documentation previously on this blog, both when in comes to splitting the documentation up in different layers as here, but also in relation to tools BizTalk Documenter and BizTalk Web Documenter for automatically generation technical documentation as here.

Last week I however had the pleasure to present on the BizTalk User Group Sweden meeting and got to talk all documentation for a whole hour! You can find the PPT from the meeting here.

I ended the presentation by presenting the ten commandments for efficient system integration documentation:

I. Thou shall not manually document anything that can be automatized!

II. Thou shall keep it simple & make it look nice

III. Thou shall use a wiki based platform

IV. Thou shall use pictures whenever appropriate

V. Thou shall have well defined guidelines for your documentation

VI. Thou shall have a well defined target audience for your documentation

VII. Thou shall document continuously in your project

VIII. Thou shall have a common vocabulary and common icons defined

IX.Thou shall test your documentation with target audience

X. Thou as the developer of an integration should document it

Monitor your BizTalk environment using PowerShell – SQL Agent Jobs Monitoring

Monitor your BizTalk environment using PowerShell – SQL Agent Jobs Monitoring

One of the principal needs for BizTalk Administrators is the ability to monitor the health of BizTalk environments and react promptly to possible problems, you can accomplished this by using certain tools such as: BizTalk Administration Console; BizTalk360; SCOM and many more However, unfortunately many times, some of these tools are not available for us […]
Blog Post by: Sandro Pereira

Installing the Service Bus 1.0 Beta on Windows Server 2012

Recently I created a new virtual machine with Windows Server 2012, SQL Server 2012 and Visual Studio 2012 to try out the new features but I did not really have a purpose for it. After reading the blog post from Richard Seroter about Installing and Testing the New Service Bus for Windows I was very curious whether the Service Bus for Windows Server also works on my freshly installed VM!

 

Installation

The installation process for the Service Bus for Windows Server described in the sections below allows you to install and configure the software on Windows Server 2012.

The installation files of the Service Bus for Windows Server can be found at:   http://www.microsoft.com/en-us/download/details.aspx?id=30376

 

The Web Platform Installer starts when the installation link is clicked

The Prerequisites dialog appears with a list of prerequisite components that are not
present on the computer

The components are automatically downloaded and installed
 

To finish the computer must be rebooted at the end of the installation process

 

Configuration

Installation of the the Service Bus is is quite straightforward but configuring must be done using PowerShell

On MSDN is a PowerShell Cmdlets Reference with all the cmdlets that you can use for configuring the Service Bus

First create a new farm with the New-SBFarm cmdlet.

Add the machine to the Farm with the Add-SBHost cmdlet.

Create a new namespace entry in the farm with the New-SBNamespace cmdlet.

 

Verifying the Configuration

After setup has finished verify that the configuration completed correctly.

Check if the databases are created in SQL Server

Retrieve the Service Bus for Windows Server status with the Get-SBFarmStatus cmdlet.

You can also check if the services are running in the Server Manager

 

Connect to the Service Bus Namespace

The Service Bus Explorer allows users to administer messaging entities in an easy manner. The version provided on the download page for the Service Bus for Windows Server supports the Service Bus 1.0 Beta.
In the “ServiceBusExplorer-Server.zip” file is only the sourcecode of the Service Bus Explorer. You can open the solution in Visual Studio 2012 and run it.

First fill in the namespace settings to connect the namespace.

When you connect to the localhost by using a dot, it gets stuck behind the uri so you have to remove it.

Use the PrimarySymmetricKey from the New-SBNamespace result in the “Issuer Secret” field

Click on “Ok” to connect to the namespace

You can find more information about the Service Bus Explorer on:
http://msdn.microsoft.com/en-us/library/hh532261(v=VS.103).aspx
http://soa-thoughts.blogspot.nl/2012/06/visual-studio-service-bus-explorer.html

 

Conclusion

The installation was very easy. Configuration was slightly harder because a timeout occurred when the host started. First I had to remove the host with “Remove-SBHost” and rebooted the machine before I could add the host again but the second time the “Add-SBHost” cmdlet did the job! 🙂

Capabilities and Limitations of “Contract First” Feature in Microsoft Workflow Services 4.5

Capabilities and Limitations of “Contract First” Feature in Microsoft Workflow Services 4.5

I think we’ve moved well past the point of believing that “every service should be a workflow” and other things that I heard when Microsoft was first plugging their Workflow Foundation. However, there still seem to be many cases where executing a visually modeled workflow is useful. Specifically, they are very helpful when you have […]
Blog Post by: Richard Seroter

How to download a blob on a linux machine | Comment télécharger un blob sur une machine Linux

I suppose you have a Windows machine and a Linux machine. You want to get a blob directly from Blob storage to the Linux machine. Je suppose ici qu’on a une machine Windows et une machine Linux. On veut r%u00e9cup%u00e9rer un blob directement du blob storage %u00e0 la machine Linux.
On the Windows machine, use a tool like CloudXplorer to create a Shared Access Signature. Sur la machine Windows, utiliser un outil tel que CloudXplorer pour cr%u00e9er une Shared Access Signature.

copy the shared access signature which is a URL with authorization to download the private blob.
Check the start date, don’t add more time than 1 hour for the authorized download window (that would require a policy at the container level, which is more complicated).
copier la shared access signature qui est une URL qui inclut une autorisation de t%u00e9l%u00e9charger le blob priv%u00e9.
Cocher la date de d%u00e9part, ne pas ajouter plus qu’une heure pour la fen%u00eatre de t%u00e9l%u00e9chargement autoris%u00e9e (on aurait besoin d’une r%u00e8gle au niveau conteneur, ce qui est un peu plus compliqu%u00e9)
On the Linux machine, paste that URL in a curl command like below: Sur la machine Linux, coller l’URL dans une commande curl tel que ci-dessous:

 

 

This technique could also be used to upload blobs, by creating a write shared access signature and use HTTP PUT instead of GET. Cette technique peut aussi %u00eatre utilis%u00e9e pour charger vers des blobs, en cr%u00e9ant une shared access signature en %u00e9criture et en utilisant HTTP PUT au lieu de GET.

 

Benjamin

Blog Post by: Benjamin GUINEBERTIERE

Where is ASP.NET 4.5 wait Where is .NET 4.5 ?

When .NET 3.5 was released a lot of people wondered why ASP.NET 3.5 wouldn’t show up in IIS. http://blogs.msdn.com/b/vijaysk/archive/2008/03/20/running-asp-net-3-5-on-iis.aspx

Well with .NET 4.5 you might be a bit more confused

So first .NET 4.5 will not show up in IIS

But now if you check the Microsoft.NET framework folder you will see that you will not have a .NET 4.5 folder as well

Well Why ?

If you have read my previous post by now you would have understood that there are two ways the .NET framework is upgraded.

1. Side By Side release – Like v1.1 and v2.0. There releases are completely independent of each other

2. Enhancements – Like v3.0 and 3.5

.NET 3.5 and .NET 3.0 are just additions to the .NET 2.0. So the v2.0 folder has all the .NET 2.0 files and v3.0 and v3.5 folders have all the files that are required for the enhancements like WCF, LINQ. If you wanted to use these enhancements in ASP.NET your web.config files had to explicitly have references to these 3.5 assemblies.

.NET 4 is a Side By Side upgrade. Which means it can exist independent of v1.1 and v2.0.

.NET 4.5 is an enhancement, but unlike 3.0 or 3.5 it will not be separated out. It is an in place upgrade.

Which means once you install .NET 4.5 the v4.0 folder will be updated to contain all the .NET 4.5 files.

Does that mean you wiped out .NET 4.0 from your machine ?

Well yes and no.

Yes, because the installation updates the v4.0 folder to .NET 4.5

My machine has both VS 2010 and VS 2012 installed. If I launch the VS 2010 Command Prompt and run launch the C Sharp compiler it will say 4.5. There is no compiler for 4.0 after the upgrade.

No, because even though you now have a single updated folder, you can control which version of .NET 4 your application will use.

Visual Studio 2012 provides you an option to target either .NET 4 or .NET 4.5

 

When you switch the Target framework in Visual Studio two thing happen

1. The config file will reflect the targetFramework

A .NET 4.5 web.config will have an entry similar to

<compilation debug="true" targetFramework="4.5"/>

and if you choose .NET 4 it will be

<compilation debug="true" targetFramework="4.0"/>

Similarly in a Windows Application the version is controlled in its app.config file with

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

or

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>

2. The reference assemblies for the common namespaces like  System are updated.

The reference assemblies are still separate for .NET 4 and .NET 4.5

 

Do you have to upgrade your existing ASP.NET 4 web application to .NET 4.5 because of this?

No,  if you have an ASP.NET web application built using VS 2010, it will have a compilation tag with targetFramework="4.0" in its web.config already.

Which means it will continue to work fine even after the .NET 4.5 upgrade.

In case you want to use the new .NET 4.5 features like async that’s when you will have to upgrade your web application.

Blog Post by: Shinva

Real World Scenarios with BizTalk360

During the Bouvet BizTalk Innovation Event, 26/27 September 2012 in Stavanger, Norway, there were 2 presentations about BizTalk360. One was held by Saravana Kumar, the founder of BizTalk360, and I did another presentation about this product. Where Saravana showed many functionalities, including the new V5 functionalities, from BizTalk360 from a Product perspective, I wanted it to turn around and have a look at BizTalk360 from a Customer perspective. Therefore I talked about some Real World scenarios with BizTalk360.

In addition to my presentation I wrote an article on this topic and extended it with describing the most important functionalities in V5, which was released recently.

In the article I explain why having a Shared Infrastructure, like BizTalk, makes monitoring more complex. I also describe how BizTalk360 reduces the number of consoles you need to monitor a BizTalk environment.

To expand the visibility from BizTalk360, I posted the article on CodeProject. You can find it here:
http://www.codeproject.com/Articles/474905/Using-BizTalk360

More information about BizTalk360, can be found here:
http://www.biztalk360.com

How to Create a Windows Azure Virtual Machine Image without using the Windows Azure Management Portal

Currently the Windows Azure Management Portal is having some difficulty using the UI to create an Image from an existing Virtual Machine.

You have two different options to create an Image without using the UI.  The two options are using the REST API or PowerShell.  The details of each approach our outlined below.  I have tested both approaches and was able to create an Image and use that Image to create a new Virtual Machine.

Options 1:  Using Windows Azure REST API

1.  Sysprep the Virtual Machine and ensure it is shut down according to the instructions here.

2.  Download my REST API Helper Tool or use your own.

3.  Update the VM-CaptureImage.xml file to have the label name as the name of the Virtual Machine (it can really be anything) and the Image Name as the name of your output image.

4.  Set your Management Certificate, Subscription ID, and working folder path inside the App.config file as outlined in the blog post.

5.  Make an HTTP POST to: https://management.core.windows.net/<Subscription-ID>/services/hostedservices/<VM-Name>/deployments/<VM-Name>/roleInstances/<VM-Name>/Operations  (assumes the Service Name and VM Name are the same).

6.  Select the updated VM-CreateImage.xml as the POST Body.

7.  This is an Async call and the tool will return an Operations Request ID and auto populate the ability to check the status of that request.

8.  In about 3 to 5 minutes click on “Make REST Service Call” to check the status of the Async Request created above.  You will eventually see a HttpStatusCode 200 and Status Succeeded (rather than Status In Progress).

Options 2: Using Windows Azure PowerShell

1. Sysprep the Virtual Machine and ensure it is shut down according to the instructions here.

2. Setup and configure PowerShell as outlined here.  This takes about 10 minutes.

3. Run the following command: Save-AzureVMImage -ServiceName <Service-Name / Usually VM Name> -Name <Vm-Name> -NewImageName <New-Image-Name>  -NewImageLabel <SomeLabel>

4. In about 3 to 5 minutes the screen will update to show the process was successful.

Keep in mind that Windows Azure Virtual Machines are a Preview Feature so from time to time things like this will happen.  I am sure the Portal will be corrected soon to allow Images via the UI.  Never the less, it is always good to know how to do them programmatically.  Enjoy.