<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msdnphilippines.net/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>Max Blogs on Azure</title><link>http://msdnphilippines.net/blogs/max/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>“What is Windows Azure?” (a Hand-Drawn Video) by Steve Marx</title><link>http://msdnphilippines.net/blogs/max/archive/2009/07/24/what-is-windows-azure-a-hand-drawn-video-by-steve-marx.aspx</link><pubDate>Fri, 24 Jul 2009 08:02:14 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:4495</guid><dc:creator>Max Bautista</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=4495</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/07/24/what-is-windows-azure-a-hand-drawn-video-by-steve-marx.aspx#comments</comments><description>&lt;p&gt;Sharing this wonderful article created by Steve Marx, one of the guys working on Windows Azure Platform.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.smarx.com/posts/what-is-windows-azure-a-hand-drawn-video"&gt;http://blog.smarx.com/posts/what-is-windows-azure-a-hand-drawn-video&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=4495" width="1" height="1"&gt;</description></item><item><title>Confirming Commercial Availability and Announcing Business Model</title><link>http://msdnphilippines.net/blogs/max/archive/2009/07/15/confirming-commercial-availability-and-announcing-business-model.aspx</link><pubDate>Wed, 15 Jul 2009 08:56:32 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:4444</guid><dc:creator>Max Bautista</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=4444</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/07/15/confirming-commercial-availability-and-announcing-business-model.aspx#comments</comments><description>&lt;p&gt;Today, during the Microsoft Worldwide Partner Conference 2009 we announced the business and partner model for the Windows Azure platform including service level agreements and support programs.&lt;/p&gt;  &lt;p&gt;Windows Azure, SQL Azure and .NET Services will be commercially available at the Professional Developer Conference 2009 and we hope you will continue building on the Community Technology Preview (CTP) at no cost today.&lt;/p&gt;  &lt;p&gt;Upon commercial availability we will offer Windows Azure through a consumption-based pricing model, allowing partners and customers to pay only for the services that they consume.&lt;/p&gt;  &lt;table&gt;&lt;tbody&gt;     &lt;tr style="height:76.95pt;"&gt;       &lt;td style="padding-bottom:0in;background-color:transparent;padding-left:5.4pt;width:211.5pt;padding-right:5.4pt;height:76.95pt;padding-top:0in;" valign="top" width="282"&gt;         &lt;p style="margin:0in 0in 0pt 3.2pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Windows Azure:&lt;/font&gt;&lt;/p&gt;          &lt;p style="margin:0in 0in 0pt 3.2pt;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;* Compute @ &lt;span&gt;&amp;#160;&lt;/span&gt;$0.12 / hour&lt;span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;          &lt;p style="margin:0in 0in 0pt 3.2pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;* Storage @ $0.15 / GB / month stored&lt;/font&gt;&lt;/p&gt;          &lt;p style="margin:0in 0in 0pt 3.2pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;* Storage Transactions @ $0.01 / 10K&lt;/font&gt;&lt;/p&gt;          &lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="3" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="padding-bottom:0in;background-color:transparent;padding-left:5.4pt;width:3.25in;padding-right:5.4pt;height:76.95pt;padding-top:0in;" valign="top" width="312"&gt;         &lt;p style="margin:0in 0in 0pt 5.6pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;SQL Azure: &lt;/font&gt;&lt;/p&gt;          &lt;p style="margin:0in 0in 0pt 5.6pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;* Web Edition – Up to 1 GB relational database @ $9.99 &lt;/font&gt;&lt;/p&gt;          &lt;p style="margin:0in 0in 0pt 5.6pt;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;* Business Edition – Up to 10 GB relational database @ $99.99&lt;span&gt;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;          &lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="3" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="padding-bottom:0in;background-color:transparent;padding-left:5.4pt;width:211.5pt;padding-right:5.4pt;height:76.95pt;padding-top:0in;" valign="top" width="282"&gt;         &lt;p style="margin:0in 0in 0pt 3.5pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;.NET Services: &lt;/font&gt;&lt;/p&gt;          &lt;p style="margin:0in 0in 0pt 3.5pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;* Messages @ $0.15/100K message operations , including Service Bus messages and Access Control tokens&lt;/font&gt;&lt;/p&gt;          &lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;          &lt;p&gt;&lt;font size="3" face="Calibri"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td style="padding-bottom:0in;background-color:transparent;padding-left:5.4pt;width:657pt;padding-right:5.4pt;padding-top:0in;" valign="top" width="876" colspan="3"&gt;         &lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;font size="3" face="Calibri"&gt;Bandwidth across all three services will be charged at $0.10 in / $0.15 out / GB&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Windows Azure compute hours are charged only for when your application is deployed so while developing and testing your application you may want to remove the compute instances that are not being used to minimize compute hour billing. Windows Azure storage is metered in units of average daily amount of data stored (in GB) over a monthly period. Storage is also metered in terms of storage transactions used to add, update, read and delete storage data. These are billed at a rate of $0.01 for 10,000 (10k) transaction requests. Bandwidth is charged based on the total amount of data going in and out of the Windows Azure platform services via the internet in a given 30-day period.&lt;/p&gt;  &lt;p&gt;While consumption based pricing provides great flexibility we have also heard it introduces a level of unpredictability and some customers prefer other options. At launch we will share details of subscription offers that provide payment predictability and price discounts that reflect levels of usage commitment.&lt;/p&gt;  &lt;p&gt;To support partners’ and customers’ complex business needs we are providing an enterprise-class guarantee backed by a service-level agreement that covers service uptime, connectivity, and data availability. For compute, we guarantee that when you deploy two or more role instances in different fault and upgrade domains your Internet facing roles will have external connectivity at least 99.95% of the time. Additionally, we will monitor all of your individual role instances and detect within two minutes when a role instance’s process is not running and initiate corrective action. For storage, we guarantee that at least 99.9% of the time we will successfully process correctly formatted requests that we receive to add, update, read and delete data. We also guarantee that your storage accounts will have connectivity to our Internet gateway.&lt;/p&gt;  &lt;p&gt;As part of the Microsoft Partner Network, partners receive an additional 5 percent promotional discount on Windows Azure compute, SQL Azure and .NET Services. As an added benefit of MSDN Premium we also announced we will provide subscribers with resources to build, test, and manage full scale cloud based applications. We will also provide the Development Accelerator promotional offer for partners and customers who want to quickly develop and deploy applications with dynamic scaling, predictable pricing, and a deep discount.&lt;/p&gt;  &lt;p&gt;At launch we will have offers available in local currencies for Australia, Austria, Belgium, Canada, Denmark, Finland, France, Germany, Ireland, India, Italy, Japan, Netherlands, New Zealand, Norway, Portugal, Spain, Sweden, Switzerland, UK, and the United States. In the March 2010 timeframe we expect commercial availability to expand to Brazil, Chile, Colombia, Czech Republic, Greece, Hong Kong, Hungary, Israel, South Korea, Malaysia, Mexico, Poland, Puerto Rico, Romania, Singapore, and Taiwan. Additional countries and currencies will be launched as quickly as possible.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Source : &lt;a href="http://blogs.msdn.com/windowsazure/archive/2009/07/14/confirming-commercial-availability-and-announcing-business-model.aspx"&gt;Azure Blogs&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=4444" width="1" height="1"&gt;</description></item><item><title>new CloudApp() – The Azure Challenge (Philippine’s Edition)</title><link>http://msdnphilippines.net/blogs/max/archive/2009/06/29/new-cloudapp-the-azure-challenge-philippine-s-edition.aspx</link><pubDate>Mon, 29 Jun 2009 13:51:16 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:4357</guid><dc:creator>Max Bautista</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=4357</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/06/29/new-cloudapp-the-azure-challenge-philippine-s-edition.aspx#comments</comments><description>&lt;p&gt;Last May, Microsoft launched a developer competition tagged as &lt;a href="http://www.newcloudapp.com/"&gt;new CloudApp()&lt;/a&gt;, a US based developer challenge.&amp;#160; Its focus is to promote applications running on the &lt;a href="http://www.microsoft.com/azure/default.mspx"&gt;Azure Services Platform&lt;/a&gt;.&amp;#160; The contest had three categories of winners for applications running on the&lt;a href="http://www.azure.com"&gt;Azure Services Platform&lt;/a&gt;:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;best .NET application, &lt;/li&gt;    &lt;li&gt;top PHP application, and, &lt;/li&gt;    &lt;li&gt;community winner&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The winners got to have the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Be featured on &lt;a href="http://www.azure.com"&gt;www.azure.com&lt;/a&gt; as well as at major Microsoft events &lt;/li&gt;    &lt;li&gt;Be featured in a video interview on &lt;a href="http://channel9.msdn.com/"&gt;Channel 9&lt;/a&gt; with the application author &lt;/li&gt;    &lt;li&gt;Winners will be announced at &lt;a href="http://events.gigaom.com/structure/09/"&gt;Structure 09&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Receive cash ($):      &lt;ul&gt;       &lt;li&gt;.NET Applications Category winner: $5,000 Visa gift card &lt;/li&gt;        &lt;li&gt;PHP Applications Category winner: $5,000 Visa gift card &lt;/li&gt;        &lt;li&gt;Community winner: $2,500 Visa gift card&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This contest could sure be fun to have in the Philippines, if Microsoft plans to have this new emerging platform to get full support and have adapters to get into the technology.. They could have some sort of competition like this in the Philippines.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;By the way, it should have been announced earlier to us but they are also sponsoring the International competition for &lt;a href="http://www.newcloudapp.com/"&gt;new CloudApp()&lt;/a&gt; lets just wait for the results who made it to the finals. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=4357" width="1" height="1"&gt;</description></item><item><title>Flash App wins Best of the Best Developer Showdown</title><link>http://msdnphilippines.net/blogs/max/archive/2009/06/28/flash-app-wins-best-of-the-best-developer-showdown.aspx</link><pubDate>Sun, 28 Jun 2009 03:47:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:4347</guid><dc:creator>Max Bautista</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=4347</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/06/28/flash-app-wins-best-of-the-best-developer-showdown.aspx#comments</comments><description>&lt;p&gt;First, Congratulations to the winner of the recently held Best of the Best Developer Showdown sponsored by Microsoft and Smart Communications, the winning team was Triumvirate.&amp;nbsp; Check the details of the project below, it was created in Flash and asp.net. :D&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Projects: P.E.T.S. (Pets Enthusiasts Tourney Smash!)&lt;br /&gt;The project is about having a digital community wherein users can nurture their own digital pets and use them to interact with other users within the network by means of battling, pet interactions, sharing, buying and trading of items. Interactions will be done through mobile phones and an online widget to greatly improve users&amp;rsquo; experience.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. Ricardo Monteverde&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. Marc Phennee San Diego&lt;br /&gt;&lt;br /&gt;------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It has been a while that I didn&amp;#39;t update my blog here due to a lot of things that I need to do at work and add to that, we just joined that showdown... though we didn&amp;#39;t win, we got he People&amp;#39;s choice award. :D (Thanks for the new phones).&amp;nbsp; Since this is a blog about Azure, might as well discuss the entry we had.&amp;nbsp; The system was created gearing towards using the latest Microsoft technologies (Azure and Silverlight, plus Windows Mobile 6 support).&amp;nbsp; It might help other guys who would be developing on it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Our system, though it was not well described in this site is a system that would enable users to update all their Social Networking sites account Status or Upload Images using SMS/MMS Technologies (Of course we just did a work around for it since Smart doesn&amp;#39;t have open API for their SMS and MMS).&amp;nbsp; That is basically, send once, upload/update to all. Thus supporting all possible mobile users (Even not smart / talk n text users, hehehehe).&lt;br /&gt;&lt;br /&gt;Technical, it could be nice to share the issues/learnings we encountered to the community and share the solutions we did.&lt;br /&gt;&lt;br /&gt;Item #1 Uploading Images to Windows Azure storage direct image upload is not possible since it is not giving you the client path. (Courtesy of Ogie Chu)&lt;br /&gt;&lt;br /&gt;Solution:&amp;nbsp; You need to use the Filebytes property of a fileupload control and save the bytes in the Azure storage then when you try to retrieve it, you just need to convert the bytes to bitmap. :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Item #2 Secured Wifi Router (authenticating using web session) is disrupting the connectivity of a windows mobile emulator to different WCF Services / Web Services.&lt;br /&gt;&lt;br /&gt;Solution:&amp;nbsp; Fix the connection of the WM Emulator to connect to the right segment of IP Addresses. :D You could check some blogs fixing this, might update this soon.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Item #3 Silverlight connectivity to Azure is good. :D&lt;br /&gt;&lt;br /&gt;Reason: Silverlight could directly interact with the tables in azure since azure tables doens&amp;#39;t have relationships and it is running on client side. For security reasons, this is the best option rather than using flash. :) &lt;br /&gt;&lt;br /&gt;Item # 4 No internet connection for 5 hours (SMX Admin shut it down, not well coordinated)&lt;br /&gt;&lt;br /&gt;Solution: Go down, Smoke, and create a video of your team.&amp;nbsp; Listen to the organizers singing. Talk to other people, and make friends.&amp;nbsp; Lastly, SMILE... *wink* *wink*&lt;br /&gt;&lt;br /&gt;It was a fun (in a way) experience for us, though we only got the People&amp;#39;s Choice award, it strengthened our team&amp;#39;s use of the latest Microsoft Technologies. Since competions like this aims to utilized latest technologies, like harnessing what Microsoft Showcased during the Web Ramp Up Event last March.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=4347" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+Services+Platform/default.aspx">Azure Services Platform</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Communication+in+Azure/default.aspx">Communication in Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Best+of+the+Best+Developer+Showdown/default.aspx">Best of the Best Developer Showdown</category></item><item><title>Geo Location Enables Developers To Choose Data Centers and Group Applications &amp; Storage</title><link>http://msdnphilippines.net/blogs/max/archive/2009/04/07/geo-location-enables-developers-to-choose-data-centers-and-group-applications-amp-storage.aspx</link><pubDate>Tue, 07 Apr 2009 13:41:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:804</guid><dc:creator>Max Bautista</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=804</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/04/07/geo-location-enables-developers-to-choose-data-centers-and-group-applications-amp-storage.aspx#comments</comments><description>&lt;p&gt;Posting an article I saw that sounds interesting for us Azure developers.&lt;/p&gt;
&lt;p&gt;At MIX 09, we are announcing that we&amp;rsquo;ll be launching a set of
&amp;lsquo;geo&amp;rsquo;-related features. We&amp;rsquo;ll be rolling out the features to all our
users very soon. In Microsoft-speak, we are &amp;lsquo;super-excited&amp;rsquo; about this
since we can finally unveil in public what we&amp;rsquo;ve been working on for
the past several months. &amp;nbsp;Before I talk about what exactly we are
releasing, I wanted to explain *&lt;b&gt;why&lt;/b&gt;* we&amp;rsquo;re doing this.&lt;/p&gt;
&lt;h3&gt;Why are we doing this?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Performance &amp;mdash; We heard loud and clear that our users wanted to have
more choice on where the data is placed so that they could get it as
close to their end users as possible and reduce network latency. We
also saw how important it was for us to ensure that code and data are
as close together as possible (more on that later).&lt;/li&gt;
&lt;li&gt;Legal/regulatory reasons &amp;mdash; Several users had requirements on where they can place their code and data and where they cannot. &lt;/li&gt;
&lt;li&gt;Business continuity/backup &amp;mdash; Users wanted locations geographically
spread. You can now make copies of your data across locations so in
case of a natural disaster or if the Cloverfield monster came and
stomped on one of our datacenters, your data would be safe&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;What are we announcing ?&lt;/h3&gt;
&lt;p&gt;We are announcing a few major things.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First, we are now present in two geographic locations rather than
one. Previously, we had a presence only in north western United States
and we now have a presence in the south. Going forward, we plan on
expanding our presence to more locations, especially outside the U.S&lt;/li&gt;
&lt;li&gt;Users will have the ability to pick where they want to host their
sevices and/or their data between these two geo locations (and more in
the future). For example, when you create a storage account, you can
choose where to host it based on your business needs and the storage
systems will do some magic behind the covers to route requests to your
data. The same holds true for creating a hosted service account and
running code. Both geo-locations support all features of Windows Azure.
If you don&amp;rsquo;t have specific requirements on where you want your
code/data, you can choose &amp;lsquo;US- Any&amp;rsquo; and we&amp;rsquo;ll pick a location for you.&lt;/li&gt;
&lt;li&gt;User can create &amp;lsquo;affinity groups&amp;rsquo; to put their storage account
and/or hosted services in. This goes to what I said about putting code
and data as close to each other as possible. Accounts inside an
affinity group will be dealt with as one unit and placed together for
connectivity. For example, if you create an affinity group placed in
North Western United States and place multiple storage accounts and
hosted services in there, we&amp;rsquo;ll allocate these together in that
geographical region, so that all of the accounts will be close together
from a network perspective&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We plan on expanding our presence to more than just two
geo-locations. We&amp;rsquo;d love to hear your feedback on what we&amp;rsquo;re shipping
and what you would like to see. You can leave a comment or contact us
through the link on the side. We are pretty excited about what we are
shipping. Please do try our features out once we&amp;rsquo;ve finished rolling
them out and tell us what you think!&lt;/p&gt;
&lt;p&gt;Sriram Krishnan&lt;br /&gt;
Program Manager&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=804" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+Architecture/default.aspx">Azure Architecture</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Geolocation/default.aspx">Geolocation</category></item><item><title>SQL Data Services RDBMS Model</title><link>http://msdnphilippines.net/blogs/max/archive/2009/03/12/sql-data-services-rdbms-model.aspx</link><pubDate>Thu, 12 Mar 2009 09:06:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:255</guid><dc:creator>Max Bautista</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=255</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/03/12/sql-data-services-rdbms-model.aspx#comments</comments><description>&lt;div class="title"&gt;&lt;/div&gt;

&lt;div id="mainSection"&gt;
&lt;div id="mainBody"&gt;
[This document supports a preliminary release of a software product
that may be changed substantially prior to final commercial release.
This document is provided for informational purposes only.]
&lt;p&gt;&lt;/p&gt;
&lt;span id="changeHistory"&gt;
        &lt;/span&gt;
&lt;p&gt;SQL Data Services (SDS) is the relational database offering for the
Azure Services Platform. SDS exposes these relational capabilities
through the existing network protocol, Tabular Data Stream (TDS). TDS
is the underlying protocol used by all SQL Server client libraries such
as ADO.NET, ODBC and all other third party and open source access
libraries. &lt;/p&gt;
&lt;p&gt;The use of the existing protocol enables the service to extend the
SQL data platform to the cloud while maintaining symmetry with the
existing SQL Server applications models.&lt;/p&gt;
&lt;p&gt;SDS offers friction-free provisioning allowing customers to create
databases without having to worry about hardware and software
procurement, setup or maintenance. SDS also ensures high availability
and fault tolerance. The pay as you grow model provides unlimited scale
at low cost.&lt;/p&gt;
&lt;p&gt;TDS access to the database services allows customer applications to
communicate with the service using existing client libraries (such as
ADO.NET, ODBC or JDBC). &lt;/p&gt;
&lt;p&gt;Customers can optionally host their applications in Azure Compute as shown in the following illustration.
&lt;/p&gt;
&lt;div&gt;&lt;img alt="Dd557595.10d9383b-952f-4436-94ac-185f89463eaa(en-us,MSDN.10).gif" src="http://i.msdn.microsoft.com/Dd557595.10d9383b-952f-4436-94ac-185f89463eaa%28en-us,MSDN.10%29.gif" /&gt;&lt;/div&gt;
&lt;p&gt;The exposure of the TDS protocol provides a programming model in the
cloud that is similar to the on-premise database programming
experience. Customers can easily migrate their applications from
on-premises databases into the cloud as the SQL surface area is largely
unchanged. &lt;/p&gt;
&lt;p&gt;The database service exposes the strength of SQL Server, the power
of Transact-SQL and related richness of the existing SQL tools to
customers. Application developers can leverage their existing knowledge
when working with the service.&lt;/p&gt;
&lt;p&gt;The Azure hosting services complement SDS allowing applications to
be hosted close to the database where the application data is stored
thereby reducing the overall cost of communicating with the service
while at the same time providing lower operational expenses.&lt;/p&gt;
&lt;div id="ctl00_rs1_mainContentContainer_cpe86501" class="MTPS_CollapsibleRegion"&gt;
&lt;div id="ctl00_rs1_mainContentContainer_cpe86501_h" class="CollapseRegionLink"&gt;
				&lt;img id="ctl00_rs1_mainContentContainer_cpe86501_i" class="LibC_o" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" style="border-width:0px;vertical-align:middle;" alt="" /&gt;&amp;nbsp;High Level Architecture
			&lt;/div&gt;
&lt;div id="ctl00_rs1_mainContentContainer_cpe86501_c" class="MTPS_CollapsibleSection" style="overflow:visible;display:block;height:auto;width:673px;"&gt;
&lt;div class="MTPS_CollapsibleSection" style="display:block;"&gt;
				&lt;a id="sectionToggle0"&gt;&lt;/a&gt;
&lt;div&gt;&lt;img alt="Dd557595.c1b8733b-6545-438a-9065-e4a43763691c(en-us,MSDN.10).gif" src="http://i.msdn.microsoft.com/Dd557595.c1b8733b-6545-438a-9065-e4a43763691c%28en-us,MSDN.10%29.gif" /&gt;&lt;/div&gt;
&lt;p&gt;As shown in the high level architecture diagram, TDS access to the
database services allows customer applications to communicate with the
service using existing client libraries (such as ADO.NET, ODBC or
JDBC). SQL Data Services provides: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Provisioning service for on boarding new customers within the Azure platform.&lt;/li&gt;
&lt;li&gt;Billing,
metering and rollup functionality for users to discover service usage
information. This metrics information is also used for customer billing.&lt;/li&gt;
&lt;li&gt;Concepts
of Server and User Database which provides context for the management
of the databases in the cloud. SDS maps these logical concepts to the
underlying platform.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="ctl00_rs1_mainContentContainer_cpe86502" class="MTPS_CollapsibleRegion"&gt;
&lt;div id="ctl00_rs1_mainContentContainer_cpe86502_h" class="CollapseRegionLink"&gt;
				&lt;img id="ctl00_rs1_mainContentContainer_cpe86502_i" class="LibC_o" src="http://i.msdn.microsoft.com/Global/Images/clear.gif" style="border-width:0px;vertical-align:middle;" alt="" /&gt;&amp;nbsp;Migrating from ACE to the Relational Model
			&lt;/div&gt;
&lt;div id="ctl00_rs1_mainContentContainer_cpe86502_c" class="MTPS_CollapsibleSection" style="overflow:visible;display:block;height:auto;width:673px;"&gt;
&lt;div class="MTPS_CollapsibleSection" style="display:block;"&gt;
				&lt;a id="sectionToggle1"&gt;&lt;/a&gt;
&lt;p&gt;The
relational model described in this topic replaces the SDS ACE
(Authority, Container and Entity) model. The current SDS CTP
participants have the following options: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Migrate existing applications to use the SDS relational
service. Customers can optionally host their applications in Azure
Compute. &lt;/li&gt;
&lt;li&gt;Use Windows Azure Storage for applications that don&amp;rsquo;t need relational capabilities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The SDS ACE model, with SOAP and REST interfaces, is being phased out.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=255" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/SQL+Data+Services/default.aspx">SQL Data Services</category></item><item><title>Goodbye ACE Model on SQL Data Services, Welcome back RDBMS...</title><link>http://msdnphilippines.net/blogs/max/archive/2009/03/12/goodbye-ace-model-on-sql-data-services-welcome-back-rdbms.aspx</link><pubDate>Thu, 12 Mar 2009 09:00:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:254</guid><dc:creator>Max Bautista</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=254</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/03/12/goodbye-ace-model-on-sql-data-services-welcome-back-rdbms.aspx#comments</comments><description>&lt;p&gt;I would like to share just a blog I saw regarding the changes Microsoft is implementing on SQL Data Services...&lt;/p&gt;
&lt;h2&gt;The no spin details on the new SDS features&lt;/h2&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Today we announced the details of our plans to accelerate the delivery of core relational database features as part of SDS.&lt;span&gt;&amp;nbsp; &lt;/span&gt;There
has been quite a bit of buzz about SDS over the past couple weeks and
it is great to be able to share the details more broadly. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;If
we flash back about a year ago to Mix 08, Nigel Ellis got up on stage
to introduce the community to SDS which, at the time, was a flexible
entity based cloud database that you accessed using standard internet
protocols. We made this announcement with the promise that more
relational capabilities would be coming - and they did. But the
universal feedback we received from our TAP partners and other early
adopters was the need for a relational database delivered as a service.
This was extremely valuable feedback and drove us to more aggressively
investigate ways in which we could deliver these features. As a result
of that work and based on the progress we&amp;rsquo;ve since made in the product
team, we are announcing that SDS will deliver full relational database
capabilities as a service.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;While
we knew we needed to accelerate our plans we also knew we needed to
hold true to some on the founding principles we had when we started our
journey. Things like High Availability, Fault Tolerance, Friction Free
Provisioning, Pay As You Grow Scaling, Immediate Consistency. We are
still delivering on these promises and have added to the mix true
relational capabilities, T-SQL and compatibility with the existing
developer and management tools ecosystem. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;What
does this mean for developers? Developers will be able to very easily
provision themselves a logical server and database and begin developing
against it immediately using the existing tools and technologies that
they are accustomed to. We are providing an experience where a
developer can take an existing application and just change the
connection string to point it to the cloud and have it just work.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;How
will we do it? Three letters TDS. TDS stands for Tabular Data Stream
and it&amp;#39;s the published protocol that clients use to communicate with
SQL Server. From its inception, SDS has always been built on the SQL
Server technology foundation and it just made sense to allow our users
to access their data via TDS. Most importantly for developers, this
means symmetric SQL Server functionality and behavior combined with
compatibility with the existing tools you are familiar with. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Tables?...Check&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Stored Procedures?...Check&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Triggers?...Check&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Views?...Check&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Indexes?...Check&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Visual Studio Compatibility?...Check&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ADO.Net Compatibility?...Check&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ODBC Compatibility?...Check&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;To be clear, the above is not a complete list of supported features.&lt;span&gt;&amp;nbsp; &lt;/span&gt;However,
given the feature set we are planning to support in SDS v1, a majority
of database applications will &amp;ldquo;just work&amp;rdquo;, allowing developers to
target on and off-premises deployments with essentially the same code
base.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The initial scenarios we are targeting are
things like web and departmental applications. We will be posting some
content to our &lt;a href="http://msdn.microsoft.com/sql/dataservices" target="_blank"&gt;MSDN Dev Center&lt;/a&gt; in the coming weeks with specifics and getting started guidance but I encourage everyone to download &lt;a href="http://www.microsoft.com/express/sql/download/" target="_blank"&gt;SQL Express&lt;/a&gt; and the &lt;a href="http://www.microsoft.com/azure/sdk.mspx" target="_blank"&gt;Windows Azure SDK&lt;/a&gt; to get started.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;The
core foundational components of SDS have not changed. This is still the
same architecture that we have been telling you about for the past year
and that underlies the current CTP bits. It is the same architecture
that is powering some of Microsoft&amp;#39;s key service properties and in the
next few months will be used to store 100&amp;rsquo;s of terabytes of data in
production deployments. Our early adopters (both internal and external)
have shaken it down pretty well and we feel very confident about these
bits.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The only difference is we are now
providing a rich SQL model while maintaining the high availability,
fault tolerant and scale aspects of the system. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;What
about the ACE (Authority, Container, Entity) data model and developer
experience? Since Windows Azure storage has a similar data model
(property bag) and developer experience, we will stop supporting the
current ACE Model sometime in the future. Does this mean you can&amp;#39;t
access your relational data via internet friendly protocols like REST?&lt;span&gt;&amp;nbsp; &lt;/span&gt;Not
at all. You can still access your relational data (located on premises
or in the cloud) via HTTP/REST using the ADO.Net Data Services
framework. The compatibility with existing tools and technologies is a
really important point to drive home and a super important value add
that Microsoft provides.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Breadth
and OSS developer support will continue to be a high priority for us
and we will continue to support and provide breadth development
libraries for all mainstream development technologies including PHP,
Ruby and Java.&lt;span&gt;&amp;nbsp; &lt;/span&gt;If it works with SQL Server, it will largely work with SQL Data Services.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;What
about Security? All communications with our service is SSL encrypted
and our initial authentication will be using SQL Authentication.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 10pt;" class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Of
course, SQL Data Services remains one of the key developer services of
the Azure Services&amp;nbsp;Platform - that hasn&amp;#39;t changed. Consuming SDS from
within an Azure application has never been easier and we will continue
to ensure this is a feature rich, friction-free experience. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;I
have said a lot, so go ahead and digest all of this. What else do you
want to know? As I am sure you all have more questions, feel free to
email me at david.robinson@microsoft.com and I&amp;#39;ll post the questions
and answers for all to see.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Kudos to SQL Data Services Team for the information on the blog.&amp;nbsp; Refer to this &lt;a target="_self" href="http://blogs.msdn.com/ssds/archive/2009/03/10/9469228.aspx"&gt;link.&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=254" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/SQL+Data+Services/default.aspx">SQL Data Services</category></item><item><title>Identifying the best communication options for Windows Azure (Part 3)</title><link>http://msdnphilippines.net/blogs/max/archive/2009/03/12/identifying-the-best-communication-options-for-windows-azure-part-3.aspx</link><pubDate>Wed, 11 Mar 2009 17:27:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:251</guid><dc:creator>Max Bautista</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=251</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/03/12/identifying-the-best-communication-options-for-windows-azure-part-3.aspx#comments</comments><description>&lt;p&gt;&lt;i&gt;&lt;b&gt;Console Application&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The &amp;ldquo;Console Application 1&amp;rdquo; is the simple console program created to simulate the calls for each services. It has 5 .cs files.&amp;nbsp; Additional project references: DataHelper, Model, TesterREST, TesterWCF and TesterWS.&lt;br /&gt;&lt;br /&gt;Program.cs: this file is the main class for this program.&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Diagnostics;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Program&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; addUserWSTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; addUserWCFTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; addUserRestTime;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; getAllUsersWSTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; getAllUsersWCFTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; getAllUsersRestTime;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; updateUserWSTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; updateUserWCFTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; updateUserRestTime;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; deleteUserWSTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; deleteUserWCFTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static List&amp;lt;long&amp;gt; deleteUserRestTime;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static int tryID;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static int runNumber;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [STAThread]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void Main(string[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stopwatch timerTotal = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;WS , REST and WCF Service Test will now start...&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.Write(&amp;quot;Enter Try ID: &amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tryID = Convert.ToInt32(Console.ReadKey(false).KeyChar.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.Write(&amp;quot;Enter Number of Run: &amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runNumber = Convert.ToInt32(Console.ReadLine().Trim());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Press any key to start...&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadKey(true);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timerTotal.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addUserRestTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addUserWCFTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addUserWSTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getAllUsersRestTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getAllUsersWCFTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getAllUsersWSTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateUserRestTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateUserWCFTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateUserWSTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteUserRestTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteUserWCFTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteUserWSTime = new List&amp;lt;long&amp;gt;();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserProfileBL _objProfileBL;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int maxRunNumber = runNumber;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string constFName=&amp;quot;Auto Test FN &amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string constLName=&amp;quot;Auto Test LN &amp;quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int ctr = 1; ctr &amp;lt;= maxRunNumber; ctr++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objProfileBL = new UserProfileBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string fName = string.Format(&amp;quot;{0}{1}&amp;quot;,constFName, ctr.ToString(&amp;quot;000000&amp;quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string lName = string.Format(&amp;quot;{0}{1}&amp;quot;,constLName, ctr.ToString(&amp;quot;000000&amp;quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestAddUser(new Guid(), fName, lName);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestGetAllUsers();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestUpdateUser(_objProfileBL.GetGuids(fName), fName, lName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objProfileBL = null;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int ctr = 1; ctr &amp;lt;= maxRunNumber; ctr++)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objProfileBL = new UserProfileBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string fName = string.Format(&amp;quot;{0}{1}&amp;quot;, constFName, ctr.ToString(&amp;quot;000000&amp;quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string lName = string.Format(&amp;quot;{0}{1}&amp;quot;, constLName, ctr.ToString(&amp;quot;000000&amp;quot;));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(string.Format(&amp;quot;Deleting : {0}&amp;quot;, fName.ToString()));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TestDeleteUser(_objProfileBL.GetGuids(fName));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objProfileBL = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timerTotal.Stop();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(string.Format(&amp;quot;Total Execution Time for Tests: {0} m {1} s {2} ms&amp;quot;, timerTotal.Elapsed.Minutes, timerTotal.Elapsed.Seconds, timerTotal.Elapsed.Milliseconds));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timerTotal = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timerTotal.Start();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GenerateReports();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timerTotal.Stop();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(string.Format(&amp;quot;Total Report Creation Time:&amp;nbsp; {0} m {1} s {2} ms&amp;quot;, timerTotal.Elapsed.Minutes, timerTotal.Elapsed.Seconds, timerTotal.Elapsed.Milliseconds));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Tests Finished...&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(string.Format(&amp;quot;Report Saved at {0}&amp;quot;, &amp;quot;TestReports Table!&amp;quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadKey();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void GenerateReports()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReportBL objBLReport = new ReportBL();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int runCtr=1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in addUserWSTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;WS&amp;quot;, &amp;quot;AddUser&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in getAllUsersWSTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;WS&amp;quot;, &amp;quot;GetAllUsers&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in updateUserWSTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;WS&amp;quot;, &amp;quot;UpdateUser&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in deleteUserWSTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;WS&amp;quot;, &amp;quot;DeleteUser&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WCF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in addUserWCFTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;WCF&amp;quot;, &amp;quot;AddUser&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in getAllUsersWCFTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;WCF&amp;quot;, &amp;quot;GetAllUsers&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in updateUserWCFTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;WCF&amp;quot;, &amp;quot;UpdateUser&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in deleteUserWCFTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;WCF&amp;quot;, &amp;quot;DeleteUser&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //REST&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in addUserRestTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;REST&amp;quot;, &amp;quot;AddUser&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in getAllUsersRestTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;REST&amp;quot;, &amp;quot;GetAllUsers&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in updateUserRestTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;REST&amp;quot;, &amp;quot;UpdateUser&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (long l in deleteUserRestTime)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objBLReport.AddReport(runCtr, &amp;quot;REST&amp;quot;, &amp;quot;DeleteUser&amp;quot;, l, tryID);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; runCtr++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void TestAddUser(Guid _id,string _firstname,string _lastname)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Guid Id = _id;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string FirstName = _firstname;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string LastName = _lastname;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stopwatch timer;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Processing AddUser...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WS&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWS.TesterWS objTesterWS = new TesterWS.TesterWS();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWS.UserInfo infoWS = new TesterWS.UserInfo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWS.FirstName = FirstName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWS.LastName = LastName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWS.ID = Id;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterWS.AddNewUser(infoWS);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addUserWSTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;WS Finished...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //REST&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterREST.TesterRest objTesterRest = new TesterREST.TesterRest();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model.UserInfo infoRest = new Model.UserInfo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoRest.FirstName = FirstName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoRest.LastName = LastName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoRest.ID = Id;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterRest.AddNewUser(infoRest);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addUserRestTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;REST Finished...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WCF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWCF.TesterWCF objTesterWCF = new TesterWCF.TesterWCF();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Modelo.UserInfo infoWCF = new Modelo.UserInfo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWCF.FirstName = FirstName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWCF.LastName = LastName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWCF.ID = Id;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterWCF.AddUser(infoWCF);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addUserWCFTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;WCF Finished...&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void TestGetUser()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void TestGetAllUsers()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stopwatch timer;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Processing GetAllUsers...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWS.TesterWS objTesterWS = new TesterWS.TesterWS();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterWS.GetAllUsers();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getAllUsersWSTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;WS Finished...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //REST&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterREST.TesterRest objTesterRest = new TesterREST.TesterRest();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterRest.GetAllUsers();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getAllUsersRestTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;REST Finished...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WCF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWCF.TesterWCF objTesterWCF = new TesterWCF.TesterWCF();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterWCF.GetAllUsers();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getAllUsersWCFTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;WCF Finished...&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void TestUpdateUser(Guid[] _ids,string _firstname,string _lastname)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Guid[] Ids = _ids;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string FirstName = _firstname + &amp;quot; Updated&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string LastName = _lastname + &amp;quot; Updated&amp;quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stopwatch timer;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Processing UpdateUser...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WS&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWS.TesterWS objTesterWS = new TesterWS.TesterWS();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWS.UserInfo infoWS = new TesterWS.UserInfo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWS.FirstName = FirstName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWS.LastName = LastName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWS.ID = Ids[0];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterWS.UpdateUser(infoWS);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateUserWSTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;WS Finished...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //REST&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterREST.TesterRest objTesterRest = new TesterREST.TesterRest();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model.UserInfo infoRest = new Model.UserInfo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoRest.FirstName = FirstName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoRest.LastName = LastName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoRest.ID = Ids[1];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterRest.UpdateUser(infoRest);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateUserRestTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;REST Finished...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WCF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWCF.TesterWCF objTesterWCF = new TesterWCF.TesterWCF();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Modelo.UserInfo infoWCF = new Modelo.UserInfo();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWCF.FirstName = FirstName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWCF.LastName = LastName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; infoWCF.ID = Ids[2];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterWCF.UpdateUser(infoWCF);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; updateUserWCFTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;WCF Finished...&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void TestDeleteUser(Guid[] _ids)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Guid[] Ids = _ids;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Stopwatch timer;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;Processing DeleteUser...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWS.TesterWS objTesterWS = new TesterWS.TesterWS();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterWS.DeleteUser(Ids[0]);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteUserWSTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;WS Finished...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //REST&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterREST.TesterRest objTesterRest = new TesterREST.TesterRest();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterRest.DeleteUser(Ids[1]);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteUserRestTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;REST Finished...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //WCF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer = new Stopwatch();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Start();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TesterWCF.TesterWCF objTesterWCF = new TesterWCF.TesterWCF();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objTesterWCF.DeleteUser(Ids[2]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timer.Stop();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteUserWCFTime.Add(timer.ElapsedMilliseconds);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&amp;quot;WCF Finished...&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;ReportBL.cs: this is the BusinessLayer that will call the DataLayer of the reporting in order to perform the operation in the Database.&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class ReportBL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReportDataAccess _data = new ReportDataAccess();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ReportBL()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void AddReport(int runId, string serviceType, string methodName,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long elapsedTime, int tryId)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _data.AddReport(runId, serviceType, methodName, elapsedTime, tryId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ReportDataAccess.cs: this is the DataLayer of the Reporting.&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;using DataHelper;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class ReportDataAccess:DataAccessBase&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ReportDataAccess()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void AddReport(int runId, string serviceType, string methodName, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long elapsedTime, int tryId)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DbParameterCollection parameters = new DbParameterCollection();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlParameter pRunId = new SqlParameter(&amp;quot;@RunId&amp;quot;, SqlDbType.Int);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pRunId.Value = runId;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters.Add(pRunId);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlParameter pServiceType = new SqlParameter(&amp;quot;@ServiceType&amp;quot;, SqlDbType.VarChar, 5);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pServiceType.Value = serviceType;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters.Add(pServiceType);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlParameter pMethodName = new SqlParameter(&amp;quot;@MethodName&amp;quot;, SqlDbType.VarChar, 20);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pMethodName.Value = methodName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters.Add(pMethodName);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlParameter pElapsedTime = new SqlParameter(&amp;quot;@ElapsedTime&amp;quot;, SqlDbType.Int);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pElapsedTime.Value = elapsedTime;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters.Add(pElapsedTime);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlParameter pTryId = new SqlParameter(&amp;quot;@TryId&amp;quot;, SqlDbType.Int);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pTryId.Value = tryId;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters.Add(pTryId);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.ExecuteNonQuery(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;INSERT INTO TestReports (RunId,ServiceType,MethodName,ElapsedTime,TryId) &amp;quot; +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;VALUES (@RunId,@ServiceType,@MethodName,@ElapsedTime,@TryId)&amp;quot;, parameters);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;UserProfileBL.cs: this is the BusinessLayer that will call the DataLayer of the UserProfile in order to fetch the IDs.&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class UserProfileBL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public UserProfileBL()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Guid[] GetGuids(string filterName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserProfileData _data = new UserProfileData();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _data.GetAll(filterName);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;UserProfileDataAccess.cs: this is the DataLayer of the UserProfile that will fetch the IDs.&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Data.SqlClient;&lt;br /&gt;using DataHelper;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class UserProfileData : DataAccessBase&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public UserProfileData()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Guid[] GetAll(string filtername)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Guid&amp;gt; _guids = new List&amp;lt;Guid&amp;gt;();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataTable dt = this.ExecuteDataTable(&amp;quot;SELECT ID FROM UserProfile WHERE FirstName LIKE &amp;#39;%&amp;quot; + filtername + &amp;quot;%&amp;#39;&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (DataRow row in dt.Rows)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _guids.Add(new Guid(row[&amp;quot;ID&amp;quot;].ToString()));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _guids.ToArray();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;RESPONSE TIME AND BANDWIDTH USAGE OF THE SERVICE&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The simple Console Application was created in order to simulate the calls for each service and record the Response Time for each method and call. The result was stored in the Database with the following information: &amp;ldquo;Method Name&amp;rdquo; (The name of the method used e.g AddUser, DeleteUser), &amp;ldquo;Service Type&amp;rdquo; (The type of service e.g WS, REST, WCF), &amp;ldquo;Elapsed Time&amp;rdquo; (Response Time of the call), &amp;ldquo;RunID&amp;rdquo; (The Id of the thread), &amp;ldquo;TryID&amp;rdquo; (The Id of the trial made).&lt;br /&gt;&lt;br /&gt;In order to avoid (or lessen) the SQL data cache, the method were executed (or called) as: AddUser first, followed by UpdateUser that was added, then GetAllUsers and finally, DeleteUser. The table was pre-populated with 13 records in which it won&amp;rsquo;t be modified / removed.&lt;br /&gt;&lt;br /&gt;The Fiddler2 was used to capture the number of calls, bytes sent and received though out the processing of the method in the service.&lt;br /&gt;&lt;br /&gt;The services were called as: WS, followed by REST and finally WCF.&lt;/p&gt;
&lt;p&gt;During our attempts and trials during the test we did, it seems that among the differenct services, the WCF Rest and the Web Service SOAP utilizes the most efficient approach since it is only consuming very minimal bandwidth.&amp;nbsp; The WCF-WCF communication to our surprise seems to be less efficient since it is consuming to much bandwidth due to the multiple requests it sends to the server. During our quality testing, the WCF Rest and the Web Service SOAP takes the lead on our study.&lt;/p&gt;
&lt;p&gt;Upon executing the Console Application made to simulate the call of each service, and from a lot of trials made to the calls (Figure 1), it turns out that REST has the lowest Response Time, followed by the WS. Whereas, the WCF has the highest Response Time among the different services.&lt;br /&gt;&lt;br /&gt;From the information retrieved in the Fiddler2, and tallying the results, it was a shocking result produced. The REST and WS are both have only 1 call needed to complete the process (single method e.g. AddUser, DeleteUser), whereas the WCF needed 5 calls just to complete the process. By summing up the bytes and number of calls made (Figure 2), the REST has the lowest number of bytes sent and received, followed by WS which is more than 50% higher bytes sent and received compared to REST, and lastly WCF which is almost 300% higher bytes sent and received compared to REST.&lt;/p&gt;
&lt;p&gt;Figure 1: Response Time&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdnphilippines.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/max/f1.jpg"&gt;&lt;img src="http://msdnphilippines.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/max/f1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Figure 2: Bandwidth Usage&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdnphilippines.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/max/f2.jpg"&gt;&lt;img src="http://msdnphilippines.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/max/f2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Considering the idea that we might utilize the services on a cloud computing environment, we must take into consideration the total amount of bytes sent and received on our services since cloud computing costs is based on the bytes used rather than the amount of requests sent and received. But since limiting the number of requests would also take a weight on the response and the bandwidth consumption it is better that we limit it.&lt;br /&gt;&lt;br /&gt;Assuming we will use Amazon Cloud Computing (Since Windows Azure as of the moment does not release and actual cost of the service), based on the results above on the bandwidth usage, here are the financial forecasted results.&lt;/p&gt;
&lt;p&gt;Figure 3. Forecast&lt;/p&gt;
&lt;p&gt;

&lt;table border="1" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="150"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p&gt;&lt;b&gt;WCF REST&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p&gt;&lt;b&gt;&amp;nbsp;WS SOAP&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p&gt;&lt;b&gt;WCF - WCF&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;Session Length (in minutes)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;30&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;30&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;30&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;No. Of Sessions (No. Of Users)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;1000&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;1000&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;1000&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;No. Of Transactions / session&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;4&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;4&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;4&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;Cost per hour (Instance Cost)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.30 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.30 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  0.30 &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;Transactions Cost / GB (Sent)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  0.17 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.17 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  0.17 &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;Transactions Cost / GB (Received)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  0.10 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.10 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  0.10 &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;Total Bytes Sent in Bytes (Per
  Session)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;857&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;3123&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;80068&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;Total Bytes Received in Bytes (Per
  Session)&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;7766&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;9023&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;87387&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;&lt;b&gt;Subtotal for the Session&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.30 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.30 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.30 &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;&lt;b&gt;Subtotal for Trans Cost (Sent) / hr&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.000145690000 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.000530910000 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.013611560000 &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;&lt;b&gt;Subtotal for Trans Cost (Receive)
  /hr&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.000003106400 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  0.000003609200 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 0.000034954800 &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;&lt;b&gt;Total / Hr&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&lt;b&gt;&amp;nbsp;$&amp;nbsp; 0.3001487964 &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&lt;b&gt;&amp;nbsp;$
  0.3005345192 &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&lt;b&gt;&amp;nbsp;$ 0.3136465148&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;&lt;b&gt;Total / Day&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 7.2035711136 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  7.2128284608 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  7.5275163552 &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;&lt;b&gt;Total / Month&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  216.1071334080 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  216.3848538240 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$ 225.8254906560 &lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="bottom" width="150"&gt;
&lt;p&gt;&lt;b&gt;Total / Year&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="164"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  2,593.2856008960 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  2,596.6182458880 &lt;/p&gt;
&lt;/td&gt;
&lt;td valign="bottom" width="134"&gt;
&lt;p align="right"&gt;&amp;nbsp;$&amp;nbsp;
  2,709.9058878720&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As what you can see on figure 3, WCF Rest basically is the cost effective solution in terms of the amount of bytes sent and received by the system.&amp;nbsp; The Web Services SOAP is also a viable solution for us however; this is based on the computation on available pricing as of the moment.&amp;nbsp; If Microsoft releases its official offering, we might have to reconsider the technology based on pricing.&amp;nbsp; On this part, WCF Rest again takes the lead over the 3 services.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;CONCLUSION&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;After the study made on the services, it turns out that our expectation is wrong. The study clearly showed us that REST has the faster processing time shown in the Response Time and consuming the lowest bandwidth thru the use of bytes sent and received. WCF has the slowest Response Time and highest bandwidth usage. And lastly, WS which is in the middle of the two that has a medium Response Time and medium bandwidth usage.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=251" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+Architecture/default.aspx">Azure Architecture</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Communication+in+Azure/default.aspx">Communication in Azure</category></item><item><title>Identifying the best communication options for Windows Azure (Part 2)</title><link>http://msdnphilippines.net/blogs/max/archive/2009/03/12/identifying-the-best-communication-options-for-windows-azure-part-2.aspx</link><pubDate>Wed, 11 Mar 2009 17:09:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:250</guid><dc:creator>Max Bautista</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=250</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/03/12/identifying-the-best-communication-options-for-windows-azure-part-2.aspx#comments</comments><description>&lt;p&gt;Continuing on the article, here are the codes used for the different Communication methods.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Services&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;WCF-WCF&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The WCF-WCF Service has 2 Files, the &amp;ldquo;UserAddress.cs&amp;rdquo; inheriting from &amp;ldquo;IUserAddress.cs&amp;rdquo; (an interface). Additional Project References are:&amp;nbsp; BL and Model.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;UserAddress.cs&lt;/i&gt;&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Runtime.Serialization;&lt;br /&gt;using System.ServiceModel;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Xml.Linq;&lt;br /&gt;&lt;br /&gt;namespace SampleWCFLibrary&lt;br /&gt;{ &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ServiceBehavior(InstanceContextMode=InstanceContextMode.PerCall, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ConcurrencyMode=ConcurrencyMode.Multiple&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,MaxItemsInObjectGraph=1000000)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class UserAddress : IUserAddress&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void AddUser(Model.UserInfo user)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objBL.Add(user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Model.UserInfo GetUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _objBL.Get(id);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public List&amp;lt;Model.UserInfo&amp;gt; GetAllUsers()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _objBL.GetAll();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void DeleteUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objBL.Delete(id);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void UpdateUser(Model.UserInfo user)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objBL.Update(user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;i&gt;IUserAddress.cs&lt;/i&gt;&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Xml.Linq;&lt;br /&gt;using System.Runtime.Serialization;&lt;br /&gt;using System.ServiceModel;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.ServiceModel.Activation;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[assembly: ContractNamespace(&amp;quot;&amp;quot;, ClrNamespace = &amp;quot;SampleWCFLibrary&amp;quot;)]&lt;br /&gt;namespace SampleWCFLibrary&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ServiceContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public interface IUserAddress&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void AddUser(Model.UserInfo user);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model.UserInfo GetUser(Guid id);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Model.UserInfo&amp;gt; GetAllUsers();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void DeleteUser(Guid id);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void UpdateUser(Model.UserInfo user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;}&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;b&gt;REST&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;The REST service has 1 item called &amp;ldquo;WCF Service&amp;rdquo;. Additional project references: BL and Model.&amp;nbsp;&amp;nbsp;&amp;nbsp; The markup of the service (right-click the .svc file and choose view markup) should contain this code:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&amp;lt;%@ ServiceHost Language=&amp;quot;C#&amp;quot; Debug=&amp;quot;true&amp;quot; Service=&amp;quot;MyRestTest.Service&amp;quot; CodeBehind=&amp;quot;MyService.svc.cs&amp;quot; Factory=&amp;quot;MyRestTest.AppServiceHostFactory&amp;quot; %&amp;gt;&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.ServiceModel;&lt;br /&gt;using System.ServiceModel.Activation;&lt;br /&gt;using Microsoft.ServiceModel.Web;&lt;br /&gt;&lt;br /&gt;namespace MyRestTest &lt;br /&gt;{&lt;br /&gt;&amp;nbsp; class AppServiceHostFactory : ServiceHostFactory&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new WebServiceHost2(serviceType, true, baseAddresses);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;b&gt;The .svc.cs file should contain the following code:&lt;/b&gt;&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Xml.Linq;&lt;br /&gt;using System.Runtime.Serialization;&lt;br /&gt;using System.ServiceModel;&lt;br /&gt;using System.ServiceModel.Web;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.ServiceModel.Activation;&lt;br /&gt;using Microsoft.ServiceModel.Web;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[assembly: ContractNamespace(&amp;quot;&amp;quot;, ClrNamespace = &amp;quot;MyRestTest&amp;quot;)]&lt;br /&gt;namespace MyRestTest&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ServiceBehavior(IncludeExceptionDetailInFaults = true, InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ServiceContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebGet(UriTemplate = &amp;quot;/adduser?user={user}&amp;quot;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void AddUser(string user)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XElement elem = XElement.Parse(user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model.UserInfo userInfo = new Model.UserInfo();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (XElement e in elem.Elements())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (e.Name.LocalName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;FirstName&amp;quot;: userInfo.FirstName = e.Value; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;LastName&amp;quot;: userInfo.LastName = e.Value; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;ID&amp;quot;: userInfo.ID = new Guid(e.Value); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objBL.Add(userInfo);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebInvoke(UriTemplate = &amp;quot;/getuser?id={id}&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Method=&amp;quot;GET&amp;quot;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Model.UserInfo GetUser(string id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _objBL.Get(new Guid(id));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebGet(UriTemplate = &amp;quot;/getall&amp;quot;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public List&amp;lt;Model.UserInfo&amp;gt; GetAllUsers()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _objBL.GetAll();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebGet(UriTemplate = &amp;quot;/deleteuser?id={id}&amp;quot;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void DeleteUser(string id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objBL.Delete(new Guid(id));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebGet(UriTemplate = &amp;quot;/updateuser?user={user}&amp;quot;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [OperationContract]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void UpdateUser(string user)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XElement elem = XElement.Parse(user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model.UserInfo userInfo = new Model.UserInfo();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (XElement e in elem.Elements())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (e.Name.LocalName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;FirstName&amp;quot;: userInfo.FirstName = e.Value; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;LastName&amp;quot;: userInfo.LastName = e.Value; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;ID&amp;quot;: userInfo.ID = new Guid(e.Value); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objBL.Update(userInfo);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;b&gt;WS&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The Webservice is an item called &amp;ldquo;Web Service&amp;rdquo;. It has files &amp;ldquo;.asmx&amp;rdquo; and &amp;ldquo;.cs&amp;rdquo;. Additional project references: BL and Model.&lt;br /&gt;&lt;br /&gt;The &amp;ldquo;.cs&amp;rdquo; file should contain the following code:&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;using System;&lt;br /&gt;using System.Collections;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.Services;&lt;br /&gt;using System.Web.Services.Protocols;&lt;br /&gt;using System.Xml.Linq;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// Summary description for OgieWS&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;[WebService(Namespace = &amp;quot;http://tempuri.org/&amp;quot;)]&lt;br /&gt;[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]&lt;br /&gt;// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. &lt;br /&gt;// [System.Web.Script.Services.ScriptService]&lt;br /&gt;public class OgieWS : System.Web.Services.WebService&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public OgieWS()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Uncomment the following line if using designed components &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //InitializeComponent(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebMethod]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void AddUser(Model.UserInfo user)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objBL.Add(user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebMethod]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Model.UserInfo GetUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _objBL.Get(id);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebMethod]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public List&amp;lt;Model.UserInfo&amp;gt; GetAllUsers()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _objBL.GetAll();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebMethod]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void DeleteUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objBL.Delete(id);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebMethod]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void UpdateUser(Model.UserInfo user)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL.UserBL _objBL = new BL.UserBL();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _objBL.Update(user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Tester Projects&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;TesterRest&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;TesterRest project is a specific project calling the methods of REST project. It has an application configuration key called &amp;ldquo;ServiceURL&amp;rdquo; which contains the URL of the REST project. Additional references: Model.&lt;/p&gt;
&lt;p&gt;TesterRest.cs contains:&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Xml.Linq;&lt;br /&gt;using System.Net;&lt;br /&gt;using System.IO;&lt;br /&gt;&lt;br /&gt;namespace TesterREST&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class TesterRest&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public TesterRest()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void AddNewUser(Model.UserInfo info)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string xmlUser = &amp;quot;&amp;quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XElement userInfo = new XElement(&amp;quot;UserInfo&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new XElement(&amp;quot;FirstName&amp;quot;, info.FirstName),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new XElement(&amp;quot;LastName&amp;quot;, info.LastName),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new XElement(&amp;quot;ID&amp;quot;, new Guid())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlUser = userInfo.ToString();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uri address = new Uri(string.Format(&amp;quot;{0}adduser?user={1}&amp;quot;, Settings1.Default.ServiceURL, xmlUser));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebResponse response = request.GetResponse();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (WebException wex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StreamReader reader = new StreamReader(wex.Response.GetResponseStream());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw wex;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw ex;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public List&amp;lt;Model.UserInfo&amp;gt; GetAllUsers()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Model.UserInfo&amp;gt; userCollections = new List&amp;lt;Model.UserInfo&amp;gt;();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XElement rootXml = XElement.Load(string.Format(&amp;quot;{0}getall&amp;quot;, Settings1.Default.ServiceURL));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (XElement u in rootXml.Elements())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model.UserInfo user = new Model.UserInfo();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (XElement i in u.Elements())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (i.Name.LocalName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;FirstName&amp;quot;: user.FirstName = i.Value; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;LastName&amp;quot;: user.LastName = i.Value; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;ID&amp;quot;: user.ID = new Guid(i.Value); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; userCollections.Add(user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return userCollections;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Model.UserInfo GetUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XElement rootXml = XElement.Load(string.Format(&amp;quot;{0}getuser?id={1}&amp;quot;, Settings1.Default.ServiceURL, id.ToString()));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Model.UserInfo user = new Model.UserInfo();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (XElement i in rootXml.Elements())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (i.Name.LocalName)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;FirstName&amp;quot;: user.FirstName = i.Value; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;LastName&amp;quot;: user.LastName = i.Value; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &amp;quot;ID&amp;quot;: user.ID = new Guid(i.Value); break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return user;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void UpdateUser(Model.UserInfo info)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string xmlUser = &amp;quot;&amp;quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XElement userInfo = new XElement(&amp;quot;UserInfo&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new XElement(&amp;quot;FirstName&amp;quot;, info.FirstName),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new XElement(&amp;quot;LastName&amp;quot;, info.LastName),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new XElement(&amp;quot;ID&amp;quot;, info.ID)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlUser = userInfo.ToString();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uri address = new Uri(string.Format(&amp;quot;{0}updateuser?user={1}&amp;quot;, Settings1.Default.ServiceURL, xmlUser));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebResponse response = request.GetResponse();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (WebException wex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw wex;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw ex;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void DeleteUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uri address = new Uri(string.Format(&amp;quot;{0}deleteuser?id={1}&amp;quot;, Settings1.Default.ServiceURL, id.ToString()));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WebResponse response = request.GetResponse();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (WebException wex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw wex;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw ex;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;b&gt;TesterWCF&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;TesterWCF project is a specific project calling the methods of WCF project. It has an application configuration key called &amp;ldquo;URLService&amp;rdquo; which contains the URL of the WCF project. It has 2 .cs files, TesterWCF.cs and SampleWCF.cs. The SampleWCF.cs is a proxy class generated by a tool by executing &amp;ldquo;svcutil.exe http://localhost:6969/SampleWCFLibrary/UserAddress.svc?wsdl&amp;rdquo;.&lt;br /&gt;&lt;br /&gt;TesterWCF.cs contains:&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;using Modelo;&lt;br /&gt;&lt;br /&gt;namespace TesterWCF&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class TesterWCF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserAddressClient client;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public TesterWCF()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void AddUser(UserInfo user)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client = new UserAddressClient();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.AddUser(user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public UserInfo GetUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserInfo user = null;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client = new UserAddressClient();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user = client.GetUser(id);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.Close();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return user;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public List&amp;lt;UserInfo&amp;gt; GetAllUsers()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client = new UserAddressClient();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;UserInfo&amp;gt; userCollections = client.GetAllUsers().ToList&amp;lt;UserInfo&amp;gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return userCollections;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void UpdateUser(UserInfo user)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client = new UserAddressClient();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.UpdateUser(user);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void DeleteUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client = new UserAddressClient();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.DeleteUser(id);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;TesterWS&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;TesterWS project is a specific project calling the methods of WS project. It has an application configuration key called &amp;ldquo;ServiceURL&amp;rdquo; which contains the URL of the WS project. It has 2 .cs files, TesterWS.cs and WSProxy.cs. The WSProxy.cs is a proxy class generated by a tool by executing &amp;ldquo;wsdl.exe&amp;nbsp; http://localhost:6969/MyTestWS/MyWS.asmx?wsdl&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;TesterWS.cs contains:&lt;/p&gt;
&lt;p style="padding-left:60px;"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace TesterWS&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class TesterWS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WSProxy channel;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public TesterWS()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void AddNewUser(UserInfo info)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; channel = new WSProxy();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; channel.AddUser(info);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public List&amp;lt;UserInfo&amp;gt; GetAllUsers()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; channel = new WSProxy();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;UserInfo&amp;gt; userCollections = new List&amp;lt;UserInfo&amp;gt;();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; userCollections = channel.GetAllUsers().ToList&amp;lt;UserInfo&amp;gt;();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return userCollections;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public UserInfo GetUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; channel = new WSProxy();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserInfo info = channel.GetUser(id);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return info;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void UpdateUser(UserInfo info)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; channel = new WSProxy();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; channel.UpdateUser(info);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void DeleteUser(Guid id)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; channel = new WSProxy();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; channel.DeleteUser(id);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To be continued..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=250" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+Architecture/default.aspx">Azure Architecture</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Communication+in+Azure/default.aspx">Communication in Azure</category></item><item><title>Identifying the best communication options for Windows Azure (Part 1)</title><link>http://msdnphilippines.net/blogs/max/archive/2009/03/11/identifying-the-best-communication-options-for-windows-azure-part-1.aspx</link><pubDate>Wed, 11 Mar 2009 07:41:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:247</guid><dc:creator>Max Bautista</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=247</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/03/11/identifying-the-best-communication-options-for-windows-azure-part-1.aspx#comments</comments><description>&lt;p&gt;As promised I will be providing a series of articles that could be beneficial for those individuals thinking to move on Windows Azure, I would like to share this study me and my Team made for finding the best communication options.&amp;nbsp; Kudos for Rogelyn Chu (For the help on the study) and Michael Dorchain (For giving me the opportunity to work on this study).&lt;/p&gt;
&lt;p&gt;Software architecture indeed needs a lot of careful study and analysis on the technology to use.&amp;nbsp; This study is a vital component for us to identify whether this could be one of the core technologies we will implement on delivering the solution needed by our business.&amp;nbsp; As times change and communication between systems has been the key factor of the success of implementing applications, this study could lead to solve this complexity and identify which would be the best solution for our design.&lt;/p&gt;
&lt;p&gt;THE CHALLENGE: ONE PLATFORM FOR DIFFERENT KINDS OF COMMUNICATION&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s no way around it: Different .NET Framework applications need different kinds of communication. Sometimes an application built using WCF needs to interact with code running on some other platform, such as a Java application server. The best choice here is frequently interoperable communication using SOAP, perhaps with one or more of the WS-* specifications. When a WCF application interacts with another WCF application, however, paying the performance price exacted by SOAP&amp;rsquo;s standard XML encoding isn&amp;rsquo;t necessary. A speedier binary encoding, one designed expressly for WCF-to-WCF communication, is a better choice. In other cases, the interaction style known as Representational State Transfer (REST) might be the right choice. More and more Internet applications provide a RESTful interface, for example, and so WCF applications must be able to communicate using this approach.&lt;/p&gt;
&lt;p&gt;There are plenty of other possibilities, too. An application might need to send XML-defined data directly over HTTP, an approach that&amp;rsquo;s commonly known as Plain Old XML (POX). Perhaps that XML should be structured using common formats such as RSS and ATOM. Communication with a line-of-business application such as SAP might require an application-specific adapter. Queued messaging can be the best choice when reliable communication is required between occasionally connected systems. Similarly, the built-in peer-to-peer networking functions of Windows are the right solution for a certain class of problems, while some form of inter process communication, such as Windows named pipes, is required for interactions between software on the same machine. &lt;/p&gt;
&lt;p&gt;Until relatively recently, each of these communication styles was supported with its own idiosyncratic platform. Developers were forced to learn a different programming model for each approach. WCF was created to change this, and as described next, it has.&lt;/p&gt;
&lt;p&gt;But considering the fact that most of the .NET developers are still adjusted with the Web Services SOAP approach, we should not leave this out and take it into consideration.&amp;nbsp; With that, we will also dig into the earlier approach of communicating via SOA since, web services are still one of the easiest applications to interact with other platforms.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Expectations on this Study&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;At the end of this study, it is expected that we will identify the best solution in terms of its effectiveness and efficiency using various factors like response time; bytes sent and received, and as well as cost economics.&amp;nbsp; This study would also enable readers of this document to have an initial understanding of the technologies being evaluated.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Approach to the Study&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The approach of this study would be a experimental approach to have a real basis of the conclusion of this paper.&amp;nbsp; Since there are three subjects to be tested, we will be creating the three services in order for us to test and compare their performance and determine their strengths and weaknesses.&amp;nbsp; The services would be a WCF Rest Service, a Web Service SOAP, and a WCF-WCF Binary communication.&amp;nbsp; All services would be using the same Business Layer, Data Layer and Model; with this approach, we will be able to really identify which would be the best technology to use between them.&lt;/p&gt;
&lt;p&gt;This study would basically focus only on Microsoft WCF REST, Microsoft Web Services SOAP and Microsoft WCF-WCF Communication tapping particularly the effectiveness and efficiency of the services. This would also include a forecast of how much cost we will incur if the services would be deployed on a cloud network.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;In particular, this study would not be covering other services implementation offered by non-Microsoft Companies, deployment of services in a cloud network, windows azure and the likes, and full details of deployment guidelines and possible deployment plan.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Main Study&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Lets say that on this study we will create a basic application that would utilize CRUD (Creat-Read-Update-Delete) functionalities on a single table Source named &amp;ldquo;UserProfile&amp;rdquo; which has 3 columns: &amp;ldquo;ID&amp;rdquo; (uniqueidentifier), &amp;ldquo;LastName&amp;rdquo; (varchar 200), and &amp;ldquo;FirstName&amp;rdquo; (varchar 200).&lt;br /&gt;&lt;br /&gt;The methods are: &amp;ldquo;AddUser&amp;rdquo; (no return value), &amp;ldquo;UpdateUser&amp;rdquo; (no return value), &amp;ldquo;DeleteUser&amp;rdquo; (no return value), and GetAllUsers &amp;ldquo;List of UserProfile&amp;rdquo;.&lt;br /&gt;We will be getting the following variables during the study: &amp;ldquo;Bytes Sent&amp;rdquo; (number of bytes sent in the request to the service), &amp;ldquo;Bytes Received&amp;rdquo; (number of bytes received in the response of the service), &amp;ldquo;Number of Calls&amp;rdquo; (the number of times in which a method needs to do to perform its function), and &amp;ldquo;Response Time&amp;rdquo; (the amount of time in milliseconds the request and response took place in a method of the service). &lt;br /&gt;&lt;br /&gt;For checking the bytes send and received on this application, Fiddler2, Visual Studio 2008 and SQL Express 2005 was used in this study.&amp;nbsp; You could get a copy of the tool at www.fiddler.com.&lt;br /&gt;&lt;br /&gt;Here are the codes you need to recreate in order to come up with the test:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Data Layer&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Data Layer is also known as DataAccess project in this scenario. It will be called by Business Layer.&amp;nbsp; It&amp;rsquo;s inheriting the &amp;ldquo;DataAccessBase&amp;rdquo; from DataHelper project.&amp;nbsp; Additional project references:&amp;nbsp; DataHelper and Model.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdnphilippines.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/max/DLBlog_5F00_01.gif"&gt;&lt;img src="http://msdnphilippines.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/max/DLBlog_5F00_01.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdnphilippines.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/max/DLBlog_5F00_02.gif"&gt;&lt;img src="http://msdnphilippines.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/max/DLBlog_5F00_02.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdnphilippines.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/max/DLBlog_5F00_03.gif"&gt;&lt;img src="http://msdnphilippines.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/max/DLBlog_5F00_03.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdnphilippines.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/max/DLBlog_5F00_04.gif"&gt;&lt;img src="http://msdnphilippines.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/max/DLBlog_5F00_04.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Business Layer&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Business Layer will call the Data Layer. Additional project references: DataAccess, Model and DataHelper.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdnphilippines.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/max/BusinessLayer.jpg"&gt;&lt;img src="http://msdnphilippines.net/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/max/BusinessLayer.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On the next part of the article I will show you the Communication codes used for WCF REST, WS and WCF-WCF Communication.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=247" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+Architecture/default.aspx">Azure Architecture</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Communication+in+Azure/default.aspx">Communication in Azure</category></item><item><title>Azure on the move : Move to Coordinated Universal Time (UTC) is now Official</title><link>http://msdnphilippines.net/blogs/max/archive/2009/03/09/azure-on-the-move-move-to-coordinated-universal-time-utc-is-now-official.aspx</link><pubDate>Sun, 08 Mar 2009 15:54:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:236</guid><dc:creator>Max Bautista</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=236</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/03/09/azure-on-the-move-move-to-coordinated-universal-time-utc-is-now-official.aspx#comments</comments><description>&lt;p&gt;I am so pleased to announce that Azure would start now to move to the Coordinated Universal Time staring March 8, 2009 at 10:00 AM GMT.  This was based on the email I got from the Azure Services Platform Team.
Good news for a lot of developers then. 
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For those who have read my previous post, this is just a follow up blog for it. :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=236" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+Architecture/default.aspx">Azure Architecture</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+UTC/default.aspx">Azure UTC</category></item><item><title>Azure on the move : Moving to Coordinated Universal Time (UTC)</title><link>http://msdnphilippines.net/blogs/max/archive/2009/03/06/azure-on-the-move-moving-to-coordinated-universal-time-utc.aspx</link><pubDate>Fri, 06 Mar 2009 05:00:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:225</guid><dc:creator>Max Bautista</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=225</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/03/06/azure-on-the-move-moving-to-coordinated-universal-time-utc.aspx#comments</comments><description>&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;I was reading an article on Windows Azure and was surprised to know that currently Azure is running on Pacific Standard Time.&amp;nbsp; It&amp;#39;s a good thing to know that soon, they will be migrating to Coordinated Universal Time (UTC).&amp;nbsp; A good thing then for applications relying on local time.&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;When will Microsoft make the change?&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;As far as Microsoft is concerned, they will make this change soon.&amp;nbsp; Most probably on the next few weeks.&amp;nbsp; As of the moment, series of testings are being conducted within the community and these feedback would enable Microsoft to identify as to when the move would take place.&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;Why are they doing this?&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;Why not? Since Windows Azure is a global service platform, it is but right to have all applications inside the platform to behave the same way regardless of geographic conditions. It is but right to have windows Azure be consistent to all users worldwide.&amp;nbsp; And if we are speaking of consistency, the standard choice now for timezone would be utilizing UTC.&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;What&amp;rsquo;s the potential impact to us?&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;Basically based on the blog I read regarding this, the following would be the impact of the migration to UTC.&lt;/p&gt;
&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Occurence of gaps in the event logs if local timestamps would be used.&lt;/li&gt;
&lt;li&gt;Different results may occur if the UI of the application depend on the local timestamp.&lt;/li&gt;
&lt;li&gt;Some local timestamps stored already by the application may be interpreted differently on the move.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But design wise, a lot of applications now are utilizing UTC.&amp;nbsp; But for those not yet utilizing this standard, you should take a look on the effects that might occur.&amp;nbsp; For the others, your applications are safe.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=225" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+Architecture/default.aspx">Azure Architecture</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Timezone/default.aspx">Timezone</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+UTC/default.aspx">Azure UTC</category></item><item><title>Architecting Services for Windows Azure</title><link>http://msdnphilippines.net/blogs/max/archive/2009/03/03/architecting-services-for-windows-azure.aspx</link><pubDate>Tue, 03 Mar 2009 12:29:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:219</guid><dc:creator>Max Bautista</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=219</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/03/03/architecting-services-for-windows-azure.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Architecting services for Windows Azure basically
undertakes the following considerations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cloud Services have specific
     design considerations : always on, distributed state, large scale, failure
     handling (you should expect failures and you should handle them) &lt;/li&gt;
&lt;li&gt;Windows Azure is an OS for
     the Cloud : scale out, dynamic, and on-demand. Each machine runs its own
     layer, but together this makes an OS &lt;/li&gt;
&lt;li&gt;Windows Azure manages
     services not just servers : tell it what you want, it will help automate
     the details &lt;/li&gt;
&lt;li&gt;Windows Azure frees
     developers from many platform issues : you concentrate on application
     logic instead of platform issues &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;How to
architect Windows Azure Services ?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Cloud
Computing is based on Scale-Out not scale-up. You can add / remove capacity on
demand. Pay for what you use as you go. Automation is key to reducing costs.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Design
considerations&lt;/b&gt;&lt;/p&gt;
&lt;ul class="unIndentedList"&gt;
&lt;li&gt;
Failure
of any given node (or role) should be expected : view each node (or role) as a
cache, state has to be replicated (don&amp;#39;t assume your state is safe)&lt;/li&gt;
&lt;li&gt;
No
one-time install step : applications need to reinitialize on restarts. Do not
assume previous local state is available (If a node fails, we will try to
restart you)&lt;/li&gt;
&lt;li&gt;
Configuration
changes due to load or failures : handle dynamic configuration changes&lt;/li&gt;
&lt;li&gt;
Services
are always running (there is no maintenance window) : your code has to handle
upgrades or downgrades + your code must handle data schema changes&lt;/li&gt;
&lt;li&gt;
Services
are built using multiple nodes / roles : document service architecture,
document communication paths of elements&lt;/li&gt;
&lt;li&gt;
Services
can grow very large : state management will become difficult&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="padding-left:30px;"&gt;&amp;eth;&amp;nbsp; Those issues are not new : you
have tried to be as stateless as possible.&lt;/p&gt;
&lt;p&gt;
If you have good design, Windows Azure will
manage your services, nodes and network. Windows Azure automates life cycle
management (Model Driven Automation).&lt;/p&gt;
&lt;p&gt;Further readings can be found on this &lt;a target="_blank" title="link" href="http://blogs.msdn.com/cloudcomputing/archive/2008/10/29/pdc2008-architecturing-services-for-windows-azure.aspx"&gt;link&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=219" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+Architecture/default.aspx">Azure Architecture</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Designing+in+Azure/default.aspx">Designing in Azure</category></item><item><title>I'm ready to take the leap now.. How do I start?</title><link>http://msdnphilippines.net/blogs/max/archive/2009/03/03/i-m-ready-to-take-the-leap-now-how-do-i-start.aspx</link><pubDate>Tue, 03 Mar 2009 10:32:00 GMT</pubDate><guid isPermaLink="false">019a604b-fb74-42d5-8a6d-7cedfb08f61c:216</guid><dc:creator>Max Bautista</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msdnphilippines.net/blogs/max/rsscomments.aspx?PostID=216</wfw:commentRss><comments>http://msdnphilippines.net/blogs/max/archive/2009/03/03/i-m-ready-to-take-the-leap-now-how-do-i-start.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;First
of all, I would like to thank Risman for helping me out open this blog.&amp;nbsp; I
would love to help this community get involved more on this technology and
bring Cloud Computing potentials to the Philippines.&lt;/p&gt;
&lt;p&gt;So
before we define What&amp;#39;s Windows Azure, let us first get a good understanding of
what is Cloud Computing.&lt;/p&gt;
&lt;p&gt;So
let&amp;#39;s say, we have an application and we wanted this application to be
available anywhere in the world regardless of platform then we definitely need
have a way to host this. Quoting on an article I saw in &lt;a href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;
&lt;table border="0" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="55"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="583"&gt;&lt;i&gt;
&lt;p&gt;&amp;quot;Cloud computing is Internet (&amp;quot;cloud&amp;quot;)
  based development and use of computer technology (&amp;quot;computing&amp;quot;).It
  is a style of computing in which dynamically scalable and often virtualised
  resources are provided as a service over the Internet. Users need not have
  knowledge of, expertise in, or control over the technology infrastructure
  &amp;quot;in the cloud&amp;quot; that supports them.&lt;br /&gt;
  &lt;br /&gt;
  The concept incorporates infrastructure as a service (IaaS), platform as a
  service (PaaS) and software as a service (SaaS) as well as Web 2.0 and other
  recent (ca. 2008-2009) technology trends which have the common theme of
  reliance on the Internet for satisfying the computing needs of the users.
  Examples include Salesforce.com and Google Apps which provide common business
  applications online that are accessed from a web browser, while the software
  and data are stored on the servers.&amp;quot;&lt;/p&gt;
&lt;/i&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;So
Microsoft&amp;#39;s move towards cloud computing pave the way to the birth of the Azure
Services Platform. So what is this platform?&lt;/p&gt;
&lt;table border="0" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="55"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="583"&gt;&lt;i&gt;
&lt;p&gt;The Azure&lt;sup&gt;TM&lt;/sup&gt; Services Platform (Azure) is an
  internet-scale cloud services platform hosted in Microsoft data centers,
  which provides an operating system and a set of developer services that can
  be used individually or together. Azure&amp;#39;s flexible and interoperable platform
  can be used to build new applications to run from the cloud or enhance
  existing applications with cloud-based capabilities. Its open architecture
  gives developers the choice to build web applications, applications running
  on connected devices, PCs, servers, or hybrid solutions offering the best of
  online and on-premises.&lt;/p&gt;
&lt;p&gt;Azure reduces the need for up-front
  technology purchases, and it enables developers to quickly and easily create
  applications running in the cloud by using their existing skills with the
  Microsoft Visual Studio development environment and the Microsoft .NET
  Framework. In addition to managed code languages supported by .NET, Azure
  will support more programming languages and development environments in the
  near future. Azure simplifies maintaining and operating applications by
  providing on-demand compute and storage to host, scale, and manage web and
  connected applications. Infrastructure management is automated with a
  platform that is designed for high availability and dynamic scaling to match
  usage needs with the option of a pay-as-you-go pricing model. Azure provides
  an open, standards-based and interoperable environment with support for
  multiple internet protocols, including HTTP, REST, SOAP, and XML. &lt;/p&gt;
&lt;p&gt;Microsoft also offers cloud applications ready for consumption by
  customers such as Windows Live&lt;sup&gt;TM&lt;/sup&gt;, Microsoft Dynamics&lt;sup&gt;TM&lt;/sup&gt;, and other Microsoft
  Online Services for business such as Microsoft Exchange Online and
  SharePoint&amp;reg; Online. The Azure Services Platform lets developers provide their
  own unique customer offerings by offering the foundational components of
  compute, storage, and building block services to author and compose
  applications in the cloud. &lt;/p&gt;
&lt;/i&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Ok,
now I know most of you would say, we know that already and we have seen it at
the Web Ramp up event, how do I really start using it? The answer, it&amp;#39;s just
creating the conventional way of web applications, difference is you just have
another way of creating packages for deployment in azure.&amp;nbsp; And there are a lot of exciting features in Azure
that would be very beneficial to business and for us developers.&lt;/p&gt;
&lt;p&gt;For
starters, I will repost the list of links I have sum up on one of the links in
the forums.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Visual
Studio development&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Quick lap around VS2008 azure tools (very nice)&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/dd203059.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd203059.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Development fabric &amp;amp; storage integration&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/dd203061.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd203061.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Deployment&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/dd203057.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd203057.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Azure training kit&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://www.microsoft.com/downloadS/details.aspx?FamilyID=413e88f8-5966-4a83-b309-53b7b77edf78&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloadS/details.aspx?FamilyID=413e88f8-5966-4a83-b309-53b7b77edf78&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Windows Azure Tools Development Fabric and Storage Integration&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/dd203061.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd203061.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Integrating LiveID/AD into Azure projects&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://dev.live.com/blogs/devlive/archive/2008/11/12/432.aspx"&gt;http://dev.live.com/blogs/devlive/archive/2008/11/12/432.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Azure
SDK&amp;#39;s&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://www.microsoft.com/azure/sdk.mspx"&gt;http://www.microsoft.com/azure/sdk.mspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Azure&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Azure management tools&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://code.msdn.microsoft.com/AzureManagementTools"&gt;http://code.msdn.microsoft.com/AzureManagementTools&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Live services poster&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://dev.live.com/liveframework/livefxposter.pdf"&gt;http://dev.live.com/liveframework/livefxposter.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;Whitepapers&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Azure services platform&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://download.microsoft.com/download/e/4/3/e43bb484-3b52-4fa8-a9f9-ec60a32954bc/Azure_Services_Platform.docx"&gt;http://download.microsoft.com/download/e/4/3/e43bb484-3b52-4fa8-a9f9-ec60a32954bc/Azure_Services_Platform.docx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Azure blobs&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://go.microsoft.com/fwlink/?LinkId=131258"&gt;http://go.microsoft.com/fwlink/?LinkId=131258&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;b&gt;Azure Tables&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://go.microsoft.com/fwlink/?LinkId=131257"&gt;http://go.microsoft.com/fwlink/?LinkId=131257&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;Azure
Services Platform Videos &lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="text-decoration:underline;"&gt;Windows
Azure &amp;quot;How Do I&amp;quot; Videos&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How Do I:
Get Started Developing with Windows Azure?&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/azure/dd327648.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd327648.aspx&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
How Do I: Deploy a Windows Azure Application?&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/azure/dd327644.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd327644.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How Do I:
Store Blobs in Windows Azure Storage?&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/azure/dd327650.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd327650.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How Do I:
Leverage Queues in Windows Azure?&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/azure/dd464806.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd464806.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Debugging
Tips for Windows Azure Applications&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/azure/dd464807.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd464807.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How Do I:
Store Data in Windows Azure Tables?&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/azure/dd483299.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd483299.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="text-decoration:underline;"&gt;.NET
Services &amp;quot;How Do I&amp;quot; Videos&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How Do I:
Get Started with .NET Services?&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/azure/dd441704.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd441704.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How Do I:
Harness the Microsoft .NET Service Bus?&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/azure/dd441706.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd441706.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="text-decoration:underline;"&gt;Live
Services &amp;quot;How Do I&amp;quot; Videos&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How Do I:
Get Started with the Live Framework?&lt;/b&gt;&lt;i&gt;&lt;span style="text-decoration:underline;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;a href="http://msdn.microsoft.com/en-us/azure/dd425068.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd425068.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;How Do I:
Use the Microsoft Live Framework Resource Browser?&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://msdn.microsoft.com/en-us/azure/dd441707.aspx"&gt;http://msdn.microsoft.com/en-us/azure/dd441707.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So
with these references to start with, are we ready now? I hope you are.&amp;nbsp; Since I have prepared myself now to take the
leap on the next level of cloud computing starting with the Azure Services
Platform.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msdnphilippines.net/aggbug.aspx?PostID=216" width="1" height="1"&gt;</description><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Azure+Services+Platform/default.aspx">Azure Services Platform</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://msdnphilippines.net/blogs/max/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category></item></channel></rss>