Where’s my Sybase ODBC driver?

Where’s my Sybase ODBC driver?

I am currently working with a customer that use Sybase (remember them?) Adaptive Server Enterprise, as their primary database environment. Sybase and Microsoft originally co-developed the early versions of SQL Server, so there are still enough similarities that it “feels” like working with MS-SQL, albeit an older version. However, the BizTalk Adapters are not so […]
Blog Post by: Brett

Service Bus Messaging: Queues, SB-Messaging Adapter – Part II

Service Bus Messaging: Queues, SB-Messaging Adapter – Part II

In my previous post I discussed sending messages to a Service Bus queue. These messages send to the queue are then picked up by the SB-Messaging Adapter for BizTalk Server 2010 R2 CTP, which is running in a VM on Windows Azure. BizTalk will then process these messages by inserting them into a table.  I used one client to send multiple messages to the queue. I measured the time it took to send messages to the queue not the time it took for BizTalk to insert each message in SQL Server 2008 R2 table. However, the latency between the queue and SQL Server 2008 R2 was relatively low. As soon as all the messages were sent the same amount of records were present in the table. Overall the performance is not bad when it comes to a few thousand messages. Latency and throughput are good.

In this post I take a different approach. I will simulate a run with 10000 participants. The run is 15K and there are passing time marks at 5 and 10K. At 15K the finishing time will be registered. I will use multiple clients to send messages to Service Bus queue. I will use one client sending 10000 messages for 5K passing mark, one sending 10000 messages for 10K passing mark and one client for 15K finishing times.

 image

I have changed some settings like batch size for WCF-SQL Adapter, which I set to a 1000. For SB-Messaging I have changed the Prefetch Count. I also modified the polling interval of processing host to 50 ms. These are just experimental to increase performance (latency and throughput).

image

 The Prefetch Count specifies the number of messages that are received simultaneously from the Service Bus Queue or a topic. I set this initially to a 1000 to observe what will happen in my BizTalk environment regarding throughput. More on prefetching see the Best Practices for Performance Improvements Using Service Bus Brokered Messaging.

Number of clients Number of message per client Number of messages Duration (Latency) in seconds Msg/Sec
3 10000 30000 2025 14.81
6 5000 30000 1430 20.98
9 3333 30000 968 30.99
12 2500 30000 556 53.96

With nine clients the duration to send messages to queue was less 1000 seconds, however BizTalk started throttling and finished processing a 180 seconds later. Still processing of 30000 messages was around 21 minutes. I changed the polling interval of the processing host back to its default of 500 ms. With subsequent test BizTalk throttled again after a few minutes.

BizTalk host BizTalkServerApplication throttled because InflightMessageCount exceeded the configured throttling limit.

With more clients the latency to send message to queue decreases. However, the throughput at the BizTalk end decreases and so does the latency for this complete process. This means performance decreases as BizTalk is not optimized to process that kind of load. Therefore tuning in the dashboard will be required to optimize BizTalk if possible. However, it may be better to consider to scale vertically with VM assigning more cores and memory (i.e. large or extra-large instance) or scale horizontally adding more instances of BizTalk. Scaling will mean incurring more cost as well.

 image

See Pricing Details Windows Azure.

With more clients and more queues you will be able to send up to a 100 or more messages per second to the Service Bus queues (see Scenarios paragraph of Best Practices for Performance Improvements Using Service Bus Brokered Messaging). This can be done easily. However your backend systems (i.e. BizTalk in this scenario) must be able to read and process the message in case performance (high throughput) is a requirement. So scalability will be an important quality attribute in this kind of scenarios. In upcoming posts I will delve into this scenario to further experiment with SB-Queues and Topics.

Failed to add resource(s). Resource () is already in store and is either associated with another application or with another type.

Failed to add resource(s). Resource () is already in store and is either associated with another application or with another type.

One of my team members that is making some changes to a project that I started, called me saying that he was having problems in deploying the project. Whenever he tried to deploy the project he was stuck in the following error: Failed to add resource(s). Resource () is already in store and is either […]
Blog Post by: Sandro Pereira

October Images of Windows Server 2008 R2 and Windows Server 2012 Available for Windows Azure Virtual Machines

I noticed today that the Platform Images for Windows Azure Virtual Machines has been updated to include a Windows Server 2008 R2 and Windows Server 2012 Image for October.

The great news is I re-tested installing BizTalk Server 2013 Beta on the new Windows Server 2012 Image and everything installed and is running without issues!  This time I used a Medium Virtual Machine as compared to the Small to do the initial software installation.  I noticed a huge difference in performance and installation time.  Since I am not using the VM now, I have bumped it down to an extra-small that costs just over $0.01 per hour.

If you want to get BizTalk 2013 running before the official image is available, make sure you use the October Images.  Best of luck.

Using the ESB Toolkit 2.2 on BizTalk 2013 Beta

With BizTalk Server 2013 Beta, ESB Toolkit is now fully integrated with BizTalk Server. Also, the ESB Toolkit configuration experience is simplified to enable a quick setup. The installation and configuration is described on MSDN.
The Setup does not register the ESB Toolkit Itinerary Designer by default. (You can use the ESB Toolkit Itinerary Designer to create itineraries in Visual Studio.) The “Installation Guide.htm” in the Microsoft BizTalk ESB Toolkit folder describes that you can install the Itinerary Designer extensions by clicking Start> All Programs> Microsoft BizTalk Server 2010 ESB toolkit > Install Itinerary Designer Extensions. The Installation Guide is still for the ESB Toolkit 2.1 because in BizTalk 2013 Beta you don’t have this option. In Known Issues is described that you can find the Itinerary Designer Setup in the installation folder of BizTalk 2013 Beta.

Steps

Go to the installation folder of BizTalk 2013 Beta

Double click on Microsoft.Practices.Services.Itinerary.DslPackage.vsix.
 

 

Test the ESB Toolkit installation

To test the installation I used a small BizTalk project with 2 schemas and a map to create a BizTalk application. You can open a BizTalk 2010 solution with Visual Studio 2012 and upgrade the projects in the solution to the new version of Visual Studio.

Notice that the number of Adapter Providers are still the same as in the previous versions of the ESB Toolkit!
 

To send a message to one of the on-ramps that are provided by the BizTalk ESB Toolkit I used the sample “GlobalBank.ESB.Samples.Itinerary” application. This application is still in the samples in ESBSource.zip.

Run the Itinerary Test Client to send a message with an itinerary to the ESB.ItineraryServices on-ramp.

 

Conclusion

My BizTalk 2010 solution opened easily in Visual Studio 2012 and it ran without problems. Only Tracing  in the ESB Toolkit did not seem to work,. Also it took a while before I had found the setup of the Itinerary Designer Extensions because at first I didn’t read the Known Issues on MSDN but now I know, first read the Known Issues when you’re working with a Beta version!

BizTalk 2013 Beta: Viewing dependencies

BizTalk 2013 Beta: Viewing dependencies

In early November 2012 the Beta release from BizTalk 2013 has been released. That version number is interesting in itself, as the CTP was called BizTalk 2010 R2.
One on the new functionalities in this release, which was not yet available in the CTP is a Dependency Viewer. As the name already suggests, this functionality enables the user of the BizTalk Server Administration Console to view which BizTalk artifacts depend on other artifacts. This article intends to provide more information on how this functionality works.

The problem it solves

Most BizTalk Groups contain multiple BizTalk Applications which might contain hundreds of schemas, (custom) pipelines, maps, orchestrations and endpoints. These artifacts are not autonomous, they depend on other artifacts and those artifacts might also depend on other artifacts.

When it comes to subjects like deployment and troubleshooting, it’s handy to know which artifacts rely on each other. That’s the point where the Dependency Viewer comes in.

Where to find

The Dependency Viewer can be found in the Administration Console. It can’t be missed in the lower part of the screen under the following artifacts:

  • Receive Ports
  • Receive Locations
  • Send Ports
  • Send Port Groups
  • Schemas
  • Maps
  • Pipelines

How it works

Whenever you select one of the mentioned categories, the Dependency Viewer appears in the lower part of the pane that shows the artifacts. To find out which dependencies a certain artifact has, you need to hit the ‘View Dependencies’ button in the right pane. So unfortunately the Admin Console does not automatically show the dependencies, whenever you click on another artifact. Hopefully this will be fixed in a later BizTalk 2013 version.
Once you click that hyperlink the Dependency Viewer shows the dependencies, if any, of the selected artifact. It does this per category.
If dependencies exist, the number of dependencies appears as a hyperlink. The dependencies themselves appear after you have clicked the hyperlink.

The screen above shows the dependencies for a Receive Port called ReceiveSamplePort. This port has 2 Receive Locations which are shown both.
Although the upper Receive Location is selected, no dependencies are shown. If you want to see its dependencies, click View Dependencies in the right pane again and in this case it would show that this Receive Location depends on one Receive Port and one Pipeline.

Conclusion

The way the Dependency Viewer is implemented in this Beta release is not (yet) very impressive. I mention a couple of down sides on the current implementation:

  • no auto-retrieve. You need to hit the ‘View Dependencies’ button
  • the Dependency Viewer is always there, it’s not possible to change its size or hide/show the viewer
  • no dependencies shown in case of Message Based Routing scenarios, for example a Send Port with a filter to a Receive Port
  • no dependencies shown relating to Hosts

I’m looking forward to the next BizTalk 2013 release and I am sure the Dependency Viewer will be implemented in a better and richer way.

Blog admin of my companies blog

First of all, I would like to thank all of my regular reader and hope you’ve al enjoyed my blog posts for almost 2 years now. I already announced in one of my previous posts some time ago that I would join the contributors of the biztalk admin blog at http://www.biztalkadminsblogging.com/ .

Today, I’m proud to announce that there is another brand new blog I will be contributing to on BizTalk and Azure related news, problem solvement, etc…. My companies (Cnext) blog (http://blog.cnext.eu) . Well actually, the blog already existed quite some time (even longer than my own blog 🙂 ), but there wasn’t any new posts for over 2 years. Most recently I became the new administrator of the Cnext blog and had the task to revive it. After 1 month, 3 completely new posts, and still some blog posts in the making, it is ready to be shared with all of you… see for yourself at the Cnexts revived blog.

The first thing I did is restyle the entire blog to match the current branding of Cnext. And after publishing some new material, I can say that it is ready to be read!

Now go and check it out.. and keep following all of my blog posts.

More info on cnext can be found on http://www.cnext.eu. And as mentioned the blog will be situated at http://blog.cnext.eu… keep an eye out for all new material to be added soon!

Error encountered when combining MIME/SMIME decoder with EDI Disassembler – A body part or a part with the same name has already been added to this message

Error encountered when combining MIME/SMIME decoder with EDI Disassembler – A body part or a part with the same name has already been added to this message

Some of my colleagues asked me to help them out with a really hairy problem today. Their project involved the receipt of EDIFact files by email. The emails were being saved on the file system as .eml files which were then picked up and processed by BizTalk. The email would contain the message body which […]
Blog Post by: Johann

Forget Sinofski

Forget about Steven Sinofski’s unexpected departure from Microsoft. The real news from Redmond is that, after approximately 72 years of utter stagnation, the latest version of Visio has been upgraded to support UML 2.x! It gets better. It looks like it actually supports the latest version of UML (2.4.1).

Unbelievable!