Speaking at Tampa's SQLSaturday On AppFabric (Velocity)

Next month I will be headed out to Tampa's SQLSaturday to give a presentation titled, "Getting Started with AppFabric Caching (Velocity)". AppFabric offers some new features with the support of SQL Server, and as AppFabric starts gaining attention it is equally important that developers and dba developers are aware of how they could be impacted. Below is the description for my presentation.

"Let's face it, reading and writing data with SQL Server can be expensive and has scaling this type of architecture has its implications that need to be considered upfront. This is one of the reasons Microsoft has included caching within its future AppFabric Framework. Caching is not a new methodology because we can use it currently in applications built on top of ASP.Net out of the box, however there are still scaling issues that AppFabric Caching (ACF), formerly Velocity addresses. As database developers, it is important to identify with new trends that may affect database integration and this presentation does just that. First we will learn the basics of AFC, how to install, how to scale, and how data driven solutions can benefit from it."

If you are interested in learning more about AppFabric Caching this session will be a great starting point demonstrating its architecture, down to best practices for caching different types of data... Or if you are not interested, you still can hang out with Andy Warren, however my session has him beat in the 'sexy' category!

Currently rated 1.8 by 21 people

  • Currently 1.809524/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: BayerWhite
Posted on: 12/17/2009 at 1:55 AM
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (2) | Post RSSRSS comment feed

AppFabric Caching(Velocity) Gotchas So They Don't Get You

While playing with the new AppFabric Caching Beta 1 formally Velocity, I experienced a couple of things that might save you some time. First of all, I am extremely impressed with the concept of what AppFabric caching brings to the table. The concept of caching data and scaling it across multiple machines is powerful concept. Especially when you look at large amounts of data with high traffic or extreme processing. The cool thing with AFC is that everything can be driven though PowerShell commands. This is particularly important when you start thinking of the possibilities of driving caches through new tools like WF4 and the new capabilities it has with PowerShell. This caching model potentially brings a whole new methodology of how we build solutions geared for performance. So let's look at a couple of things that should save you time if you are running into the same issue or plan in the future of playing with the bits. First I will give you a kick start on how to get things started!

Once you get AppFabric Caching installed, the cachehost needs to be started. Below demonstrates the PS commands for viewing that status of the host(s)

Get-cachehost command shows me one host service and notice that it is down by default. I can start it by using the Start-cachehost and specifying a HostName and CachePort. Notice that the Service Status is now UP. Now that your service is up and CacheBaseLibrary.dll and ClientLibrary.dll are referenced and you have your code for pushing/getting from the cache you might run into the same error below upon compiling your solution.

This one had me going around in circles for awhile. First I thought that I had the wrong .Net 4 Framework and after going through my advanced checklist of wasting time, I checked the framework that my project defaulted to and noticed it was pointing to .Net Framework 4 Client Profile which was bad. You want to make sure it is compiling against good ol' .Net Framework 4.

So I am compiling now and ready to cache data. I run my code and get the strangest message I think I have ever received from Microsoft. But not any stranger than I have experienced from other applicationsMoney mouth

 

If you did not see the PDC09 video, or you did but really did not pay attention to what was being said about the security capabilities, this one sneaks up on you. You need to grant the user permission to hit the cache. Again PS becomes your friend and if you type the command, get-cachehelp you get the following. The important commands for viewing account access are highlighted in yellow.

 

To set access you can call Grant-CacheAllowedClientAccount with the account name like below.

 

Hopefully this post becomes useful to you as you journey down Microsoft's vision for caching data. If nothing else maybe it can start you thinking of the many benefits AFC will be bringing to the table here in the near future.

Currently rated 5.0 by 3 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: BayerWhite
Posted on: 12/11/2009 at 2:16 AM
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (1) | Post RSSRSS comment feed

Speaking At SouthFlorida Code Camp On Migrating From WF3.x to WF4

Just confirmed with the guys in SF that I am speaking at the South Florida Code Camp. Next Febuary, 2010 I will be heading down south to speak on the new WF4 and what to consider for migrating from WF3.x. The last time I have spoken in SF was about 3 years ago and back then I was speaking on WF3. This time I am looking forward to spreading the word on WF4 and catching up with good friends.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: BayerWhite
Posted on: 12/8/2009 at 8:13 AM
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Try Catching Workflow Errors In WF4

When comparing how to handle errors within WF3.x and WF4 you immediately see some significant improvements, not just from a logic perspective but also visually.

 

Some of the pain in WF3.x surfaced from the inconsistent behavior and rooted within the designer, when flipping back and forth from the actual workflow and viewing "Fault Handlers" within embedded activities. WF4 not only improves the look and feel of the designer it also logically makes more sense as to what needs to happen within the workflow/activities, when handling different types of exceptions. Since exceptions are driven from the logic within activities, utilizing the new "TryCatch" Activity becomes very familiar since it mimics how we normally catch exceptions through raw code. Since this post is intended to show off WF4, I will quickly give the foundation for handling exceptions within WF3.x. Fault Handlers are used to handle issues, much like what I am going to show you with WF4's TryCatch, however you will see very shortly that it is not as easy to setup. Once you view the FaultHandler part of the workflow, you add the FaultHandler Activities. Again each handler handles a type of exception.

 

Then you can add a Throw Activity...

 

Now for WF4 this process becomes much easier to implement and makes more sense. 

 

Still there is the same concept that exceptions can be caught at the activity level which means that we can add a TryCatch Activity the same way we added FaultHandlers. The image below shows how activities can be placed within the Try Block of the activity.

 

There are three activities that have been added, first a Sequence Activity and then a WriteLine and custom CodeActivity Activity.  Next we can set the type of Exceptions to catch. By clicking on "Add new catch" a dropdown box gives you the option for selecting the exception type. Once the exception type is selected the next thing to add is a Throw Activity. The Exception Property of the Throw Activity sets the exception to be thrown by the activity

 

In conclusion, it is always important to build in good error handling. Working with WF4 is no "Exception". There were many times I was not sure what the issues were with my workflows in 3.x and I spent many nights banging my head. It seems that identifying errors and handing them is much easier with WF4. If you are used to using WF3.x there is still some things to get used to, and it is sometimes hard to teach a dog new tricks. However most of the changes I have seen are significant improvements, and are well worth the time to understand the change.

Currently rated 3.1 by 34 people

  • Currently 3.088235/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: BayerWhite
Posted on: 12/7/2009 at 7:02 AM
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

JaxDUG Microsoft Speaker Idol Contest Winner And Runner Up

Last night we had our final JaxDUG meeting for 2009 and it ended with a fun Microsoft Speaker Idol Contest and a little festive party at the local wing house, sponsored by SNI. We had for speakers compete and selected two with a winner and a runner up. Congratulations to our winner Brian Westover and Ken Koteles. If Brian is unable to attend the regionals competition then Ken gets to compete. Good Luck!

Currently rated 3.3 by 6 people

  • Currently 3.333333/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: BayerWhite
Posted on: 12/3/2009 at 6:47 AM
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (8) | Post RSSRSS comment feed