Examination of Data Structures in .NET 2.0

You might have seen this already, if not, MSDN has a six-part article extensively examining the data structures in .NET 2.0 covering the usual suspects and then some not-so-usual unless you have written some compilers such as BST’s, graphs, red-back trees, etc. Quite an interesting read when you have some time.

March 1, 2005 · 1 min · Amit Bahree

Enterprise Library

Microsoft released the Enterprise Library based on ACA.NET which our engineering guys here at Avanade, work their butts off! Enterprise Library features new and updated versions of application blocks that were previously available as stand-alone application blocks. All Enterprise Library application blocks have been updated with a particular focus on consistency, extensibility, ease of use, and integration. The application blocks that comprise the Enterprise Library are the following: Caching Application Block....

January 29, 2005 · 2 min · Amit Bahree

Testing .NET Application Blocks (Version 1.0)

A little while ago while I was one of the industry advisors for the PAG group at Microsoft. One of the last things I did in that capacity was provide input to the the Testing App blocks for MS. Microsoft has finally released this and can be downloaded here . Testing .NET Application Blocks covers many testing areas that were used during testing and verification of the various application blocks provided by Microsoft’s patterns & practices group, such as functional, globalization, performance, integration, and security....

January 18, 2005 · 1 min · Amit Bahree

Data Concurrency and Mobile Applications

As I start working on some stuff, I have been thinking of this. Essentially when you are dealing with mobile devices, by their very nature they are disconnected in nature, and not always on a network (such as desktop or laptop). In multi-user environments, the challenge is how to you keep the data concurrent between the “online” and “offline” version? Typically there are two scenarios either you do optimistic concurrency or pessimistic concurrency....

November 27, 2004 · 2 min · Amit Bahree

HTTP Modules and HTTP Handlers

ASP.NET has a pretty interesting HTTP runtime architecture if you have ever dug into the covers. The basic run-time support has API’s as powerful as ISAPI (in IIS). ASP.NET offers IHttpHandler and IHttpModule interfaces that offer you similar functionality. I will get into each one in a little bit of detail, but at a high level IHttpHandler is analogous to what would be an ISAPI extension in IIS and IHttpModule would be analogous to what a ISAPI filter in IIS....

October 28, 2004 · 6 min · Amit Bahree

Yes, the GC *can* leak memory - there I said it!

Shawn Van ness has an excellent article, that spells out how event listeners can cause memory leaks, yep even when running in managed code. Steve Main sums it up pretty well: The main issue is the “lapsed listener” problem. This occurs when objects subscribe to events and subsequently get out of scope. The problem is that the event subscriber doesn’t get garbage collected because the event is still holding a reference to it inside of the event’s invocation list....

September 21, 2004 · 2 min · Amit Bahree

Exceptional Condition Handling in SQL Server 2005

This is my second part of the SQL Server 2005 posts; you can read the <strong>first part</strong> on Hosting the .NET runtime in SQL Server. In the CLR certain conditions such as out of memory, stack overflow, etc can bring down an app domain (or process), this cannot be allowed in SQL Server 2005 when latter is acting has a host (for the CLR) as it will affect reliability and performance - couple of the key goals for SQL Server....

August 5, 2004 · 3 min · Amit Bahree

Hosting the .NET Runtime in SQL Server 2005

I finally got around to trying out SQL Server 2005 (a.k.a. Yukon) and <strong>reading</strong> up a little on how it operates under the covers. I had earlier <strong>discussed</strong> SQL Server Express. This is my first of series of posts where I will be highlighting some of the new things a developer can do in SQL Server 2005 from a .NET perspective, since there are many DBA’s who live and breathe SQL Server I will leave all the database and T-SQL specific stuff to them....

August 3, 2004 · 4 min · Amit Bahree

Exception Management in .NET

Well, this was long overdue. I had <strong>promised</strong> to upload my article that won a contest by osnews.com. I finally found a little time to upload it here, though the formatting is still a bit screwed especially on the code snippets. You can <strong>read the article</strong> . If you would like a pdf version of the same let me know and I can either put it up here or email it to you....

July 28, 2004 · 1 min · Amit Bahree

Class Designer in Visual Studio 2005 will not support UML

As Ramesh writes in an old <strong>post</strong> , the Class Designer is not a UML tool but uses the notation. He goes on to say the prime audience for this tool is the Developer then what do the Architects use? Is there a different version? I personally am a bit cheesed off by this. I love UML and have used it extensively and know the value (and pains) it can bring, like with everything else there are pros and cons....

July 22, 2004 · 2 min · Amit Bahree

Visual Studio 2005 Team Systems for Architects

Microsoft has a site <strong>dedicated</strong> towards Architects geared towards VSTS where if you are an Architect (or an aspiring one) then you can learn more on this and also provide feedback back to Microsoft. Of interest on the same lines would be the following blogs too: <strong>Keith Short</strong> <strong>R Ramesh</strong> <strong>Stuart Kent</strong> Here is an excerpt from the site: Building complex service-oriented solutions requires several architectural considerations including services and contract design, communications security, operations manageability and provisioning, and so on....

July 22, 2004 · 2 min · Amit Bahree

What is System Definition Model?

The System Definition Model (SDM) provides the basis for the underlying metamodel used by <strong>DSD</strong> . The SDM describes distributed systems as four layers: Applications Application hosts Network Topology OS and physical hardware or devices. For each layer, the model describes the connections between systems and their configurations. By adopting a common model for all these layers, the model makes it possible for you to define and express requirements and policies across these layers....

July 16, 2004 · 2 min · Amit Bahree

White-Box testing (a.k.a Glass Box or Clear Box or Open Box testing)

This is part 3 of the testing-series of posts where I cover White-Box testing (inspired by Microsoft’s upcoming Testing Series of good advise from PAG). You can check out the earlier post <strong>here</strong> . White-Box testing (Glass Box/Clear Box/Open Box testing) White box testing assumes that the tester can take a look at the code for the application and create test cases which look for any potential failure scenarios. You need to determine the suitable input data for testing of various APIs and the special code paths that need testeing by analyzing the source code for the application....

June 24, 2004 · 4 min · Amit Bahree

White Box Testing and Black Box Testing

This is really part II of my testing series (as I have become to call it) - I had an earlier post on <strong>Unit Testing</strong> . I recently had the opportunity to review some of the new stuff coming out of the <strong>Prescriptive Architecture Group</strong> at Microsoft and here is some of the interesting things proposed by them. When you are doing Functional Testing of your application or code, it can be of two kinds - Black Box and White Box....

June 22, 2004 · 4 min · Amit Bahree

What makes good code good?

As Paul Dilascia discusses in his article in MSDN Magazine (most of which I am gonna mooch-off here), What is good code? Does good code mean that the program works as it is meant to without bugs? Well if that is your only criteria, then I don’t think so, that is something that is expected. One also needs to look at it internally - as they say beauty is beneath the skin (or something like that anyways)....

June 11, 2004 · 4 min · Amit Bahree

Improving .NET Application Performance and Scalability

PAG group just released the new <strong>library</strong> . If you have been playing with the beta of this, you know there is lots of good stuff. A excellent reference to keep near you! Now that this is “public” I will be posting some of the things I find here - watch this space, and till then, read up and enjoy!

May 18, 2004 · 1 min · Amit Bahree

Becoming an Architect

There has been a very interesting (imho) multi-part <strong>interview</strong> with the author of <strong>Beyond Software Architecture</strong> where he discussing various aspects like the relationship between Architecture, Culture and Goodness. Also goes on to discuss the social role of an architect, conceptual integrity and the importance of domain knowledge. I particularly like the quote … “ An architecture is like a dirt road. The first time a car drives over it, the road looks about the same....

May 12, 2004 · 4 min · Amit Bahree

What is a Loosely Coupled System?

In a loosely coupled system (e.g. Service Oriented Architecture i.e. SOA), the dependencies can be either a Real Dependency or an Artificial Dependency. Real dependencies are the services that you need to fulfil your need, this is something that cannot be eliminated or reduced. Artificial dependency on the other hand are the features you need to adhere to in order to consume the services you need. Typically these fall in the categories of platform dependencies, API dependencies, language, etc....

May 5, 2004 · 1 min · Amit Bahree

Zachman Framework

I posted an article (click here or on the title) on what the Zachman Framework is all about. I find it so surprising that in today’s world, I came across a whole bunch of people who call themselves as “Architects” who have no idea or clue as to what the Zachman Framework is. I am not trying to be critical towards those people, they are probably very smart and know their stuff, but I figured maybe its a time for a crash course....

April 28, 2004 · 1 min · Amit Bahree