<?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>The tech guy in woods</title>
	<atom:link href="http://thetechjungle.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thetechjungle.wordpress.com</link>
	<description>C#, ASP.net, IIS, SQL serever</description>
	<lastBuildDate>Sun, 08 Jan 2012 19:31:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='thetechjungle.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>The tech guy in woods</title>
		<link>http://thetechjungle.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://thetechjungle.wordpress.com/osd.xml" title="The tech guy in woods" />
	<atom:link rel='hub' href='http://thetechjungle.wordpress.com/?pushpress=hub'/>
		<item>
		<title>The Tech Jungle Bug fixing  in a scrum world &#8211; Scrum or Kanban</title>
		<link>http://thetechjungle.wordpress.com/2012/01/08/the-tech-jungle-bug-fixing-in-a-scrum-world-scrum-or-kanban/</link>
		<comments>http://thetechjungle.wordpress.com/2012/01/08/the-tech-jungle-bug-fixing-in-a-scrum-world-scrum-or-kanban/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 19:31:40 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2012/01/08/the-tech-jungle-bug-fixing-in-a-scrum-world-scrum-or-kanban/</guid>
		<description><![CDATA[Scrum works perfectly with known feature deployment. Bug fixing works better with kanban. Bugs are unknown entity; unless team do some sort of exploration/spike work, they cannot commit on it. http://www.agileweboperations.com/scrum-vs-kanban. http://en.wikipedia.org/wiki/Kanban_(development) We have adopted a mix of Scrum/Kanban model for fixing bugs. One of my team is in maintenance. During sprint planning we decide [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=37&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Scrum works perfectly with known feature deployment. Bug fixing works better with kanban. Bugs are unknown entity; unless team do some sort of exploration/spike work, they cannot commit on it.</p>
<p><a href="http://www.agileweboperations.com/scrum-vs-kanban">http://www.agileweboperations.com/scrum-vs-kanban</a>.</p>
<p><a href="http://en.wikipedia.org/wiki/Kanban_(development">http://en.wikipedia.org/wiki/Kanban_(development</a>)</p>
<p>We have adopted a mix of Scrum/Kanban model for fixing bugs.<br />
One of my team is in maintenance. During sprint planning we decide on the priority of the bugs and timebox all the issues based on the teams capacity. During the daily scrum meeting we discuss about the progress made. If the issue is critical, an update is send to the entire team every four hours. If any new issues are reported in between, PO prioritizes that and if it is the highest priority, team stops the work on the current bug and starts fixing the new issue. We encourage multiple people to work on the bugs. Once the top priority bugs are fixed, team moves to the next item in the backlog. If we take more time to fix than the anticipated timebox we inform the PO. Based on the discussion team will continue working on the exiting bug or work on a new higher prioritized bug.</p>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2012/01/bug-fixing-in-scrum-world-scrum-or.html">The Tech Jungle</a> at 1/08/2012 11:31:00 AM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=37&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2012/01/08/the-tech-jungle-bug-fixing-in-a-scrum-world-scrum-or-kanban/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>
	</item>
		<item>
		<title>The Tech Jungle Scrum : Non functional requirements testing in scrum sprint</title>
		<link>http://thetechjungle.wordpress.com/2012/01/08/the-tech-jungle-scrum-non-functional-requirements-testing-in-scrum-sprint/</link>
		<comments>http://thetechjungle.wordpress.com/2012/01/08/the-tech-jungle-scrum-non-functional-requirements-testing-in-scrum-sprint/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 19:07:24 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2012/01/08/the-tech-jungle-scrum-non-functional-requirements-testing-in-scrum-sprint/</guid>
		<description><![CDATA[The NFR’s and technical requirements should be part of the user story. These can be added as constraints to the story or along with the definition of “done”. Most of these NFR’s can be tested with unit test framework or automated test scripts. Sometimes the process cannot be tested directly. Suppose software requires triple encryption [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=36&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The NFR’s and technical requirements should be part of the user story. These can be added as constraints to the story or along with the definition of “done”. Most of these NFR’s can be tested with unit test framework or automated test scripts. Sometimes the process cannot be tested directly. Suppose software requires triple encryption of bank transactions or such things then it will be very difficult to check the state in between. You will have to test the results to verify the process. The ticket generation or the account balance after the transaction will give a correct picture. Performance testing can be integrated with Continuous integrations build or nightly builds.</p>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2012/01/scrum-non-functional-requirements.html">The Tech Jungle</a> at 1/08/2012 11:07:00 AM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=36&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2012/01/08/the-tech-jungle-scrum-non-functional-requirements-testing-in-scrum-sprint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>
	</item>
		<item>
		<title>The Tech Jungle Scrum : How to accommodate the infrastructure tasks at the beginning of the project?</title>
		<link>http://thetechjungle.wordpress.com/2011/12/26/the-tech-jungle-scrum-how-to-accommodate-the-infrastructure-tasks-at-the-beginning-of-the-project/</link>
		<comments>http://thetechjungle.wordpress.com/2011/12/26/the-tech-jungle-scrum-how-to-accommodate-the-infrastructure-tasks-at-the-beginning-of-the-project/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 19:57:42 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2011/12/26/the-tech-jungle-scrum-how-to-accommodate-the-infrastructure-tasks-at-the-beginning-of-the-project/</guid>
		<description><![CDATA[Anu is a new scrum master. After the project kick off meeting on further discussion she realized that for a successful delivery as a pre-requisite the team needs a lot of infrastructure work to be completed. PO wanted the feature development work to start as soon as possible. Team had serious concerns about the delivery [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=35&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Anu is a new scrum master. After the project kick off meeting on further discussion she realized that for a successful delivery as a pre-requisite the team needs a lot of infrastructure work to be completed. PO wanted the feature development work to start as soon as possible. Team had serious concerns about the delivery if they start the actual work without the required infrastructure.</p>
<p><strong>What can be done in this situation?</strong></p>
<p>I met with Anu and we agreed on the following</p>
<p>Identify the most critical requirements required for the team to start work. Do a casual analysis with the subject matter expert and the team and find the cost (duration + software + hardware costs) of doing (and not doing)</p>
<p>Anu held meetings with the team, PO &amp; other stakeholders. This teamwork produced a wonderful infrastructure backlog and was presented to PO. She also added the dependency to this backlog. Nice to have infrastructure were at lower priority. This infrastructure work was added to the first two sprints. Team was also asked to do a sample application integrating all the infrastructure work as part of sprint backlog. With this sample application team validated the infrastructure configuration. The other infrastructure woke like server to do load testing; performance profiling was added to the middle sprints.</p>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2011/12/scrum-how-to-accommodate-infrastructure.html">The Tech Jungle</a> at 12/26/2011 11:57:00 AM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=35&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2011/12/26/the-tech-jungle-scrum-how-to-accommodate-the-infrastructure-tasks-at-the-beginning-of-the-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>
	</item>
		<item>
		<title>The Tech Jungle Scrum Sprint duration – which is ideal; 4 weeks or 2 Weeks or 1 Week? Checklist</title>
		<link>http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-scrum-sprint-duration-which-is-ideal-4-weeks-or-2-weeks-or-1-week-checklist/</link>
		<comments>http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-scrum-sprint-duration-which-is-ideal-4-weeks-or-2-weeks-or-1-week-checklist/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 20:24:10 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-scrum-sprint-duration-which-is-ideal-4-weeks-or-2-weeks-or-1-week-checklist/</guid>
		<description><![CDATA[The CTO heard about SCRUM. He asked the PMO to implement it. We got a big training. Everyone is happy. We know everything about scrum- product backlog, sprint backlog, daily scrum, sprint review, retrospective. Wow so cool. But no one told me the duration of a sprint. How can my trainer not know about this? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=34&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The CTO heard about SCRUM. He asked the PMO to implement it. We got a big training. Everyone is happy. We know everything about scrum- product backlog, sprint backlog, daily scrum, sprint review, retrospective. Wow so cool. But no one told me the duration of a sprint. How can my trainer not know about this? This seems familiar? There should be many yeses.</p>
<p><strong>There is no definite duration for sprint !!! </strong></p>
<p>Ken Schwaber &amp; Jeff Sutherland started the sprints with 30 days duration. Now majority of the companies prefer 2 week sprints. If you don’t have any idea; start with 2 weeks. After the couple of 2 weeks iterations get together with the team, collect their feedback and decide whether you want to change the sprint duration. Personally I have seen teams with sprint duration of 20 days, 15 days, 2 weeks &amp; even 1 week (I have my two teams running on 1 week).</p>
<p><strong>Checklist for sprint duration change.</strong></p>
<p><strong>Reduce the sprint duration</strong></p>
<ul>
<li>Poor estimation (if team complains that they work for 8 hours on the task estimated for 4 hours)</li>
<li>Poor quality (lot of bugs &amp; performance issues)</li>
<li>Unable to meet the sprint objectives</li>
<li>Lot of scope creep</li>
<li>Nature of deliverables (if the team is responsible for the delivery of small reports or documents which won’t take more than couple of days)</li>
</ul>
<p>When the sprint duration is reduced team will meet more often for planning and review. This will help in better planning, estimation &amp; understanding of sprint objectives. PO will also have a better time managing all the changes in the backlog due to frequent changes in customer priority.</p>
<p><strong>Increase sprint duration</strong></p>
<ul>
<li>Product backlog is almost stable</li>
<li>The inability of the customers/PO/stakeholders to meet periodically to review the delivery</li>
<li>Nature of deliverables (some deliverables need long time to develop, integrate &amp; test)</li>
</ul>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2011/12/scrum-sprint-duration-which-is-ideal-4.html">The Tech Jungle</a> at 12/24/2011 12:24:00 PM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=34&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-scrum-sprint-duration-which-is-ideal-4-weeks-or-2-weeks-or-1-week-checklist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>
	</item>
		<item>
		<title>The Tech Jungle What is scope creep? How can we prevent it?</title>
		<link>http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-what-is-scope-creep-how-can-we-prevent-it/</link>
		<comments>http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-what-is-scope-creep-how-can-we-prevent-it/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 17:47:57 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-what-is-scope-creep-how-can-we-prevent-it/</guid>
		<description><![CDATA[I have faced this many times. Due diligently I follow the requirement documents and create software. But on many occasions testers/customers will discover new requirements from the existing ones. They may be doing this with right intention but imagine the waste when we have to continuously redo our work every time. Apart from the rework [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=33&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have faced this many times. Due diligently I follow the requirement documents and create software. But on many occasions testers/customers will discover new requirements from the existing ones. They may be doing this with right intention but imagine the waste when we have to continuously redo our work every time. Apart from the rework imagine the chaos it can create. If this creates so many problems, should we completely prevent such changes? Never. Software should be adaptable and extensible enough make such changes without adversely affecting other areas/features.</p>
<p>There should be a mechanism by which we should allow these changes to happen but in a controlled manner. Scrum has a definite answer to this problem.</p>
<p>As long as the &#8220;creep&#8221; doesn&#8217;t happens during the sprint its fine. Once the items for a sprint are finalized then nothing else should be added. The sprint demo should happen only on the items which were agreed during sprint planning &amp; only on the conditions of acceptance defined. If anything new is found during actual sprint execution or during sprint demo, then it should be noted down and added to the backlog. PO can prioritize these new changes for the team after discussion with the stakeholders.</p>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2011/12/what-is-scope-creep-how-can-we-prevent.html">The Tech Jungle</a> at 12/24/2011 09:47:00 AM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=33&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-what-is-scope-creep-how-can-we-prevent-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>
	</item>
		<item>
		<title>The Tech Jungle SCRUM- Who should write a user story</title>
		<link>http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-scrum-who-should-write-a-user-story/</link>
		<comments>http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-scrum-who-should-write-a-user-story/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 16:08:12 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-scrum-who-should-write-a-user-story/</guid>
		<description><![CDATA[Traditionally user stories (or requirements) were written by Business analysts. They used to prepare big documents after months of study. It was a herculean task. I used to get such UI/Functional specification documents. I have fixed a lot of bugs because I missed few text in such 1000 + pages document. This is not the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=32&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Traditionally user stories (or requirements) were written by Business analysts. They used to prepare big documents after months of study. It was a herculean task. I used to get such UI/Functional specification documents. I have fixed a lot of bugs because I missed few text in such 1000 + pages document. This is not the only interesting part. Some of the requirements were so weird that I often wondered why I am creating the features which no one is going to use. If I had the option I would have recommended a better option. If the BA’s misunderstood some requirements &amp; customers failed to correct those few words in the epic requirement then we will have a nice situation.</p>
<p>In the agile world the story is different. Product Owners are primarily responsible for user stories. But can anyone else also contribute? Yes. Definitely yes<br />
In actual environment many users write user stories. The first requirement may come from end user. The PO, tech architect, scrum master, BA’s&#8230; anyone can update this but ultimately it is the PO who is responsible for the backlog.<br />
User stories should be written in a non -technical manner from the perspective of an end user<br />
e.g.<br />
As an x user I should be able to xyz actions.</p>
<p>This user story will be further sliced. The PO (or story writer) shouldn’t spend months is defining the backlog. After fine tuning the stories to an extent this should be put to review to the scrum team. The entire scrum team should work on these stories to understand it perfectly. Any technical constraints /limitations should be noted down &amp; presented to customer. Scrum emphasizes this team work. It’s better to have 5 brains working together than one. The most important section out of these discussions/workshops will be the condition of acceptance (COA’s). Generally these COA’s are not technical. NFR’s can be added as constraints to these conditions.</p>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2011/12/scrum-who-should-write-user-story.html">The Tech Jungle</a> at 12/24/2011 08:08:00 AM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=32&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2011/12/24/the-tech-jungle-scrum-who-should-write-a-user-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>
	</item>
		<item>
		<title>The Tech Jungle SOA-based WCF architecture</title>
		<link>http://thetechjungle.wordpress.com/2010/03/25/the-tech-jungle-soa-based-wcf-architecture/</link>
		<comments>http://thetechjungle.wordpress.com/2010/03/25/the-tech-jungle-soa-based-wcf-architecture/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 19:00:46 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2010/03/25/the-tech-jungle-soa-based-wcf-architecture/</guid>
		<description><![CDATA[The WCF architecture is based on the design principles of service-oriented architecture (SOA). SOA is a framework that is used to design service-based distributed systems. In an SOA-based system, platform-independent services communicate across networked computers or computer processes. WCF implements. Explicit boundaries WCF services function using defined interfaces to identify the communications that flow outside [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=31&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The WCF architecture is based on the design principles of service-oriented architecture (SOA).</p>
<p><a href="http://lh4.ggpht.com/_5NiTz0zBFLI/S6uyKBP0GeI/AAAAAAAADzU/ZakkAvMSnjY/wcf-arch.gif"><img src="http://lh4.ggpht.com/_5NiTz0zBFLI/S6uyKBP0GeI/AAAAAAAADzU/ZakkAvMSnjY/wcf-arch.gif" alt="wcf-arch.gif" /></a></p>
<p>SOA is a framework that is used to design service-based distributed systems. In an SOA-based system, platform-independent services communicate across networked computers or computer processes.</p>
<p>WCF implements.</p>
<ul>
<li>Explicit boundaries WCF services function using defined interfaces to identify the communications that flow outside the boundaries of the service.</li>
<li>Independent services All WCF services are deployed and managed independently; they are independent of deployment, installation, and version issues. Also, each service interaction is independent of other interactions.</li>
<li>Schema and contract-based communication WCF services communicate with clients by providing only the schema of the message and not its implementation classes. This helps developers change the service implementation in the future without impacting the clients.</li>
<li>Policy-based compatibility Compatibility between WCF services and clients at run time is determined using published policies. Policies help separate the description of the service from its implementation details.</li>
</ul>
<p>The SOA-based WCF architecture contains four layers – Contracts, Service Runtime, Messaging, and Hosting.</p>
<p><strong>Contracts: </strong>The Contracts layer describes the WCF message system.<br />
This is described in terms of</p>
<ul>
<li>A <strong>Service Contract</strong> describes the method signatures of a service. It&#8217;s defined using programming languages, such as Visual Basic and Visual C# and is distributed as an interface</li>
<li>A <strong>Data Contract</strong> enables .NET types to be expressed in XML. The data contract describes every parameter that makes up every message that a service can create or consume. The message parameters are defined by XML Schema definition language (XSD) documents, enabling any system that understands XML to process the documents.</li>
<li><strong>Message Contracts</strong> define the structure of SOAP messages exchanged between a service and a client, and they allow you to view or modify messages and allows finer-grained control over parts of the message</li>
<li><strong>Policies and Bindings : </strong>Policies and Bindings stipulate the conditions required to communicate with a service.They define the configuration, such as security levels, required by clients to communicate with a service.</li>
</ul>
<p><strong>Service Runtime</strong><br />
It describes the runtime behaviors of the service</p>
<ul>
<li><strong>Throttling </strong>controls how many messages are processed, which can be varied if the demand for the service grows to a preset limit.</li>
<li><strong>Error behaviour </strong>decides the sequence of events when an occurs in service. This prevents the display of too much of error information to outside entities.</li>
<li><strong>Metadata behavior</strong> governs how and whether metadata is made available to the outside world</li>
<li><strong>Message inspection</strong> is the facility to inspect parts of a message</li>
<li><strong>Instance behavior</strong> specifies how many instances of the service can be run (for example, a singleton specifies only one instance to process all messages).</li>
<li><strong>Transaction behavior</strong> enables the rollback of transacted operations if a failure occurs.</li>
<li><strong>Dispatch behavior</strong> is the control of how a message is processed by the WCF infrastructure.</li>
<li><strong>Parameter filtering</strong> enables preset actions to occur based on filters acting on message headers</li>
</ul>
<p><strong>Messaging</strong><br />
The Messaging layer contains channels that process messages and operate on messages and message headers.A channel is a component that processes a message in some way, for example, by authenticating a message. A set of channels is also known as a<em> channel stack</em>. Channels operate on messages and message headers.</p>
<p>There are two types of channels: transport channels and protocol channels.<br />
<strong>Transport channels </strong>read and write messages from the network, and <strong>protocol channels</strong> implement message processing protocols.Some transports use an encoder to convert messages (which are represented as XML Infosets) to and from the byte stream representation used by the network. Examples of transports are HTTP, named pipes, TCP, and MSMQ. Examples of encodings are XML and optimized binary.</p>
<p>Protocol channels implement message processing protocols, often by reading or writing additional headers to the message. Examples of such protocols include WS-Security and WS-Reliability.</p>
<ul>
<li>WS-Security is an implementation of the WS-Security specification enabling security at the message layer.</li>
<li>The WS-Reliable Messaging channel enables the guarantee of message delivery.</li>
<li>The encoders present a variety of encodings that can be used to suit the needs of the message.</li>
<li>The HTTP channel specifies that the HyperText Transport Protocol is used for message delivery.</li>
<li>The TCP channel similarly specifies the TCP protocol.</li>
<li>The Transaction Flow channel governs transacted message patterns.</li>
<li>The Named Pipe channel enables interprocess communication.</li>
<li>The MSMQ channel enables interoperation with MSMQ applications.</li>
</ul>
<p>Fig- A typical WCF architectural flow<br />
<a href="http://lh3.ggpht.com/_5NiTz0zBFLI/S6uyKd4WsAI/AAAAAAAADzY/fSpV-XWuaGA/WCF%20architectural%20flow.gif"><img src="http://lh3.ggpht.com/_5NiTz0zBFLI/S6uyKd4WsAI/AAAAAAAADzY/fSpV-XWuaGA/WCF%20architectural%20flow.gif" alt="WCF%20architectural%20flow.gif" /></a></p>
<p><strong>Hosting and Activation</strong><br />
The Hosting layer describes the ways in which a WCF service can be hosted. WCF services can be hosted using either Windows Activation Services, Internet Information Services, Windows Services, .EXE, or COM+. <a href="http://lh4.ggpht.com/_5NiTz0zBFLI/S6uyKBP0GeI/AAAAAAAADzU/ZakkAvMSnjY/wcf-arch.gif"><br />
</a></p>
<ul>
<li>A service is a program. Like other programs, a service must be run in an executable. This is known as a <em>self-hosted</em> service.</li>
<li>Services can also be <em>hosted</em>, or run in an executable managed by an external agent, such as IIS or Windows Activation Service (WAS).</li>
<li>COM+ components can also be hosted as WCF services.</li>
</ul>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2010/03/soa-based-wcf-architecture.html">The Tech Jungle</a> at 3/25/2010 12:00:00 PM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=31&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2010/03/25/the-tech-jungle-soa-based-wcf-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>

		<media:content url="http://lh4.ggpht.com/_5NiTz0zBFLI/S6uyKBP0GeI/AAAAAAAADzU/ZakkAvMSnjY/wcf-arch.gif" medium="image">
			<media:title type="html">wcf-arch.gif</media:title>
		</media:content>

		<media:content url="http://lh3.ggpht.com/_5NiTz0zBFLI/S6uyKd4WsAI/AAAAAAAADzY/fSpV-XWuaGA/WCF%20architectural%20flow.gif" medium="image">
			<media:title type="html">WCF%20architectural%20flow.gif</media:title>
		</media:content>
	</item>
		<item>
		<title>The Tech Jungle Windows Communication Foundation (WCF) &#8211; Glossary</title>
		<link>http://thetechjungle.wordpress.com/2010/03/25/the-tech-jungle-windows-communication-foundation-wcf-glossary/</link>
		<comments>http://thetechjungle.wordpress.com/2010/03/25/the-tech-jungle-windows-communication-foundation-wcf-glossary/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 18:55:24 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2010/03/25/the-tech-jungle-windows-communication-foundation-wcf-glossary/</guid>
		<description><![CDATA[WCF Fundamentals Service are applications that wait for clients to communicate with them and respond to that communication. They expose the functionalities to client. Client initiate the communication. They consume the service offered by Service. Message: A message is a self-contained unit of data that may consist of seveal parts, including a body and headers. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=30&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://lh4.ggpht.com/_5NiTz0zBFLI/S6uwqZs3kgI/AAAAAAAADzM/dJizVt0rTnc/wcf-message.jpg"><br />
</a></p>
<p><strong>WCF Fundamentals</strong></p>
<ul>
<li><strong>Service </strong>are applications that wait for clients to communicate with them and respond to that communication. They expose the functionalities to client.</li>
<li><strong>Client </strong>initiate the communication. They consume the service offered by Service.</li>
<li><strong>Message: </strong>A message is a self-contained unit of data that may consist of seveal parts, including a body and headers. Clients &amp; Service communicate using XML messages.</li>
</ul>
<p>A single application can act as both a client and a service.</p>
<p><strong>Endpoints</strong><br />
Messages are sent between endpoints. Endpoints are places where messages are sent or received (or both), and they define all the information required for the message exchange. A service exposes one or more application endpoints (as well as zero or more infrastructure endpoints), and the client generates an endpoint that is compatible with one of the service&#8217;s endpoints.</p>
<p>An <em>endpoint</em> describes in a standard-based way where messages should be sent, how they should be sent, and what the messages should look like. A service can expose this information as metadata that clients can process to generate appropriate WCF clients and communication <em>stacks</em>.</p>
<p><a href="http://lh3.ggpht.com/_5NiTz0zBFLI/S6uwqX06F-I/AAAAAAAADzI/2Xwerhj-Ukg/wcf-address.jpg"><img src="http://lh3.ggpht.com/_5NiTz0zBFLI/S6uwqX06F-I/AAAAAAAADzI/2Xwerhj-Ukg/wcf-address.jpg" alt="wcf-address.jpg" /></a></p>
<p>An endpoint consists of these components:</p>
<ul>
<li><strong>address </strong>Each endpoint has a unique address that helps a client know where it is located on the network.It is specified as a Uniform Resource Identifier (URI). The URI schema part names the transport mechanism to use to reach the address, such as HTTP and TCP. The hierarchical part of the URI contains a unique location whose format is dependent on the transport mechanism. The client uses this address to send messages to an endpoint. An address can be absolute or relative. If you enter a relative address, WCF uses the absolute base address as the prefix for it. An example of an absolute address is <a href="http://localhost:8888/SampleService">http://localhost:8888/SampleService</a>.</li>
<li><strong>binding</strong> The binding of an endpoint describes the channels used to communicate with the endpoint. A channel is a route through which all messages pass in a WCF architecture. A channel is composed of binding elements that tell clients which transport protocol, encoding, and security configurations should be used to communicate with the endpoint. WCF provides many default bindings such as BasicHttpBinding and NetTcpBinding.</li>
<li><strong>contract </strong>An endpoint&#8217;s contract informs clients about the type of capabilities or features the endpoint provides. It tells clients the form of the message, what operations they can call, how they can call an operation, and what response message they will receive from the endpoint. A contract is created by applying the <em>ServiceContract </em>attribute to an interface or class description and applying the <em>OperationContract </em>attribute to each method included as a service operation.</li>
</ul>
<p>An WCF service is exposed to the world as a collection of endpoints.</p>
<ul>
<li><strong>Infrastructure endpoint </strong>An endpoint that is exposed by the infrastructure to facilitate functionality that is needed or provided by the service that does not relate to a service contract. For example, a service might have an infrastructure endpoint that provides metadata information.</li>
<li><strong>Application endpoint</strong> An endpoint exposed by the application and that corresponds to a service contract implemented by the application.</li>
<li><strong>Binding element</strong> A binding element represents a particular piece of the binding, such as a transport, an encoding, an implementation of an infrastructure-level protocol (such as WS-ReliableMessaging), or any other component of the communication stack.</li>
<li><strong>service operation: </strong>A service operation is a procedure defined in a service&#8217;s code that implements the functionality for an operation. This operation is exposed to clients as methods on a WCF client. The method may return a value, and may take an optional number of arguments, or take no arguments, and return no response. For example, an operation that functions as a simple &#8220;Hello&#8221; can be used as a notification of a client&#8217;s presence and to begin a series of operations.</li>
<li><strong>service contract :</strong>The service contract ties together multiple related operations into a single functional unit. The contract can define service-level settings, such as the namespace of the service, a corresponding callback contract, and other such settings. In most cases, the contract is defined by creating an interface in the programming language of your choice</li>
<li><strong>Operation contract: </strong>An operation contract defines the parameters and return type of an operation. When creating an interface that defines the service contract, you signify an operation contract by applying the OperationContractAttribute attribute to each method</li>
<li><strong>Message contract:</strong>A message contract describes the format of a message. For example, it declares whether message elements should go in headers versus the body, what level of security should be applied to what elements of the message, and so on.</li>
<li><strong>Fault contract: </strong>A fault contract can be associated with a service operation to denote errors that can be returned to the caller. An operation can have zero or more faults associated with it. These errors are SOAP faults that are modeled as exceptions in the programming model.</li>
<li><strong>Data contract: </strong>The data types a service uses must be described in metadata to enable others to interoperate with the service. The descriptions of the data types are known as the data contract, and the types can be used in any part of a message, for example, as parameters or return types. If the service is using only simple types, there is no need to explicitly use data contracts.</li>
</ul>
<p><strong>Behaviors </strong></p>
<ul>
<li>A behavior is a component that controls various run-time aspects of a service, an endpoint, a particular operation, or a client.</li>
<li>Behaviors are grouped according to scope.</li>
<li>Common behaviors affect all endpoints globally, service behaviors affect only service-related aspects, endpoint behaviors affect only endpoint-related properties, and operation-level behaviors affect particular operations. For example, one service behavior is throttling, which specifies how a service reacts when an excess of messages threaten to overwhelm its handling capabilities. An endpoint behavior, on the other hand, controls only aspects relevant to endpoints, such as how and where to find a security credential.</li>
</ul>
<p><strong>Communication Protocols</strong><br />
One required element of the communication stack is the <em>transport protocol</em>. Messages can be sent over intranets and the Internet using common transports, such as HTTP and TCP. Other transports are included that support communication with Microsoft Message Queuing (MSMQ) applications and nodes on a Peer Networking mesh. More transport mechanisms can be added using the built-in extension points of WCF.</p>
<p>Encoding is specified in communication stack which specifies how any given message is formatted. WCF provides the following encodings:</p>
<ul>
<li>Text encoding, an interoperable encoding.</li>
<li>Message Transmission Optimization Mechanism (MTOM) encoding, which is an interoperable way for efficiently sending unstructured binary data to and from a service.</li>
<li>Binary encoding for efficient transfer.</li>
</ul>
<p>More encoding mechanisms (for example, a compression encoding) can be added using the built-in extension points of WCF.</p>
<p><strong>Message Patterns</strong><br />
The message exchange patterns used in WCF are either</p>
<ul>
<li><strong>One Way:</strong> The <strong>One Way</strong> is when the sender sends a message to the receiver but the sender doesn&#8217;t expect the receiver to reply to this message, it is something like Fire &amp; Forget.</li>
<li><strong>Request/Reply:</strong> The <strong>Request / Reply</strong> is when the sender sends a message to the receiver and expects ONLY one reply from the receiver, as an example any web page you request for it in your browser you expect a reply (Response) which is the Page you requested.</li>
<li><strong>Duplex:</strong> The <strong>Duplex</strong> is when both Sender &amp; Receiver construct a channel between them and everyone of them can send messages to the other at well, it is just like a Phone Call.</li>
</ul>
<p><a href="http://lh4.ggpht.com/_5NiTz0zBFLI/S6uwqZs3kgI/AAAAAAAADzM/dJizVt0rTnc/wcf-message.jpg"><img src="http://lh4.ggpht.com/_5NiTz0zBFLI/S6uwqZs3kgI/AAAAAAAADzM/dJizVt0rTnc/wcf-message.jpg" alt="wcf-message.jpg" /></a></p>
<p><strong>Hosting: </strong>A service must be hosted in some process. A <em>host</em> is an application that controls the lifetime of the service. Services can be self-hosted or managed by an existing hosting process.</p>
<p><strong>Self-hosted service: </strong>A self-hosted service is one that runs within a process application that the developer created. The developer controls its lifetime, sets the properties of the service, opens the service, and closes the service.</p>
<p><strong>metadata</strong></p>
<ul>
<li>The metadata of a service describes the characteristics of the service that an external entity needs to understand to communicate with the service. Metadata can be consumed by the ServiceModel Metadata Utility Tool (Svcutil.exe) to generate a WCF client and accompanying configuration that a client application can use to interact with the service.</li>
<li>The metadata exposed by the service includes XML schema documents, which define the data contract of the service, and WSDL documents, which describe the methods of the service.</li>
<li>When enabled, metadata for the service is automatically generated by WCF by inspecting the service and its endpoints. To publish metadata from a service, you must explicitly enable the metadata behavior.</li>
</ul>
<p><strong>WS-* </strong>Shorthand for the growing set of Web Service (WS) specifications, such as WS-Security, WS-ReliableMessaging, and so on, that are implemented in WCF.</p>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2010/03/windows-communication-foundation-wcf.html">The Tech Jungle</a> at 3/25/2010 11:55:00 AM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=30&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2010/03/25/the-tech-jungle-windows-communication-foundation-wcf-glossary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>

		<media:content url="http://lh3.ggpht.com/_5NiTz0zBFLI/S6uwqX06F-I/AAAAAAAADzI/2Xwerhj-Ukg/wcf-address.jpg" medium="image">
			<media:title type="html">wcf-address.jpg</media:title>
		</media:content>

		<media:content url="http://lh4.ggpht.com/_5NiTz0zBFLI/S6uwqZs3kgI/AAAAAAAADzM/dJizVt0rTnc/wcf-message.jpg" medium="image">
			<media:title type="html">wcf-message.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>The Tech Jungle Windows Communication Foundation &#8211; overview</title>
		<link>http://thetechjungle.wordpress.com/2010/03/24/the-tech-jungle-windows-communication-foundation-overview/</link>
		<comments>http://thetechjungle.wordpress.com/2010/03/24/the-tech-jungle-windows-communication-foundation-overview/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 18:26:33 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2010/03/24/the-tech-jungle-windows-communication-foundation-overview/</guid>
		<description><![CDATA[Windows Communication Foundation WCF is a framework ( yep another framework ). It is a unified programming model for building service oriented applications The WCF architecture uses message-based communication. This involves messages being sent between endpoints generated by either a service or a client. A service is an application that responds to a request, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=29&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Windows Communication Foundation</strong><br />
WCF is a framework ( yep another framework <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ). It is a unified programming model for building service oriented applications</p>
<p>The WCF architecture uses message-based communication. This involves messages being sent between endpoints generated by either a service or a client.</p>
<p>A service is an application that responds to a request, and a client is an application that initiates a request. In many cases, a single application can act as both a client and a service, depending on the situation.</p>
<p><img src="http://mail.google.com/mail/?ui=2&amp;ik=c94a9ee182&amp;view=att&amp;th=1278fd5f4bcf5881&amp;attid=0.1&amp;disp=emb&amp;zw" alt="?ui=2&amp;ik=c94a9ee182&amp;view=att&amp;th=1278fd5f4bcf5881&amp;attid=0.1&amp;disp=emb&amp;zw" /></p>
<p>WCF is implemented primarily as a set of classes on top of the .NET Framework’s Common Language Runtime (CLR). Because it extends their familiar environment, WCF allows .NET developers to build service-oriented applications in a familiar way.</p>
<p><strong>The benefits of WCF </strong></p>
<ul>
<li><strong>asynchronous one-way messaging</strong> Many applications use asynchronous one-way messaging. For example, web browsers send requests to web servers and wait for replies. WCF supports asynchronous one-way messaging, which provides advanced functionality, reliability, and application responsiveness. It also makes efficient use of available processing power. Asynchronous messaging is the most efficient way of performing the input and output tasks required by a distributed application.</li>
<li><strong>Support for cross-vendor interoperability, including security, and transactions. </strong> WCF has interoperability features that were previously spread across different technologies. It communicates using SOAP-based web services (WS-*) and supports Representational State Transfer (REST) architectures, Plan Old XML (POX) messaging systems, and JavaScript Object Notation (JSON) data during WCF runtimes. In addition, you can write custom extensions that enable WCF applications to communicate with applications that require proprietary message encodings.<br />
WCF allows transactional scopes to flow across multiple applications<br />
Because WCF adheres to the WS-Security specifications, its default security options range from message-based security to the more traditional transport-centric security model.</li>
<li><strong>reliability</strong>:WCF provides four assurances for reliability for distributed computing – at most once, at least once, exactly once, and in order. An assurance is similar to a guarantee. It contains mechanisms that provide these assurances with little or no modification to the application. As opposed to traditional types of assurances, WCF&#8217;s assurance mechanisms don&#8217;t depend on the transport method used.</li>
<li><strong>platform consolidation</strong></li>
</ul>
<p>WCF unifies the following distributed communication technologies</p>
<p><strong><a href="http://asp.net/">ASP.NET</a> Web Services (ASMX) and the Web Service Enhancements (WSE): </strong>The ASMX and WSE technologies provide an interoperable, service-oriented infrastructure and programming model that can easily be integrated into web services or web service clients. They work on HTTP only and can have performance issues but are interoperable because their data is encoded using XML.<br />
<strong>Enterprise Services</strong>: Enterprise Services is a component-oriented technology that provides transaction integration across multiple objects performing related work in a distributed environment. It minimizes throttling, optimizes pooling of object instances, provides a publish/subscribe mechanism for events, and uses a fast, secure, and platform-integrated transport method. However, Enterprise Services provides poor interoperability, because it is tightly coupled with the infrastructure.<br />
<strong>Microsoft Message Queue (MSMQ)</strong>: MSMQ is a set of objects that provide a durable, volatile, and scalable message queuing system that ensures reliable data transport from one place to the next. It is used to collect a group of messages, send them to a server for processing, and receive a reply from the server. However, MSMQ cannot process corrupted messages efficiently. When a corrupted message is received by the server, it blocks other messages in the queue.<br />
<strong>Remoting</strong>: Remoting is the application programming interface (API) used by .NET to allow .NET Framework applications to communicate across application domain boundaries. It is a very flexible and extensible model that enables developers to manipulate proxy mechanisms, transports, and the way communication channels function. However, Remoting does not provide interoperability with non-.NET applications.</p>
<ul>
<li><strong>Explicit support for service-oriented development.</strong></li>
</ul>
<p><strong>explicit boundaries</strong> WCF services function using defined interfaces to identify the communications that flow outside the boundaries of the service.<br />
<strong>independent services</strong> All WCF services are deployed and managed independently; they are independent of deployment, installation, and version issues. Also, each service interaction is independent of other interactions.<br />
<strong>schema and contract-based communication</strong> WCF services communicate with clients by providing only the schema of the message and not its implementation classes. This helps developers change the service implementation in the future without impacting the clients.<br />
<strong>policy-based compatibility</strong> Compatibility between WCF services and clients at run time is determined using published policies. Policies help separate the description of the service from its implementation details.</p>
<p>The SOA-based WCF architecture contains four layers – Contracts, Service Runtime, Messaging, and Hosting.</p>
<p><strong>Contracts: </strong>The Contracts layer describes the WCF message system.<br />
They are of two types- Data &amp; Service</p>
<ul>
<li>A <strong>Service Contract</strong> describes the method signatures of a service. It&#8217;s defined using programming languages, such as Visual Basic and Visual C#.</li>
<li>A <strong>Data Contract</strong> enables .NET types to be expressed in XML.</li>
<li><strong>Message Contracts</strong> define the structure of SOAP messages exchanged between a service and a client, and they allow you to view or modify messages.</li>
<li>Policies and Bindings</li>
<li>Policies and Bindings define the configuration, such as security levels, required by clients to communicate with a service.</li>
</ul>
<p><strong>A practical experience</strong><br />
Last year i was associated with a project (.Net 2.0) which had both Java &amp; .net modules interacting with each other. More over there were custom adapters/interfaces (in C#) for around 500 external devices which interected with our application. Few devices provided the data for our application and few others were dependant on the data generated by our application. A specific set of meesages were send to MSMQ for other devices to read. It was a distirbution nightmare. We had web services. custom adapters, MSMQ, remoting almost all the distributed technologies supported by Microsoft in one project. Initially we had a very difficult time managing all these.</p>
<p>We migrated the project to .Net 3.5. To solve this distribution nightmare we adopted WCF. The following factors helped us to choose WCF</p>
<ul>
<li>Because WCF can communicate using Web services, interoperability with other platforms that also support SOAP, such as the leading J2EE-based application servers, is straightforward.(We can also configure and extend WCF to communicate with Web services using messages not based on SOAP, for example, simple XML formats like RSS)</li>
<li>Managing object lifetimes, defining distributed transactions, and other aspects of Enterprise Services are now provided by WCF. They are available to any WCF-based application, which means that the our application can use them with any of the other applications it communicates with.</li>
<li>The WCF option for queued messaging, built on Message Queuing, allows applications to use persistent queuing without using another set of application programming interfaces.</li>
<li>Performance is of paramount concern for most businesses. WCF is developed with the goal of being one of the fastest distributed application platform developed by Microsoft. (To allow optimal performance when both parties in a communication are built on WCF, the wire encoding can be used, in this case is an optimized binary version of an XML Information Set. Messages still conform to the data structure of a SOAP message, but their encoding uses a binary representation of that data structure rather than the standard angle-brackets-and-text format of the XML 1.0 text encoding.)</li>
</ul>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2010/03/windows-communication-foundation.html">The Tech Jungle</a> at 3/24/2010 11:26:00 AM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=29&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2010/03/24/the-tech-jungle-windows-communication-foundation-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>

		<media:content url="http://mail.google.com/mail/?ui=2&#38;ik=c94a9ee182&#38;view=att&#38;th=1278fd5f4bcf5881&#38;attid=0.1&#38;disp=emb&#38;zw" medium="image">
			<media:title type="html">?ui=2&#38;ik=c94a9ee182&#38;view=att&#38;th=1278fd5f4bcf5881&#38;attid=0.1&#38;disp=emb&#38;zw</media:title>
		</media:content>
	</item>
		<item>
		<title>The Tech Jungle ASP.net &#8211; Http handlers &#8211; implementing IHttpHandler</title>
		<link>http://thetechjungle.wordpress.com/2010/03/13/the-tech-jungle-asp-net-http-handlers-implementing-ihttphandler/</link>
		<comments>http://thetechjungle.wordpress.com/2010/03/13/the-tech-jungle-asp-net-http-handlers-implementing-ihttphandler/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 16:25:05 +0000</pubDate>
		<dc:creator>Abhi</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://thetechjungle.wordpress.com/2010/03/13/the-tech-jungle-asp-net-http-handlers-implementing-ihttphandler/</guid>
		<description><![CDATA[Implementing a generic HTTP handler has its own limitations. To give more power to handle request in any URL we can create our own HTTP handlers using the interface IHttpHandler. This interface defines the contract that ASP.NET implements to synchronously process HTTP Web requests using custom HTTP handlers. You can create HTTP handler in any [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=28&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Implementing a generic HTTP handler has its own limitations. To give more power to handle request in any URL we can create our own HTTP handlers using the interface IHttpHandler. This interface defines the contract that ASP.NET implements to synchronously process HTTP Web requests using custom HTTP handlers.</p>
<p>You can create HTTP handler in any of the .net language which can run in the framework (any CLS compliant language).<br />
In the following example I have used C#</p>
<p>public class ImageHandlerNew :IHttpHandler<br />
{<br />
const string connectionStringName = &quot;Images&quot;;</p>
<p>public void ProcessRequest(HttpContext context)<br />
{</p>
<p>}</p>
<p>public bool IsReusable<br />
{<br />
get { return true; }<br />
}</p>
<p>}</p>
<p>In this example the most important function is ProcessRequest which handles the incoming request from browser, process it and sends back the response. This function takes the current running context as parameter. This context enables has all the runtime objects &amp; context information of ASPX execution thread.<br />
As mentioned in <a href="http://thetechjungle.blogspot.com/2010/02/aspnet-http-handlers-generic-hander.html">http://thetechjungle.blogspot.com/2010/02/aspnet-http-handlers-generic-hander.html</a> , The IsReusable property indicates whether the same handler can be reused over multiple requests.</p>
<p>You can add a lot of different functionalities like generating the PDF, excel files or retrieving the stock quotes in ProcessRequest function (when client requests for a specific resource). For testing you can use the following function which retrieves the image file stored in SQL server database.</p>
<p>public void ProcessRequest(HttpContext context)<br />
{<br />
context.Response.Buffer = false;</p>
<p>string filename = VirtualPathUtility.GetFileName(context.Request.Path);</p>
<p>string connstring = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;</p>
<p>SqlConnection con = new SqlConnection(connstring);<br />
SqlCommand cmd = new SqlCommand(&quot;SELECT Image FROM Images WHERE FileName=@FileName&quot;, con);<br />
cmd.Parameters.AddWithValue(&quot;@FileName&quot;, filename);</p>
<p>using (con)</p>
<p>{<br />
con.Open();<br />
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess);<br />
if (reader.Read())</p>
<p>{<br />
int bufferSize = 8040;<br />
byte[] chunk = new byte[bufferSize];<br />
long retcount;</p>
<p>long startindex = 0;<br />
retcount = reader.GetBytes(0, startindex, chunk, 0, bufferSize);<br />
while (retcount == bufferSize)<br />
{<br />
context.Response.BinaryWrite(chunk);</p>
<p>startindex += bufferSize;</p>
<p>retcount = reader.GetBytes(0, startindex, chunk, 0, bufferSize);</p>
<p>}</p>
<p>byte[] actualchunk = new byte[retcount - 1];<br />
Buffer.BlockCopy(chunk, 0, actualchunk, 0,(int) retcount-1);<br />
context.Response.BinaryWrite(actualchunk);</p>
<p>}<br />
}</p>
<p>}</p>
<p>After adding thie CS file in your application add the following in web.config</p>
<p>&lt;httpHandlers&gt;<br />
&lt;add verb=&quot;*&quot; path=&quot;*.gif&quot; validate=&quot;false&quot; type=&quot;AspNet.ImageHandlerNew&quot;/&gt;<br />
&lt;add verb=&quot;*&quot; path=&quot;*.jpg&quot; validate=&quot;false&quot; type=&quot;AspNet.ImageHandlerNew&quot;/&gt;<br />
&lt;add verb=&quot;*&quot; path=&quot;*.jpeg&quot; validate=&quot;false&quot; type=&quot;AspNet.ImageHandlerNew&quot;/&gt;<br />
httpHandlers&gt;</p>
<ul>
<li>path: Enables you to specify the path associated with the handler. You can use wildcards in the path expression.</li>
<li>verb:Enables you to specify the HTTP verbs, such as GET or POST, associated with the handler. You can specify multiple verbs in a comma-separated list. You can represent any verb with the * wildcard.</li>
<li>type : Enables you to specify the name of the class that implements the handler.</li>
<li>validate:Enables you to specify whether the handler is loaded during application startup. When true, the handler is loaded at startup. When false, the handler is not loaded until a request associated with the handler is made. This second option can improve your application’s performance.</li>
</ul>
<p><strong>How to execute this Handler?</strong><br />
Remember once you create this handler all the requests for .gif,.jpg &amp; .jpeg resources will be handled by this. So if the corresponding data is not available in database this code will not display anything. You don’t have to add any special code in your aspx or associated class files, ASPNET/IIS runtime will automatically redirect the corresponding resource request to this class/dll.</p>
<p>&#8211;<br />
Posted By Abhi to <a href="http://thetechjungle.blogspot.com/2010/03/aspnet-http-handlers-implementing.html">The Tech Jungle</a> at 3/01/2010 10:10:00 AM</p>
<br />Filed under: <a href='http://thetechjungle.wordpress.com/category/net/'>.Net</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/thetechjungle.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/thetechjungle.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/thetechjungle.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/thetechjungle.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/thetechjungle.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/thetechjungle.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/thetechjungle.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/thetechjungle.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/thetechjungle.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/thetechjungle.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/thetechjungle.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/thetechjungle.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/thetechjungle.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/thetechjungle.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=thetechjungle.wordpress.com&amp;blog=5620380&amp;post=28&amp;subd=thetechjungle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://thetechjungle.wordpress.com/2010/03/13/the-tech-jungle-asp-net-http-handlers-implementing-ihttphandler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cf58adc1f2449a923339468154db2b74?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">myabhi</media:title>
		</media:content>
	</item>
	</channel>
</rss>
