Saturday, December 8, 2007

First post

Well, I decided to start yet another blog, my third after http://udaykumar.javadevelopersjournal.com
http://psuday.blogspot.com

and now this one.

The topics have been varied, while the first of the above is fairly obvious, the second one perhaps is not. It is an eclectic collection of poetry which came from a source divine.

The current one is inspired by my recent foray into the world of Microsoft and .NET. I work on both sides of the great Divide: and thus my hard drive is littered with relics from Sun as well as MSFT.

So I hope to post regularly in this forum about some of the projects that I am working on. Perhaps this will be of some use to someone, but at any rate I know that it will be of use to me, because I have this tendency of doing intense research into some obscure problem and amassing a wealth of detail only to squander it away once I am done with the project.

My most recent project has been on building web sites and products using ASP.NET 2.0 and C#. As a part of this endeavor I had to work on the most common entry level use case, which of course is the Logon Use Case. While normally logon is fairly trivial from a UI perspective ( you get the userid and password ) it does have some administration scenarios which benefit from a componentization approach.

For example, User CRUD activities, User lockout and release management, Password recovery and Reset operations and Role CRUD activities are all du jour. So from a componentization perspective ASP.NET 2.0 provides the Membership API which provides implementations of these functions.

And then it is also based on a Provider architecture which is an implementation of the Strategy Design Pattern. In the Java World we know this as the SPI model. Thus we can roll our own implementation of the Membership API and then plug it into the model. The componentization is also provided at the UI Level and thus there are a basic set of Login components that are provided as part of the ASP.NET 2.0 tool box.

A very good end to end implementation of this set of functions is found in the ASP.NET Web site Administration tool. I will be writing next about the innards of this tool which I happened to operate on to get at some of the underlying infrastructure.