<?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/"
	>

<channel>
	<title>Win Web Hosting &#187; programming</title>
	<atom:link href="http://www.winwebhosting.com/blog/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.winwebhosting.com/blog</link>
	<description>Web Hosting Information</description>
	<lastBuildDate>Thu, 09 Feb 2012 06:33:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Programming PDF in ASP.NET web server environments</title>
		<link>http://www.winwebhosting.com/blog/asp_net/programming-pdf-in-asp-net-web-server-environments/</link>
		<comments>http://www.winwebhosting.com/blog/asp_net/programming-pdf-in-asp-net-web-server-environments/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 14:33:43 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Environments]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/asp_net/programming-pdf-in-asp-net-web-server-environments/</guid>
		<description><![CDATA[Programming PDF applications in ASP and ASP.NET web server environments www.pdfonline.com The steps that are covered in this video can be found in the easyPDF SDK usermanual: tiny.cc]]></description>
			<content:encoded><![CDATA[<p>					<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/0W4A4xdrxSY?fs=1"></param><param name="allowFullScreen" value="true"></param>
					<embed src="http://www.youtube.com/v/0W4A4xdrxSY?fs=1" type="application/x-shockwave-flash" width="425" height="355" allowfullscreen="true"></embed></object><br />
Programming PDF applications in ASP and ASP.NET web server environments www.pdfonline.com The steps that are covered in this video can be found in the easyPDF SDK usermanual: tiny.cc</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.winwebhosting.com%2Fblog%2Fasp_net%2Fprogramming-pdf-in-asp-net-web-server-environments%2F&amp;title=Programming%20PDF%20in%20ASP.NET%20web%20server%20environments"><img src="http://www.winwebhosting.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/asp_net/programming-pdf-in-asp-net-web-server-environments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How much C# should I know before starting some asp.net programming?</title>
		<link>http://www.winwebhosting.com/blog/asp_net/how-much-c-should-i-know-before-starting-some-asp-net-programming/</link>
		<comments>http://www.winwebhosting.com/blog/asp_net/how-much-c-should-i-know-before-starting-some-asp-net-programming/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 22:34:18 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[before]]></category>
		<category><![CDATA[know]]></category>
		<category><![CDATA[much]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[should]]></category>
		<category><![CDATA[some]]></category>
		<category><![CDATA[Starting]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/asp_net/how-much-c-should-i-know-before-starting-some-asp-net-programming/</guid>
		<description><![CDATA[I was told that I need to know some basic html &#038; C# to use asp.net. But what is basic? Do I need a deep knopwledge of C# before starting asp.net?]]></description>
			<content:encoded><![CDATA[<p>I was told that I need to know some basic html &#038; C# to use asp.net. But what is basic? Do I need a deep knopwledge of C# before starting asp.net?</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.winwebhosting.com%2Fblog%2Fasp_net%2Fhow-much-c-should-i-know-before-starting-some-asp-net-programming%2F&amp;title=How%20much%20C%23%20should%20I%20know%20before%20starting%20some%20asp.net%20programming%3F"><img src="http://www.winwebhosting.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/asp_net/how-much-c-should-i-know-before-starting-some-asp-net-programming/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASP.Net is Available as an Outsource Service by Programming Consultants and Companies</title>
		<link>http://www.winwebhosting.com/blog/asp_net/asp-net-is-available-as-an-outsource-service-by-programming-consultants-and-companies/</link>
		<comments>http://www.winwebhosting.com/blog/asp_net/asp-net-is-available-as-an-outsource-service-by-programming-consultants-and-companies/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 22:33:07 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Available]]></category>
		<category><![CDATA[companies]]></category>
		<category><![CDATA[Consultants]]></category>
		<category><![CDATA[Outsource]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[service]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/asp_net/asp-net-is-available-as-an-outsource-service-by-programming-consultants-and-companies/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/asp_net/asp-net-is-available-as-an-outsource-service-by-programming-consultants-and-companies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Practical Programming: ASP.Net MVC 3/C#/SQL/JavaScript/jQuery Part 1</title>
		<link>http://www.winwebhosting.com/blog/asp_net/practical-programming-asp-net-mvc-3csqljavascriptjquery-part-1/</link>
		<comments>http://www.winwebhosting.com/blog/asp_net/practical-programming-asp-net-mvc-3csqljavascriptjquery-part-1/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 06:33:31 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[3/C#/SQL/JavaScript/jQuery]]></category>
		<category><![CDATA[Part]]></category>
		<category><![CDATA[Practical]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/asp_net/practical-programming-asp-net-mvc-3csqljavascriptjquery-part-1/</guid>
		<description><![CDATA[This is the first part of my new screencast series on practical programming. The entire series will dive into ASP.Net MVC3, C# 4.0, MSSQL, JavaScript (specifically jQuery) and AJAX, leaving watchers with enough understanding to being programming even if they haven&#8217;t ever done it before. If you have any suggestions, let me know!]]></description>
			<content:encoded><![CDATA[<p>					<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/ElP21eBOnFc?fs=1"></param><param name="allowFullScreen" value="true"></param>
					<embed src="http://www.youtube.com/v/ElP21eBOnFc?fs=1" type="application/x-shockwave-flash" width="425" height="355" allowfullscreen="true"></embed></object><br />
This is the first part of my new screencast series on practical programming. The entire series will dive into ASP.Net MVC3, C# 4.0, MSSQL, JavaScript (specifically jQuery) and AJAX, leaving watchers with enough understanding to being programming even if they haven&#8217;t ever done it before. If you have any suggestions, let me know!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.winwebhosting.com%2Fblog%2Fasp_net%2Fpractical-programming-asp-net-mvc-3csqljavascriptjquery-part-1%2F&amp;title=Practical%20Programming%3A%20ASP.Net%20MVC%203%2FC%23%2FSQL%2FJavaScript%2FjQuery%20Part%201"><img src="http://www.winwebhosting.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/asp_net/practical-programming-asp-net-mvc-3csqljavascriptjquery-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your Guide to Computer Programming Magazines</title>
		<link>http://www.winwebhosting.com/blog/microsoft_ajax/your-guide-to-computer-programming-magazines/</link>
		<comments>http://www.winwebhosting.com/blog/microsoft_ajax/your-guide-to-computer-programming-magazines/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 02:33:42 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Microsoft AJAX]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[Magazines]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/microsoft_ajax/your-guide-to-computer-programming-magazines/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/microsoft_ajax/your-guide-to-computer-programming-magazines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET Programming &#8211; An Introduction to ASP.NET Programming &amp; Development</title>
		<link>http://www.winwebhosting.com/blog/asp_net/asp-net-programming-an-introduction-to-asp-net-programming-development/</link>
		<comments>http://www.winwebhosting.com/blog/asp_net/asp-net-programming-an-introduction-to-asp-net-programming-development/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 22:34:12 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Introduction]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/asp_net/asp-net-programming-an-introduction-to-asp-net-programming-development/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/asp_net/asp-net-programming-an-introduction-to-asp-net-programming-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET programming tutorial -Basic Controls Video 1 &#8211; Part 4 [BestDotNetTraining.com]</title>
		<link>http://www.winwebhosting.com/blog/asp_net/asp-net-programming-tutorial-basic-controls-video-1-part-4-bestdotnettraining-com/</link>
		<comments>http://www.winwebhosting.com/blog/asp_net/asp-net-programming-tutorial-basic-controls-video-1-part-4-bestdotnettraining-com/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 22:33:42 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Basic]]></category>
		<category><![CDATA[BestDotNetTraining.com]]></category>
		<category><![CDATA[controls]]></category>
		<category><![CDATA[Part]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/asp_net/asp-net-programming-tutorial-basic-controls-video-1-part-4-bestdotnettraining-com/</guid>
		<description><![CDATA[1. How to create and run the first ASP.NET application. 2. Understanding the code generated by VS.NET. 3. Example Programs. 4. Understanding AutoPostBack. 5. Types of Server Controls a. HTML controls. b. Web Server Controls. 6. Exploring Server Controls.]]></description>
			<content:encoded><![CDATA[<p>					<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/P55wTny0-A8?fs=1"></param><param name="allowFullScreen" value="true"></param>
					<embed src="http://www.youtube.com/v/P55wTny0-A8?fs=1" type="application/x-shockwave-flash" width="425" height="355" allowfullscreen="true"></embed></object><br />
1. How to create and run the first ASP.NET application. 2. Understanding the code generated by VS.NET. 3. Example Programs. 4. Understanding AutoPostBack. 5. Types of Server Controls a. HTML controls. b. Web Server Controls. 6. Exploring Server Controls.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.winwebhosting.com%2Fblog%2Fasp_net%2Fasp-net-programming-tutorial-basic-controls-video-1-part-4-bestdotnettraining-com%2F&amp;title=ASP.NET%20programming%20tutorial%20-Basic%20Controls%20Video%201%20%26%238211%3B%20Part%204%20%5BBestDotNetTraining.com%5D"><img src="http://www.winwebhosting.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/asp_net/asp-net-programming-tutorial-basic-controls-video-1-part-4-bestdotnettraining-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET Website Programming: Problem &#8211; Design &#8211; Solution  C# Edition</title>
		<link>http://www.winwebhosting.com/blog/cloud-hosting/asp-net-website-programming-problem-design-solution-c-edition/</link>
		<comments>http://www.winwebhosting.com/blog/cloud-hosting/asp-net-website-programming-problem-design-solution-c-edition/#comments</comments>
		<pubDate>Thu, 26 May 2011 22:40:07 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Cloud Hosting]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Edition]]></category>
		<category><![CDATA[Problem]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/cloud-hosting/asp-net-website-programming-problem-design-solution-c-edition/</guid>
		<description><![CDATA[Product DescriptionASP.NET Website Programming shows you how to build an interactive website from design to deployment. Packed with solutions to website programming problems, this book will have you building well-engineered, extendable ASP.NET websites quickly and easily. With ASP.NET Website Programming you will learn to: *Establish a solid, scalable website foundation *Provide flexible user accounts integrating [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://www.amazon.com/ASP-NET-Website-Programming-Problem-Solution/dp/1861006934%3FSubscriptionId%3DAKIAJGX6TA5UMY3IQOLA%26tag%3Dmusa@ottomansouvenir.com%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1861006934" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="http://ecx.images-amazon.com/images/I/516F9M0D5GL._SL160_.jpg" /></a></p>
<p><b>Product Description</b><br />ASP.NET Website Programming shows you how to build an  interactive website from design to deployment.    <P>Packed with solutions to website programming problems, this book will  have you building well-engineered, extendable ASP.NET websites quickly  and easily.    <P>With ASP.NET Website Programming you will learn to:    <P>*Establish a solid, scalable website foundation<BR>  *Provide flexible user accounts integrating with ASP.NET&#8217;s built-in security<BR>  *Create message forums that enable formatted messages but defend against cross-site scripting<BR>  *Generate revenue from advertising<BR>  *Build a web interface for uploading, downloading, editing, and managing the files on your site<BR>  *Add opinion polls, email newsletters, and news management<BR>  *Deploy the finished site on a live server<BR>  *Build websites using good, n-tier coding techniques    <P>The site we build is modular. You can slot the modules into your own  website, modify them, or use them as examples of particular ASP.NET  techniques.    <P>The book&#8217;s P2P forum is a platform for exchanging code and ideas, helping to extend the website with new modules and modifications.</p>
<p><a rel="nofollow" target="_blank" href="http://www.amazon.com/ASP-NET-Website-Programming-Problem-Solution/dp/1861006934%3FSubscriptionId%3DAKIAJGX6TA5UMY3IQOLA%26tag%3Dmusa@ottomansouvenir.com%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1861006934" title="ASP.NET Website Programming: Problem - Design - Solution  C# Edition" rel="nofollow"><b>ASP.NET Website Programming: Problem &#8211; Design &#8211; Solution  C# Edition</b></a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.winwebhosting.com%2Fblog%2Fcloud-hosting%2Fasp-net-website-programming-problem-design-solution-c-edition%2F&amp;title=ASP.NET%20Website%20Programming%3A%20Problem%20%26%238211%3B%20Design%20%26%238211%3B%20Solution%20%20C%23%20Edition"><img src="http://www.winwebhosting.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/cloud-hosting/asp-net-website-programming-problem-design-solution-c-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming ASP.NET AJAX</title>
		<link>http://www.winwebhosting.com/blog/microsoft_ajax/programming-asp-net-ajax/</link>
		<comments>http://www.winwebhosting.com/blog/microsoft_ajax/programming-asp-net-ajax/#comments</comments>
		<pubDate>Fri, 13 May 2011 08:34:13 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Microsoft AJAX]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/microsoft_ajax/programming-asp-net-ajax/</guid>
		<description><![CDATA[Product DescriptionDelivering rich, Web 2.0-style experiences has never been easier. This book gives you a complete hands-on introduction to Microsoft ASP.NET AJAX 1.0, the new framework that offers many of the same benefits for Ajax development that ASP.NET provides for server-side development. With Programming ASP.NET AJAX, you&#8217;ll learn how to create professional, dynamic web pages [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://www.amazon.com/Programming-ASP-NET-AJAX-ebook/dp/B0028N4WEW%3FSubscriptionId%3DAKIAJGX6TA5UMY3IQOLA%26tag%3Dmusa@ottomansouvenir.com%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0028N4WEW" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="http://ecx.images-amazon.com/images/I/51jJ95SlxkL._SL160_.jpg" /></a></p>
<p><b>Product Description</b><br />Delivering rich, Web 2.0-style experiences has never been easier. This book gives you a complete hands-on introduction to Microsoft ASP.NET AJAX 1.0, the new framework that offers many of the same benefits for Ajax development that ASP.NET provides for server-side development. With Programming ASP.NET AJAX, you&#8217;ll learn how to create professional, dynamic web pages with Ajax in no time.Loaded with code and examples that demonstrate key aspects of the framework, this book is ideal not only for ASP.NET developers who want to take their applications a step further with Ajax, but for any web developers interested in ASP.NET AJAX, no matter what technology they use currently. That includes JavaScript programmers who would like to avoid the headaches of writing cross-browser code.Programming ASP.NET AJAX offers you:A high-level overview of the ASP.NET AJAX frameworkFunctional code that you can cut and paste for use in your own applicationsThe essentials of JavaScript and Ajax to help you understand individual technologies used by the frameworkAn organization that reflects the framework&#8217;s packages, including Extensions, Control Toolkit, the Futures CTP, and the AJAX LibrarySidebars throughout the book that identify and propose solutions to potential security breachesWays to use the standards-based AJAX Library with other platforms, such as PHPA complete chapter on the UpdatePanel control for making individual parts of a web page independently updateable &#8212; one of the framework&#8217;s most important elementsReleased previously as Programming Atlas to cover the beta version of the Microsoft framework, this edition is fully up-to-date and expanded for the official 1.0 release of ASP.NET AJAX. Written by Christian Wenz &#8212; Microsoft MVP for ASP/ASP.NET and AJAX Control Toolkit Contributor &#8212; Programming ASP.NET AJAX contains many hard-to-find details, along with a few unofficial ways to accomplish things.</p>
<p><a rel="nofollow" target="_blank" href="http://www.amazon.com/Programming-ASP-NET-AJAX-ebook/dp/B0028N4WEW%3FSubscriptionId%3DAKIAJGX6TA5UMY3IQOLA%26tag%3Dmusa@ottomansouvenir.com%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0028N4WEW" title="Programming ASP.NET AJAX" rel="nofollow"><b>Programming ASP.NET AJAX</b></a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.winwebhosting.com%2Fblog%2Fmicrosoft_ajax%2Fprogramming-asp-net-ajax%2F&amp;title=Programming%20ASP.NET%20AJAX"><img src="http://www.winwebhosting.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/microsoft_ajax/programming-asp-net-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB</title>
		<link>http://www.winwebhosting.com/blog/cloud-hosting/programming-amazon-web-services-s3-ec2-sqs-fps-and-simpledb/</link>
		<comments>http://www.winwebhosting.com/blog/cloud-hosting/programming-amazon-web-services-s3-ec2-sqs-fps-and-simpledb/#comments</comments>
		<pubDate>Thu, 12 May 2011 22:40:02 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Cloud Hosting]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[SimpleDB]]></category>

		<guid isPermaLink="false">http://www.winwebhosting.com/blog/cloud-hosting/programming-amazon-web-services-s3-ec2-sqs-fps-and-simpledb/</guid>
		<description><![CDATA[ISBN13: 9780596515812 Condition: USED &#8211; Very Good Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed Product DescriptionBuilding on the success of its storefront and fulfillment services, Amazon now allows businesses to &#8220;rent&#8221; computing power, data storage and bandwidth on [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://www.amazon.com/Programming-Amazon-Web-Services-SimpleDB/dp/0596515812%3FSubscriptionId%3DAKIAJGX6TA5UMY3IQOLA%26tag%3Dmusa@ottomansouvenir.com%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0596515812" rel="nofollow"><img style="float:left;margin: 0 20px 10px 0;" src="http://ecx.images-amazon.com/images/I/51AdderkiKL._SL160_.jpg" /></a></p>
<ul>
<li>ISBN13: 9780596515812</li>
<li>Condition: USED &#8211; Very Good</li>
<li>Notes: BUY WITH CONFIDENCE, Over one million books sold! 98% Positive feedback. Compare our books, prices and service to the competition. 100% Satisfaction Guaranteed</li>
</ul>
<p><b>Product Description</b><br />Building on the success of its storefront and fulfillment services, Amazon now allows businesses to &#8220;rent&#8221; computing power, data storage and bandwidth on its vast network platform. This book demonstrates how developers working with small- to mid-sized companies can take advantage of Amazon Web Services (AWS) such as the Simple Storage Service (S3), Elastic Compute Cloud (EC2), Simple Queue Service (SQS), Flexible Payments Service (FPS), and SimpleDB to build web-scale business applications.With AWS, Amazon offers a new paradigm for IT infrastructure: use what you need, as you need it, and pay as you go. Programming Amazon Web Services explains how you can access Amazon&#8217;s open APIs to store and run applications, rather than spend precious time and resources building your own. With this book, you&#8217;ll learn all the technical details you need to: Store and retrieve any amount of data using application servers, unlimited data storage, and bandwidth with the Amazon S3 serviceBuy computing time using Amazon EC2&#8242;s interface to requisition machines, load them with an application environment, manage access permissions, and run your image using as many or few systems as neededUse Amazon&#8217;s web-scale messaging infrastructure to store messages as they travel between computers with Amazon SQSLeverage the Amazon FPS service to structure payment instructions and allow the movement of money between any two entities, humans or computersCreate and store multiple data sets, query your data easily, and return the results using Amazon SimpleDB.Scale up or down at a moment&#8217;s notice, using these services to employ as much time and space as you needWhether you&#8217;re starting a new online business, need to ramp up existing services, or require an offsite backup for your home, Programming Amazon Web Services gives you the background and the practical knowledge you need to start using AWS. Other books explain how to build web services. This book teaches businesses how to take make use of existing services from an established technology leader.<b>Amazon.com Review</b><br />   <b>Product Description</b><br />    Building on the success of its storefront and fulfillment services, Amazon now allows businesses to &#8220;rent&#8221; computing power, data storage and bandwidth on its vast network platform. This book demonstrates how developers working with small- to mid-sized companies can take advantage of Amazon Web Services (AWS) such as the Simple Storage Service (S3), Elastic Compute Cloud (EC2), Simple Queue Service (SQS), Flexible Payments Service (FPS), and SimpleDB to build web-scale business applications. With AWS, Amazon offers a new paradigm for IT infrastructure: use what you need, as you need it, and pay as you go. Programming Web Services explains how you can access Amazon&#8217;s open APIs to store and run applications, rather than spend precious time and resources building your own. With this book, you&#8217;ll learn all the technical details you need to: Store and retrieve any amount of data using application servers, unlimited data storage, and bandwidth with the Amazon S3 service Buy computing time using Amazon EC2&#8242;s interface to requisition machines, load them with an application environment, manage access permissions, and run your image using as many or few systems as needed Use Amazon&#8217;s web-scale messaging infrastructure to store messages as they travel between computers with Amazon SQS Leverage the Amazon FPS service to structure payment instructions and allow the movement of money between any two entities, humans or computers Create and store multiple data sets, query your data easily, and return the results using Amazon SimpleDB. Scale up or down at a moment&#8217;s notice, using these services to employ as much time and space as you need Whether you&#8217;re starting a new online business, need to ramp upexisting services, or require an offsite backup for your home, Programming Web Services gives you the background and the practical knowledge you need to start using AWS. Other books explain how to build web services. This book teaches businesses how to take make use of existing services from an established technology leader.  <br/><br/>      <span class="h1"><strong>Create HTML POST Forms That Allow Your Web Site Visitors to Upload Files Into Your S3 Account Using a Standard Web Browser</strong></span><br/>    By James Murty, creator of the JetS3t Java S3 library and author of <i>Programming Amazon Web Services</i><br/>
<p>Amazons Simple Storage Service (S3) provides cheap and unlimited online data storage for anyone with a credit card and an Amazon Web Service (AWS) account. If you have an AWS account, you can interact with the S3 service using specialized tools to upload and manage your files. It is very convenient to have access to this online storage resource for yourself, but there may be situations where you would like to allow others to upload files into your account. </p>
<p>For this purpose, S3 accepts uploads via specially-crafted and pre-authorized HTML POST forms. You can include these forms in any web page to allow your web site visitors to send you files using nothing more than a standard web browser. </p>
<p>In this article, I will demonstrate how to build simple S3 POST forms. I will assume that you have already signed up for the S3 service, and that you have an S3 client program for creating buckets and viewing files in your account. Before you proceed, create your own bucket to store uploaded files  in the examples below I will use a bucket named <em>s3-bucket</em>.</p>
<h2 id="POST Form Web Page">POST Form Web Page</h2>
<p>Here is a web page with an S3 POST Form that you can use as a template for your own forms:</p>
<pre><code><html>     <head>             <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />    </head>      <body>
<form action="https://s3-bucket.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
<input type="hidden" name="key" value="uploads/${filename}">
<input type="hidden" name="AWSAccessKeyId" value="YOUR_AWS_ACCESS_KEY">
<input type="hidden" name="acl" value="private">
<input type="hidden" name="success_action_redirect" value="http://localhost/">
<input type="hidden" name="policy" value="YOUR_POLICY_DOCUMENT_BASE64_ENCODED">
<input type="hidden" name="signature" value="YOUR_CALCULATED_SIGNATURE">
<input type="hidden" name="Content-Type" value="image/jpeg">                     File to upload to S3:
<input name="file" type="file"> 
<input type="submit" value="Upload File to S3">       </form>

     </body>  </html>  </code></pre>
<p>This template demonstrates some important features of an S3 POST form, and the web page that contains it:</p>
<ul>
<li>The web page that contains the form has a <code>meta</code> tag in the head section that tells web browsers to use the <code>UTF-8</code> unicode character encoding.</li>
<li>The forms <code>action</code> parameter specifies an S3 URL that includes the name of your destination bucket, in this case the bucket called <em>s3-bucket</em>.</li>
<li>The form contains a number of input fields with parameter names and values that will be sent to the S3 service. If any required input fields are missing, or if a field has an incorrect value, the service will not accept uploads from the form.</li>
</ul>
<p>The S3 service uses information from the forms input fields to authorize uploads, and to set the properties of uploaded file objects. Here is a description of the most common input fields:</p>
<table id="aws-table" cellspacing="0">
<tr>
<th>Field Name</th>
<th>Description</th>
</tr>
<tr>
<td>key</td>
<td>A name for the S3 object that will store the uploaded files data. This name can be set in advance when you know what information the user will upload, for example: <em>uploads/monthly_report.txt</em>.
<p>If you do not know the name of the file a user will upload, the key value can include the special variable <code>${filename}</code> which will be replaced with the name of the uploaded file. For example, the key value <em>uploads/${filename}</em> will become the object name <em>uploads/Birthday Cake.jpg</em> if the user uploads a file called <em>Birthday Cake.jpg</em>.</td>
</tr>
<tr>
<td>AWSAccessKeyId</td>
<td>The Access Key Identifier credential for your Amazon Web Service account.</td>
</tr>
<tr>
<td>acl</td>
<td>The access control policy to apply to the uploaded file. If you do not want the uploaded file to be made available to the general public, you should use the value <code>private</code>. To make the uploaded file publicly available, use the value <code>public-read</code>.</td>
</tr>
<tr>
<td>success_action_redirect</td>
<td>The URL address to which the users web browser will be redirected after the file is uploaded. This URL should point to a Successful Upload page on your web site, so you can inform your users that their files have been accepted. S3 will add <code>bucket</code>, <code>key</code> and <code>etag</code> parameters to this URL value to inform your web application of the location and hash value of the uploaded file.</td>
</tr>
<tr>
<td>policy</td>
<td>A Base64-encoded policy document that applies rules to file uploads sent by the S3 POST form. This document is used to authorize the form, and to impose conditions on the files that can be uploaded. Policy documents will be described in more detail below.</td>
</tr>
<tr>
<td>signature</td>
<td>A signature value that authorizes the form and proves that only you could have created it. This value is calculated by signing the Base64-encoded policy document with your AWS Secret Key, a process that I will demonstrate below.</td>
</tr>
<tr>
<td>Content-Type</td>
<td>The content type (mime type) that will be applied to the uploaded file, for example <code>image/jpeg</code> for JPEG picture files. If you do not know what type of file a user will upload, you can either prompt the user to provide the appropriate content type, or write browser scripting code that will automatically set this value based on the files name.
<p>If you do not set the content type with this field, S3 will use the default value <code>application/octet-stream</code> which may prevent some web browsers from being able to display the file properly.</td>
</tr>
<tr>
<td>file</td>
<td>The input field that allows a user to select a file to upload. This field must be the last one in the form, as any fields below it are ignored by S3.</td>
</tr>
</table>
<p>This overview of the forms input fields should help you to modify the template POST form to suit your own purposes. At a minimum, you will need to edit the forms <code>action</code> parameter to point to your own S3 bucket, and set the value of the <code>AWSAccessKeyId</code> field to your AWS Access Key credential.</p>
<p>To complete the form and make it acceptable to the S3 service, you will also need to generate a policy document and signature value.</p>
<h2 id="policydocument">Policy Document</h2>
<p>S3 POST forms include a policy document that authorizes the form and imposes limits on the files that can be uploaded. When S3 receives a file via a POST form, it will check the policy document and signature to confirm that the form was created by someone who is allowed to store files in the target S3 account.</p>
<p>A policy document is a collection of properties expressed in JavaScript Object Notation, which simply means that the documents structure and content must conform to a certain format. Every policy document contains two top-level items:</p>
<ul>
<li><code>expiration</code> &#8211; A Greenwich Mean Time (GMT) timestamp that specifies when the policy document will expire. Once a policy document has expired, the upload form will no longer work.</li>
<li><code>conditions</code> &#8211; A set of rules to define the values that may be included in the forms input fields, and to impose size limits for file uploads. </li>
</ul>
<p>Here is a policy document corresponding to the POST form template above. This policy has an <code>expiration</code> date of January 1st 2009:</p>
<pre><code>{"expiration": "2009-01-01T00:00:00Z",    "conditions": [       {"bucket": "s3-bucket"},       ["starts-with", "$key", "uploads/"],      {"acl": "private"},      {"success_action_redirect": "http://localhost/"},      ["starts-with", "$Content-Type", ""],      ["content-length-range", 0, 1048576]    ]  }  </code></pre>
<p>To create a valid S3 POST form, you must include a policy document whose <code>conditions</code> section contains a rule for almost every input field in the form. At a minimum, this document must include rules for the <code>bucket</code> and <code>key</code> values of the uploaded file object. In addition to these two rules, you will need to include a rule for every other input field in the form except for <code>AWSAccessKeyId</code>, <code>signature</code>, <code>policy</code> and <code>file</code>. </p>
<p>Because our template POST form includes the input fields <code>acl</code>, <code>success_action_redirect</code>, and <code>Content-Type</code>, our policy document includes rules corresponding to these fields. Our policy document also includes an extra <code>content-length-range</code> rule that limits the size of files that can be uploaded.</p>
<p>There are three kinds of rules you can apply in your policy document:</p>
<ol>
<li>Equality rule, which checks that an input fields value is set to a given string. An equality rule is expressed as a name and value pair within brace characters, for example: <code>{"acl": "private"}</code></li>
<li>Starts-With rule, which checks that an input fields value begins with a given string. If the given string is empty, S3 will check only that the field is present in the form and will not care what value it contains. A starts-with rule is expressed as a three-element array that contains the term <code>starts-with</code>, followed by the name of the input field preceded by a <code>$</code> symbol, then the prefix string value for comparison. <br/>  In the policy document above, we use starts-with rules for the <code>key</code> and <code>Content-Type</code> fields because we do not know in advance the name of the file a user will upload, or what type of file it will be. The rule for the <code>Content-Type</code> field uses an empty string for comparison, which means it will permit any content type value. The rule for the objects <code>key</code> name uses the prefix string upload/, which means that the key value must always start with the <em>upload/</em> subdirectory path.</li>
<li>Content length rule, which checks that the size of an uploaded file is between a given minimum and maximum value. If this rule is not included in a policy document, users will be able to upload files of any size up to the 5GB limit imposed by S3. <br/>  A content length rule is expressed as a three-element array that contains the term <code>content-length-range</code>, followed by integer values to set the minimum and maximum file size. The policy document above includes a content length rule that will prevent the form from uploading files larger than 1MB in size (1,048,576 bytes).</li>
</ol>
<p>It is important to make sure that your policy document corresponds exactly to your S3 POST form. If there are any discrepancies between the input field values in your form and the rule values in your policy document, or if your form contains input fields that do not have corresponding rules in your policy, the S3 service will reject the form and return an incomprehensible XML error message to your users.</p>
<h2 id="signyours3postform">Sign Your S3 POST Form</h2>
<p>To complete your S3 POST form, you must sign it to prove to S3 that you actually created the form. If you do not sign the form properly, or if someone else tries to modify your form after it has been signed, the service will be unable to authorize it and will reject the upload.</p>
<p>To sign your form you need to perform two steps:</p>
<ol>
<li>Base64-encode the policy document, and include it in the forms <code>policy</code> input field.</li>
<li>Calculate a signature value (SHA-1 HMAC) from the encoded policy document using your AWS Secret Key credential as a password. Include this value in the forms <code>signature</code> input field after Base64-encoding it.</li>
</ol>
<p>Almost all programming languages include libraries for performing these two steps. Here are some example code fragments to do the job with different languages, assuming you have already defined the variables <code>policy_document</code> and <code>aws_secret_key</code>.</p>
<h3 id="ruby">Ruby</h3>
<pre><code>require 'base64'  require 'openssl'  require 'digest/sha1'    policy = Base64.encode64(policy_document).gsub("n","")    signature = Base64.encode64(      OpenSSL::HMAC.digest(          OpenSSL::Digest::Digest.new('sha1'),           aws_secret_key, policy)      ).gsub("n","")  </code></pre>
<h3 id="java">Java</h3>
<pre><code>import sun.misc.BASE64Encoder;  import javax.crypto.Mac;  import javax.crypto.spec.SecretKeySpec;    String policy = (new BASE64Encoder()).encode(      policy_document.getBytes("UTF-8")).replaceAll("n","");    Mac hmac = Mac.getInstance("HmacSHA1");  hmac.init(new SecretKeySpec(      aws_secret_key.getBytes("UTF-8"), "HmacSHA1"));  String signature = (new BASE64Encoder()).encode(      hmac.doFinal(policy.getBytes("UTF-8")))      .replaceAll("n", "");  </code></pre>
<h3 id="python">Python</h3>
<pre><code>import base64  import hmac, sha    policy = base64.b64encode(policy_document)    signature = base64.b64encode(      hmac.new(aws_secret_key, policy, sha).digest())  </code></pre>
<p>Once you have calculated the values for the <code>policy</code> and <code>signature</code> input fields and included these values in your form, the form should be complete. Save the web page and form document as an <code>.html</code> file, open it in your favorite web browser, and test it by uploading some files to your S3 bucket.</p>
<h2 id="conclusion">Conclusion</h2>
<p>The form web page and policy document templates in this article should give you a starting point for creating your own upload forms. With some minor modifications to the template documents and a little coding, you will be able to create authorized forms that make it easy for your web site visitors to upload files to your S3 account.</p>
<p>The S3 services POST support is a powerful feature with many potential uses. You could create a single upload form to allow your friends and colleagues to send you files that are too large for email, or you could modify your web applications to generate forms on-demand so your users can store their data in S3 rather than on your own server. Just remember that you will be liable for any S3 data transfer and storage fees incurred by the people who use your forms. </p>
<p><a rel="nofollow" target="_blank" href="http://www.amazon.com/Programming-Amazon-Web-Services-SimpleDB/dp/0596515812%3FSubscriptionId%3DAKIAJGX6TA5UMY3IQOLA%26tag%3Dmusa@ottomansouvenir.com%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0596515812" title="Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB" rel="nofollow"><b>Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDB</b></a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.winwebhosting.com%2Fblog%2Fcloud-hosting%2Fprogramming-amazon-web-services-s3-ec2-sqs-fps-and-simpledb%2F&amp;title=Programming%20Amazon%20Web%20Services%3A%20S3%2C%20EC2%2C%20SQS%2C%20FPS%2C%20and%20SimpleDB"><img src="http://www.winwebhosting.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.winwebhosting.com/blog/cloud-hosting/programming-amazon-web-services-s3-ec2-sqs-fps-and-simpledb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

