<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Giuseppe Guerrasio : IIS7</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx</link><description>Tags: IIS7</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Rai Net have expanded use of Live Smooth Streaming for Sports Event: Roma 09 FINA Swimming world championships and Berlin 2009 Athletics World Championships</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2009/09/11/rai-net-have-expanded-use-of-live-smooth-streaming-for-sports-event-roma-09-fina-swimming-world-championships-and-berlin-2009-athletics-world-championships.aspx</link><pubDate>Fri, 11 Sep 2009 08:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894017</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/9894017.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=9894017</wfw:commentRss><description>&lt;P&gt;How I introduced in my &lt;A href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx" target=_blank mce_href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx"&gt;previous post&lt;/A&gt; , Rai Net the internet company of RAI, the Italian public broadcaster, during the last FIFA Confederations Cup South Africa 2009 delivered free, live Web broadcasting in high definition television quality (720p) of the Italian soccer team matches during the tournament using Live Smooth Streaming . &lt;/P&gt;
&lt;P&gt;Smooth Streaming is an innovative technology based on &lt;A href="http://www.iis.net/media" target=_blank mce_href="http://www.iis.net/media"&gt;IIS Media Services&lt;/A&gt; and Silverlight, which the scope to simplify and make a reality delivering video content at high quality level through Internet up to true HD for Live and VOD.&lt;/P&gt;
&lt;P&gt;Smooth Streaming permit to solve one of the most significant limits in Internet video streaming connected to typical behaviors of the last mile for reproducing High Quality videos with high bitrates.&amp;nbsp; When we think to the way that the content is delivered to the client, we have a lot of parameter that change every second during the client reproduction. In particular bandwidth and CPU power availability conditions change every second and causing a video glitch and buffering during the reproduction of the content, especially for the content at high level of bitrates, generating a poor user experience.&lt;/P&gt;
&lt;P&gt;During the reproduction of the content Smooth Streaming dynamically detects current network and local PC conditions, and seamlessly switches the video quality of a media file that a Silverlight player receives. Consumers with high-bandwidth connections and newer hardware can experience HD quality streaming, and others with lower bandwidth speeds or older hardware receive an appropriate stream for their conditions, allowing the audience to enjoy an uninterrupted streaming experience with the highest quality possible.&lt;/P&gt;
&lt;P&gt;In my &lt;A href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx" target=_blank mce_href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx"&gt;previous post&lt;/A&gt; for Confederation Cup and for Smooth Streaming and in general and in the &lt;A href="http://www.iis.net/media" target=_blank mce_href="http://www.iis.net/media"&gt;official web site&lt;/A&gt; , you can found more information about this innovative technology &lt;/P&gt;
&lt;P&gt;After the success of this first test for Live Smooth Streaming, Rai Net have expanded the use of this technology for sports event on Rai Sport portal and delivered, up to true HD for Live and VOD after the Live event: Roma 09 FINA Swimming world championships and Berlin 2009 Athletics World Championships.&lt;/P&gt;
&lt;P&gt;In the follow pictures you can see some screen shots from Rai Sport Web Site from Roma 09 FINA Swimming world championships were you can see the adaptive part of smooth streaming at work:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image002_thumb.jpg" width=663 height=430 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;An from Berlin 2009 Athletics World Championships:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image004_thumb.jpg" width=658 height=533 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image006 border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image006_thumb.jpg" width=659 height=520 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The architecture used for these events is practically the same used for the Confederation Cup and illustrated in the &lt;A href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx" target=_blank mce_href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx"&gt;previous post&lt;/A&gt;, with the exception of the CDN because for this event RAI use two different CDN and balance the load on both at 50%. In the follow picture you can see the architecture used for these two events:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image008 border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image008_thumb.jpg" width=665 height=451 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The original HDTV 1080i signal in input is encoded in 7 different bitrates streams composed by a contiguous 2 secs video chunks codified in VC-1, created by 2 encoders. Each encoder creates 3-4 streams and synch through the encoders are achieved with a timecode generator in input in the encoders with the source video. Encoders push the streams to an origin server farm in load balancing were the two CDN pull for distribute Live, archive streaming and XAP code and offers these to Silverlight client player published on RAI.IT and RAI.TV portal . &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9894017" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Media/default.aspx">Media</category></item><item><title>Move Forward Internet video streaming: IIS7 Media Service and Smooth Streaming</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2009/05/15/move-forward-internet-video-streaming-iis7-media-service-and-smooth-streaming.aspx</link><pubDate>Fri, 15 May 2009 13:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9618308</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/9618308.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=9618308</wfw:commentRss><description>&lt;P&gt;Delivering video content through Internet is one of the hottest technical topics. The increase of bandwidth and connectivity in combination with the numbers from the last big video event delivered like Olympics, demonstrate the potential of Internet channel for this type of content. In the 2008 Summer Olympics Games in Beijing, NBCOlympics.com attracted close to 6½ million users daily, who, on average, stayed more than 13 minutes per visit and spent more than 27 minutes when consuming video. In total, users watched more than 6 million hours of video content or 60 million video streams, which represent a 5-fold and 20-fold increase compared to the Torino and Athens games combined. Another big difference that the last Olympic on line demonstrate it is relative, not only to the number of users, but also to the viewing time. In the past, online video consumption was limited to “snippets” of video, now the prolonged viewing indicates that users enjoy the experience and find the image and sound quality acceptable. &lt;/P&gt;
&lt;P&gt;Worldwide, billions of videos are viewed online every month. This type of trend are confirmed to a lot of service that came up on the market with success in the previous months like BSKYB channels offering or the new version of Netflix service and many others.&lt;/P&gt;
&lt;P&gt;Setting up an online video service was a complex undertaking and fraught with difficulties, and the process of preparing, loading, and delivering multimedia content, combined with the serving of appropriate advertising, required a lot of manual work and did not really scale very well. In particular “delivering” video content at good or high level of quality through Internet connection is not a simple thing. A lot of details and technical issues are involved on this and build a solution for this and monetize the result is really complex.&lt;/P&gt;
&lt;P&gt;In the last NAB conference Microsoft announce a first Release of new technology called Smooth Streaming based on &lt;A href="http://www.iis.net/media" target=_blank mce_href="http://www.iis.net/media"&gt;IIS7 Media Services&lt;/A&gt; and Silverlight, which the scope to simplify and make a reality delivering video content at high quality level through Internet up to true HD for Live and VOD. You can see&amp;nbsp; &lt;A href="http://www.smoothhd.com/" mce_href="http://www.smoothhd.com"&gt;this web site from akamai &lt;/A&gt;an example of HD content delivered with smooth streaming and &lt;A href="http://www.iis.net/media" mce_href="http://www.iis.net/media"&gt;at this website&lt;/A&gt; you can found others technical information about this technology.&lt;/P&gt;
&lt;P&gt;In the previous months before this announcement I had the opportunity to test and build a real production environment based on this technology, inside a new Web TV portal of RAI – Radio Televisione Italiana ( &lt;A href="http://www.rai.tv/" mce_href="http://www.rai.tv"&gt;http://www.rai.tv&lt;/A&gt; ) . In the new version of this web site recently released there is a new area based on this smooth streaming technology with &lt;A href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=1" mce_href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=1"&gt;fiction&lt;/A&gt;, &lt;A href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=2" mce_href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=2"&gt;sport&lt;/A&gt; and &lt;A href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=3" mce_href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=3"&gt;junior&lt;/A&gt; videos. Content from RAI website have a good quality but is not HD content because the original produced video&amp;nbsp; is not HD. Based on this experience I want write some post on this new fantastic technology that can permit to deliver uninterrupted video streaming to Silverlight clients at High Quality, via HTTP in VOD and delivers massively scalable Smooth Streaming for live events.&lt;/P&gt;
&lt;P&gt;Smooth Streaming&amp;nbsp; permit to solve one of the most significant limits in Internet video streaming connected to typical behaviors of the last mile for reproducing High Quality videos with high bitrates.&amp;nbsp; When we think to the way that the content is delivered to the client, we have a lot of parameter that change every second during the client reproduction. In particular bandwidth and CPU power availability conditions change every second and causing a video glitch and buffering during the reproduction of the content, especially for the content at high level of bitrates, generating a poor user experience .&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image002_thumb.jpg" width=677 height=340 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Before to go in deep in Smooth Streaming technology and in order to explain difference and advantage that come with this new streaming technique I want recap the typical way used to delivery video content through Internet. Before the smooth streaming you can use essentially two different way for delivering video content:&lt;/P&gt;
&lt;P&gt;- Progressive Download&lt;/P&gt;
&lt;P&gt;- Traditional Streaming (RTSP, streaming through HTTP, RTMP, etc)&lt;/P&gt;
&lt;P&gt;Both approaches have pros and cons and smooth streaming try to combine the best of the previous techniques. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;When you use Progressive Download to delivery video content&lt;/B&gt; you essentially leverage the capability of Web Server to delivery file. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image004_thumb.jpg" width=738 height=304 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Web Server receive a request for a specific URL for the video content and the web server start to deliver the file to the client via classic HTTP. &lt;/P&gt;
&lt;P&gt;Big advantages of this solution are:&lt;/P&gt;
&lt;P&gt;- simplicity of the approach ;&lt;/P&gt;
&lt;P&gt;- not required a specialized server;&lt;/P&gt;
&lt;P&gt;- leveraging all HTTP infrastructure in terms of caching and distribution.&lt;/P&gt;
&lt;P&gt;Problems connected to this solution are:&lt;/P&gt;
&lt;P&gt;- Bandwidth controls;&lt;/P&gt;
&lt;P&gt;- Security of content;&lt;/P&gt;
&lt;P&gt;- Limited user tracking;&lt;/P&gt;
&lt;P&gt;- Poor user experience (no seeking feature on classic web server);&lt;/P&gt;
&lt;P&gt;- VOD video content only.&lt;/P&gt;
&lt;P&gt;In general the most significant problem of this approach is about bandwidth consumption. In fact the web server delivers the video content to the cache of the client without any type of control or limitation leveraging all the bandwidth available.&lt;/P&gt;
&lt;P&gt;You can improve efficiency of progressive download through system that can permit the control of bandwidth and offering control and seeking capabilities. IIS7 Media Services enabled this feature too called &lt;A href="http://www.iis.net/extensions/BitRateThrottling" mce_href="http://www.iis.net/extensions/BitRateThrottling"&gt;Intelligent bit rate throttling&lt;/A&gt;. This feature is available for the most used type of media content, and permit to reduce bandwidth consumption saves money on network costs by metering the download speed of multiple media file types as well as data. Intelligent Bit Rate Throttling accomplishes this by automatically detecting the encoded bit rates of 11 common media formats, such as Windows Media Video (WMV), Flash Video (FLV), and MPEG 4 (MP4), and then throttling the response to the client. Bit Rate Throttling and allows administrators to configure throttling rules for all file and MIME types.&lt;/P&gt;
&lt;P&gt;With this technique you could obtain more efficiency for bandwidth consumption and simplicity in the delivery but remaining a lot of limitations. For example, in the case of the user put in pause the reproduction the download proceeds consuming bandwidth; in this way we can use of a single bitrates for reproduction or complex variable bitrates technique with poor efficiency , and remaining the problem illustrated before about the last mile and client reproduction, in particular for content with high quality and consequent high bitrates.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;When you use classical streaming&lt;/B&gt; you use a specialized server to delivery to the client only the portion of the stream involved in the reproduction of the video in base of the command received from the client.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image006_thumb.jpg" width=790 height=315 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Big advantages of this solution are:&lt;/P&gt;
&lt;P&gt;- Efficiency in control and delivery of content ;&lt;/P&gt;
&lt;P&gt;- Simple way to track user activity;&lt;/P&gt;
&lt;P&gt;- Good user experience (seeking, forward, etc);&lt;/P&gt;
&lt;P&gt;- Good for VOD and Live .&lt;/P&gt;
&lt;P&gt;Problems connected to this solution are:&lt;/P&gt;
&lt;P&gt;- Required specialized services ;&lt;/P&gt;
&lt;P&gt;- Not cache in HTTP CDN;&lt;/P&gt;
&lt;P&gt;- Scalability required a specialized network .&lt;/P&gt;
&lt;P&gt;In general the most significant problem of this approach is about scalability. In order have a large distribution of video content is necessary achieve a specialized infrastructure of server with a specific streaming services. Is not possible reuse the big cache infrastructure that we have in place on Internet today for HTTP . In order to delivery this type streaming, Windows Server offers a good platform through the &lt;A href="http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx" mce_href="http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx"&gt;Windows Media Services&lt;/A&gt; today available for Windows Server 2008.&lt;/P&gt;
&lt;P&gt;When you use Smooth Streaming now available in beta with &lt;A href="http://www.iis.net/media" mce_href="http://www.iis.net/media"&gt;IIS7 Media Services&lt;/A&gt; , you have the capability to deliver media at variables bit rates to Silverlight clients over HTTP combining the advantage of streaming and progressive download and adding capability of adapt the bit rates at the real situation in the last mile in terms of bandwidth and CPU.&lt;/P&gt;
&lt;P&gt;With the Smooth Streaming you deliver video content starting from a set of specific encoded file with different bit rates level. During the encoding phase, realizable today for VOD (with Expression Encoder 2 SP1 with adaptive streaming encoding profile) or for live using a specialized encoder from an encoders vendor, you obtain the source files to stream. You can choose a set of different bitrates and obtaining a set of N file one for every level of bit rates that you have selected in the profile and a xml manifest with the metadata for server and an xml file for client. You can choose at maximum of 10 different bit rates. The manifest files are used from the server and from the client to understand level of bitrates available for streaming and others information relative to the media content. &lt;/P&gt;
&lt;P&gt;A typical Smooth Streaming media asset (presentation) consists of the following files: &lt;/P&gt;
&lt;P&gt;MP4 files containing video/audio &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;*.ismv &lt;/B&gt;Contains video and audio, or only video (one file ISMV file per encoded video bit rate )&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;*.isma &lt;/B&gt;Contains only audio &lt;/P&gt;
&lt;P&gt;Server manifest file &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;*.ism -&lt;/B&gt;Describes the relationships between the media tracks, bit rates and files on disk . Used by IIS Media Services Server&lt;/P&gt;
&lt;P&gt;Client manifest file &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;*.ismc - &lt;/B&gt;first file delivered to the client. Describes the available streams to the client: bitrates level available, codecs used, video resolutions, markers, captions, etc. &lt;/P&gt;
&lt;P&gt;For live streaming the same structure is created in the archive of event and client manifest is generated at runtime from encoding available. Origin Media Server can archive all live streaming and offer DVR capability to the client.&lt;/P&gt;
&lt;P&gt;In every video\audio file (ismv , isma) you have a contiguous sequence of video chunks at fixed time length (default 2 sec) based on the ISO/IEC 14496-12 ISO Base Media File Format specification, better known as the MP4 file specification . There are actually two parts to the Smooth Streaming format: the wire format, and the disk file format. In Smooth Streaming, a video is recorded in full length to the disk as a single file (one file per encoded bit rate), but it's transferred to the client as a series of small file chunks. The wire format defines the structure of the chunks that are sent by IIS to the client, whereas the file format defines the structure of the contiguous file on disk, enabling better file management. The MP4 specification is perfect for this because allows MP4 to be internally organized as a series of fragments, which means that in Smooth Streaming the wire format is a direct subset of the file format. Every fragment is delivered to the client through HTTP and in this way can be leverage all the HTTP caching infrastructure of Internet.&lt;/P&gt;
&lt;P&gt;For VOD and for Live the content are published through IIS Media Service using Windows Server 2008 and IIS7 with IIS Media services Extensions. &lt;/P&gt;
&lt;P&gt;During the delivery of the content, the client, in order to reproduce the video, sends a set of specific requests to the server to download the video and audio chunks. In every request for a single chunk, the client specifies level of bit rates and timeframe required in base of the current condition of bandwidth and CPU and position in content reproduction. In this way smooth streaming is delivered with a set of progressive download of video and audio chunks. &lt;/P&gt;
&lt;P&gt;The client send a set of HTTP GET request in REST style like this : &lt;I&gt;http://smoothstreaming.com/title.ism/QualityLevels(1775000)/Fragments(video=840000000) &lt;/I&gt;that contains information about bit rates and timeframe requested for the chunk . This type of request is a typical HTTP request and is it possible leverage all the http infrastructure on Internet in order to cache this content to near as possible at the client and using a typical http edge offered from a CDN. &lt;/P&gt;
&lt;P&gt;A specific part of code downloaded in the client contains the Heuristic Algorithms that drive the requests of chunks. The process start with the base request from the client at the client manifest file on the server in order to obtain the metadata that can guide the behavior of the client. This request have this format : &lt;I&gt;http://smoothstreaming.com/title.ism/Manifest&lt;/I&gt;, IIS receive the request send manifest client in response. In the next picture you can see a typical client manifest response with the indication of the bit rates available for the content downloads.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image008_thumb.jpg" width=779 height=369 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The client manifest can contains more information about media metadata like : codecs, Text streams, Multi-language audio tracks, Alternate video and audio tracks (for example, multiple camera angles, director's commentary, etc.), Multiple hardware profiles (for example, a bit rate targeted at different playback devices) , Script commands, markers/chapters, captions &lt;/P&gt;
&lt;P&gt;The process continue with the request of the first chunk video and audio, requested with the low bit rates available in the manifest with a REST style call described before . The IIS Media Service Module receive the request and use a server manifest file to determine the file to load in base of the request bitrates and provides to the right chunk of video. In the next picture you can see a sample of server manifest file with the indication of file for bitrates:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image010_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image010 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image010_thumb.jpg" width=545 height=387 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image010_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;For the successive request based on download speed, the client can detect available bandwidth and requesting the right bit rates in base of the current situation of bandwidth and CPU. In this way the smooth streaming have the capability of adapt continuously creating an immersive User Experience. The process Work in a similar way for Live and VOD streaming and during the delivery of the video chunk through Internet, all the HTTP caching infrastructure of the network can be leverage in order to improve scalability in particular for Live Streaming. In the case of Live Smooth Streaming the Origin media server can archive the content produced from the encoder and offering DVR capability too during the Live Streaming. &lt;/P&gt;
&lt;P&gt;There is a lot of advantage in this approach respect to traditional streaming technique. In traditional streaming, the client state is managed both by the client and the server. The server keeps a record of each client for things such as playback state, streaming position, selected bit rate (if multiple bit rates are supported), etc. While this gives the streaming server more control, it also adds overhead to the server. In terms of scalability another important limitation is about the fact that each client has to maintain the server affinity throughout the streaming session. &lt;/P&gt;
&lt;P&gt;With the pull model in VOD or Live Smooth Streaming, the server is stateless, the client drive the process and has the responsibility for the state and this fact increase scalability and remove any single point of failure. Any client request can be satisfied by any server configured and the network topology can leverage a stateless infrastructure and can reroute the client requests to the best server. In this way we have a big improvement in:&lt;/P&gt;
&lt;P&gt;- quality because all the decisions, resulting in a much faster response (for example bit rate switching) offering a superior UX :&lt;/P&gt;
&lt;P&gt;- reproduction start fast because the client select the low bitrates and can download in parallel more chunks, potentially cached from the most near web server &lt;/P&gt;
&lt;P&gt;- bitrates are continuously adapted at the real situation in the last mile in terms of bandwidth and CPU status&lt;/P&gt;
&lt;P&gt;- requests can be served from different servers without affinity or persistent connection improving scalability and fault-tolerance&lt;/P&gt;
&lt;P&gt;- scalability because you can leverage a simple, efficient and load balanced HTTP infrastructure to deliver video content&lt;/P&gt;
&lt;P&gt;- cost because you can leverage an HTTP CDN with generic web server with low number of specialized server and leverage all the HTTP cache ( for example intermediate proxy )&lt;/P&gt;
&lt;P&gt;Al the URL obfuscation technique can be used to protect the content and is announce the support of Playready content protection encryption in order to protect smooth streaming for Live and for VOD.&lt;/P&gt;
&lt;P&gt;Smooth streaming enable a new video delivery mechanism that can permit to stream HD content in VOD and Live through Internet with a cool UX . &lt;/P&gt;
&lt;P&gt;In next posts we can see in more details the three phase for create and publish content with this technology .&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9618308" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/RIA/default.aspx">RIA</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Media/default.aspx">Media</category></item><item><title>Yoox dal retail alla piattaforma multibrand per e-commerce</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2008/06/16/yoox-dal-retail-alla-piattaforma-multibrand-per-e-commerce.aspx</link><pubDate>Mon, 16 Jun 2008 10:30:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8592977</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/8592977.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=8592977</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 0px 7px 0px 0px; border-left: 0px; border-bottom: 0px" height="216" alt="image" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/image_thumb.png" width="260" align="left" border="0" /&gt;&lt;/a&gt; Una delle attivit&amp;#224; pi&amp;#249; interessanti che mi &amp;#232; capitato di seguire negli ultimi mesi &amp;#232; collegata alla revisione architetturale che Yoox Group ha avviato sui suoi servizi e siti Internet.&lt;/p&gt;  &lt;p&gt;YOOX Group &amp;#232; il partner globale di Internet retail per i principali brand di moda &amp;amp; design: l&amp;#8217;unica azienda di retail su Internet sia multimarca &amp;#8211; con la boutique virtuale &lt;a href="http://yoox.com/"&gt;YOOX.COM&lt;/a&gt;, sia monomarca &amp;#8211; con i flagship store online sviluppati da YOOX Services.&lt;/p&gt;  &lt;p&gt;Nato nel 2000 ha avviato un nuovo modello di business con la boutique virtuale N&amp;#176; 1 al mondo &lt;a href="http://yoox.com/"&gt;YOOX.COM&lt;/a&gt;, che ha contribuito pionieristicamente a creare lo shopping di moda online nel nostro Paese. &lt;/p&gt;  &lt;p&gt;L&amp;#8217;infrastruttura globale sincronizzata su tre continenti, insieme all&amp;#8217;esperienza accumulata in questi anni, hanno portato all&amp;#8217;apertura nel 2006 di YOOX Services, societ&amp;#224; di YOOX Group che progetta e gestisce gli online store per conto dei principali brand di moda &amp;amp; design. YOOX Services realizza i flagship store dei principali brand della moda &amp;amp; design che intendono offrire online la stessa collezione disponibile attualmente nei negozi. &lt;/p&gt;  &lt;p&gt;Attualmente i flagship store online monomarca &amp;#8220;powered by YOOX&amp;#8221; sono: &lt;a href="http://www.marni.com"&gt;www.marni.com&lt;/a&gt;, &lt;a href="http://www.emporioarmani.com/"&gt;www.emporioarmani.com&lt;/a&gt;, &lt;a href="http://www.diesel.com/"&gt;www.diesel.com&lt;/a&gt;, &lt;a href="http://www.cpcompany.com/"&gt;www.cpcompany.com&lt;/a&gt;, &lt;a href="http://www.stoneisland.com/"&gt;www.stoneisland.com&lt;/a&gt; e presto saranno annunciati molti altri virtual store dei principali brand del lusso. &lt;/p&gt;  &lt;p&gt;A questi si &amp;#232; aggiunto il nuovissimo &lt;a href="http://thecorner.com/"&gt;THECORNER.COM&lt;/a&gt; &amp;#8220;powered by YOOX&amp;#8221;, un department store online completamente dedicato alle nuove collezioni di designer internazionali &amp;#8221;cutting edge&amp;#8221; e a brand italiani di ricerca ognuno con un &amp;#8220;corner&amp;#8221; dedicato.&lt;/p&gt;  &lt;p&gt;Una case history di successo se guardiamo i numeri di YOOX.COM: un sito localizzato in 7 lingue con pi&amp;#249; di quattro milioni di visitatori al mese e pi&amp;#249; di un milione di capi consegnati in tutto il mondo nel 2007 in 53 paesi. &lt;/p&gt;  &lt;p&gt;Dal punto di vista tecnico la necessit&amp;#224; di dover passare da un singolo Internet retailer ad una nuova serie di siti monobrand ha comportato la necessit&amp;#224; di una profonda revisione dell&amp;#8217;architettura su cui yoox services implementa le soluzioni Internet. I piani di Yoox Group, infatti, prevedono lo sviluppo di un numero significativo di siti monbrand o specialistici e pertanto la nuova piattaforma tecnologica per Yoox Service dovr&amp;#224; prevedere la possibilit&amp;#224; di implementare e gestire con sempre maggiore velocit&amp;#224; nuove tipologie di siti. &lt;/p&gt;  &lt;p&gt;Dal punto di vista architetturale Yoox Services si &amp;#232; trovata di fronte all&amp;#8217;esigenza di muovere la propria soluzione per yoox.com da un sito di e-commerce ad una vera e propria piattaforma che possa permettere la costruzione e la gestione di &amp;#8220;n&amp;#8221; siti, mettendo a fattor comune un insieme di servizi di base con lo scopo di semplificare lo sviluppo , manutenzione e sfruttamento dell&amp;#8217;hardware, ma permettendo al tempo stesso il necessario isolamento tra i siti, la flessibilit&amp;#224; per gli elementi di interfaccia utente e la costruzione dei contenuti di ciascuno store virtuale, garantendo allo stesso tempo la necessaria scalabilit&amp;#224; rispetto al volume di richieste gi&amp;#224; oggi elevato sul solo Yoox.com.&lt;/p&gt;  &lt;p&gt;Per rispondere a queste esigenze Yoox Group ha quindi avviato uno studio per l&amp;#8217;implementazione di una nuova piattaforma che viene da identificata con il termine OSS (ONLINE STORE SERVICES) per rispondere alle nuove esigenze del gruppo e garantire gli stessi livelli di qualit&amp;#224; , scalabilit&amp;#224; e costi offerti dalla soluzione che ha contribuito in modo determinate al successo di Yoox.com.&lt;/p&gt;  &lt;p&gt;La nuova architettura &amp;#232; divisa in due componenti fondamentali: una componenti di front-end che si preoccupa di gestire acquisizione di ordini e gestione del sito (catalogo, profili, carrello, pagamenti, etc) ed una componente di back-end che riceve gli ordini attraverso un un meccanismo di code asincrone dove attraverso Microsoft BizTalk e Microsoft Navision vengono gestite le interazioni con i partner , le operazioni logistiche di spedizione e la fatturazione. &lt;/p&gt;  &lt;p&gt;La componente di front-end prevede una parte di user interface (UI) , una serie di Web Service per erogazione di servizi a siti terzi (ad esempio il catalogo) ed alle componenti lato client della UI (JS AJAX, FLASH, SILVERLIGHT, WPF\.NET) , una parte di servizi con la logica delle operazioni del sito e uno storage per i dati.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image004_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="268" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image004_thumb.jpg" width="357" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I principi architetturali che guidano il rifacimento della componente di front-end che si &amp;#232; deciso di seguire per l&amp;#8217;evoluzione dal mono sito a multi sito possono essere rappresentati come indicato nella seguente figura:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image006_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="367" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image006_thumb.jpg" width="386" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;L&amp;#8217;idea guida di base &amp;#232; quella di passare da un&amp;#8217;architettura single-tenant dove ciascuna istanza dei siti &amp;#232; implementata con una singola soluzione adhoc\custom ,ad una piattaforma che ricalchi la struttura di base dei servizi offerti attualmente in yoox.com, fornendoli con una architettura multi-tenant scalabile e configurabile. I principi architetturali impostati partono dalle idee impostate per le architetture SaaS e quindi gran parte delle impostazioni sulle architetture multi-tenant indicate ottimo &lt;a href="http://msdn.microsoft.com/en-us/architecture/aa479069.aspx"&gt;documento di Carraro e Chong&lt;/a&gt; sull&amp;#8217;argomento, ma vengono riadattati alle forti esigenze di flessibilit&amp;#224; sugli aspetti di personalizzazione del front-end ed di gestione dei contenuti dello stesso necessari ad una applicazione di questo tipo.&lt;/p&gt;  &lt;p&gt;Dal punto di vista tecnologico nell&amp;#8217;implementazione della nuova architettura in corso di sviluppo Yoox ha scelto di utilizzare nelle componenti fondamentali la piattaforma Microsoft: Windows Server 2008 con IIS7 come piattaforma Web Server, SQL Server 2008 come storage e .NET 3.5 come framework di sviluppo con Visual Studio Team System e Team Foundation Server per l&amp;#8217;implementazione della software factory, Navision e Microsoft BizTalk Server nelle componenti di back-end.&lt;/p&gt;  &lt;p&gt;Ulteriore vincolo per la nuova architettura consiste nella necessit&amp;#224; di migrare per step successivi anche il sito principale yoox.com e di garantire,quindi, una completa continuit&amp;#224; di funzionamento. Proprio per questo motivo la migrazione dalla precedente architettura single-tenant basata su ASP/COM sta procedendo per step che prevedono come prima parte la costruzione dei nuovi servizi e l&amp;#8217;aggancio di questi alla attuale interfaccia. Terminata la costruzione dei nuovi servizi, verr&amp;#224; anche migrata la tecnologia utilizzata per la parte di interfaccia utente.&lt;/p&gt;  &lt;p&gt;Data la particolarit&amp;#224; della natura dei siti, infatti , la profonda necessit&amp;#224; di personalizzazione delle componenti di UI &amp;#232; una delle caratteristiche che a spinto Yoox alla decisione di mantenere quest&amp;#8217;ultimo aspetto sviluppato ad hoc per ogni tenant. In particolare , oltre alla classica interfaccia HTML sono previste anche interfacce di tipo differente tra cui piccoli smart client residenti sul desktop che offriranno agli utenti la possibilit&amp;#224; di un interazione pi&amp;#249; semplice con il catalogo del sito. Anche le componenti di UI di gestione del sito sono costruite con interfacce smart client.&lt;/p&gt;  &lt;p&gt;L&amp;#8217;architettura principale del nuovo front-end multi sito di YOOX pu&amp;#242; quindi essere rappresentata come di seguito:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image008_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="306" alt="clip_image008" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image008_thumb.jpg" width="376" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Le interfacce utente di ciascun tenant\sito accedono ai sevizi forniti dal OSS fornendo sempre un parametro che identifica il tenant stesso e ottenendo in questo modo l&amp;#8217;accesso alla logica ed ai dati necessari al funzionamento della specifica istanza. Con questo tipo di approccio, ciascun elemento applicativo pu&amp;#242; scalare con un approccio orizzontale che comporta la semplice aggiunta di macchine fisiche o virtuali all&amp;#8217;architettura su tutti gli strati applicativi , compresa la parte di dati. Anche a questo livello, infatti, viene utilizzato un partizionamento dei dati rispetto alle istanze che identificano i tenant . Questo approccio consente di suddividere i dati in differenti database che possono anche essere ospitati su macchine fisiche o virtuali diverse in funzione delle esigenze di scalabilita. Lo strato di accesso ai dati dei servizi conterr&amp;#224; la logica necessaria ad individuare la partizione corretta in base all&amp;#8217;identificativo del tenant\ sito fornito dal chiamante :&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image010_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="384" alt="clip_image010" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image010_thumb.jpg" width="518" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Per un chiarimento sul tema del partizionamento dei dati vi rimando ai post fatti in passato sull argomento la scalabilit&amp;#224; ed il partizionamento in entit&amp;#224; parte 1 e parte 2 . Il disaccoppiamento tra front-end e back-end attraverso l&amp;#8217;utilizzo di una coda fa si che il carico prodotto nell&amp;#8217;inserimento di ordini o dalla navigazione degli utenti, non si rifletta direttamente sulle componenti che gestiscono le fasi di fatturazione e gestione logistica e di spedizione.&lt;/p&gt;  &lt;p&gt;I servizi sono sviluppati con tre differenti interfacce per permettere sia l&amp;#8217;interazione con le pagine ASP (COM), sia l&amp;#8217;interazione con componenti .NET in process , sia una interfaccia REST con XML o JSON . In questo modo ciascun servizio pu&amp;#242; o essere direttamente posizionato sulle macchine di front-end per essere consumato da UI HTML o per poter essere eventualmente esposto verso altre applicazioni ad estensione delle potenzialit&amp;#224; della piattaforma stessa. &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image012_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="351" alt="clip_image012" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image012_thumb.jpg" width="450" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La maggior parte dei servizi utilizza WCF (Windows Communication Foundation) per esporre una parte delle interfacce di accesso e nello strato di accesso ai dati sfruttano le nuove funzionalit&amp;#224; offerte da LINQ.&lt;/p&gt;  &lt;p&gt;La struttura complessiva del sito pu&amp;#242; essere quindi rappresentata come di seguito:&lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image014_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="344" alt="clip_image014" src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/ad51ccc86a33_B7B8/clip_image014_thumb.jpg" width="462" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8592977" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Software+Factories/default.aspx">Software Factories</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/SOA/default.aspx">SOA</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/ORM/default.aspx">ORM</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/TFS/default.aspx">TFS</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/BPM/default.aspx">BPM</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx">IIS7</category></item><item><title>IIS7 e gli scenari video in progressive download </title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2008/03/19/iis7-e-gli-scenari-video-in-download-progressive.aspx</link><pubDate>Wed, 19 Mar 2008 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8286008</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/8286008.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=8286008</wfw:commentRss><description>&lt;P&gt;Una delle tendenze più rilevanti nell'evoluzione dei contenuti nel mondo del Web è sicuramente rappresentata dall'enorme crescita dei contenuti video che oramai sta investendo siti di ogni dimensione. Si va dalla possibilità di ospitare materiale video generato dagli utenti, news, film , trailer. &lt;/P&gt;
&lt;P&gt;Erogare contenuti video è estremamente costoso in termini di consumo di banda e gli scenari attraverso i quali viene generalmente affrontata questa tematica sono essenzialmente di tre tipi:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;- Hosting dei contenuti video presso strutture terze specializzate nella distribuzione di questo tipo di contenuti attraverso CDN (Content Delivery Network) specifiche&lt;/P&gt;
&lt;P&gt;- Infrastruttura di streaming installata nella server farm&lt;/P&gt;
&lt;P&gt;- Download progressive , ovvero distribuzione del file attraverso un server web &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;La piattaforma Microsoft offre una soluzione per tutti e tre gli scenari :&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;- &lt;A href="http://silverlight.live.com/" target=_blank mce_href="http://silverlight.live.com/"&gt;Silverlight Streaming&lt;/A&gt; che offre una CDN per la distribuzione di contenuti video e di applicazioni Silverlight in generale&lt;/P&gt;
&lt;P&gt;- &lt;A href="http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx" target=_blank mce_href="http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx"&gt;Windows Media Services&lt;/A&gt; per Windows Server 2008 che forniscono una piattaforma di streaming integrata in Windows Server con completo supporto per il DRM&lt;/P&gt;
&lt;P&gt;- &lt;A class="" href="http://www.iis.net/media" mce_href="http://www.iis.net/media"&gt;IIS 7 Media Pack&lt;/A&gt;&amp;nbsp; che offre nuove funzionalità ad IIS7 per gestire gli scenari di download progressive , da poco disponibile nella versione finale.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Uno degli scenari tipici, in particolare per la distribuzione di video di piccole dimensioni è&amp;nbsp; lo scenario di download progressive,&amp;nbsp; dove il file viene posizionato semplicemente sul server web, mentre lo streaming viene utilizzato in scenari più complessi o per scenari in cui vengono trasmessi video in diretta. Nel download progressive, non abbiamo le ottimizzazioni sulla banda offerte dal server di streaming , il consumo di banda è elevatissimo in quanto il server web effettua il download del file verso il player client utilizzatore, sfruttando completamente la banda disponibile, indipendentemente dal bit rate con cui il video è codificato per la visualizzazione. Inoltre, nella maggioranza dei casi, l'utente guarda solo i primi secondi del video che nel frattempo va in download a banda completa praticamente inutilmente.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Nel nuovo Media Pack per IIS7 troviamo le funzionalità di BitRate Throttling che consentono di gestire gli scenari di download progressive,&amp;nbsp; permettendo di ottimizzare il consumo di banda in modo configurabile sulla base del reale formato di codifica del file, ed a garantire un maggior numero di connessioni contemporanee possibili. Tra le caratteristiche fondamentali del nuovo supporto il media pack installa un&amp;nbsp;modulo che permette di effettuare il download del file in base al bit rate di encoding. La risposta ed il funzionamento del&amp;nbsp;modulo è completamente configurabile&amp;nbsp; dal livello del server web, fino ad arrivare al livello del singolo file.&lt;/P&gt;
&lt;P&gt;La lista dei formati supportati è la seguente:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;.asf &lt;/LI&gt;
&lt;LI&gt;.avi &lt;/LI&gt;
&lt;LI&gt;.flv &lt;/LI&gt;
&lt;LI&gt;.m4v&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;.mov &lt;/LI&gt;
&lt;LI&gt;.mp3 &lt;/LI&gt;
&lt;LI&gt;.mp4 &lt;/LI&gt;
&lt;LI&gt;.rm &lt;/LI&gt;
&lt;LI&gt;.rmvb &lt;/LI&gt;
&lt;LI&gt;.wma &lt;/LI&gt;
&lt;LI&gt;.wmv &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;E' possibile estendere il Media Pack per supportare ulteriori formati.&lt;/P&gt;
&lt;P&gt;Per installare il MediaPack Bit Rate Throttling potete trovare qui il setup:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;32 bit - &lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1762"&gt;http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1762&lt;/A&gt; &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;64 bit - &lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1764"&gt;http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1764&lt;/A&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Per dimostrare la funzionalità del media pack e la semplicità di configurazione ed utilizzo, ho effettuato un piccolo test installandomi una macchina di prova. Sulla root del sito ho posizionato un file di esempio;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_6.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=382 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_2.png" width=586 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;E l'ho pubblicato con la funzionalità di throttling disabilitata a livello del server web:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=539 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_1.png" width=739 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=520 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb.png" width=741 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Di seguito potete vedere l'andamento del consumo di banda realizzato durante la riproduzione del video:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_8.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=527 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_3.png" width=1025 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Il Media Pack per configuare il Bit Rate Throttling offre una interfaccia completamente integrata nell'ambiente di amministrazione di IIS7&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=539 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_1.png" width=739 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Dall'interfaccia provvedo ad abilitare la funzionalità : &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=520 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb.png" width=741 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;ed in particolare di seguito&amp;nbsp; vediamo la configurazione impostata per i file di tipo .wmv:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_10.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=479 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_4.png" width=449 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Con la configurazione impostata , i primi 20 secondi necessari per l'avvio rapido del filmato verranno forniti a banda completa (FastStart) , successivamente il download avverrà al 100% (Throttle Rate) del bitrate di encoding del video che nel nostro esempio è di 300kps.&lt;/P&gt;
&lt;P&gt;La funzionalità di Bit Rate Throttling può anche essere applicata ad altri tipi di contenuti , configurando la parte data dell'entry e stabilendo quindi il la banda assegnata per il download&lt;/P&gt;
&lt;P&gt;Effettuado nuovamente il play del video l'andamendo del consumo di banda in questo caso avrà un andamento che è il seguente:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_14.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=493 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_6.png" width=998 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_6.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Contribuendo significativamente ad ottimizzare il consumo di banda , ed a garantire un maggior numero di connessioni contemporanee possibili.&lt;/P&gt;
&lt;P&gt;Per uteriori informazioni vi suggerisco i seguenti walkthrough:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;A class="" href="http://learn.iis.net/page.aspx/148/bit-rate-throttling-configuration-walkthrough/" mce_href="http://learn.iis.net/page.aspx/148/bit-rate-throttling-configuration-walkthrough/"&gt;Bit Rate Throttling Configuration Walkthrough&lt;/A&gt;. &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;A class="" href="http://learn.iis.net/page.aspx/149/bit-rate-throttling-extensibility-walkthrough/" mce_href="http://learn.iis.net/page.aspx/149/bit-rate-throttling-extensibility-walkthrough/"&gt;Bit Rate Throttling Extensibility Walkthrough&lt;/A&gt;. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Tra le altre caratteristiche offerte da IIS7 all'interno del Media Pack vi segnalo anche la possibilità di costruire delle playlist server side anche per i contenuti in download progressive, funzionalità utile ad esempio&amp;nbsp; per costruire playlist introducendo contenuti pubblicitaril. Informazioni e Walkthrough di utilizzo &lt;A class="" href="http://www.iis.net/WebPlaylists" target=_blank mce_href="http://www.iis.net/WebPlaylists"&gt;qui&lt;/A&gt; .&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8286008" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Media/default.aspx">Media</category></item><item><title>Articoli interessante da MSDN Magazine: integrazione WCF / WF, VSTO 3.0, MOBILE WCF , IIS 7</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2008/03/07/articoli-interessante-da-msdn-magazine-integrazione-wcf-wf-vsto-3-0-mobile-wcf-iis-7.aspx</link><pubDate>Fri, 07 Mar 2008 11:21:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8089710</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/8089710.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=8089710</wfw:commentRss><description>&lt;p&gt;Segnalo alcuni articoli interessanti disponibili su MSDN Magazine.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Il primo riguarda l'integrazione tra WF e WCF ovvero i Workflow Services:&lt;/p&gt;  &lt;p&gt;&lt;a title="Workflow Services" href="http://msdn2.microsoft.com/en-us/magazine/cc164251.aspx" target="_blank"&gt;Workflow Services&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Il secondo lo sviluppo di Business Application con VSTO:&lt;/p&gt;  &lt;p&gt;&lt;a title="Developing Office Business Apps with Visual Studio 2008" href="http://msdn2.microsoft.com/en-us/magazine/cc164242.aspx" target="_blank"&gt;Developing Office Business Apps with Visual Studio 2008&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;il terzo lo sviluppo con WCF su device mobile con il compact framework 3.5:&lt;/p&gt;  &lt;p&gt;&lt;a title="Write an IM App with the .NET Compact Framework" href="http://msdn2.microsoft.com/en-us/magazine/cc164240.aspx" target="_blank"&gt;Write an IM App with the .NET Compact Framework&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Il quarto &amp;#232; relativo all'estendibilit&amp;#224; di IIS7&lt;/p&gt;  &lt;p&gt;&lt;a title="Build Web Server Solutions with End-To-End Extensibility" href="http://msdn2.microsoft.com/en-us/magazine/cc164241.aspx" target="_blank"&gt;Build Web Server Solutions with End-To-End Extensibility&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8089710" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/WF/default.aspx">WF</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx">IIS7</category></item></channel></rss>