by community-syndication | Oct 30, 2012 | BizTalk Community Blogs via Syndication
While working on an SSRS Report for a client, I ran into a problem surrounding the summing of a particular field in my dataset, called “TotalAmount”. It seemed that the SSRS Sum function was returning double the amount that I was expecting. This was a result of my view returning multiple rows for items that […]
Blog Post by: Micael George
by community-syndication | Oct 30, 2012 | BizTalk Community Blogs via Syndication
Since the launch of BizTalk360 BETA back in early 2011, we have written lot of blog posts showing various capabilities of BizTalk360. The problem is, the articles are spread all over the place and there is no single categorised index page to help user identify the content. The search box in the site is OK, […]
The post BizTalk360 articles–Table of Content appeared first on BizTalk360 Blog.
Blog Post by: Saravana Kumar
by community-syndication | Oct 26, 2012 | BizTalk Community Blogs via Syndication
I have seen a lot of people searching for tools to simulate high CPU, Memory and Disk issues. Here are the tools I use
Simulate High CPU Usage
CPUSTRES.EXE is a tool you can use to simulate High CPU usage by an user mode process. Its available for download from the Windows Sysinternals website.
Here I have used CPUSTRES to simulate 50% CPU usage.
CPUSTRES also has options to change the priority of the threads it spawns.
Simulate High Memory Usage
To simulate high memory usage you can use the TestLimit tool from the Sysinternals website. TestLimit can be used to simulate a variety of memory leak issues. Here I am using TestLimit to reduce the Available memory on my machine.
Simulate High Disk Activity
SQLIO is a tool for benchmarking the I/O capacity of a given storage system. It can simulate sequential and random I/O and is usually used to test storage systems for SQL Server installations.
SQLIO is an useful tool that you can use to simulate high disk activity.
Simulate High Disk Usage
Another useful tool to simulate these issues is consume.exe. It ships with Windows SDK and can be used to consume resources like CPU, memory and disk. Here I am using consume.exe to simulate low disk space issues.
NOTE : Use these tools with extreme caution as they can freeze the machine you run them on and you might end up rebooting the machine.
Blog Post by: Shinva
by community-syndication | Oct 26, 2012 | BizTalk Community Blogs via Syndication
I fell into this trap earlier in the week with a mistake I made when configuring a service to send and listen on the azure service bus and I thought it would be worth a little note for future reference as I didnt find anything online about it. After configuring everything when I ran my code sample I was getting the below error.
WebHost failed to process a request.
Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/28316044
Exception: System.ServiceModel.ServiceActivationException: The service ‘/——-/BrokeredMessageService.svc’ cannot be activated due to an exception during compilation. The exception message is: Generic: There was an authorization failure. Make sure you have specified the correct SharedSecret, SimpleWebToken or Saml transport client credentials.. —> Microsoft.ServiceBus.AuthorizationFailedException: Generic: There was an authorization failure. Make sure you have specified the correct SharedSecret, SimpleWebToken or Saml transport client credentials.
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 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 System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
— End of inner exception stack trace —
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
Process Name: w3wp
Process ID: 8056
As recommended by the error message I checked everything about the application configuration and also the keys and eventually I found the problem.
When I set the permissions in the ACS rule group I had copied and pasted the claim name fornet.windows.servicebus.actionfrom the Azure portal and hadnt spotted the <space> character on the end of it like you sometimes pick up when copying text in the browser. This meant that the listen and send permissions were not setup correctly which is why (as you would expect) my two applications could not connect to the service bus.
So lesson learnt here, if you do copy and paste into the ACS rules just be careful you dont leave a space on the end of anything otherwise it will be difficult to spot that its configured incorrectly
by community-syndication | Oct 25, 2012 | BizTalk Community Blogs via Syndication
Great news – Jurgen
Willis and his team have worked hard to bring Microsoft’s
first V1.0 WF Workflow Hosting Manager.
It runs both as part of Windows Server and within Azure VMs also. It also is
used by the SharePoint team in 2013, so learn it once and you’ll get great mileage
out of it.
(I’m yet to put it through serious paces)
Some links to help you out
What
is it?
WF
Mgr 1.0 – Code Samples
The following main areas for WF improvements in .NET 4.5: (great MSDN
magazine article)
-
Workflow Designer enhancements
-
C# expressions
-
Contract-first authoring of WCF Workflow Services
-
Workflow versioning
-
Dynamic update
-
Partial trust
-
Performance enhancements
Specifically for WorkflowManager there’s integration with:
1. Windows Azure Service Bus.
So all in all a major improvement and we’ve now got somewhere serious to host our
WF Services. If you’ve ever gone through the process of creating your own WF host,
you’ll appreciate it’s not a trivial task especially if you want some deeper functionality
such as restartability and fault tolerance.
but. if you want to kick off a quick WF to be part of an install script, evaluate
an Excel spreadsheet and set results, then hosting within the app, spreadsheet is
fine.
Let’s go through installation:
Download from here
Workflow_Manager_BPA.msi = Best Practices Analyser.
WorfklowClient = Client APIs, install on machines that want to communicate to WF Manager.
WorkflowManager = the Server/Service Component.
WorkflowTools = VS2012 plugin tools – project types etc.
And we’ll grab the 4 or you can you the Web Platform Installer
The Workflow Client should install fine on it’s own (mine didn’t
as I had to remove some of the beta bits that were previously installed).
Installing the Workflow Manager – create a farm, I went for a Custom
Setting install below, just to show you the options.
As you scroll down on this page, you’ll notice a HTTP Port – check
the check box to enable HTTP communications to the Workflow Manager.
This just makes it easier if we need to debug anything across the wire.
Select NEXT or the cool little Arrow->
On Prem Service Bus is rolled into this install now – accepting defaults.
Plugin your Service Accounts and passphrase (for Farm membership and an encryption
seed).
Click Next -> to reveal.
As with the latest set of MS Products a cool cool feature is the ’Get PowerShell
Commands’ so you can see the script behind your UI choices (VMM manager,
SCCM 2012 has all this right through). BTW – passwords don’t get exported in the script,
you’ll need to add.
Script Sample:
# To be run in Workflow Manager PowerShell
console that has both Workflow Manager and Service Bus installed.
# Create new SB Farm
$SBCertificateAutoGenerationKey = ConvertTo-SecureString -AsPlainText -Force
-String ‘***** Replace with Service Bus Certificate Auto-generation key ******’ -Verbose;
New-SBFarm -SBFarmDBConnectionString ‘Data
Source=BTS2012DEV;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False’
-InternalPortRangeStart 9000 -TcpPort 9354 -MessageBrokerPort 9356 -RunAsAccount ‘administrator’
-AdminGroup ‘BUILTIN\Administrators’ -GatewayDBConnectionString ‘Data Source=BTS2012DEV;Initial
Catalog=SbGatewayDatabase;Integrated Security=True;Encrypt=False’ -CertificateAutoGenerationKey
$SBCertificateAutoGenerationKey -MessageContainerDBConnectionString ‘Data Source=BTS2012DEV;Initial
Catalog=SBMessageContainer01;Integrated Security=True;Encrypt=False’ -Verbose;
# To be run in Workflow Manager PowerShell
console that has both Workflow Manager and Service Bus installed.
# Create new WF Farm
$WFCertAutoGenerationKey = ConvertTo-SecureString -AsPlainText -Force
-String ‘***** Replace with Workflow Manager Certificate Auto-generation key ******’
-Verbose;
New-WFFarm -WFFarmDBConnectionString ‘Data
Source=BTS2012DEV;Initial Catalog=BreezeWFManagementDB;Integrated Security=True;Encrypt=False’
-RunAsAccount ‘administrator’ -AdminGroup ‘BUILTIN\Administrators’ -HttpsPort 12290
-HttpPort 12291 -InstanceDBConnectionString ‘Data Source=BTS2012DEV;Initial Catalog=WFInstanceManagementDB;Integrated
Security=True;Encrypt=False’ -ResourceDBConnectionString ‘Data Source=BTS2012DEV;Initial
Catalog=WFResourceManagementDB;Integrated Security=True;Encrypt=False’ -CertificateAutoGenerationKey
$WFCertAutoGenerationKey -Verbose;
# Add SB Host
$SBRunAsPassword = ConvertTo-SecureString -AsPlainText -Force -String
‘***** Replace with RunAs Password for Service Bus ******’ -Verbose;
Add-SBHost -SBFarmDBConnectionString ‘Data
Source=BTS2012DEV;Initial Catalog=SbManagementDB;Integrated Security=True;Encrypt=False’
-RunAsPassword $SBRunAsPassword -EnableFirewallRules $true -CertificateAutoGenerationKey
$SBCertificateAutoGenerationKey -Verbose;
Try
{
# Create new SB Namespace
New-SBNamespace -Name ‘WorkflowDefaultNamespace’ -AddressingScheme
‘Path’ -ManageUsers ‘administrator’,’mickb’ -Verbose;
Start-Sleep -s 90
}
Catch [system.InvalidOperationException]
{
}
# Get SB Client Configuration
$SBClientConfiguration = Get-SBClientConfiguration -Namespaces ‘WorkflowDefaultNamespace’
-Verbose;
# Add WF Host
$WFRunAsPassword = ConvertTo-SecureString -AsPlainText -Force -String
‘***** Replace with RunAs Password for Workflow Manager ******’ -Verbose;
Add-WFHost -WFFarmDBConnectionString ‘Data
Source=BTS2012DEV;Initial Catalog=BreezeWFManagementDB;Integrated Security=True;Encrypt=False’
-RunAsPassword $WFRunAsPassword -EnableFirewallRules $true -SBClientConfiguration
$SBClientConfiguration -EnableHttpPort -CertificateAutoGenerationKey $WFCertAutoGenerationKey
-Verbose;
Upon completion you should see a new IIS Site. with the ’management ports’ of in
my case HTTPS
Let’s Play
Go and grab the samples and have a play – make sure you run the samples as the user
you’ve nominated as ’Admin’ during the setup – for now.
Blog Post by: Mick Badran