<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ashish Tripathi's Blog</title>
	<atom:link href="http://aktripathi.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://aktripathi.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 21 Dec 2011 08:44:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='aktripathi.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ashish Tripathi's Blog</title>
		<link>http://aktripathi.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://aktripathi.wordpress.com/osd.xml" title="Ashish Tripathi&#039;s Blog" />
	<atom:link rel='hub' href='http://aktripathi.wordpress.com/?pushpress=hub'/>
		<item>
		<title>An Introduction To Inflation</title>
		<link>http://aktripathi.wordpress.com/2011/10/11/an-introduction-to-inflation/</link>
		<comments>http://aktripathi.wordpress.com/2011/10/11/an-introduction-to-inflation/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 13:37:25 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
		
		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=268</guid>
		<description><![CDATA[With the help of this article I want the users to have basic overview about inflation. This article does not contain much analysis, may be in future I would be able to bring some more explanation and examples. Any suggestions are most welcome. First Question: What is Inflation? In simple English sudden increase (price hike [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=268&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With the help of this article I want the users to have basic overview about inflation. This article does not contain much analysis, may be in future I would be able to bring some more explanation and examples. Any suggestions are most welcome.</p>
<p><strong>First Question: </strong>What is Inflation?</p>
<p>In simple English sudden increase (price hike within less span of time) in the price of goods is called inflation. Deflation is reverse of the inflation.</p>
<div id="attachment_269" class="wp-caption aligncenter" style="width: 510px"><a href="http://aktripathi.files.wordpress.com/2011/10/inflation_pic.jpg"><img class="size-full wp-image-269" title="Picture1" src="http://aktripathi.files.wordpress.com/2011/10/inflation_pic.jpg?w=500&#038;h=256" alt="" width="500" height="256" /></a><p class="wp-caption-text">Understanding inflation</p></div>
<p><strong> </strong></p>
<p><strong>Basic Mathematics behind Inflation:</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="213"><strong>Description/ Date</strong></td>
<td valign="top" width="213"><strong>01-Jan-2011</strong></td>
<td valign="top" width="213"><strong>01-May-2011</strong></td>
</tr>
<tr>
<td valign="top" width="213"><strong>Total Money (Rupee) in Country [</strong>₹<strong>]</strong></td>
<td valign="top" width="213">10,000</td>
<td valign="top" width="213">15,000</td>
</tr>
<tr>
<td valign="top" width="213"><strong>No of Goods available in country</strong></td>
<td valign="top" width="213">100</td>
<td valign="top" width="213">100</td>
</tr>
<tr>
<td valign="top" width="213"><strong>Price of a good [</strong>₹<strong>]</strong></td>
<td valign="top" width="213">10,000/100 = 100</td>
<td valign="top" width="213">15,000/100 = 150</td>
</tr>
<tr>
<td colspan="3" valign="top" width="638">Within 5 months cost of a good is increased by 50%. See the notes to understand the reasons for increase in total income of the country.</td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p><strong>Basic causes of inflation</strong></p>
<p>As a result of imbalance of below two legs inflation is caused/ increased.</p>
<p><strong>Leg1</strong>: Income of a significant percentage of population is increased.</p>
<p>i)                    Because of 5<sup>th</sup> Pay Commission salary of Government employees is increased.</p>
<p>ii)                  Government has introduced several new schemes for Un employed village peoples e.g. Narega, various pension schemes etc.</p>
<p>iii)                Increase in software work from other countries has made the IT peoples growth very significant.</p>
<p><strong>Leg2</strong>: On one hand amount of money in the country is being increased but no of goods e.g. production of food grains, clothes etc has not changed into that respect. This leg also is improved but not in proportion of leg 1.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/268/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=268&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2011/10/11/an-introduction-to-inflation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2011/10/inflation_pic.jpg" medium="image">
			<media:title type="html">Picture1</media:title>
		</media:content>
	</item>
		<item>
		<title>DALC4NET (An All in One .NET Data Access Layer)</title>
		<link>http://aktripathi.wordpress.com/2011/02/08/dalc4net-an-all-in-one-net-data-access-layer/</link>
		<comments>http://aktripathi.wordpress.com/2011/02/08/dalc4net-an-all-in-one-net-data-access-layer/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 07:13:45 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=255</guid>
		<description><![CDATA[1.    Introduction DALC4NET is an Open Source data access layer built for Microsoft .NET projects.  This enables us accessing data from SQL Server, Oracle, MySql, MS Access, MS Excel etc data bases. DALC4NET is developed using C#.NET.  Microsoft .NET Framework 2.0 is required to use DALC4NET. Users are free modify the source code as per [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=255&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><strong><span style="text-decoration:underline;"><br />
</span></strong></p>
<h1>1.    Introduction</h1>
<p>DALC4NET is an Open Source data access layer built for Microsoft .NET projects.  This enables us accessing data from SQL Server, Oracle, MySql, MS Access, MS Excel etc data bases.</p>
<p>DALC4NET is developed using C#.NET.  Microsoft .NET Framework 2.0 is required to use DALC4NET.</p>
<p>Users are free modify the source code as per their need.</p>
<p>For any feedback/ suggestion you can mail the author at <a href="mailto:ak.tripathi@yahoo.com">ak.tripathi@yahoo.com</a> with subject line ‘DALC4NET’</p>
<p>Note: In order to connect with MySql database you need to have MySql connector for .NET. Which may be downloaded from the below url</p>
<p><a href="http://dev.mysql.com/downloads/connector/net/">http://dev.mysql.com/downloads/connector/net/</a></p>
<p style="text-align:center;"><a href="http://aktripathi.files.wordpress.com/2011/02/dalc4net_dbhelper.png"><img class="size-full wp-image-257 aligncenter" title="DALC4NET_DBHELPER" src="http://aktripathi.files.wordpress.com/2011/02/dalc4net_dbhelper.png?w=500" alt=""   /></a></p>
<h1></h1>
<h1>2.    Various Providers</h1>
<div>
<table border="1" cellspacing="0" cellpadding="0" width="343">
<tbody>
<tr>
<td width="166" valign="top"><strong>Database</strong></td>
<td width="177" valign="top"><strong>Provider to be used</strong></td>
</tr>
<tr>
<td width="166" valign="top">MS SQL   Server</td>
<td width="177" valign="top">System.Data.SqlClient</td>
</tr>
<tr>
<td width="166" valign="top">Oracle</td>
<td width="177" valign="top">System.Data.OracleClient</td>
</tr>
<tr>
<td width="166" valign="top">MySQL</td>
<td width="177" valign="top">MySql.Data.MySqlClient</td>
</tr>
<tr>
<td width="166" valign="top">MS Access/   MS Excel</td>
<td width="177" valign="top">System.Data.OleDb</td>
</tr>
<tr>
<td width="166" valign="top">MS Access/   MS Excel</td>
<td width="177" valign="top">System.Data.Odbc</td>
</tr>
</tbody>
</table>
</div>
<h1>3.    How to use DALC4NET?</h1>
<ol>
<li>Download DALC4NET.dll from      <a href="http://www.codeproject.com/dalc4net/">http://www.codeproject.com/dalc4net/</a></li>
<li>Add reference of the DALC4NET.dll      to your project</li>
<li>Import the namespace      DALC4NET (e.g. using DALC4NET;)</li>
<li>Create instance of      DBHelper class of DALC4NET library. This class facilitate us for execution      of any kind of SQL Command or stored procedure.</li>
</ol>
<p>DBHelper.cs is a singleton class and hence we will not see any constructor for DBHelper class (singleton class has private contructor). GetInstance() method can be used for creating the instance of the class. GetInstance() method has three overloads.</p>
<p><strong> i. </strong>No Parameter</p>
<p><a href="http://aktripathi.files.wordpress.com/2011/02/getinstance1.png"><img class="aligncenter size-full wp-image-260" title="getinstance1" src="http://aktripathi.files.wordpress.com/2011/02/getinstance1.png?w=500&#038;h=58" alt="" width="500" height="58" /></a></p>
<p>This instance does not require any parameter. This overload creates connection for the connection string name mentions as the default connection.</p>
<p><a href="http://aktripathi.files.wordpress.com/2011/02/dalc4net_app_config.png"><img class="aligncenter size-full wp-image-258" title="dalc4net_app_config" src="http://aktripathi.files.wordpress.com/2011/02/dalc4net_app_config.png?w=500" alt=""   /></a></p>
<p>Note: For using this overload ad an appSettings key “defaultConnection” and set you appropriate connection’s name as the value for this key.  This is the most recommended overload as we need not to do any kind of code changes if we want switch over the database. E.g. Application is supposed to have three databases MS SQL Server, Oracle and MySql. Create three Connection strings into app/web.config file’s connectionString’s section say sqlCon, oracleCon, mySqlCon. If you want application to use SQL Server set value=”sqlCon” for the appSetting’s key=” defaultConnection”. In future if your client want to use oracle database then after porting the oracle database you simply need to change the defaultConnection value i.e. value = “oracleCon”</p>
<p><strong> ii. </strong>Connection Name as a parameter</p>
<p><a href="http://aktripathi.files.wordpress.com/2011/02/getinstance2.png"><img class="aligncenter size-full wp-image-261" title="getinstance2" src="http://aktripathi.files.wordpress.com/2011/02/getinstance2.png?w=500&#038;h=48" alt="" width="500" height="48" /></a></p>
<p>This overload creates instance for the connection name specified into app/web.config file.</p>
<p><strong> iii. </strong>Connection String and Provider Name as parameters</p>
<p><a href="http://aktripathi.files.wordpress.com/2011/02/getinstance3.png"><img class="aligncenter size-full wp-image-262" title="getinstance3" src="http://aktripathi.files.wordpress.com/2011/02/getinstance3.png?w=500&#038;h=37" alt="" width="500" height="37" /></a></p>
<p>This overload creates instance for the specified connection string and provider name.</p>
<h1>4.    How Execute SQL Command/ Stored Procedures</h1>
<p>In section 2 we created instance of the DBHelper class say _dbHelper. We can execute any Sql Command as follows</p>
<p>4.1   Execute SQL Command</p>
<p>string sqlCommand = &#8220;SELECT Count(1) FROM USERDETAILS&#8221;;</p>
<p>object objCont = _dbHelper.ExecuteScalar(sqlCommand);</p>
<p>4.2   Execute Stored Procedure with parameters</p>
<p>object objCont = _dbHelper.ExecuteScalar(&#8220;PROC_DALC4NET_EXECUTE_SCALAR_SINGLE_PARAM&#8221;, new DBParameter(&#8220;@FIRSTNAME&#8221;, &#8220;ashish&#8221;), CommandType.StoredProcedure);</p>
<p>In the similar way we may use the appropriate method and overload to execute Sql Command or stored procedure.</p>
<h1>5.    DALC4NET Design Overview</h1>
<p>DALC4NET is implements following design patterns Singleton, Provider and Factory design pattern.</p>
<p>DALC4NET has only three public classes i.e. DBHelper, DBParameter and DBParameterCollection</p>
<p><a href="http://aktripathi.files.wordpress.com/2011/02/publicclasses.png"><img class="aligncenter size-full wp-image-263" title="publicClasses" src="http://aktripathi.files.wordpress.com/2011/02/publicclasses.png?w=500" alt=""   /></a></p>
<h2>5.1 Singleton Design Pattern Implementation</h2>
<p><strong>4.1.1 DBHelper class</strong></p>
<p>DBHelper is a singleton class and it has three private constructors. Appropriate constructor is called on invoking the static method GetInstance. This method first of all checks if there is any live instance of the class then that instance is returned. If instance is null (i.e. no live instance) then a new instance is created using appropriate constructor.</p>
<p>private static DBHelper _dbHelper = null;</p>
<p>public static DBHelper GetInstance()</p>
<p>{</p>
<p>if (_dbHelper == null)</p>
<p>_dbHelper = new DBHelper();</p>
<p>return _dbHelper;</p>
<p>}</p>
<p><strong>4.1.2 AssemblyProvider class</strong></p>
<p>AssemblyProvider class also is implemented as singleton as this is the class responsible for loading the appropriate assembly for the specified provider. If this class is not implemented as singleton then every time when this class is instantiated assembly is loaded, this may be costly operation for memory.</p>
<p>Singleton implementation is similar as above.</p>
<h2>5.2 Provider Pattern Implementation</h2>
<p>All the assemblies for each of the providers are maintained into Hastable data structure. There is a hashtable which contains information about assembly details of each provider.</p>
<p>_dbProviders Hashtable</p>
<table border="1" cellspacing="0" cellpadding="0" width="643">
<tbody>
<tr>
<td width="166" valign="top"><strong>Key</strong></td>
<td width="477" valign="top"><strong>Value</strong></td>
</tr>
<tr>
<td width="166" valign="top">System.Data.SqlClient</td>
<td width="477" valign="top">System.Data,   version=2.0.0.0, culture=Neutral, PublicKeyToken=b77a5c561934e089</td>
</tr>
<tr>
<td width="166" valign="top">System.Data.OracleClient</td>
<td width="477" valign="top">System.Data.OracleClient,   version=2.0.0.0, culture=Neutral, PublicKeyToken=b77a5c561934e089</td>
</tr>
<tr>
<td width="166" valign="top">MySql.Data.MySqlClient</td>
<td width="477" valign="top">MySql.Data,   version=6.0.3.0, culture=Neutral, PublicKeyToken=c5687fc88969c44d</td>
</tr>
<tr>
<td width="166" valign="top">…</td>
<td width="477" valign="top">…</td>
</tr>
</tbody>
</table>
<p>When GetInstance method of this class is called then above hashtable is used to know and load the appropriate assembly for the requested provider using concept of reflection.</p>
<p>LoadAssembly method is responsible for loading the appropriate method</p>
<p>private void LoadAssembly(string providerName)</p>
<p>{</p>
<p>string assemblyName =  _dbProviders[providerName].ToString();</p>
<p>_assemblyName = new AssemblyName(assemblyName);</p>
<p>_assembly = Assembly.Load(_assemblyName);</p>
<p>}</p>
<p>First of all this method gets the name of the assembly from the hashtable, then it instantiates the _assemblyName and then it loads the assembly.</p>
<h1>6.    DALC4NET Help</h1>
<p>Use DALC4NET tester to see how Sql Command/ Stored Procedures are executed. Here you may find the example for execution of various kind of sql command/ stored procedure execution and uses of their result.</p>
<p>In order to use the DALC4NET Test application</p>
<p>1. Download the appropriate database backup (SQL Server/ My Sql)</p>
<p>2. Restore the backup with name DALC4NET_DB</p>
<p>Now you can play around with the sample code.</p>
<p><a href="http://aktripathi.files.wordpress.com/2011/02/dalc4net_tester.png"><img class="aligncenter size-full wp-image-259" title="DALC4NET_Tester" src="http://aktripathi.files.wordpress.com/2011/02/dalc4net_tester.png?w=500&#038;h=414" alt="" width="500" height="414" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=255&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2011/02/08/dalc4net-an-all-in-one-net-data-access-layer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2011/02/dalc4net_dbhelper.png" medium="image">
			<media:title type="html">DALC4NET_DBHELPER</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2011/02/getinstance1.png" medium="image">
			<media:title type="html">getinstance1</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2011/02/dalc4net_app_config.png" medium="image">
			<media:title type="html">dalc4net_app_config</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2011/02/getinstance2.png" medium="image">
			<media:title type="html">getinstance2</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2011/02/getinstance3.png" medium="image">
			<media:title type="html">getinstance3</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2011/02/publicclasses.png" medium="image">
			<media:title type="html">publicClasses</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2011/02/dalc4net_tester.png" medium="image">
			<media:title type="html">DALC4NET_Tester</media:title>
		</media:content>
	</item>
		<item>
		<title>An Introduction to Indian Stock Market</title>
		<link>http://aktripathi.wordpress.com/2010/09/12/an-introduction-to-stock-market/</link>
		<comments>http://aktripathi.wordpress.com/2010/09/12/an-introduction-to-stock-market/#comments</comments>
		<pubDate>Sun, 12 Sep 2010 11:56:41 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
				<category><![CDATA[Finance]]></category>

		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=241</guid>
		<description><![CDATA[Very frequently we use to hear the news like, “SENSEX or NIFTY has touched the scale of 18,000…” or “SENSEX or NIFTY is going up” or something like this… As a layman, the first question arises in our heads that, What does it mean by SENSEX and NIFTY? In India there are two main stock [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=241&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Very frequently we use to hear the news like, “SENSEX or NIFTY has touched the scale of 18,000…” or “SENSEX or NIFTY is going up” or something like this…</p>
<p>As a layman, the first question arises in our heads that,</p>
<p><a href="http://aktripathi.files.wordpress.com/2010/09/what-is-sensex.png"><img class="aligncenter size-full wp-image-242" title="what-is-sensex" src="http://aktripathi.files.wordpress.com/2010/09/what-is-sensex.png?w=500&#038;h=150" alt="" width="500" height="150" /></a></p>
<p><strong>What does it mean by SENSEX and NIFTY?</strong></p>
<p>In India there are two main stock exchanges</p>
<ol>
<li>Bombay      Stock Exchange (BSE) situated in Mumbai. Its index is called SENSEX.</li>
<li>National      Stock Exchange (NSE) situated in Delhi. Its index is called NIFTY.</li>
</ol>
<p><a href="http://aktripathi.files.wordpress.com/2010/09/indian-money-mkt.jpg"><img class="aligncenter size-full wp-image-243" title="indian-money-mkt" src="http://aktripathi.files.wordpress.com/2010/09/indian-money-mkt.jpg?w=500&#038;h=243" alt="" width="500" height="243" /></a></p>
<p>So, now we are aware with SENSEX and NIFTY.</p>
<p>In simple words SENSEX or NIFTY is nothing but a unit less quantity which determines the direction of the stock market. If SENSEX/NIFTY is increasing we may say that stock market is growing, similarly if SENSEX/NIFTY is not growing.</p>
<p><em>Note: These are simple understanding but there are lot more things to determine the direction of stock market</em></p>
<p>Now the second question comes to our mind is,</p>
<p><strong>How SENSEX or NIFTY index is calculated?</strong></p>
<p>In order to answer this question we will first understand the BSE index calculation i.e. SENSEX. NIFTY index calculation is nothing but the similar process with the companies listed in National Stock Exchange (NSE), New Delhi.</p>
<p>There are list of companies which are registered into Bombay Stock Exchange (BSE). Every morning a set of 30 companies are chosen from the companies registered with BSE. These company’s share values are used to determine the BSE index i.e. SENSEX.</p>
<p><a href="http://aktripathi.files.wordpress.com/2010/09/sensex-calculation.png"><img class="aligncenter size-full wp-image-244" title="sensex-calculation" src="http://aktripathi.files.wordpress.com/2010/09/sensex-calculation.png?w=500&#038;h=225" alt="" width="500" height="225" /></a></p>
<p>30 companies selected for SENSEX calculation should satisfy following criteria</p>
<ol>
<li>Company should have a market capitalization among top 100 market capitalizations of the companies registered with BSE.</li>
<li> Stocks of the company should have been traded (trade means buy and sell) on each and every trading day for last one year i.e. 52 weeks.</li>
<li>Company should have been registered with BSE at least a year before.</li>
<li>Company should have a good track record.</li>
<li>Company should be leaders in their group.</li>
</ol>
<p><strong>SENSEX Calculation:</strong></p>
<p>For each of the 30 companies selected above Free Float Market Capitalization is calculated and summed up.</p>
<ol>
<li><strong>a. </strong>Calculate Free Float Market Capitalization of the 30 companies</li>
</ol>
<p>Free Float Market Capitalization of any company is nothing but the amount required to purchase the freely floating shares of that company. Freely Floating hares are those shares which does not belongs to company’s chair person or board of directors.</p>
<p>Now we understand how the free float market capitalization of any company is calculated i.e.</p>
<p>(#No of freely floating share) X (Price of each share)</p>
<p>We will now sum up the free float market capitalization of all the 30 companies</p>
<p>FFMC for the day = Sum of FFMC of the 30 companies selected</p>
<p>Here, FFMC stands for Free Float Market Capitalization</p>
<p><a href="http://aktripathi.files.wordpress.com/2010/09/free-float-mkt-capitalization.png"><img class="aligncenter size-full wp-image-245" title="free-float-mkt-capitalization" src="http://aktripathi.files.wordpress.com/2010/09/free-float-mkt-capitalization.png?w=500&#038;h=202" alt="" width="500" height="202" /></a></p>
<ol>
<li><strong>b. </strong>Determine SENSEX with the help of FFMC</li>
</ol>
<p>On 1978-79 base value for BSE index was assumed as 100. Suppose on that date FFMC was  Rs 1000 corore. In order to calculate SENSEX for the next day we are supposed to calculate FFMC for that day suppose that is Rs 1100 corore</p>
<p><a href="http://aktripathi.files.wordpress.com/2010/09/formula.png"><img class="aligncenter size-full wp-image-248" title="formula" src="http://aktripathi.files.wordpress.com/2010/09/formula.png?w=500&#038;h=88" alt="" width="500" height="88" /></a><br />
I hope now we are clear, how SENSEX (?) is calculated.</p>
<p>Note: Like this we started calculating SENSEX whose base value was 100 (decided in 1978-79 as base value). SENSEX value changes every movement. The latest value depends on the previous one. i.e. Latest value is put in place of Question Mark (?) and the old value is put in the place of base value 100 and FFMCs are also replaced accordingly in order to calculate the SENSEX.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/241/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=241&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2010/09/12/an-introduction-to-stock-market/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2010/09/what-is-sensex.png" medium="image">
			<media:title type="html">what-is-sensex</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2010/09/indian-money-mkt.jpg" medium="image">
			<media:title type="html">indian-money-mkt</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2010/09/sensex-calculation.png" medium="image">
			<media:title type="html">sensex-calculation</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2010/09/free-float-mkt-capitalization.png" medium="image">
			<media:title type="html">free-float-mkt-capitalization</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2010/09/formula.png" medium="image">
			<media:title type="html">formula</media:title>
		</media:content>
	</item>
		<item>
		<title>AccountPlus (A Complete Expense Management System)</title>
		<link>http://aktripathi.wordpress.com/2009/09/02/accountplus/</link>
		<comments>http://aktripathi.wordpress.com/2009/09/02/accountplus/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 06:43:16 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
				<category><![CDATA[AccountPlus]]></category>

		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=201</guid>
		<description><![CDATA[Download Setup Source Code AccountPlus Database User Document 1.    AccountPlus Overview 1.1   Introduction Technical Details AccountPlus is developed using Microsoft.NET technology. It uses C# as a code language. AccountPlus is specially designed and shared for the beginners and intermediate level programmers to understand, design and implement the entire SDLC (Software Development Life Cycle). Also it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=201&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong> </strong></p>
<p><strong> </strong></p>
<h1>Download</h1>
<ul>
<li> <a href="http://akrtripathi.googlepages.com/setup.msi" target="_self">Setup</a></li>
<li> <a style="display:inline!important;" href="http://akrtripathi.googlepages.com/AccountPlusSource.zip" target="_self">Source Code</a></li>
<li> <a style="display:inline!important;" href="http://akrtripathi.googlepages.com/Database.zip" target="_self">AccountPlus Database</a></li>
<li> <a href="http://akrtripathi.googlepages.com/AccountPlus.pdf" target="_self">User Document</a></li>
</ul>
<h1>1.    AccountPlus Overview</h1>
<p><img class="aligncenter size-full wp-image-235" title="AccountPlus" src="http://aktripathi.files.wordpress.com/2009/09/accountplus.jpg?w=500" alt="AccountPlus"   /></p>
<h2>1.1   Introduction</h2>
<p><strong><span style="text-decoration:underline;">Technical Details</span></strong></p>
<p>AccountPlus is developed using Microsoft.NET technology. It uses C# as a code language. AccountPlus is specially designed and shared for the beginners and intermediate level programmers to understand, design and implement the entire SDLC (Software Development Life Cycle). Also it may be helpful to understand</p>
<ul>
<li>Implementation of Data Access Layer which supports multiple databases</li>
<li>Global Logging/ Tracing using log4Net</li>
<li>Better use of .NET winform controls</li>
<li>Globalization and localization</li>
<li>Componentization of any application.</li>
<li>Use of XML</li>
<li>Design Pattern (Used in Data Access Layer)</li>
</ul>
<p><strong><span style="text-decoration:underline;">Functional Overview</span></strong></p>
<p>AccountPlus is an application which can be used for shared account/expense management with proper reporting and general analytics.</p>
<p>In order to justify the significance of AccountPlus, we should compare the traditional account management system (paper based account management) with the features of AccountPlus.</p>
<p><strong>Paper Based Account Management: </strong>Many times, it happens that multiple people share their daily expenditures. To maintain all these accounts, usually we use paper to keep track of all the individual expenses.<strong> </strong></p>
<p><strong>Drawbacks of Paper Based Account Management System</strong></p>
<ul>
<li>At the end of the month, it involves a tedious calculation to find out who had expensed what, and how much amount someone is either supposed to pay or got from others.</li>
<li>Another major drawback of paper based account management system is that we won&#8217;t be able to analyze on which item our expense is increasing so that we can control the same.</li>
<li>Paper based Account Management system has some security flaws like someone can very easily alter the expenses entered by others.</li>
</ul>
<p>Like this, there are many disadvantages of paper based account management. But with the help of AccountPlus, at every instant we are capable of analyzing the expenses and doing the proper kind of analysis to have a better control on expenditure with full security.</p>
<h2>1.2   User Roles and their Rights</h2>
<p>AccountPlus has two user roles,</p>
<ol>
<li>Admin : Admin is the super user for the application who is mainly      responsible for
<ol>
<li>Creating/ modifying the user details to access the system.</li>
<li>Finalizing the expenses.</li>
</ol>
</li>
<li>General User: General user is the user who accesses the system very      frequently. General users are responsible for,
<ol>
<li>Add/ Update/ Delete the expenses. (User can’t edit or delete       expense of other users)</li>
<li>Generating and analyzing the expenses.<strong> </strong></li>
</ol>
</li>
</ol>
<h1>2.    AccountPlus Design Overview</h1>
<p>AccountPlus application is mainly divided into three layers</p>
<ol>
<li><strong>1. </strong><strong>User Interface Layer</strong></li>
</ol>
<p>User interface layer of account plus contains all the forms and base class to provide style to the user interface. User interface of the application interacts with Business Layer and very rarely with Data Access Layer to fulfill the request or business action made by the user. Also this layer interacts with Messaging component of the AccountPlus very frequently for displaying the messages to the user interface.</p>
<ol>
<li><strong>2. </strong><strong>Business Layer</strong></li>
</ol>
<p>Business Layer is the core part of the application. This component contains all the business logics being used by the application. This component interacts very frequently with the Data Access Layer for writing and reading the data to or from the AccountPlus database.</p>
<ol>
<li><strong>3. </strong><strong>Data Access Layer</strong></li>
</ol>
<p>Data Access Layer is one among the most important components of the application. This is an independent component. This layer enables the application to interact with the AccountPlus data base in an efficient manner.  Data Access Layer is independent of database i.e. it may support all kind of databases e.g. MS Access, Excel, SQL Server, MySql, Oracle and etc. This component may be as it is used for any other application also.</p>
<p>Also it has three more small components for Messaging, Configuration and Formatting. Following are the details of these components</p>
<p><strong>Messaging </strong></p>
<p>This component is used to make application scalable in terms of achieving Globalization and Localization. Current version mainly uses this component as a message repository. This helps the application in managing the various application from a single place. This holds application into a resource file.</p>
<p><strong>Configuration</strong></p>
<p>This component is used to for reading the application level configuration i.e. the configuration details stored into App.config file.</p>
<p><strong>Formatting</strong></p>
<p>This component is responsible for formatting various data types being used by the application.</p>
<h1>3.    AccountPlus Block Diagram</h1>
<p>Following is the block representation of various components of AccountPlus</p>
<p align="center"><img class="aligncenter size-full wp-image-206" title="AccountPlusBlock" src="http://aktripathi.files.wordpress.com/2009/09/accountplusblock.jpg?w=500" alt="AccountPlusBlock"   /></p>
<ul>
<li>Logger      class of the AccountPlus Business Layer enables the application to do      global error/ exception logging and events tracing.</li>
<li>DataSecurity      class of the Business Layer helps the application for encryption and      decryption of sensitive data</li>
</ul>
<h1>4.    AccountPlus Pre-Requisites</h1>
<p>To run Account Plus, the target machine should have,</p>
<ul>
<li> Microsoft .NET Framework 2.0. To download the version, click the link below:</li>
</ul>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-%0d8edd-%20aab15c5e04f5&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-</a></p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-%0d8edd-%20aab15c5e04f5&amp;displaylang=en">8edd- aab15c5e04f5&amp;displaylang=en</a></p>
<ul>
<li>Acrobat Reader. To download the version, click the link below:</li>
</ul>
<p><a href="http://get.adobe.com/reader/">http://get.adobe.com/reader/</a></p>
<ul>
<li>Any of the following database</li>
</ul>
<ol>
<li> i.            MS Access</li>
<li> ii.            SQL Server</li>
<li> iii.            My Sql</li>
<li> iv.            Oracle</li>
</ol>
<h1>5.    AccountPlus Installation</h1>
<ul>
<li>Download AccountPlus2.0.</li>
<li>Unzip the directory AccountPlus2.0.</li>
<li>Find for the directory Setup</li>
<li>Double click to run AccountPlus setup. Keep on clicking next.</li>
</ul>
<p><strong><em> Note:</em></strong><em> Do remember to enter appropriate currency in Step 4, i.e. Rs. Or $ or anything so that your expenses are represented into the same currency. By default installer configures MS Access database, however it may be customized for any database.</em></p>
<p align="center"><img class="aligncenter size-full wp-image-207" title="Step4" src="http://aktripathi.files.wordpress.com/2009/09/step4.jpg?w=500" alt="Step4"   /></p>
<h1>6.    How to Change AccountPlus Database</h1>
<p>AccountPlus may work with any of the database for example MS Access, MySql, SQL Server and Oracle. By default installer configures MS Access database for the application however it may be changed to any database. Downloaded package contains the db scripts for MySQL and SQL Server Database.</p>
<p>Follow the steps below to change the database.</p>
<ol>
<li><strong> I. </strong>Prepare the MySQL or SQL Server database by running the scripts present into the database directory of the downloaded files.</li>
<li><strong> II. </strong>Go to the installation directory of AccountPlus. (Usually is C:\Program Files\AccountPlus)</li>
<li><strong> III. </strong>Find and open the <strong>‘AccountPlus.UI.exe.config’</strong> file in any suitable editor.</li>
<li><strong> IV. </strong>Locate <strong>‘connectionStrings’</strong> section. There you may get the connection strings for MySQL and SQL Server with the name mySqlCon and sqlServerCon respectively. Modify the connection string attribute with suitable values i.e. Appropriate Database name, User Id, Password, Server and Port etc.</li>
<li><strong> V. </strong>Locate <strong>‘appSettings’</strong> setion in the <strong>‘AccountPlus.UI.exe.config’</strong> file. Modify the value of <strong>‘defaultConnection’</strong> with the name of the connection String modified by you in the previous step.</li>
</ol>
<p><strong>Note:</strong> Make sure that while changing/ adding new connection string you are using correct providerName. E.g.</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="319" valign="top">
<p align="center"><strong>Database</strong></p>
</td>
<td width="319" valign="top">
<p align="center"><strong>Provider name</strong></p>
</td>
</tr>
<tr>
<td width="319" valign="top">MS Access</td>
<td width="319" valign="top">providerName=&#8221;MSACCESS&#8221;</td>
</tr>
<tr>
<td width="319" valign="top">MySQL</td>
<td width="319" valign="top">providerName=&#8221;MYSQL&#8221;</td>
</tr>
<tr>
<td width="319" valign="top">Oracle</td>
<td width="319" valign="top">providerName=&#8221;ORACLE&#8221;</td>
</tr>
<tr>
<td width="319" valign="top">SQL Server</td>
<td width="319" valign="top">providerName=&#8221;SQLSERVER&#8221;</td>
</tr>
<tr>
<td width="319" valign="top">OLEDB</td>
<td width="319" valign="top">providerName=&#8221;OLEDB&#8221;</td>
</tr>
<tr>
<td width="319" valign="top">ODBC</td>
<td width="319" valign="top">providerName=&#8221;ODBC&#8221;</td>
</tr>
</tbody>
</table>
<h1>7.    Working with AccountPlus</h1>
<h2>1. Login</h2>
<p>Provide the User name and password and click on ‘Login’ button to login into the application.</p>
<p>If you are selecting ‘Remember me’ then for next time application will automatically populate Username and Password.</p>
<p align="center"><img class="aligncenter size-full wp-image-208" title="Login" src="http://aktripathi.files.wordpress.com/2009/09/login.jpg?w=500" alt="Login"   /></p>
<h2>Logon Information</h2>
<p>Click on info button to know the last log on information.</p>
<p align="center"><img class="aligncenter size-full wp-image-209" title="LogOnInfo" src="http://aktripathi.files.wordpress.com/2009/09/logoninfo.jpg?w=500" alt="LogOnInfo"   /></p>
<h1>2. User Management</h1>
<p>User management i.e. adding new users and modifying user details right is reserved for the admin user role only.</p>
<h2>2.1 Creating new user</h2>
<p>Login to the application as an admin user role,</p>
<ol>
<li><strong>1. </strong>Press ‘ALT+U’ or Go to Fileà Addà User</li>
</ol>
<p align="center"><img class="aligncenter size-full wp-image-210" title="NewUser" src="http://aktripathi.files.wordpress.com/2009/09/newuser.jpg?w=500" alt="NewUser"   /></p>
<ol>
<li><strong>2. </strong>A new window would appear. Select the desired user role and enter the user details. Click on ‘Add’ button to create user.</li>
</ol>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-211" title="CreateNewUser" src="http://aktripathi.files.wordpress.com/2009/09/createnewuser.jpg?w=500" alt="CreateNewUser"   /></p>
<h2>2.2 Searching any user</h2>
<p>Press ‘ALT+U’ or go to File &#8211;&gt;Add&#8211;&gt;User. Into the window opened enter any of the details and click on search button.</p>
<p><strong><em>Note:</em></strong><em> All the fields are not mandatory you may enter any of the details to search.</em></p>
<h2>2.3 Editing user information</h2>
<p>‘ALT+U’ or go to File &#8211;&gt;Add&#8211;&gt;User. Select the user from the grid whose information you want to edit. Selection of any row containing user information will make the user details available to the upper area where details may be changed. Click on ‘Update’ button to save the changes.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-213" title="DeleteUserInformation" src="http://aktripathi.files.wordpress.com/2009/09/deleteuserinformation.jpg?w=500" alt="DeleteUserInformation"   /></p>
<p align="center"><em> </em></p>
<h2>2.4 De activating user</h2>
<p>‘ALT+U’ or go to File &#8211;&gt;Add&#8211;&gt;User. Select the user from the grid want to deactivate. Selection of any row containing user information will make the user details available to the upper area. Uncheck the ‘Active’ check box and click on ‘Update’ button to save the changes.</p>
<h2>2.5 Activating user</h2>
<p>‘ALT+U’ or go to File&#8211;&gt;Add&#8211;&gt;User. Select the user from the grid want to activate. Check the ‘Active’ check box and click on ‘Update’ button to save the changes.</p>
<h1>3. Item Management</h1>
<p>Item management i.e. adding new item and modifying item details right is given to all the user roles.</p>
<h2>3.1 Creating new Item</h2>
<ol>
<li><strong>1. </strong>Press ‘ALT+I’ or Go to File&#8211;&gt; Add&#8211;&gt; Item</li>
</ol>
<p align="center"><img class="aligncenter size-full wp-image-214" title="CreateNewItem" src="http://aktripathi.files.wordpress.com/2009/09/createnewitem.jpg?w=500" alt="CreateNewItem"   /></p>
<ol>
<li><strong>2. </strong>A new window would appear. Enter the item details. Click on ‘Add’ button to create new item.</li>
</ol>
<p align="center"><img class="aligncenter size-full wp-image-215" title="NewItem" src="http://aktripathi.files.wordpress.com/2009/09/newitem.jpg?w=500" alt="NewItem"   /></p>
<h2>3.2 Searching an item</h2>
<p>Press ‘ALT+I’ or go to File &#8211;&gt;Add&#8211;&gt;Item. Into the window opened enter any of the details and click on search button.</p>
<p><strong><em>Note:</em></strong><em> All the fields are not mandatory you may enter any of the details to search.</em></p>
<h2>3.3 Editing item details</h2>
<p>‘ALT+U’ or go to File &#8211;&gt;Add&#8211;&gt;User. Select the user from the grid whose information you want to edit. Selection of any row containing user information will make the user details available to the upper area where details may be changed. Click on ‘Update’ button to save the changes.</p>
<p><img class="aligncenter size-full wp-image-216" title="EditItemInformation" src="http://aktripathi.files.wordpress.com/2009/09/edititeminformation.jpg?w=500" alt="EditItemInformation"   /></p>
<p align="center"><em> </em></p>
<h1>4. Expense Management</h1>
<p>Only general users can add, update or delete the expenses. Admin can’t enter any expense. Users can edit or delete only their own expenses not other user’s expenses but can view all the users expense.</p>
<h2>4.1 Adding new expense</h2>
<p>Select the item against which you want to enter the expense. Selection of item will automatically populate the expense description where as user can change the same.  Enter other information like amount and date. Click on the ‘Add’ button to save the changes.</p>
<p><img class="aligncenter size-full wp-image-218" title="NewExpense" src="http://aktripathi.files.wordpress.com/2009/09/newexpense.jpg?w=500" alt="NewExpense"   /></p>
<p align="center">
<p>Once item is added successfully, newly added expense details would appear into the expense details grid shown right side of the screen.</p>
<p><strong><em>Note:</em></strong><em> Expense date can’t be greater than today’s date.</em></p>
<h2>4.2 Editing expense details</h2>
<p>Select the particular expense from the grid needs to be edited. Selection of any row containing expense details will make the e details available to the left side of the screen where details may be edited. Click on ‘Update’ button to save the changes.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-219" title="EditExpense" src="http://aktripathi.files.wordpress.com/2009/09/editexpense.jpg?w=500" alt="EditExpense"   /></p>
<h2>4.3 Deleting expense</h2>
<p>Select the particular expense from the grid needs to be deleted. Selection of any row containing expense details will make the details available to the left side of the screen where details may be edited or deleted. Click on ‘Delete’ button to delete the expense.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-220" title="DeleteExpense" src="http://aktripathi.files.wordpress.com/2009/09/deleteexpense.jpg?w=500" alt="DeleteExpense"   /></p>
<h1>5. Reports</h1>
<p>Reporting is the most exciting part of AccountPlus. AccountPlus has mainly three reports:</p>
<p>·         Expense Report</p>
<p>·         Monthly Report</p>
<p>·         Analytic Report</p>
<p><img class="aligncenter size-full wp-image-221" title="Reports" src="http://aktripathi.files.wordpress.com/2009/09/reports.jpg?w=500" alt="Reports"   /></p>
<p align="center">
<h2>5.1 Expense Report</h2>
<p>Press F4 or click on the button present on tool bar to open expense report.</p>
<p>Once item is added successfully, newly added expense details would appear into the expense details grid shown right side of the screen.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-222" title="ExpenseReport" src="http://aktripathi.files.wordpress.com/2009/09/expensereport.jpg?w=500" alt="ExpenseReport"   /></p>
<p>Expense Report gives us the information about the</p>
<ul>
<li>Total      expense in the tenor.</li>
<li>Number      of persons sharing the expense.</li>
<li>How much      is the expense for each one. (Individual Contribution)</li>
</ul>
<p>Based on these three pieces of information, AccountPlus calculates “How much each user has paid, and how much each participant is either supposed to pay to others participants or supposed to get from other participants”.</p>
<h2>5.2 Monthly Report</h2>
<p>Press F5 or click on the button present on tool bar to open monthly report.</p>
<p>Select the Month, Year for which report needs to be generated and click on ‘Generate’ button. Apart from the expense details this report will give the information about some other important things like Finalization Date, Total Expense and Days etc.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-223" title="MonthlyReports" src="http://aktripathi.files.wordpress.com/2009/09/monthlyreports.jpg?w=500" alt="MonthlyReports"   /></p>
<p><em> </em></p>
<h2>5.3 Analytic Report</h2>
<p>Press F6 or click on the button present on tool bar to open analytic report.</p>
<p>Select the Month, Year for which report needs to be generated and click on ‘Generate’ button.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-224" title="AnalyticReport" src="http://aktripathi.files.wordpress.com/2009/09/analyticreport.jpg?w=500" alt="AnalyticReport"   /></p>
<p>Same as Monthly report, Analytic Report also has two views Individual and Monthly.</p>
<p>Whenever we are generating the Analytic Report for a particular Month and Year, the Analytic Engine of AccountPlus checks whether expense data exists for the previous and next month data for the selected month and year. If data exists, Analytic Report will give the trend on a particular item or user about whether the expense has increased or decreased from the previous or next month.</p>
<p><strong><em>Example</em></strong></p>
<p><em>Suppose you have selected Dec, 2007 to generate the analytic report. Now, the Analytic Engine of AccountPlus will check whether the data exists for Nov, 2007 and Jan, 2008. If the data exists, then Analytic Report will compare the expense on each item or expense by users based on the view selected (Individual or Item wise). If data for previous month does not exist then Analytic Report will compare only the selected month and the next month.</em></p>
<h1>6. Finalizing expense</h1>
<p>Only admin user role has got the rights to finalize the expenses.</p>
<p>In order to understand the Finalization process, we will take the example of paper based account management system. In paper based account management system, at the end of the month, all the expenses occurred needs to be summed up, to calculate the total expense for the month. Then divide the total expense by number of persons supposed to share the expense. Like this, individual contribution is calculated. Now all the members will either receive an amount by another member or pay the amount to other members based on individual contribution and amount paid by each participant.</p>
<p>Once this process is completed, expense sheet needs to be tear up or to be cross marked.</p>
<p>Finalizing the expense in AccountPlus is the same process where admin makes sure that all the users have cleared their dues i.e. each participant have received or paid their dues. After finalizing the expense, current expense details would not be displayed on the home page but the data will remain in the database for analysis and reporting purposes.</p>
<h2>How to finalize the expense?</h2>
<p>Login as admin.</p>
<ul>
<li>Press F4 to generate the      expense report.</li>
<li>Click on Finalize button.</li>
</ul>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-225" title="ExpenseFinalization" src="http://aktripathi.files.wordpress.com/2009/09/expensefinalization.jpg?w=500" alt="ExpenseFinalization"   /></p>
<p align="center">
<p align="center">
<p>Expense report provides information about total expense and the dues for the particular tenor. Pay/Get is very important information in order to clear the dues, this information gives the information among the users about who is supposed to pay and who is supposed to get.</p>
<h1>7. Edit user profile</h1>
<p>Press ‘Alt+P’ or go to Edit&#8211;&gt; Profile to bring the screen where user profile can be edited.</p>
<p><img class="aligncenter size-full wp-image-226" title="EditProfile" src="http://aktripathi.files.wordpress.com/2009/09/editprofile.jpg?w=500" alt="EditProfile"   /></p>
<p align="center">
<h2>How to change password?</h2>
<p>Check the check box ‘Change Password’. Enter old password, password and confirm passwords field s and click on ‘Submit’ button to save the details.</p>
<h1>8. Database information</h1>
<p><img class="aligncenter size-full wp-image-227" title="DBInfo" src="http://aktripathi.files.wordpress.com/2009/09/dbinfo.jpg?w=500" alt="DBInfo"   /></p>
<p align="center">
<p>Press ‘Alt+Shift+S’ or go to Tools&#8211;&gt; Database to open the database information window.</p>
<p><img class="aligncenter size-full wp-image-228" title="DBDetails" src="http://aktripathi.files.wordpress.com/2009/09/dbdetails.jpg?w=500" alt="DBDetails"   /></p>
<p align="center">
<p><strong><em>Note: </em></strong></p>
<ul>
<li><em>Only admin user role has got rights to back up the database.</em></li>
<li><em>Current version supports backup operation for MS Access database      only. </em></li>
</ul>
<p>.</p>
<h1>9. System diagnostics</h1>
<p>Press ‘Alt+Shift+D’ or go to Tools&#8211;&gt; Diagnostics to open the diagnostics information window where application logs and trace can be viewed.</p>
<p><img class="aligncenter size-full wp-image-229" title="Diagnostics" src="http://aktripathi.files.wordpress.com/2009/09/diagnostics.jpg?w=500" alt="Diagnostics"   /></p>
<p align="center">
<ul>
<li>Select the Log or Trace      radio buttons to view Log or Trace files. Double click to open the file.</li>
<li>Export button may be      used to export the Log/ Trace files.</li>
</ul>
<h1>10. Version information</h1>
<p>Press F2 or go to Help&#8211;&gt; About to open the about dialog box.</p>
<p><img class="aligncenter size-full wp-image-230" title="VersionInfo" src="http://aktripathi.files.wordpress.com/2009/09/versioninfo.jpg?w=500" alt="VersionInfo"   /></p>
<p align="center">
<h1>11. Report a bug or contact author</h1>
<p>Press F3 or go to Help&#8211;&gt; Contact Admin to open window which helps the user to post their feed back or comments to the author.</p>
<p><img class="aligncenter size-full wp-image-231" title="ContactAdmin" src="http://aktripathi.files.wordpress.com/2009/09/contactadmin.jpg?w=500" alt="ContactAdmin"   /></p>
<p align="center">
<ul>
<li>Select appropriate      option e.g. Report Bug, Feature request etc</li>
<li>Enter the message into      the message text area.</li>
<li>Click ‘Send using      Outlook’ to post the message to admin using Microsoft Outlook.</li>
</ul>
<p align="center">
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/201/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=201&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2009/09/02/accountplus/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/accountplus.jpg" medium="image">
			<media:title type="html">AccountPlus</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/accountplusblock.jpg" medium="image">
			<media:title type="html">AccountPlusBlock</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/step4.jpg" medium="image">
			<media:title type="html">Step4</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/login.jpg" medium="image">
			<media:title type="html">Login</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/logoninfo.jpg" medium="image">
			<media:title type="html">LogOnInfo</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/newuser.jpg" medium="image">
			<media:title type="html">NewUser</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/createnewuser.jpg" medium="image">
			<media:title type="html">CreateNewUser</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/deleteuserinformation.jpg" medium="image">
			<media:title type="html">DeleteUserInformation</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/createnewitem.jpg" medium="image">
			<media:title type="html">CreateNewItem</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/newitem.jpg" medium="image">
			<media:title type="html">NewItem</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/edititeminformation.jpg" medium="image">
			<media:title type="html">EditItemInformation</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/newexpense.jpg" medium="image">
			<media:title type="html">NewExpense</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/editexpense.jpg" medium="image">
			<media:title type="html">EditExpense</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/deleteexpense.jpg" medium="image">
			<media:title type="html">DeleteExpense</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/reports.jpg" medium="image">
			<media:title type="html">Reports</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/expensereport.jpg" medium="image">
			<media:title type="html">ExpenseReport</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/monthlyreports.jpg" medium="image">
			<media:title type="html">MonthlyReports</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/analyticreport.jpg" medium="image">
			<media:title type="html">AnalyticReport</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/expensefinalization.jpg" medium="image">
			<media:title type="html">ExpenseFinalization</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/editprofile.jpg" medium="image">
			<media:title type="html">EditProfile</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/dbinfo.jpg" medium="image">
			<media:title type="html">DBInfo</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/dbdetails.jpg" medium="image">
			<media:title type="html">DBDetails</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/diagnostics.jpg" medium="image">
			<media:title type="html">Diagnostics</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/versioninfo.jpg" medium="image">
			<media:title type="html">VersionInfo</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/09/contactadmin.jpg" medium="image">
			<media:title type="html">ContactAdmin</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET Web Services &amp; WCF Frequently Asked Questions</title>
		<link>http://aktripathi.wordpress.com/2009/06/15/asp-net-web-services-wcf-frequently-asked-questions/</link>
		<comments>http://aktripathi.wordpress.com/2009/06/15/asp-net-web-services-wcf-frequently-asked-questions/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 13:35:20 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
				<category><![CDATA[Web Services/WCF FAQ]]></category>

		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=195</guid>
		<description><![CDATA[In this section I will try to cover the frequently asked questions about ASP.NET Web Services and Windows Communication Foundation. Again I would apologies for the questions to not be in proper sequence. Surely I would arrange the same into sequence when this section will have some significant amount of questions. So, we start now&#8230; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=195&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this section I will try to cover the frequently asked questions about ASP.NET Web Services and Windows Communication Foundation. Again I would apologies for the questions to not be in proper sequence. Surely I would arrange the same into sequence when this section will have some significant amount of questions.<br />
So, we start now&#8230;<br />
<strong> Question 1 :</strong> What is the data format used by ASP.NET Web Services for communication?<br />
<strong> Answer :</strong> XML</p>
<p><strong>Question 2 :</strong> What do you mean by SOAP?<br />
<strong> Answer :</strong> SOAP stands for Simple Object Access Protocol.<br />
We know that ASP.NET Web services is platform independent. i.e. Web Services may be used for cross platform communication for example communication between an ASP.NET Web site running on Windows environment and a JSP Application running on Linux environment.<br />
This simply means that there should be a standard or some common format which is used for communication. This standard is known as SOAP.</p>
<p><strong>Question 3:</strong> What is the SOAP message format?<br />
<strong> Answer :</strong> A SOAP message mainly contains Message Header and SOAP Envelope.</p>
<p>Header Contains the information about the message being transmitted e.g. Message Length, Host Server and Requested Service etc.</p>
<p><code><span style="font-family:Georgia;"><span style="font-family:0;"><img class="aligncenter size-full wp-image-197" title="SOAP Message Format" src="http://aktripathi.files.wordpress.com/2009/06/soapmessage.jpg?w=500" alt="SOAP Message Format"   /><br />
</span></span></code></p>
<p><strong> Question 4 : </strong>What do you mean WSDL?<br />
<strong> Answer :</strong> WSDL Stands for Web Services Description Language.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/195/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/195/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/195/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=195&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2009/06/15/asp-net-web-services-wcf-frequently-asked-questions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/soapmessage.jpg" medium="image">
			<media:title type="html">SOAP Message Format</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET Web Services Vs WCF</title>
		<link>http://aktripathi.wordpress.com/2009/06/15/asp-net-web-services-vs-wcf/</link>
		<comments>http://aktripathi.wordpress.com/2009/06/15/asp-net-web-services-vs-wcf/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 11:20:36 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
				<category><![CDATA[.NET Framework 3.0/3.5]]></category>

		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=187</guid>
		<description><![CDATA[.NET Framework 3.0 introduces new and exciting feature i.e. Windows Communication Foundation (WCF), where as earlier versions of the framework were containg ASP.NET Web Services only. In this Post I would be mainly comparing the WCF with ASP.NET Web Service Windows Communication Foundation (WCF) ASP.NET Web Service WCF supports multiple bindings HTTP, WSHTTP, TCP, MSMQ. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=187&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>.NET Framework 3.0 introduces new and exciting feature i.e. Windows Communication Foundation (WCF), where as earlier versions of the framework were containg ASP.NET Web Services only.</p>
<p>In this Post I would be mainly comparing the WCF with ASP.NET Web Service</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="color:purple;width:300px;" align="center"><strong>Windows Communication Foundation (WCF)</strong></td>
<td style="color:purple;width:300px;" align="center"><strong>ASP.NET Web Service</strong></td>
</tr>
<tr>
<td>WCF supports multiple bindings HTTP, WSHTTP, TCP, MSMQ.</td>
<td>ASP.NET Web Services supports only HTTP binding.</td>
</tr>
<tr>
<td>WCF supports Atomic Transactions*.</td>
<td>ASP.NET Web Services does not support Atomic Transactions*.</td>
</tr>
<tr>
<td>By default WCF uses SOAP for sending and receiving the messages. But WCF can support any kind of message format not only SOAP.</td>
<td>ASP.NET Web Services can send and receive messages via the SOAP only.</td>
</tr>
<tr>
<td>
The System.Runtime.Serialization.DataContract and System.Runtime.Serialization.DataMember attributes of the WCF&#8217;s System.Runtime.Serialization assembly can be added for .NET types to indicate that instances of the type are to be serialized into XML, and which particular fields or properties of the type are to be serialized.
</td>
<td valign='top'>
ASP.NET Web Services uses XmlSerializer to translate the XML data (Message Send or received) into .NET objects.
</td>
</tr>
</tbody>
</table>
<p><strong>* Atomic Transactions</strong><br />
Following example describes that what does it mean by Atomic Transactions<br />
Consider that bank A and bank B want to interact with someone&#8217;s account at the same time.   Both banks want to withdraw from the account and the account has $10.00 in it.  If bank A takes $7.00 and at the same time bank B tries to get $5.00, what will happen?  When they start the transaction each bank believes there is $10.00 available in the account.  When one of them finishes the other one will find there is not enough money to finish the transaction.<br />
This scenario is common for computer systems and you can see it many times in memory management, IO operations and database interactions.<br />
Atomic transactions are a way to avoid this problem.  They simply lock on a transaction and do not allow any other transaction to interact with the resource.  If anything fails during the Atomic transaction, everything will return to the state before the transaction started.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=187&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2009/06/15/asp-net-web-services-vs-wcf/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>
	</item>
		<item>
		<title>An Introduction To Windows Communication Foundation [WCF]</title>
		<link>http://aktripathi.wordpress.com/2009/06/05/an-introduction-to-windows-communication-foundation-wcf/</link>
		<comments>http://aktripathi.wordpress.com/2009/06/05/an-introduction-to-windows-communication-foundation-wcf/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 06:15:08 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
				<category><![CDATA[.NET Framework 3.0/3.5]]></category>

		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=164</guid>
		<description><![CDATA[1.0 What Is WCF? WCF stands for Windows Communication Foundations. WCF combines the functionality from ASP.NET Web Services, .NET Remoting, Message Queuing and Enterprise Services. WCF provides the following features, Hosting For Component &#38; Services WCF Service can be hosted in ASP.NET Runtime, a Windows Service, a COM+ Component or just a Windows form application [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=164&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>1.0 What Is WCF?</strong></p>
<p>WCF stands for Windows Communication Foundations.</p>
<p>WCF combines the functionality from ASP.NET Web Services, .NET Remoting, Message Queuing and Enterprise Services.<br />
<img class="aligncenter size-full wp-image-165" title="WCFBlock" src="http://aktripathi.files.wordpress.com/2009/06/wcfblock.jpg?w=500" alt="WCFBlock"   /><br />
WCF provides the following features,</p>
<ol>
<li><strong>Hosting For Component &amp; Services</strong><br />
WCF Service can be hosted in ASP.NET Runtime, a Windows Service, a COM+ Component or just a Windows form application for peer-to-peer computing.
</li>
<li><strong>Declarative Behavior</strong><br />
Similar to ASP.NET Web Services, attributes can be used for WCF Services e.g. ServiceContract(), OperationContract, DataContract and DataMember
</li>
<li><strong>Communication Channels</strong><br />
Similar to .NET Remoting WCF Services are flexible in changing the channels. WCF offers multiple channels to communicate using HTTP, TCP or an IPC channel.</li>
<li><strong>Security</strong></li>
<li><strong>Extensibility</strong></li>
</ol>
<p><strong>2.0 Understanding WCF</strong><br />
These days we are creating the software/application which should be capable of communication with other applications as well. Communication with other application simply means either sharing/exchanging the data or the sharing the logic.</p>
<p>Now, this communication may be of two kinds</p>
<ol>
<li>Over Intranet (Same Network/Platform i.e. .NET Application to .NET Application)</li>
<li>Over Internet (Cross Platform may be ASP.NET to J2EE Application)</li>
</ol>
<p>Suppose we are writing a .NET Software with n-tier architecture in which Win Form Client needs to communicate with Server in the same network. In such case we may go for .NET Remoting for communication between Client and Server.</p>
<p>Suppose, once our software mentioned above is ready, we need to expose some business logic to another J2EE application. This J2EE application is supposed to use our .NET Application’s logic over WWW. In such case we will have to write new ASP.NET Web Service to expose the logic.</p>
<p>Picture shown below shows the limitation of .NET Remoting<br />
<img class="aligncenter size-full wp-image-166" title="RemotingLimitation" src="http://aktripathi.files.wordpress.com/2009/06/remotinglimitation.jpg?w=500" alt="RemotingLimitation"   /><br />
WCF helps us to overcome this kind of Scenario, as WCF Service can be used as a .NET Remoting Component and ASP.NET Web Services as well.<br />
<img class="aligncenter size-full wp-image-167" title="WCFAdvantage" src="http://aktripathi.files.wordpress.com/2009/06/wcfadvantage.jpg?w=500" alt="WCFAdvantage"   /><br />
<strong> 3.0 WCF in Real Time Scenario</strong><br />
Suppose a 7 Star hotel has contacted you for software which will help the organization to managing the hotel’s room booking say “Room Booking System”. Apart from its own features software should be capable of</p>
<ol>
<li>Communication with already running software within the hotel’s network for help desk purpose. (.NET Windows Form Application)
</li>
<li>Communication with already running software on Tourism Office for booking of rooms. (A J2EE Application supposed to access the application over WWW)
</li>
</ol>
<p>Off course we are suppose to implement the application using Microsoft.NET Technology.<br />
Now, as we know that in order to communicate with another .NET application within same network .NET Remoting is the best option. But as per our requirement our application should be capable of interaction with another J2EE application over WWW. So we can’t go for .NET Remoting. ASP.NET web services may work fine but the correct option for now would be WCF Service.<br />
<img class="aligncenter size-full wp-image-168" title="WCFRealTime" src="http://aktripathi.files.wordpress.com/2009/06/wcfrealtime.jpg?w=500" alt="WCFRealTime"   /></p>
<p><strong>4.0 WCF Communication Model</strong></p>
<p>WCF follows Client-Server Architecture. Communication between Client and Server are established with the help of Endpoints exposed by the WCF Service. Endpoints are nothing but the locations defined by service through which message can be sent and received. Service may have multiple end points.<br />
<img class="aligncenter size-full wp-image-169" title="WCFCommunicationModel" src="http://aktripathi.files.wordpress.com/2009/06/wcfcommunicationmodel.jpg?w=500" alt="WCFCommunicationModel"   /></p>
<p><strong>5.0 Know some terms/ Kew words</strong></p>
<ol>
<li><strong>ServiceContract</strong><br />
Service contracts describe the operations supported by a service, the message exchange pattern they use, and the format of each message. The service contract may be an interface or class for generating a service description. A service must implement at least one service contract. Interface or class supposed to be exposed as a service should be decorated with ServiceContractAttribute
</li>
<li><strong>OperationContract</strong><br />
Methods in the interface or class which are supposed to be exposed as a service should be decorated with OperationContractAttribute.
</li>
<li><strong>DataContract</strong><br />
Data contracts describe how a CLR type maps to schema. A data contract may be understood as a class or interface which is mapped to database and are supposed to exploit by WCF Service. This class or interface needs to be decorated with DataContract attribute.</li>
<li><strong>DataMember</strong><br />
Properties or database table columns in the DataContract class which are supposed to be used by WCF Service should be decorated with DataMember attribute.</li>
</ol>
<p><strong>6.0 How to Create a Sample WCF Application with VS2008?</strong></p>
<p><strong>6.1 Create/ Manage database</strong></p>
<p>Before proceeding toward the WCF Service Creation, we need to create a database say, “WCF” with one table having following schema</p>
<p><img class="aligncenter size-full wp-image-170" title="DatabaseSchema" src="http://aktripathi.files.wordpress.com/2009/06/databaseschema.jpg?w=500" alt="DatabaseSchema"   /><br />
Where, ReservationId is an auto generated Primary Key column.</p>
<p>Note: You may also restore the backup of the database given along with the sample application.</p>
<p><strong>6.2 Create WCF Service</strong></p>
<p>1.     Open Visual Studio</p>
<p>2.     Go to File à New à Project</p>
<p>3.     From the left panel, select Web node of your language VB.NET/C#.NET</p>
<p>4.     Now among the templates you will see WCF Service Application</p>
<p>5.     Select the same (WCF Service Application)</p>
<p>6.     Give Suitable Name (Say Practice.WCF) and Click on OK button.</p>
<p><img class="aligncenter size-full wp-image-171" title="WCFProjectCreation" src="http://aktripathi.files.wordpress.com/2009/06/wcfprojectcreation.jpg?w=500" alt="WCFProjectCreation"   /></p>
<p>7.     Modify the connection strings section of web.config file of the WCF Service</p>
<p><code> </code></p>
<p>8.     By default Visual Studio would create a Service and an Interface Service1.svc and IService1.cs</p>
<p>9.     Add new class RoomReservationRequest.cs (DataContract)</p>
<p>10.  Import the name space System.Runtime.Serialization; if not imported</p>
<p>11.  Create property with same data type for each columns present into the RoomReservationRequest table. Decorate RoomReservationRequest.cs class with [DataContract] attribute and each property with [DataMember].<br />
<code><br />
namespace Practice.WCF</code></p>
<p><code> </code></p>
<p><code>{<br />
[DataContract]<br />
public class RoomReservationRequest<br />
{<br />
[DataMember]<br />
public int ReservationId<br />
{<br />
get; set;<br />
}</code></p>
<p><code>[DataMember]<br />
public int  NoOfRooms<br />
{<br />
get; set;<br />
}</code></p>
<p><code>[DataMember]<br />
public string TypeOfRoom<br />
{<br />
get; set;<br />
}</p>
<p>[DataMember]<br />
public DateTime FromDate<br />
{<br />
get; set;<br />
}</p>
<p>[DataMember]<br />
public DateTime ToDate<br />
{<br />
get; set;<br />
}</p>
<p>[DataMember]<br />
public string ContactPersonName<br />
{<br />
get; set;<br />
}</p>
<p>[DataMember]<br />
public string ContactPersonMail<br />
{<br />
get; set;<br />
}</p>
<p>[DataMember]<br />
public string ContactPersonMob<br />
{<br />
get; set;<br />
}</p>
<p>[DataMember]<br />
public string Comments<br />
{<br />
get; set;<br />
}</p>
<p>[DataMember]<br />
public string Status<br />
{<br />
get; set;<br />
}</p>
<p></code></p>
<p> </p>
<p> </p>
<p> </p>
<p><code> }<br />
}<br />
</code><br />
12.  Add a new class RoomReservationData.cs and write two methods say ReserveRoom and GeReservations<br />
<code><br />
namespace Practice.WCF<br />
{<br />
internal class RoomReservationData<br />
{<br />
private string connectionString = ConfigurationManager.ConnectionStrings["con"].ConnectionString;<br />
internal bool ReserveRoom(RoomReservationRequest roomReservationReq)<br />
{<br />
SqlConnection connection = GetConnection();<br />
string sqlCommand = "INSERT INTO RoomReservationRequest(NoOfRooms, TypeOfRoom, FromDate, ToDate, ContactPersonName, " +<br />
"ContactPersonMail, ContactPersonMob, Comments, Status) VALUES (" +<br />
"@NoOfRooms, @TypeOfRoom, @FromDate, @ToDate, @ContactPersonName, " +<br />
"@ContactPersonMail, @ContactPersonMob, @Comments, @Status)";<br />
SqlCommand command = connection.CreateCommand();<br />
command.CommandText = sqlCommand;<br />
command.Parameters.Add("@NoOfRooms", System.Data.SqlDbType.Int);<br />
command.Parameters.Add("@TypeOfRoom", System.Data.SqlDbType.NVarChar, 20);<br />
command.Parameters.Add("@FromDate", System.Data.SqlDbType.DateTime );<br />
command.Parameters.Add("@ToDate", System.Data.SqlDbType.DateTime);<br />
command.Parameters.Add("@ContactPersonName", System.Data.SqlDbType.NVarChar, 50);<br />
command.Parameters.Add("@ContactPersonMail", System.Data.SqlDbType.NVarChar, 50);<br />
command.Parameters.Add("@ContactPersonMob", System.Data.SqlDbType.NVarChar, 20);<br />
command.Parameters.Add("@Comments", System.Data.SqlDbType.NVarChar, 200);<br />
command.Parameters.Add("@Status", System.Data.SqlDbType.NVarChar, 200);<br />
command.Parameters["@NoOfRooms"].Value = roomReservationReq.NoOfRooms;<br />
command.Parameters["@TypeOfRoom"].Value = roomReservationReq.TypeOfRoom;<br />
command.Parameters["@FromDate"].Value = roomReservationReq.FromDate;<br />
command.Parameters["@ToDate"].Value = roomReservationReq.ToDate;<br />
command.Parameters["@ContactPersonName"].Value = roomReservationReq.ContactPersonName;<br />
command.Parameters["@ContactPersonMail"].Value = roomReservationReq.ContactPersonMail;<br />
command.Parameters["@ContactPersonMob"].Value = roomReservationReq.ContactPersonMob;<br />
command.Parameters["@Comments"].Value = roomReservationReq.Comments;<br />
command.Parameters["@Status"].Value = roomReservationReq.Status;</code></p>
<p><code> </code></p>
<p><code>int rowsEffected =0;<br />
try<br />
{<br />
rowsEffected = command.ExecuteNonQuery();<br />
}<br />
finally<br />
{<br />
if (connection != null)<br />
{<br />
connection.Close();<br />
connection.Dispose();<br />
}<br />
}<br />
return rowsEffected &gt; 0;<br />
}</code></p>
<p><code>internal RoomReservationRequest[] GetReservations(DateTime fromDate, DateTime toDate)<br />
{<br />
List reservedRooms = new List();<br />
SqlConnection connection = GetConnection();<br />
SqlCommand command = connection.CreateCommand();<br />
command.CommandText = "SELECT ReservationId, NoOfRooms, TypeOfRoom, FromDate" +<br />
",ToDate, ContactPersonName, ContactPersonMail, ContactPersonMob, Comments, Status "+<br />
"FROM RoomReservationRequest "+<br />
"WHERE FromDate &gt; @FromDate AND ToDate&lt;@ToDate";</code></p>
<p><code>command.Parameters.Add("@FromDate", System.Data.SqlDbType.DateTime);<br />
command.Parameters.Add("@ToDate", System.Data.SqlDbType.DateTime);<br />
command.Parameters["@FromDate"].Value = fromDate;<br />
command.Parameters["@ToDate"].Value = toDate;<br />
SqlDataReader reader = null;<br />
try<br />
{<br />
reader = command.ExecuteReader(CommandBehavior.CloseConnection);<br />
while (reader.Read())<br />
{<br />
RoomReservationRequest roomReservationRequest = new RoomReservationRequest();<br />
roomReservationRequest.ReservationId = Convert.ToInt16(reader[0]);<br />
roomReservationRequest.NoOfRooms = Convert.ToInt16(reader[1]);<br />
roomReservationRequest.TypeOfRoom = reader[2].ToString();<br />
roomReservationRequest.FromDate = Convert.ToDateTime(reader[3]);<br />
roomReservationRequest.ToDate = Convert.ToDateTime(reader[4]);<br />
roomReservationRequest.ContactPersonName = reader[5].ToString();<br />
roomReservationRequest.ContactPersonMail = reader[6].ToString();<br />
roomReservationRequest.ContactPersonMob = reader[7].ToString();<br />
roomReservationRequest.Comments = reader[8].ToString();<br />
roomReservationRequest.Status = reader[9].ToString();<br />
reservedRooms.Add(roomReservationRequest);<br />
}<br />
}<br />
finally<br />
{<br />
if (reader != null)<br />
{<br />
reader.Close();<br />
reader.Dispose();<br />
}</p>
<p>if (connection != null)<br />
{<br />
connection.Close();<br />
connection.Dispose();<br />
}<br />
}<br />
return reservedRooms.ToArray();<br />
}<br />
private SqlConnection GetConnection()<br />
{</p>
<p></code></p>
<p> </p>
<p> </p>
<p> </p>
<p><code> SqlConnection connection = new SqlConnection(connectionString);<br />
try<br />
{<br />
connection.Open();<br />
}<br />
finally<br />
{<br />
}<br />
return connection;<br />
}<br />
}<br />
}<br />
</code></p>
<p>13.  Declare two methods to the interface IService1 say ReserveRoom and GetReservations<br />
<code><br />
namespace Practice.WCF<br />
{<br />
[ServiceContract]<br />
public interface IService1<br />
{<br />
[OperationContract]<br />
bool ReserveRoom(RoomReservationRequest reservationRequest);</code></p>
<p><code> </code></p>
<p><code> [OperationContract]<br />
RoomReservationRequest[] GetReservations(DateTime fromDate, DateTime toDate);<br />
}<br />
}<br />
</code></p>
<p>14.  Implement the Interface ISErvice1 in Service1.svc.cs class. Create instance of class RoomReservationData which we implemented in Step-12 and use the same into the implemented methods.<br />
<code><br />
namespace Practice.WCF<br />
{<br />
public class Service1 : IService1<br />
{<br />
#region IService1 Members<br />
private RoomReservationData roomReservationData = new RoomReservationData();</code></p>
<p><code> </code></p>
<p><code>public bool ReserveRoom(RoomReservationRequest reservationRequest)<br />
{<br />
return roomReservationData.ReserveRoom(reservationRequest);<br />
}</code></p>
<p><code> </code></p>
<p> </p>
<p> </p>
<p><code> public RoomReservationRequest[] GetReservations(DateTime fromDate, DateTime toDate)<br />
{<br />
return roomReservationData.GetReservations(fromDate, toDate);<br />
}<br />
#endregion<br />
}<br />
}<br />
</code><br />
15.  Now we are done with the implementation of WCF Service. Set the Service1 as Startup page. Run your WCF Application. Should get the following screen.<br />
<img class="aligncenter size-full wp-image-172" title="WCFRunning" src="http://aktripathi.files.wordpress.com/2009/06/wcfrunning.jpg?w=500" alt="WCFRunning"   /></p>
<p>16.  Publish the WCF Service.</p>
<ol>
<li>To publish the service Right Click on Practice.WCF.csproj and select the Publish option<br />
<img class="aligncenter size-full wp-image-173" title="PublishContextMenu" src="http://aktripathi.files.wordpress.com/2009/06/publishcontextmenu.jpg?w=500" alt="PublishContextMenu"   /></li>
<li> Enter the location where you need to publish/ host the service.<br />
<img class="aligncenter size-full wp-image-174" title="PublishDialog" src="http://aktripathi.files.wordpress.com/2009/06/publishdialog.jpg?w=500" alt="PublishDialog"   /></li>
<li> Click on Publish button to publish the site.</li>
</ol>
<p>17.  You may check the published WCF Service by typing the URL into browser<br />
e.g. http://localhost/wcf/Service1.svc , a page same as Step-14 will appear.</p>
<p>7.0 How to Consume the WCF Service?</p>
<p>7.1 Generate the Class and Config File using svcutil.exe</p>
<p>You might have noticed the message displayed while browsing the service<br />
<img class="aligncenter size-full wp-image-175" title="ServiceMessage" src="http://aktripathi.files.wordpress.com/2009/06/servicemessage.jpg?w=500" alt="ServiceMessage"   /></p>
<p>Now, we need to generate the classes which our Client Application would use to consume the service.</p>
<p>We may generate the classes/configuration with the help of tool svcutil.exe. Follow the steps to generate the Class/Config file</p>
<ol>
<li> Open the command prompt and Go to the location where svcutil.exe is placed. You may find the same at following place “C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin”</li>
<li> Write the following command and hit the “enter key” to generate the Class/Config files<br />
<img class="aligncenter size-full wp-image-176" title="SVCUtil" src="http://aktripathi.files.wordpress.com/2009/06/svcutil.jpg?w=500" alt="SVCUtil"   /></li>
<li> This would generate the Service1.cs and output.config files at the same location where svcutil.exe is placed i.e. “C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin”</li>
<li> The class generated and the config file we need to include into our client application for consuming the service.</li>
</ol>
<p><strong>7.2 Create Client to Consume Service </strong></p>
<p>1.     Open Visual Studio</p>
<p>2.     Go to Fileà New à Project</p>
<p>3.     Select Windows Form Application</p>
<p>4.     Create a Form similar to below<br />
<img class="aligncenter size-full wp-image-177" title="ClientApplication" src="http://aktripathi.files.wordpress.com/2009/06/clientapplication.jpg?w=500" alt="ClientApplication"   /><br />
5.     Include the class generated by Step iii of Section 7.1</p>
<p>6.     Right Click on project and select the option “Add Service Reference”<br />
<img class="aligncenter size-full wp-image-178" title="ServiceRefrence" src="http://aktripathi.files.wordpress.com/2009/06/servicerefrence.jpg?w=500" alt="ServiceRefrence"   /><br />
7.     Enter the URL/ Address where service is hosted and hit on “Go” button to find the service. You may see the Services Methods/Logic exposed by WCF Service<br />
<img class="aligncenter size-full wp-image-179" title="ServiceRefDialog" src="http://aktripathi.files.wordpress.com/2009/06/servicerefdialog.jpg?w=500" alt="ServiceRefDialog"   /></p>
<p>8.     Click “OK” to add the service.<br />
9.     Double Click Room Reservation Enquiry button to write the logic. Make sure that you have imported the namespace of the generated class added to the project.<br />
<code><br />
private void btnEnquiry_Click(object sender, EventArgs e)<br />
{<br />
Service1Client client = new Service1Client();<br />
RoomReservationRequest[] reservationEnquiry = null;<br />
reservationEnquiry = client.GetReservations(dateFromDate.Value, dateToDate.Value);</code></p>
<p><code> </code></p>
<p><code> if (reservationEnquiry.Length &gt; 0)<br />
{<br />
gvReservationData.DataSource = reservationEnquiry;<br />
gvReservationData.Visible = true;<br />
}<br />
else<br />
{<br />
gvReservationData.Visible = false;<br />
lblMessage.Text = "Sorry data not available.";<br />
}<br />
}<br />
</code><br />
10.  When we had added the reference of the Service to the client project one configuration file also would have been added to the application i.e. App.Config. Replace the  node of this file by the  node of the output.config file generated into “Step- iii” of “Section 7.1”</p>
<p><strong>8.0 How to Use the Source?</strong></p>
<p>Unzip the file WCF.zip, you may find the following files</p>
<p>1.     DBBackup.zip</p>
<p>2.     Source.zip</p>
<p>Restore/ Create Database</p>
<p>Unzip the file DBBackup.zip and restore the WCF.bak file to SQL Server Database or you may create the database as suggested in Step 6.1.</p>
<p>Now, Unzip the file Source.zip, you may find<br />
1.     WCFService<br />
2.     WCFClient<br />
Publish/Host Client<br />
i.        Open the directory WCFService.<br />
ii.        Double click Practice.WCF.sln file to open the solution.<br />
iii.        Modify the web.config file of Service as suggested in Step-7 of Section-6.2.<br />
iv.        Publish the service as suggested in Step-16 of Section-6.2.<br />
Use WCF Client to consume the services<br />
i.        Open WCFClient directory.<br />
ii.        Double click HelpDeskService.sln file to open the solution.<br />
iii.        Run the solution.<br />
iv.        Select the dates and hit on Enquiry button.<br />
Note: You may need to modify App.Config file, if you have not published the WCF Service to local machine.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/164/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/164/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/164/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=164&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2009/06/05/an-introduction-to-windows-communication-foundation-wcf/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/wcfblock.jpg" medium="image">
			<media:title type="html">WCFBlock</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/remotinglimitation.jpg" medium="image">
			<media:title type="html">RemotingLimitation</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/wcfadvantage.jpg" medium="image">
			<media:title type="html">WCFAdvantage</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/wcfrealtime.jpg" medium="image">
			<media:title type="html">WCFRealTime</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/wcfcommunicationmodel.jpg" medium="image">
			<media:title type="html">WCFCommunicationModel</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/databaseschema.jpg" medium="image">
			<media:title type="html">DatabaseSchema</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/wcfprojectcreation.jpg" medium="image">
			<media:title type="html">WCFProjectCreation</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/wcfrunning.jpg" medium="image">
			<media:title type="html">WCFRunning</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/publishcontextmenu.jpg" medium="image">
			<media:title type="html">PublishContextMenu</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/publishdialog.jpg" medium="image">
			<media:title type="html">PublishDialog</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/servicemessage.jpg" medium="image">
			<media:title type="html">ServiceMessage</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/svcutil.jpg" medium="image">
			<media:title type="html">SVCUtil</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/clientapplication.jpg" medium="image">
			<media:title type="html">ClientApplication</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/servicerefrence.jpg" medium="image">
			<media:title type="html">ServiceRefrence</media:title>
		</media:content>

		<media:content url="http://aktripathi.files.wordpress.com/2009/06/servicerefdialog.jpg" medium="image">
			<media:title type="html">ServiceRefDialog</media:title>
		</media:content>
	</item>
		<item>
		<title>OOPS FAQ&#8217;s</title>
		<link>http://aktripathi.wordpress.com/2009/05/25/oops-faqs/</link>
		<comments>http://aktripathi.wordpress.com/2009/05/25/oops-faqs/#comments</comments>
		<pubDate>Mon, 25 May 2009 12:45:04 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
				<category><![CDATA[OOPS FAQ&#039;s]]></category>

		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=145</guid>
		<description><![CDATA[Firs of all I would  like to inform and say sorry that you may find the questions in random order. In future if I could build the FAQ section big then definitely I would arrange the FAQ&#8217;s in proper seq. Your feedback/ suggestion is most welcome to make the post more better. Thanks in advance&#8230;. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=145&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Firs of all I would  like to inform and say sorry that you may find the questions in random order. In future if I could build the FAQ section big then definitely I would arrange the FAQ&#8217;s in proper seq.</p>
<p>Your feedback/ suggestion is most welcome to make the post more better. Thanks in advance&#8230;.</p>
<p>In fact in FAQ section we will try to brush-up our OOPS knowledge with the help of some questions,<br />
So, we will start now..</p>
<p><strong>Question/ Scenario 1.0: </strong></p>
<p>Very frequently we use to write create the instance of a class like </p>
<p>ClassA objClassA = new ClassA();</p>
<p>what does it mean by new ClassA();  or  what is the significance of new keyword?</p>
<p><strong>Answer:</strong></p>
<p>In order to answer this question I would like to take the example of an Web application,</p>
<p>Suppose we have a website which adds two numbers. Code for adding up the two numbers we have written in some class say Operation.cs or Operation.vb.</p>
<p>Now there are two person&#8217;s accessing the website say Person A and Person B. Both the persons may interested in adding the different different numbers for example (2,2) or (7,8) or any thing.</p>
<p>Writting new keword is nothing but intimiating the Framework/ Compiler that I want to create a new instance of the class or do not want to use the same instance which Person A is using to add (2,2). <br />
<strong> Question/ Scenario 2.0: </strong><br />
We have tow C#/VB.NET classes say BaseClass and DerivedClass. BaseClass is a public class and contains four public methods,<br />
<code></p>
<ol>
<li>public double Add(double num1, double num2) {.......}</li>
<li>public double Substract(double num1, double num2){.......}</li>
<li>public double Multiply(double num1, double num2){.......}</li>
<li>public double Divide(double num1, double num2){.......}</li>
</ol>
<p></code></p>
<p>DerivedClass is also a public class and contains two public methods<br />
<code></p>
<ol>
<li>public double SimpleInterest(double price, double rate, double time){...............}</li>
<li>public double CompoundInterest(double price, double rate, double time){...............}</li>
</ol>
<p></code></p>
<p>Now DerivedClass derives BaseClass</p>
<p><code>public class DerivedClass : BaseClass { ...........}<br />
</code>Based on above scenario answer the following questions,</p>
<p><strong>Question 2.1</strong><br />
Which of the following is a valid?<span style="font-family:0;"> <span style="font-family:0;"> </span></span></p>
<ol><code>   </p>
<li>BaseClass baseClass = new DerivedClass();</li>
<li>DerivedClass derClass = new BaseClass();<span style="font-family:Georgia;"><em><strong> </strong></em></span></li>
<p></code> </ol>
<p><em><strong>Ans:</strong> 1, i.e. </em><code><em>BaseClass baseClass = new DerivedClass();</em></code></p>
<p><em> but like this you would be able to access only public methods of BaseClass not the methods of derived class.</em></p>
<p><strong>Question 2.2</strong><br />
Instance of the BaseClass is created like<br />
<code>BaseClass baseClass = new DerivedClass();</code><br />
Which of the following is a valid?</p>
<ol>
<li>baseClass.SimpleInterest(1000,2,3);</li>
<li>baseClass.Add(3,7);</li>
</ol>
<p><em><strong>Ans:</strong></em><em> 2, i.e. </em><code><em>baseClass.Add(3,7);</em></code><em><br />
because we had created object of BaseClass</em></p>
<p><strong>Question 3.0: Does C# support multiple inheritance?</strong><br />
<strong>Answer: </strong>No. C# does not support multiple inheritance but multiple inheritance is possible with the help of Interfaces.</p>
<p><strong>Question 4.0: What do you mean by an interface?</strong><br />
Read the illustration and answer the questions,<br />
<strong>Answer: </strong>Interfaces describe a group of related functionalities that can belong to any class or struct. Interfaces can consist of methods, properties, events, indexers, or any combination of those four member types. An interface cannot contain fields. Interfaces members are automatically public.<br />
When a class or struct is said to inherit an interface, it means that the class or struct provides an implementation for all of the members defined by the interface. The interface itself provides no functionality that a class or struct can inherit in the way that base class functionality can be inherited. However, if a base class implements an interface, the derived class inherits that implementation.</p>
<p>Classes and structs can inherit from interfaces in a manner similar to how classes can inherit a base class or struct, with two exceptions:</p>
<ol>
<li>A class or struct can inherit more than one interface.</li>
<li>When a class or struct inherits an interface, it inherits only the method names and signatures, because the interface itself contains no implementations.</li>
</ol>
<p>To implement an interface member, the corresponding member on the class must be public, non-static, and have the same name and signature as the interface member. Properties and indexers on a class can define extra accessors for a property or indexer defined on an interface. For example, an interface may declare a property with a get accessor, but the class implementing the interface can declare the same property with both a get and set accessor. However, if the property or indexer uses explicit implementation, the accessors must match.<br />
Interfaces and interface members are abstract; interfaces do not provide a default implementation. For more information, see Abstract and Sealed Classes and Class Members.<br />
Interfaces can inherit other interfaces. It is possible for a class to inherit an interface multiple times, through base classes or interfaces it inherits. In this case, the class can only implement the interface one time, if it is declared as part of the new class. If the inherited interface is not declared as part of the new class, its implementation is provided by the base class that declared it. It is possible for a base class to implement interface members using virtual members; in that case, the class inheriting the interface can change the interface behavior by overriding the virtual members.</p>
<p><strong>Interfaces Quick Overview</strong><br />
An interface has the following properties:</p>
<ol>
<li>An interface is like an abstract base class: any non-abstract type inheriting the interface must implement all its members.</li>
<li>An interface cannot be instantiated directly.</li>
<li>Interfaces can contain events, indexers, methods and properties.</li>
<li>Interfaces contain no implementation of methods.</li>
<li>Classes and structs can inherit from more than one interface.</li>
<li>An interface can itself inherit from multiple interfaces.</li>
</ol>
<p><strong>Question 4.1:</strong> Implement an interface say IOperations containing following method signatures</p>
<ol>
<li>Add : a method to add two double numbers</li>
<li>Multiply : a method to multiply two double numbers</li>
</ol>
<p><code><br />
public interface IOperations<br />
{<br />
 double Add(doubleb a, double b);<br />
 double Multiply(double a, double b);<br />
}<br />
</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/145/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=145&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2009/05/25/oops-faqs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>
	</item>
		<item>
		<title>गरीबी</title>
		<link>http://aktripathi.wordpress.com/2009/02/17/%e0%a4%97%e0%a4%b0%e0%a5%80%e0%a4%ac%e0%a5%80/</link>
		<comments>http://aktripathi.wordpress.com/2009/02/17/%e0%a4%97%e0%a4%b0%e0%a5%80%e0%a4%ac%e0%a5%80/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 15:50:48 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
				<category><![CDATA[Poetry]]></category>

		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=129</guid>
		<description><![CDATA[  आज देखा है एक गरीब का आशियाना ,   आज ही जाना,   कितना मुश्किल है ईस दुनिया मे एक गरीब का जी पाना &#124;  अरे अन्दर की तो सुनिये साहब, भूल जाईये गा पलकें झपकाना &#124;  एक ही थी रोटी, जिसमें चार को था खाना &#124;  अब तक तो बूढी मां ने शुरु कर दिया [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=129&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>आज देखा है एक गरीब का आशियाना , </p>
<p> आज ही जाना, </p>
<p> कितना मुश्किल है ईस दुनिया मे एक गरीब का जी पाना |</p>
<p> अरे अन्दर की तो सुनिये साहब, भूल जाईये गा पलकें झपकाना |</p>
<p> एक ही थी रोटी, जिसमें चार को था खाना |</p>
<p> अब तक तो बूढी मां ने शुरु कर दिया था बच्चे को फ़ुसलना, </p>
<p> कहती है, बेटा &#8211; अब मेरा है क्या ठिकना,</p>
<p> आज नहीं तो कल, मुझे तो है जाना ही जाना |</p>
<p> पर तूं नहीं घबराना, दिया है जिसने चोंच, डाले गा वही दाना |</p>
<p> दोस्तों यही है अपने देश के एक-एक गरीब का अफ़साना |</p>
<p> ईस बार गरीबी ही रही &#8216;त्रिपाठी&#8217; की कलम का निशाना |</p>
<p> आईये हम सब मिल कर खातें हैं कसम,</p>
<p> कि ईस देश से गरीबी को है मिटाना,</p>
<p> क्योंकि,</p>
<p> बड़ा ही मुश्किल है भारत माता के लिये ईस कलंक को सह पाना | </p>
<p> </p>
<p style="text-align:right;">                    -<strong> आषीश कुमार त्रिपाठी</strong></p>
<p style="text-align:right;">                      गोरखपुर, 2001</p>
<div></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=129&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2009/02/17/%e0%a4%97%e0%a4%b0%e0%a5%80%e0%a4%ac%e0%a5%80/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>
	</item>
		<item>
		<title>Database Normalization</title>
		<link>http://aktripathi.wordpress.com/2009/02/16/database-normalization/</link>
		<comments>http://aktripathi.wordpress.com/2009/02/16/database-normalization/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 05:55:24 +0000</pubDate>
		<dc:creator>aktripathi</dc:creator>
				<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://aktripathi.wordpress.com/?p=120</guid>
		<description><![CDATA[What does it mean by Normalization of a Database? Definition: &#8221;Normalization is the process of removing anomoly from a Database.&#8221; Removing Anomoly in a database is mainly concern with, Eliminating redundant data (Storing the data in more than one table with proper relationships among the tables) Ensuring data dependencies make sense (data is should be stored [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=120&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>What does it mean by Normalization of a Database?</strong></p>
<p><strong>Definition:</strong> &#8221;Normalization is the process of removing anomoly from a Database.&#8221;</p>
<p>Removing Anomoly in a database is mainly concern with,</p>
<ol>
<li>Eliminating redundant data (Storing the data in more than one table with proper relationships among the tables)</li>
<li>Ensuring data dependencies make sense (data is should be stored into related table). </li>
</ol>
<p>Both of these are worthy goals as they reduce the amount of space a database consumes and ensure that data is logically stored.</p>
<p><strong>Understanding Normalization in simple words.</strong></p>
<p>You may consider the following example\scenario in order to understand the concept of normalization.</p>
<p>Suppose we have a normalized database (simple) with three tables </p>
<ul>
<li>TableA  (with 5 Columns)</li>
<li>TableB  (with 10 Columns)</li>
<li>TableC  (with 15 Columns)</li>
</ul>
<p>An un normalized database for the above given database will contain only one table with 30 Columns (5 + 10 + 15) and off course no relationship between the data. But in such case data would be repeated very frequently i.e. data would be redundant.</p>
<p><strong><span style="text-decoration:underline;">The Normal Forms</span></strong></p>
<p>Normal Forms are the guidelines provided by the Database community to achieve an optimal database model.</p>
<p><strong>First Normal Form (1NF): <span style="font-weight:normal;">First normal form (1NF) sets the very basic rules for an organized database:</span></strong></p>
<ul>
<li>Eliminate duplicative columns from the same table.</li>
<li>Create separate tables for each group of related data and identify each row with a unique column or set of columns (the primary key).</li>
</ul>
<p><strong>Second Normal Form (2NF): <span style="font-weight:normal;">Second normal form (2NF) further addresses the concept of removing duplicative data:</span></strong></p>
<ul>
<li>Meet all the requirements of the first normal form.</li>
<li>Remove subsets of data that apply to multiple rows of a table and place them in separate tables.</li>
<li>Create relationships between these new tables and their predecessors through the use of foreign keys.</li>
</ul>
<p><strong>Third Normal Form (3NF): <span style="font-weight:normal;">Third normal form (3NF) goes one large step further:</span></strong></p>
<ul>
<li>Meet all the requirements of the second normal form.</li>
<li>Remove columns that are not dependent upon the primary key.</li>
</ul>
<p><strong>Fourth Normal Form (4NF): <span style="font-weight:normal;">Finally, fourth normal form (4NF) has one additional requirement:</span></strong></p>
<ul>
<li>Meet all the requirements of the third normal form.</li>
<li>A relation is in 4NF if it has no multi-valued dependencies.</li>
</ul>
<p><strong><em><span style="text-decoration:underline;">Note:</span> </em><span style="font-weight:normal;"><em>These normalization guidelines are cumulative. For a database to be in 2NF, it must first fulfill all the criteria of a 1NF database. </em></span></strong></p>
<div><strong>What is De-Normalization &amp; its significance?</strong></div>
<div>In order to understand the concept of De-Normalization we consider the example of Data Warehousing,</div>
<div>Data Warehousing is a concept which helps us to manage (store and retrieve) the data in an efficient manner. </div>
<div><strong>Going Back to De-Normalization&#8230;.</strong></div>
<div>Suppose you have Data Warehouse. You have come across a requirement to provide some set of data which needs to join 25 tables and all the tables contains huge data, huge means really very huge data. As we know that joins are little bit costly in terms of time, then you can imagine the scenario for joining 25 tables.</div>
<div>In this scenario rather than storing the data in a Normalized fashion, we can denormalize the database which will help us to achieve performance.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aktripathi.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aktripathi.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aktripathi.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aktripathi.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/aktripathi.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/aktripathi.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/aktripathi.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/aktripathi.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aktripathi.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aktripathi.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aktripathi.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aktripathi.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aktripathi.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aktripathi.wordpress.com/120/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aktripathi.wordpress.com&amp;blog=6096990&amp;post=120&amp;subd=aktripathi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://aktripathi.wordpress.com/2009/02/16/database-normalization/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed15aff73b4b191e9db34822e5dcceea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ashish</media:title>
		</media:content>
	</item>
	</channel>
</rss>
