<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://v900u039rux.maximumasp.com/Web/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>Raheel Hussain : Web Services</title><link>http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Web+Services/default.aspx</link><description>Tags: Web Services</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><item><title>Page Load with AJAX &amp; XML </title><link>http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/2007/12/03/page-load-with-ajax-amp-xml.aspx</link><pubDate>Mon, 03 Dec 2007 09:01:00 GMT</pubDate><guid isPermaLink="false">3790bee0-d05b-4b84-a272-3ed522a0473a:120</guid><dc:creator>Raheel Hussain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://v900u039rux.maximumasp.com/Web/blogs/raheel/rsscomments.aspx?PostID=120</wfw:commentRss><comments>http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/2007/12/03/page-load-with-ajax-amp-xml.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://dnfug.com/Web/blogs/raheel/ajax_ek_3.GIF"&gt;&lt;/a&gt;With the arrival of AJAX, lots of things have improved as well as it also adds interactivity and fanciness in your applications. &lt;br /&gt;&lt;br /&gt;Here it is about no rocket science but an interesting scenario, that is&amp;nbsp;to display&amp;nbsp;the data received&amp;nbsp;from the web service in the&amp;nbsp;XML format the AJAX way during the page loading of a website. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Scenario : -&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;I&amp;#39;ve a web service, which returns a XML data. The requirement is to display that XML in tabular format during the page_load of your web site as well as with the AJAX style of fanciness with some update progress animations etc.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;There were two reasons for which I had to go with the client side script rather than returning a dataset and binding it with a GridView. &lt;br /&gt;&lt;br /&gt;First was that a I was unable to find way to control or manipulate a DataSet through javascript, and second was that it is something about incremental page load which involve AJAX style loading of the page&amp;nbsp;involving update progress animation, and hence requires a client side script to come into action.&lt;br /&gt;&lt;br /&gt;Lets start with a simple web service which returns XML records, Here&amp;#39;s the code which I did&lt;/p&gt;
&lt;div style="BORDER-RIGHT:1px solid;BORDER-TOP:1px solid;OVERFLOW:scroll;BORDER-LEFT:1px solid;WIDTH:546px;BORDER-BOTTOM:1px solid;BACKGROUND-COLOR:#f5f5f5;"&gt;&lt;pre&gt;Imports System.Data
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Web.Script.Services

&amp;lt;WebService(Namespace:=&amp;quot;http://tempuri.org/&amp;quot;)&amp;gt; _
&amp;lt;WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)&amp;gt; _
&amp;lt;Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()&amp;gt; _
&amp;lt;System.Web.Script.Services.ScriptService()&amp;gt; _
Public Class WebService
    Inherits System.Web.Services.WebService
    &amp;lt;WebMethod()&amp;gt; _
    Public Function getIndianTeam() As String
        Dim ds As New DataSet
        System.Threading.Thread.Sleep(2000)
        ds.ReadXml(Server.MapPath(&amp;quot;App_Data/IND.xml&amp;quot;))
        Return ds.GetXml()
    End Function

    &amp;lt;WebMethod()&amp;gt; _
    Public Function getPakistanTeam() As String
        Dim ds As New DataSet
        System.Threading.Thread.Sleep(4000)
        ds.ReadXml(Server.MapPath(&amp;quot;App_Data/PK.xml&amp;quot;))
        Return ds.GetXml()
    End Function
End Class

&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;Note: In my application, I&amp;#39;m retreiving the records (into the DataSet) from the database though, but here I&amp;#39;m reading an XML file rather (for example purpose).&lt;br /&gt;Another thing to notice is that you need to add&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;font size="2"&gt;&amp;quot;Imports System.Web.Script.Services&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;statement on the top of your code file in the webservice. as well as the following code &lt;br /&gt;&lt;br /&gt;&amp;quot;&lt;font size="2"&gt;&amp;lt;System.Web.Script.Services.ScriptService()&amp;gt; _&amp;quot;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;which can be seen in the code given above. These two statements are not by-default part of the code, when you add a new webservice page into your project.&lt;font size="2"&gt;&lt;br /&gt;&lt;/font&gt;We are going to consume the web service in the default.aspx page. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:1px solid;BORDER-TOP:1px solid;OVERFLOW:scroll;BORDER-LEFT:1px solid;WIDTH:546px;BORDER-BOTTOM:1px solid;BACKGROUND-COLOR:#f5f5f5;"&gt;&lt;a href="http://dnfug.com/Web/blogs/raheel/ajax_ek_1.GIF"&gt;&lt;img src="http://dnfug.com/Web/blogs/raheel/ajax_ek_1.GIF" border="0" alt="" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;&lt;br /&gt;The image&amp;nbsp;above describes you what you need to do in your default.aspx page. I&amp;#39;ve placed an&amp;nbsp;HTML&amp;nbsp;Table with four rows.&amp;nbsp;Row1 and Row3 has labels with&amp;nbsp;headings &amp;quot;Pakistan Team&amp;quot; and &amp;quot;Indian Team&amp;quot; respectively. Row2 and Row4 has Label controls as&amp;nbsp;well as an animated GIF (can&amp;nbsp;be of your choice) which&amp;nbsp;will act as what the name suggests the Update Progress animation.&lt;br /&gt;&lt;br /&gt;Also note that the cell at Row2 and that of Row4 has been named as &amp;quot;tdPak&amp;quot; and &amp;quot;tdInd&amp;quot; respectively.&lt;/p&gt;
&lt;p&gt;For this example, I&amp;#39;ve placed two XML files PK.xml and IND.xml inside the App_Data folder of the project. following image shows the solution explorer with the complete file and directory structure of this project.&lt;/p&gt;
&lt;div style="BORDER-RIGHT:1px solid;BORDER-TOP:1px solid;OVERFLOW:scroll;BORDER-LEFT:1px solid;WIDTH:546px;BORDER-BOTTOM:1px solid;BACKGROUND-COLOR:#f5f5f5;"&gt;&lt;a href="http://dnfug.com/Web/blogs/raheel/ajax_ek_2.GIF"&gt;&lt;img src="http://dnfug.com/Web/blogs/raheel/ajax_ek_2.GIF" border="0" alt="" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;Next thing we need to do is to write client side code which will interact with the webservice. Before doing that select the Script Manager in the design mode of your default.aspx file and click on properties (or press F4) and click on the Service Collection, which will open up the following window.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:1px solid;BORDER-TOP:1px solid;OVERFLOW:scroll;BORDER-LEFT:1px solid;WIDTH:546px;BORDER-BOTTOM:1px solid;BACKGROUND-COLOR:#f5f5f5;"&gt;&lt;a href="http://dnfug.com/Web/blogs/raheel/ajax_ek_3.GIF"&gt;&lt;img src="http://dnfug.com/Web/blogs/raheel/ajax_ek_3.GIF" border="0" alt="" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Click the Add button to add a new service reference to your Script Manager, this will enable you to use the web service in your code. Also since the webservice.asmx file is a part of your project, hense there&amp;#39;s no need to write the whole path i.e. &lt;a href="http://www.xyz.com/services/myservice.asmx"&gt;http://www.xyz.com/services/myservice.asmx&lt;/a&gt; etc. but you may only specify the name of the webservice file that is webservice.asmx. 
&lt;p&gt;Now you are able to use the webservice in your client script. Here&amp;#39;s what we need to do now.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:1px solid;BORDER-TOP:1px solid;OVERFLOW:scroll;BORDER-LEFT:1px solid;WIDTH:546px;BORDER-BOTTOM:1px solid;BACKGROUND-COLOR:#f5f5f5;"&gt;&lt;pre&gt;&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;title&amp;gt;AJAX With XML&amp;lt;/title&amp;gt;
    &amp;lt;LINK rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;StyleSheet.css&amp;quot; /&amp;gt;
    &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;
        function pageLoad() {
        vResult = WebService.getPakistanTeam(onRetreivePK,onError);
        vResult = WebService.getIndianTeam(onRetreiveIN,onError);        
        }
        
        function onRetreivePK(vResult){
            loadXML(vResult,1);
            }
            
        function onRetreiveIN(vResult){
            loadXML(vResult,2);
            }
            
        var xmlDoc = new ActiveXObject(&amp;quot;Microsoft.XMLDOM&amp;quot;);
        function loadXML(xmlString,obj) { 
          xmlDoc.async=&amp;quot;false&amp;quot;;
          xmlDoc.onreadystatechange=verify;
          xmlDoc.loadXML(xmlString);
          displayXMLGrid(xmlDoc,obj);
        }
        
        function displayXMLGrid(xmlDoc,obj) {
            var root = xmlDoc.firstChild;
            var i=0;
            var strResult=&amp;quot;&amp;lt;table border=&amp;#39;0&amp;#39; style=&amp;#39;width:100%&amp;#39;&amp;gt;&amp;quot;;
            var tClass = &amp;quot;tdA&amp;quot;;
            
            if (root.hasChildNodes) {
                var v = root.childNodes[0];
                while (v != null) {
                    v = root.childNodes[ i ];
                    if      (v==null) break;
                    if (tClass==&amp;quot;tdA&amp;quot;) tClass = &amp;quot;tdB&amp;quot;;
                    else tClass = &amp;quot;tdA&amp;quot;;
                    
                    strResult +=&amp;quot;&amp;lt;tr&amp;gt;&amp;quot;;
                    strResult +=&amp;quot;&amp;lt;td class=&amp;#39;&amp;quot; + tClass + &amp;quot;&amp;#39;&amp;gt;&amp;quot; + v.attributes[0].text + &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;
                    strResult +=&amp;quot;&amp;lt;td class=&amp;#39;&amp;quot; + tClass + &amp;quot;&amp;#39;&amp;gt;&amp;quot; + v.attributes[1].text + &amp;quot;&amp;lt;/td&amp;gt;&amp;quot;;
                    strResult +=&amp;quot;&amp;lt;/tr&amp;gt;&amp;quot;;
                    i++;
                    }                    
                }
                strResult += &amp;quot;&amp;lt;/table&amp;gt;&amp;quot;;
                
                if      (obj==1)    document.getElementById(&amp;quot;tdPak&amp;quot;).innerHTML=strResult;
                else if (obj==2)    document.getElementById(&amp;quot;tdInd&amp;quot;).innerHTML=strResult;
            }
            
        
        function verify() {
          // 0 Object is not initialized // 1 Loading object is loading data // 2 Loaded object has loaded data
          // 3 Data from object can be worked with // 4 Object completely initialized
          if (xmlDoc.readyState != 4) {
            return false;
          }
        }        
        function onError(vResult){  alert(vResult);  }
    &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;

&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In the above code, as you can see that I&amp;#39;m calling the Webservice methods to retreive the&amp;nbsp;data in the form of XML. while the&amp;nbsp;function calls have two arguments&amp;nbsp;one is OnRetreivePK and second is OnError. These are&amp;nbsp;basically&amp;nbsp;sub routines ( or events&amp;nbsp;) rather than arguments, telling the method call that to call the OnRetreivePK method upon successfully receiving data and go to the OnError event if some error occurs.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve used Microsoft.XMLDOM class with couple of methods of it to iterate through the nodes of the XML data retreived which very easy to understand, and then populating the cells of the table&amp;nbsp;depending on&amp;nbsp;the argument received. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:1px solid;BORDER-TOP:1px solid;OVERFLOW:scroll;BORDER-LEFT:1px solid;WIDTH:546px;BORDER-BOTTOM:1px solid;BACKGROUND-COLOR:#f5f5f5;"&gt;&lt;a href="http://dnfug.com/Web/blogs/raheel/ajax_ek_4.GIF"&gt;&lt;img src="http://dnfug.com/Web/blogs/raheel/ajax_ek_4.GIF" border="0" alt="" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Your&amp;nbsp;application is ready to perform now. &lt;br /&gt;You can now run the application and it will show up with some nice and fancy style loading that is light weight as well as faster. &lt;br /&gt;&lt;br /&gt;You can download the source code by clicking on the Following link. &lt;a href="http://dnfug.com/Web/blogs/raheel/AJAXWeb2.zip"&gt;AJAXWeb2.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Happy Coding &amp;amp; Regards - raheel &lt;br /&gt;&lt;img src="http://v900u039rux.maximumasp.com/Web/aggbug.aspx?PostID=120" width="1" height="1"&gt;</description><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/XML/default.aspx">XML</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Page+Load/default.aspx">Page Load</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Update+Progress/default.aspx">Update Progress</category></item><item><title>Microsoft's Project codename Astoria - online service </title><link>http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/2007/09/09/a-test-drive-to-ms-project-codename-astoria.aspx</link><pubDate>Sun, 09 Sep 2007 05:28:00 GMT</pubDate><guid isPermaLink="false">3790bee0-d05b-4b84-a272-3ed522a0473a:64</guid><dc:creator>Raheel Hussain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://v900u039rux.maximumasp.com/Web/blogs/raheel/rsscomments.aspx?PostID=64</wfw:commentRss><comments>http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/2007/09/09/a-test-drive-to-ms-project-codename-astoria.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://yukonizer.com/Web/blogs/raheel/astoria_2.GIF"&gt;&lt;/a&gt;My experience to use ASTORIA online service was&amp;nbsp;good !&amp;nbsp; &lt;br /&gt;&lt;br /&gt;For using the online service, it requires Microsoft .NET Passport login. After logging in .. I created my entity model, a simple one by creating four tables. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Books&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Borrowers&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Librarians&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Transactions&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;You also need to specify the User ID, Password and the Service name through which&amp;nbsp;the URI for your service will be decided.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:#000000 1px solid;BORDER-TOP:#000000 1px solid;OVERFLOW:scroll;BORDER-LEFT:#000000 1px solid;WIDTH:546px;BORDER-BOTTOM:#000000 1px solid;"&gt;&lt;a href="http://yukonizer.com/Web/blogs/raheel/astoria_3.GIF"&gt;&lt;img src="http://yukonizer.com/Web/blogs/raheel/astoria_3.GIF" border="0" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; 
&lt;p&gt;With the simple interface for creating the Entities, and Properties (Data Base Fields) of the Entities and the Associations (Relationships)&lt;br /&gt;Following Images will show you the steps &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:#000000 1px solid;BORDER-TOP:#000000 1px solid;OVERFLOW:scroll;BORDER-LEFT:#000000 1px solid;WIDTH:546px;BORDER-BOTTOM:#000000 1px solid;"&gt;&lt;a href="http://yukonizer.com/Web/blogs/raheel/astoria_1.JPG"&gt;&lt;img src="http://yukonizer.com/Web/blogs/raheel/astoria_1.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;In the above image, you can see the Button for Creating a new Entity as well as for Creating Properties and Associations.&lt;/p&gt;
&lt;p&gt;You can find all of the instructions for creating the EDM on the same page. You can click on the &amp;quot;Finish&amp;quot; button at the bottom of the page to proceed further. &lt;/p&gt;
&lt;p&gt;After finishing, you&amp;#39;ll be shown the conceptual model (CSDL) file for your EDM, as you can see below the one which I created.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:#000000 1px solid;BORDER-TOP:#000000 1px solid;OVERFLOW:scroll;BORDER-LEFT:#000000 1px solid;WIDTH:546px;BORDER-BOTTOM:#000000 1px solid;"&gt;&lt;a href="http://yukonizer.com/Web/blogs/raheel/astoria_2.GIF"&gt;&lt;img src="http://yukonizer.com/Web/blogs/raheel/astoria_2.GIF" border="0" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The above image shows the URI to test the above service. this is &lt;br /&gt;&lt;br /&gt;&lt;a href="https://astoria.sandbox.live.com/users/MYTESTDBSERVICE/MYTESTDBSERVICE.rse"&gt;https://astoria.sandbox.live.com/users/MYTESTDBSERVICE/MYTESTDBSERVICE.rse&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note that the service can only be access through the secure HTTP channel, and your UserID/Password is required to access it.&lt;br /&gt;That is, in my case I&amp;#39;ve to enter my User ID and Password, while others cannot access my EDM through their login credentials. &lt;br /&gt;&lt;br /&gt;For the demonstration, you can have a look at NWind Data Service, Adventure Works Data service etc. which can be accessed through &lt;br /&gt;Project Astoria Website &lt;a href="http://astoria.mslivelabs.com/OnlineService.aspx"&gt;http://astoria.mslivelabs.com/OnlineService.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also the service which I created, can be accessed through a simple tool which allows to interact with the service is as follows:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://astoria.sandbox.live.com/Tools/raw.htm"&gt;https://astoria.sandbox.live.com/Tools/raw.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="BORDER-RIGHT:#000000 1px solid;BORDER-TOP:#000000 1px solid;OVERFLOW:scroll;BORDER-LEFT:#000000 1px solid;WIDTH:546px;BORDER-BOTTOM:#000000 1px solid;"&gt;&lt;a href="http://yukonizer.com/Web/blogs/raheel/astoria_4.GIF"&gt;&lt;img src="http://yukonizer.com/Web/blogs/raheel/astoria_4.GIF" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;The tool allows for the following Http-Verbs ( or Actions) &lt;br /&gt;GET = Retreive&lt;br /&gt;PUT = Update&lt;br /&gt;POST = Insert&lt;br /&gt;DELETE = Insert&lt;br /&gt;&lt;br /&gt;While in the above image, you can see in the Request Data Section, that I did put a test XML with the HTTP Verb as Post to insert data.&lt;br /&gt;Currently in the Image you can see HTTP Verb = Get, but the Request data is not subject to use with GET, but only PUT&amp;nbsp;&amp;amp; POST.&lt;br /&gt;&lt;br /&gt;You can see in the Output section that the data is displayed as the result of HTTP-GET operation&amp;nbsp;along with the URI value which I have specified as&lt;br /&gt;&lt;a href="https://astoria.sandbox.live.com/users/MYTESTDBSERVICE/MYTESTDBSERVICE.rse/Books"&gt;https://astoria.sandbox.live.com/users/MYTESTDBSERVICE/MYTESTDBSERVICE.rse/Books&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The &amp;quot;Books&amp;quot; refers to the Entity which was created earlier.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;I hope this gave enough insight to you about the Project &amp;quot;Microsoft codename Astoria&amp;quot; and lets stay tuned for more updates to come as the project is under&lt;br /&gt;active development and we expect major security features and certain more features to be added to it.&lt;br /&gt;&lt;br /&gt;Best Of Luck&amp;nbsp; &lt;/p&gt;
&lt;p&gt;raheel Hussain&lt;/p&gt;&lt;img src="http://v900u039rux.maximumasp.com/Web/aggbug.aspx?PostID=64" width="1" height="1"&gt;</description><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/JSON/default.aspx">JSON</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Microsoft+Codename+Astoria/default.aspx">Microsoft Codename Astoria</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/XML/default.aspx">XML</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Javascript+Object+Notation/default.aspx">Javascript Object Notation</category></item><item><title>Microsoft Codename Astoria ! </title><link>http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/2007/09/05/microsoft-codename-astoria.aspx</link><pubDate>Wed, 05 Sep 2007 09:18:00 GMT</pubDate><guid isPermaLink="false">3790bee0-d05b-4b84-a272-3ed522a0473a:61</guid><dc:creator>Raheel Hussain</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://v900u039rux.maximumasp.com/Web/blogs/raheel/rsscomments.aspx?PostID=61</wfw:commentRss><comments>http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/2007/09/05/microsoft-codename-astoria.aspx#comments</comments><description>&lt;span style="FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;Hello folks ! &lt;br /&gt;&lt;br /&gt;A recommended read&amp;nbsp;about&amp;nbsp;Microsoft codename &amp;quot;Astoria&amp;quot;, an experimental project by Microsoft. &lt;br /&gt;&lt;br /&gt;I&amp;#39;m listing down some of the highlights, I was able to understand from the mannual I downloaded. &lt;br /&gt;&lt;br /&gt;This is a very interesting read, as well as the&amp;nbsp;you can make your own data store upto 100 MB and&amp;nbsp;use the Astoria &lt;br /&gt;service to build the data service and access it from any where on the internet, while the toolkit can also be &lt;br /&gt;downloaded to be used on your system with VS &amp;amp; AJAX&amp;nbsp;enabled.&lt;br /&gt;&lt;br /&gt;Here are the few&amp;nbsp;extracts/highlights for your ease!&lt;/span&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;&lt;/span&gt; 
&lt;ul&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;Project Astoria consists of a combination of patterns, libraries and an online service that explores the concept of data services for the web.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;The goal of Astoria is to facilitate the creation of flexible data services that are naturally integrated with the web.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;Astoria&lt;/span&gt;&lt;span style="FONT-FAMILY:Arial;"&gt; uses URIs to point to pieces of data and simple, well-known formats to represent that data, such as JSON (Javascript Simple Object Notation)&amp;nbsp;and plain XML, while the default representation is XML.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;JSON format is naturally and simply integrated with Javascript environments such as AJAX, can be retreived by simply setting a Acceptheader to application/json.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;Codename Astoria is released in two forms, A &lt;u&gt;downloadable toolkit&lt;/u&gt; and an &lt;u&gt;online service&lt;/u&gt;. Both are focused on creation and operation of data services, but are aimed at difference scenarios.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;The Astoria toolkit is a downloadable package that contains the Astoria runtime, documentation and examples that show how to use the toolkit. The toolkit is designed to allow ASP.NET developers to create data services directly in their ASP.NET applications, accessing their own database.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;The Astoria online service is an experimental service that aims at exploring programming models for data on the web, offered in the form of a service.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;"&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;Using the Astoria online service, web developers can create custom structured data stores on the web and access them from anywhere that they have internet access, This experimental release also includes a set of sample data-sets that are preloaded and readily accessible as data services.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;Please you can visit &lt;a href="http://astoria.mslivelabs.com/"&gt;http://astoria.mslivelabs.com&lt;/a&gt;&amp;nbsp;for&amp;nbsp;further information about the project.&lt;br /&gt;Also,&amp;nbsp;visit the &lt;a href="http://blogs.msdn.com/astoriateam/archive/2007/08/03/create-your-own-hosted-astoria-data-service.aspx#comments"&gt;Astoria Blog&lt;/a&gt; at Microsft MSDN.&lt;/span&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;Regards ! &lt;br /&gt;raheel Hussain &lt;/span&gt;&lt;span style="FONT-FAMILY:Arial;mso-ansi-language:EN-GB;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-FAMILY:Arial;"&gt;&amp;nbsp;&lt;/span&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://v900u039rux.maximumasp.com/Web/aggbug.aspx?PostID=61" width="1" height="1"&gt;</description><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/JSON/default.aspx">JSON</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/XML/default.aspx">XML</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Web+Services/default.aspx">Web Services</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/AJAX/default.aspx">AJAX</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Microsoft+Project+Codename+Astoria/default.aspx">Microsoft Project Codename Astoria</category><category domain="http://v900u039rux.maximumasp.com/Web/blogs/raheel/archive/tags/Javascript+Object+Notation/default.aspx">Javascript Object Notation</category></item></channel></rss>