Windows Server AppFabric: The Architectural Point of View

by ciprian.jichici@genisoft.eu 2. February 2010 11:53

Most complex applications will rely on certain types of functionalities that are not tied to a certain layer or tier. Since they affect entire applications it is highly desirable to place these functionalities in a centralized location in code in order to avoid unnecessary duplication. The certain advantage you gain with this approach has its own Achilles' heel: you’ve just created the perfect location for high-impact design mistakes. Because of these interesting characteristics these functionalities are commonly referred among software architects as crosscutting concerns. Some of the most common crosscutting concerns are:

  • Authentication and authorization
  • Caching
  • Communication
  • Configuration management
  • Exception Management
  • Logging and instrumentation
  • State management
  • Validation

The 2nd edition of the Microsoft Application Architecture Guide has an excellent discussion about crosscutting concerns.

Since they are so common among software applications, it’s no surprise that every single application deals with (hopefully all of) them in its own way. Fortunately, most application platforms offer support to architects and developers in order to address the crosscutting concerns. The .NET Framework 4 in particular and the Microsoft Application Platform in general are no exception. But there’s a catch here: at the core level there is no integrated approach. Take .NET configuration files for services for instance. There are tons of things that you can do with configuration files in the development environment but there’s not much out-of-the-box functionality to handle them once they are deployed.

From the point of view of software architecture, one of the very interesting developments in Windows Server is the Application Server role. Indeed, Windows Server has come a very long way from being a platform providing fundamental APIs to being a true application server. At the heart of this journey there are two fundamental parts: the Microsoft .NET Framework and the Internet Information Services. Today, .NET Framework 4 provides all the necessary building blocks for the development of robust and scalable distributed solutions. IIS on the other hand evolved from a HTTP-based web server to a multi-purpose, multi-protocol, secure and robust hosting environment for application services. Add WAS (Windows Process Activation Service) to the mix and what you get is a pretty strong and scalable application server.

Building on  top of the existing functions in .NET Framework 4 and the WAS/IIS environment, Windows Server AppFabric brings the Application Server to the next level. And by next level I mean that in addition to existing fundamental APIs and hosting environment the AppFabric brings out-of-the-box, robust, and scalable solutions for the following crosscutting concerns:

  • Caching
  • Communication
  • Configuration management
  • Logging and instrumentation
  • State management

These concerns are addressed via the following categories of functionalities:

  • Better deployment, management, and configuration for WCF and WF services hosted in WAS
  • Persistence management for workflows
  • Tracking profiles (together with dedicated, queryable storage)
  • Monitoring of hosted services
  • PowerShell integration (custom management scripts)
  • Caching of any serializable CLR object and caching APIs at enterprise scale
  • Caching available as a service
  • High availability and automatic load balancing

It is very important to understand that Windows Server AppFabric will not provide comprehensive solutions to the concerns mentioned above. Nevertheless, it is an excellent and powerful piece of the puzzle that software architects can take into consideration when designing software solutions.

For more details about Windows Server AppFabric you can check the dedicated section from the Windows Server Developer Center.

Windows 7 Is Now On A Straight Line To RTM!

by ciprian.jichici@genisoft.eu 5. June 2009 02:18

More good news for the ones (quite many, I have to admit) who are already Windows 7 RC fans. Windows 7 will RTM sometimes in the second half of July and it will be in stores beginning October the 22nd. Around the same time frame, the RTM code for Windows Server 2008 R2 will be available to Microsoft partners.

I’ve already talked about my experience so far using some beta builds of Windows 7 as well as the latest RC release. Still, it doesn’t cease to amaze me. Most probably, the main reason for this is the fact that it really looks to be light years away from the Vista experience (although I have to admit that post-service packs Vista is much better than the original RTM).

To be honest, it is the first time in my career that I feel really enthusiastic about an OS from Microsoft. Don’t get me wrong, I do like Microsoft operating systems, but I never felt like “this is the one I’ve been waiting for”. You know what I mean? Every time there were some things that made me say “yeah… this is ok, but I hope they will fix/improve this or that in the next service pack or version”.

Obviously, Windows 7 is not perfect. But it makes me feel like it’s the OS I’ve been waiting for for a long time.

Tags:

Windows

Windows 7 RC Rocks!

by ciprian.jichici@genisoft.eu 7. May 2009 21:11

Today I just had one of my best experiences so far as an operating system user. I’m talking about in-place upgrade to Windows 7 Release Candidate (build 7100). Being very enthusiastic about the sheer performance and slickness of the new Windows 7, I started to use it for quite some time by installing one of the early builds (6800 and something).

Although I am known as one of the Romanian public speakers who does enjoy the occasional ‘head shot’ (can’t help it, I’m still an UT player :D) to MSFT (of course only when they really deserve it), I have to admit, it is the very first time when I am genuinely impressed by an OS produced by the Redmond giant.

So far, I never had the guts to use for more than 6 months, on my primary machine, a Windows version that was not even a Release Candidate. This time, I did it, and it turned out to be a good decision. On top of that, having a spare moment today, I decided to upgrade my shack to the RC version. Guess what, it went on perfectly, without a glitch and all my stuff is working like a charm (and believe me, I have lots of stuff on my machine).

All I can say is that Win7 RC really rocks! Can’t wait to get the final bits…

Tags:

Windows

Powered by BlogEngine.NET 1.5.0.7

Calendar

<<  March 2010  >>
MoTuWeThFrSaSu
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar