Tuesday, December 25, 2007
Thursday, November 29, 2007
Sunday, November 11, 2007
Saturday, October 27, 2007
Sunday, October 14, 2007
Thursday, October 4, 2007
Disable Browser back button
"No back button when you do this."
code:
"a href="http://soaas.blogspot.com/" onclick="javascript:location.replace(this.href); event.returnValue=false; ">No back button when you do this. /a"
Sunday, September 30, 2007
Evolution of Computer Systems Architecture
“Had we had such a progress in transportation as we have in computers, one could travel cost to cost in few seconds at a cost of few pennies…”
Wednesday, September 19, 2007
Tuesday, September 4, 2007
Outward Software Development Model
Outward Development Model [ODM] is very common in projects involving op sys development, application framework development, platform integration tools, etc. Is there any real alternative to this model when we are working on such a big project with very wide impact? TDD, XP,RAD, DDD…
Can Rome be built in a day?
Friday, August 24, 2007
Thursday, August 2, 2007
C# Compiler Mysteries
This is an ERROR
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
SortedList sl = new SortedList();
}
This is NOT an ERROR
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SortedList sl = new SortedList();
}
}
Want to know more about this , check out
http://msdn2.microsoft.com/en-us/library/xaw06638(vs.80).aspx
And here you will find more opinions
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1780871&SiteID=1&pageid=0
Wednesday, August 1, 2007
Role Permission Explosion in Role Base Access Security [RBAC]
Formula: nCr = n! / [(n-r)! r!]
n : Possible Permissions
r : Possible Roles
So for 3 Permissions, possible roles are
3C1+3C2+3C3 = 7
So for 3 permissions, we have 7 possible roles in 1 application. If we have 2 applications then the no of roles will be 14.
Challenge
How to minimize / manage roles?
Solution:
By Grouping
- Role Hierarchy
- Role Linking
By Enforcing Business Rules
Friday, July 6, 2007
Tuesday, May 15, 2007
Monday, April 23, 2007
SaaS in Action!
Check this out
http://www.clocklink.com/ENG/gallery.htm
Just copy the html code from this website on any webpage. This script will give you a decent , ajax enabled world clock. Cool app and good example of software as service.
Wednesday, March 14, 2007
SaaS : $19.3 billion by 2011
Check this out
"According to Gartner, the market for SaaS applications grew by 26 percent last year, from $5 billion in 2005 to $6.3 billion in 2006. The consulting firm expects demand for SaaS to continue growing at a 25 percent compound annual rate over the next five years, to $19.3 billion by 2011. Most of those dollars are going to new entrants rather than established software vendors like Oracle (Quote), SAP and Microsoft (Quote)."
For full story - check this out "Vendors Missing the SaaS Wave By Michael Hickins " [http://www.aspnews.com/news/article.php/3664361]
Tuesday, March 13, 2007
More Power per Source Code line
Now this example is just hypothetical and grossly overestimation of the reality. But the point is, we are writing less line of code to achieve same results. In my opinion, this is because
1. Powerful programming constructs and smart compilers [for example, C# closure]
2. Advances in Algorithm and Hardware
3. Greater level of code level abstraction
For Example, Consider following example in C# and same code compiled by MS CLR
[Example from : http://www.thinkingms.com/pensieve/CommentView,guid,fd10bfa8-1aeb-4353-84c8-cd80e418424f.aspx]
// Display powers of 2 up to the exponent 8:
foreach(int i in Power(2, 8))
Console.Write("{0} ", i);
Now this code will be compiled as
public static IEnumerable Power(int number, int exponent)
{
int counter =0;
int result = 1;
while(counter++ < result =" result">
{
result = result * number;
yield result;
}
}
So the point is, foreach is an elegant syntax. It also hides a lot of complexity at the programming construct level. Now, the level of abstraction and its impact on performance is altogether a different topic.
Still, if we are using high level language like C# or Java for developing business applications then this abstraction and syntax simplicity is good. [This argument is based on a long discussion with my friend Jon Saltzman]
Again, I heard an argument that this abstraction will result in increased programmer productivity. I am not sure about that. Anyway, point is modern programming languages provide more power per source code line
Friday, March 9, 2007
Gartner Hype Cycle
Time and again I have seen and heard discussion on the rise and fall of a particular technology. With multi core processors and Internet based distributed programming – this debate is getting sharper by each passing day.
I found one tool to analyze the rise and fall of any technology against the proven industry data – “Gartner Cycle”. Here is my take on current state of the technology...
Sunday, February 18, 2007
One More Security Model
Here is another security model. We used this in one of our application.
Algorithm
1. Accept Username and pass it to the database in plain text
2. At Database, from username find out the corresponding salt value
3. Encrypt the salt value at database end and pass it on to your app
4. Decrypt the salt value at app level and compute the hashed password at app level
5. Hashed password = salt value + user password
6. Encrypt the hashed password at app level and pass it on to database
7. Decrypt the hashed password at database level and compare it with one stored in database
8. If match is found - pass 1 else pass 0
Assumption
1. No password is stored in database; only hashed password is stored with corresponding salt value and username
2. We have used identical .NET assembly [same algorithm for encrypt,decrypt and hash mechanism] at app and database end. .NET CLR integration is used to implement this dll functionality inside database
3. Webservice is used to communicate with database. HTTP Endpoints and HTTP.SYS is used to create this web service
Platform
Windows 2003, .NET 2.0 and SQL Server 2005,ASP.NET
Thursday, February 8, 2007
Business Models of the Future
Read this interesting argument regarding the Software Business Model of the Future at http://knowledge.wharton.upenn.edu/article.cfm?articleid=1651&CFID=3283734&amp;amp;amp;amp;CFTOKEN=97771900
Gist of this intellectual argument can be summarized as follows
Business Models of the Future
Tuesday, January 30, 2007
The extended Application Service Provider Service Model
The International Association of Software Architects published myarticle on SaaS - “The extended Application Service Provider Service Model” in the December 2006 issue of the “Perspectives of the IASA” magazine.
Abstract
The paper will focus on the process of service delivery in an extended Application Service Providers [ASP] model. The aim of this paper is to establish the unique characteristics of an extended ASP model. Observations in this paper are based on a Service Oriented Architecture (SOA) implementation. This paper discusses the service delivery model, and addresses challenges and benefits of an extended ASP. It will conclude with a discussion of the service implementation strategy.
Direct link for PDF
http://www.iasahome.org/web/home/perspectives?p_p_id=20&p_p_action=1&p_p_state=exclusive&p_p_col_id=null&p_p_col_pos=0&p_p_col_count=0&_20_struts_action=%2Fdocument_library%2Fget_file&_20_folderId=9&_20_name=IASANewsletterDec2006.pdf
Code Camp 2007
SoCal Code Camp : Software As Service [SaaS] for Developers presentation
What is SaaS? From Salesforce.com to workday.com, many vendors are offering Internet based, hosted software services. This business model is commonly known as SaaS. Presentation will focus on Design and Development of SaaS. We will cover the fundamentals of SaaS, service design guidelines, database considerations, operational and performance issues in SaaS domain. Presentation will be available on-line.
Download this presentation and Demo Application Source code [c#,T-SQL and ASP.NET] from :
http://www.amgsiu.com/infocenter/wp-content/uploads/2007/01/CodeCamp.zip
For Refrence Please check : http://www.iasahome.org/web/home/perspectives [Download the latest issue of the Perspectives!]